| Differences between
and this patch
- a/LayoutTests/ChangeLog +88 lines
Lines 1-3 a/LayoutTests/ChangeLog_sec1
1
2020-07-17  Carlos Alberto Lopez Perez  <clopez@igalia.com>
2
3
        Update WPT css directory
4
        https://bugs.webkit.org/show_bug.cgi?id=214414
5
6
        Reviewed by Chris Dumez.
7
8
        Rebaseline expectations for testharness tests and update expectations for ref-tests.
9
10
        * TestExpectations:
11
        * platform/glib/TestExpectations:
12
        * platform/gtk/TestExpectations:
13
        * platform/gtk/imported/w3c/web-platform-tests/css/css-color-adjust/rendering/dark-color-scheme/color-scheme-color-property-expected.txt: Added.
14
        * platform/gtk/imported/w3c/web-platform-tests/css/css-grid/parsing/grid-template-columns-computed-implicit-track-expected.txt: Added.
15
        * platform/gtk/imported/w3c/web-platform-tests/css/css-grid/parsing/grid-template-rows-computed-implicit-track-expected.txt: Added.
16
        * platform/gtk/imported/w3c/web-platform-tests/css/css-images/image-orientation/image-orientation-from-image-computed-style-expected.txt: Added.
17
        * platform/gtk/imported/w3c/web-platform-tests/css/css-images/image-orientation/image-orientation-none-computed-style-expected.txt: Added.
18
        * platform/gtk/imported/w3c/web-platform-tests/css/css-multicol/change-abspos-width-in-second-column-crash-expected.txt: Added.
19
        * platform/gtk/imported/w3c/web-platform-tests/css/css-multicol/change-out-of-flow-type-and-remove-inner-multicol-crash-expected.txt: Added.
20
        * platform/gtk/imported/w3c/web-platform-tests/css/css-properties-values-api/at-property-non-matching-media-crash-expected.txt: Added.
21
        * platform/gtk/imported/w3c/web-platform-tests/css/css-properties-values-api/typedom-expected.txt: Added.
22
        * platform/gtk/imported/w3c/web-platform-tests/css/css-properties-values-api/unit-cycles-expected.txt: Added.
23
        * platform/gtk/imported/w3c/web-platform-tests/css/css-pseudo/file-chooser-button-display-toggle-crash.tentative-expected.txt: Added.
24
        * platform/gtk/imported/w3c/web-platform-tests/css/css-pseudo/marker-intrinsic-contribution-001-expected.txt: Added.
25
        * platform/gtk/imported/w3c/web-platform-tests/css/css-sizing/percentage-height-in-flexbox-expected.txt: Added.
26
        * platform/gtk/imported/w3c/web-platform-tests/css/css-transitions/transition-base-response-001-expected.txt: Added.
27
        * platform/gtk/imported/w3c/web-platform-tests/css/css-values/minmax-angle-computed-expected.txt:
28
        * platform/gtk/imported/w3c/web-platform-tests/css/css-values/minmax-length-computed-expected.txt:
29
        * platform/gtk/imported/w3c/web-platform-tests/css/css-values/minmax-length-percent-computed-expected.txt:
30
        * platform/gtk/imported/w3c/web-platform-tests/css/cssom/css-style-attr-decl-block-expected.txt: Added.
31
        * platform/gtk/imported/w3c/web-platform-tests/css/cssom/cssstyledeclaration-csstext-expected.txt: Added.
32
        * platform/gtk/imported/w3c/web-platform-tests/css/geometry/DOMMatrix2DInit-validate-fixup-expected.txt: Added.
33
        * platform/ios-wk2/TestExpectations:
34
        * platform/ios-wk2/imported/w3c/web-platform-tests/css/css-box/animation/padding-bottom-composition-expected.txt: Added.
35
        * platform/ios-wk2/imported/w3c/web-platform-tests/css/css-box/animation/padding-top-composition-expected.txt: Added.
36
        * platform/ios-wk2/imported/w3c/web-platform-tests/css/css-color-adjust/rendering/dark-color-scheme/svg-as-image-expected.txt: Added.
37
        * platform/ios-wk2/imported/w3c/web-platform-tests/css/css-multicol/change-abspos-width-in-second-column-crash-expected.txt: Added.
38
        * platform/ios-wk2/imported/w3c/web-platform-tests/css/css-multicol/change-out-of-flow-type-and-remove-inner-multicol-crash-expected.txt: Added.
39
        * platform/ios-wk2/imported/w3c/web-platform-tests/css/css-properties-values-api/at-property-non-matching-media-crash-expected.txt: Added.
40
        * platform/ios-wk2/imported/w3c/web-platform-tests/css/css-pseudo/file-chooser-button-display-toggle-crash.tentative-expected.txt: Added.
41
        * platform/ios-wk2/imported/w3c/web-platform-tests/css/css-pseudo/marker-hit-testing-expected.txt: Added.
42
        * platform/ios-wk2/imported/w3c/web-platform-tests/css/css-sizing/frameset-intrinsic-crash-expected.txt: Added.
43
        * platform/ios-wk2/imported/w3c/web-platform-tests/css/css-sizing/min-content-negative-margin-crash-expected.txt: Added.
44
        * platform/ios-wk2/imported/w3c/web-platform-tests/css/css-transitions/transition-base-response-001-expected.txt: Added.
45
        * platform/ios-wk2/imported/w3c/web-platform-tests/css/css-values/minmax-length-computed-expected.txt:
46
        * platform/ios-wk2/imported/w3c/web-platform-tests/css/css-values/minmax-length-percent-computed-expected.txt:
47
        * platform/ios-wk2/imported/w3c/web-platform-tests/css/cssom/css-style-attr-decl-block-expected.txt: Added.
48
        * platform/ios-wk2/imported/w3c/web-platform-tests/css/cssom/cssstyledeclaration-csstext-expected.txt: Added.
49
        * platform/ios-wk2/imported/w3c/web-platform-tests/css/geometry/DOMMatrix2DInit-validate-fixup-expected.txt: Added.
50
        * platform/mac-wk1/TestExpectations:
51
        * platform/mac-wk1/compositing/repaint/iframes/compositing-iframe-scroll-repaint-expected.txt:
52
        * platform/mac-wk1/imported/w3c/web-platform-tests/css/geometry/DOMMatrix2DInit-validate-fixup-expected.txt: Added.
53
        * platform/wpe/TestExpectations:
54
        * platform/wpe/imported/w3c/web-platform-tests/css/css-color-adjust/inheritance-expected.txt: Added.
55
        * platform/wpe/imported/w3c/web-platform-tests/css/css-color-adjust/meta/meta-color-scheme-attribute-changes-expected.txt: Added.
56
        * platform/wpe/imported/w3c/web-platform-tests/css/css-color-adjust/meta/meta-color-scheme-empty-content-value-expected.txt: Added.
57
        * platform/wpe/imported/w3c/web-platform-tests/css/css-color-adjust/meta/meta-color-scheme-first-valid-applies-expected.txt: Added.
58
        * platform/wpe/imported/w3c/web-platform-tests/css/css-color-adjust/meta/meta-color-scheme-insert-expected.txt: Added.
59
        * platform/wpe/imported/w3c/web-platform-tests/css/css-color-adjust/meta/meta-color-scheme-no-content-value-expected.txt: Added.
60
        * platform/wpe/imported/w3c/web-platform-tests/css/css-color-adjust/meta/meta-color-scheme-presentational-hint-expected.txt: Added.
61
        * platform/wpe/imported/w3c/web-platform-tests/css/css-color-adjust/meta/meta-color-scheme-remove-expected.txt: Added.
62
        * platform/wpe/imported/w3c/web-platform-tests/css/css-color-adjust/meta/meta-color-scheme-remove-head-expected.txt: Added.
63
        * platform/wpe/imported/w3c/web-platform-tests/css/css-color-adjust/meta/meta-color-scheme-single-value-in-body-expected.txt: Added.
64
        * platform/wpe/imported/w3c/web-platform-tests/css/css-color-adjust/meta/meta-color-scheme-single-value-in-head-expected.txt: Added.
65
        * platform/wpe/imported/w3c/web-platform-tests/css/css-color-adjust/meta/meta-color-scheme-single-value-in-shadow-tree-expected.txt: Added.
66
        * platform/wpe/imported/w3c/web-platform-tests/css/css-color-adjust/parsing/color-scheme-computed-expected.txt: Added.
67
        * platform/wpe/imported/w3c/web-platform-tests/css/css-color-adjust/parsing/color-scheme-invalid-expected.txt: Added.
68
        * platform/wpe/imported/w3c/web-platform-tests/css/css-color-adjust/parsing/color-scheme-valid-expected.txt: Added.
69
        * platform/wpe/imported/w3c/web-platform-tests/css/css-color-adjust/rendering/dark-color-scheme/color-scheme-color-property-expected.txt: Added.
70
        * platform/wpe/imported/w3c/web-platform-tests/css/css-grid/parsing/grid-template-columns-computed-implicit-track-expected.txt: Added.
71
        * platform/wpe/imported/w3c/web-platform-tests/css/css-grid/parsing/grid-template-rows-computed-implicit-track-expected.txt: Added.
72
        * platform/wpe/imported/w3c/web-platform-tests/css/css-images/image-orientation/image-orientation-from-image-computed-style-expected.txt: Added.
73
        * platform/wpe/imported/w3c/web-platform-tests/css/css-images/image-orientation/image-orientation-none-computed-style-expected.txt: Added.
74
        * platform/wpe/imported/w3c/web-platform-tests/css/css-properties-values-api/at-property-non-matching-media-crash-expected.txt: Added.
75
        * platform/wpe/imported/w3c/web-platform-tests/css/css-properties-values-api/typedom-expected.txt: Added.
76
        * platform/wpe/imported/w3c/web-platform-tests/css/css-properties-values-api/unit-cycles-expected.txt: Added.
77
        * platform/wpe/imported/w3c/web-platform-tests/css/css-pseudo/file-chooser-button-display-toggle-crash.tentative-expected.txt: Added.
78
        * platform/wpe/imported/w3c/web-platform-tests/css/css-pseudo/marker-intrinsic-contribution-001-expected.txt: Added.
79
        * platform/wpe/imported/w3c/web-platform-tests/css/css-sizing/percentage-height-in-flexbox-expected.txt: Added.
80
        * platform/wpe/imported/w3c/web-platform-tests/css/css-transitions/transition-base-response-001-expected.txt: Added.
81
        * platform/wpe/imported/w3c/web-platform-tests/css/css-values/minmax-angle-computed-expected.txt:
82
        * platform/wpe/imported/w3c/web-platform-tests/css/css-values/minmax-length-computed-expected.txt:
83
        * platform/wpe/imported/w3c/web-platform-tests/css/css-values/minmax-length-percent-computed-expected.txt:
84
        * platform/wpe/imported/w3c/web-platform-tests/css/cssom/css-style-attr-decl-block-expected.txt: Added.
85
        * platform/wpe/imported/w3c/web-platform-tests/css/cssom/cssstyledeclaration-csstext-expected.txt: Added.
86
        * platform/wpe/imported/w3c/web-platform-tests/css/geometry/DOMMatrix2DInit-validate-fixup-expected.txt: Added.
87
        * platform/wpe/imported/w3c/web-platform-tests/css/mediaqueries/prefers-color-scheme-expected.txt: Added.
88
1
2020-07-17  Truitt Savell  <tsavell@apple.com>
89
2020-07-17  Truitt Savell  <tsavell@apple.com>
2
90
3
        Changing expectations to Skip from r264519
91
        Changing expectations to Skip from r264519
- a/LayoutTests/imported/w3c/ChangeLog +2241 lines
Lines 1-3 a/LayoutTests/imported/w3c/ChangeLog_sec1
1
2020-07-17  Carlos Alberto Lopez Perez  <clopez@igalia.com>
2
3
        Update WPT css directory
4
        https://bugs.webkit.org/show_bug.cgi?id=214414
5
6
        Reviewed by Chris Dumez.
7
8
        This updates the WPT import of css directory to e3698c7bb3.
9
10
        * web-platform-tests/css/README.md: Removed.
11
        * web-platform-tests/css/build-css-testsuites.sh: Removed.
12
        * web-platform-tests/css/css-align/META.yml: Added.
13
        * web-platform-tests/css/css-align/OWNERS: Removed.
14
        * web-platform-tests/css/css-align/animation/column-gap-composition-expected.txt: Added.
15
        * web-platform-tests/css/css-align/animation/column-gap-composition.html: Added.
16
        * web-platform-tests/css/css-align/animation/column-gap-interpolation-expected.txt: Added.
17
        * web-platform-tests/css/css-align/animation/column-gap-interpolation.html: Added.
18
        * web-platform-tests/css/css-align/animation/row-gap-composition-expected.txt: Added.
19
        * web-platform-tests/css/css-align/animation/row-gap-composition.html: Added.
20
        * web-platform-tests/css/css-align/animation/row-gap-interpolation-expected.txt: Added.
21
        * web-platform-tests/css/css-align/animation/row-gap-interpolation.html: Added.
22
        * web-platform-tests/css/css-align/animation/w3c-import.log: Copied from LayoutTests/imported/w3c/web-platform-tests/css/css-lists/parsing/w3c-import.log.
23
        * web-platform-tests/css/css-align/baseline-of-scrollable-1a-expected.html: Added.
24
        * web-platform-tests/css/css-align/baseline-of-scrollable-1a.html: Added.
25
        * web-platform-tests/css/css-align/baseline-of-scrollable-1b-expected.html: Added.
26
        * web-platform-tests/css/css-align/baseline-of-scrollable-1b.html: Added.
27
        * web-platform-tests/css/css-align/baseline-of-scrollable-2-expected.html: Added.
28
        * web-platform-tests/css/css-align/baseline-of-scrollable-2.html: Added.
29
        * web-platform-tests/css/css-align/baseline-rules/grid-item-input-type-number-expected.html: Added.
30
        * web-platform-tests/css/css-align/baseline-rules/grid-item-input-type-number.html: Added.
31
        * web-platform-tests/css/css-align/baseline-rules/grid-item-input-type-text-expected.html: Added.
32
        * web-platform-tests/css/css-align/baseline-rules/grid-item-input-type-text.html: Added.
33
        * web-platform-tests/css/css-align/baseline-rules/synthesized-baseline-grid-001.html:
34
        * web-platform-tests/css/css-align/baseline-rules/synthesized-baseline-table-cell-001-expected.html: Added.
35
        * web-platform-tests/css/css-align/baseline-rules/synthesized-baseline-table-cell-001.html: Added.
36
        * web-platform-tests/css/css-align/baseline-rules/w3c-import.log:
37
        * web-platform-tests/css/css-align/content-distribution/place-content-shorthand-006-expected.txt:
38
        * web-platform-tests/css/css-align/content-distribution/place-content-shorthand-007-ref.html: Removed.
39
        * web-platform-tests/css/css-align/content-distribution/w3c-import.log:
40
        * web-platform-tests/css/css-align/default-alignment/place-items-shorthand-006-expected.txt:
41
        * web-platform-tests/css/css-align/default-alignment/shorthand-serialization-001-expected.txt:
42
        * web-platform-tests/css/css-align/default-alignment/shorthand-serialization-001.html:
43
        * web-platform-tests/css/css-align/default-alignment/w3c-import.log:
44
        * web-platform-tests/css/css-align/distribution-values/space-evenly-001.html:
45
        * web-platform-tests/css/css-align/distribution-values/w3c-import.log:
46
        * web-platform-tests/css/css-align/gaps/column-gap-parsing-001-expected.txt:
47
        * web-platform-tests/css/css-align/gaps/column-gap-parsing-001.html:
48
        * web-platform-tests/css/css-align/gaps/gap-animation-001-expected.txt:
49
        * web-platform-tests/css/css-align/gaps/gap-animation-001.html:
50
        * web-platform-tests/css/css-align/gaps/gap-animation-002-expected.txt:
51
        * web-platform-tests/css/css-align/gaps/gap-animation-002.html:
52
        * web-platform-tests/css/css-align/gaps/gap-animation-003-expected.txt:
53
        * web-platform-tests/css/css-align/gaps/gap-animation-003.html:
54
        * web-platform-tests/css/css-align/gaps/gap-parsing-001-expected.txt:
55
        * web-platform-tests/css/css-align/gaps/gap-parsing-001.html:
56
        * web-platform-tests/css/css-align/gaps/grid-column-gap-parsing-001-expected.txt:
57
        * web-platform-tests/css/css-align/gaps/grid-column-gap-parsing-001.html:
58
        * web-platform-tests/css/css-align/gaps/grid-gap-parsing-001-expected.txt:
59
        * web-platform-tests/css/css-align/gaps/grid-gap-parsing-001.html:
60
        * web-platform-tests/css/css-align/gaps/grid-row-gap-parsing-001-expected.txt:
61
        * web-platform-tests/css/css-align/gaps/grid-row-gap-parsing-001.html:
62
        * web-platform-tests/css/css-align/gaps/row-gap-parsing-001-expected.txt:
63
        * web-platform-tests/css/css-align/gaps/row-gap-parsing-001.html:
64
        * web-platform-tests/css/css-align/gaps/w3c-import.log:
65
        * web-platform-tests/css/css-align/inheritance-expected.txt: Added.
66
        * web-platform-tests/css/css-align/inheritance.html: Added.
67
        * web-platform-tests/css/css-align/parsing/align-content-computed-expected.txt: Added.
68
        * web-platform-tests/css/css-align/parsing/align-content-computed.html: Added.
69
        * web-platform-tests/css/css-align/parsing/align-content-invalid-expected.txt: Added.
70
        * web-platform-tests/css/css-align/parsing/align-content-invalid.html: Added.
71
        * web-platform-tests/css/css-align/parsing/align-content-valid-expected.txt: Added.
72
        * web-platform-tests/css/css-align/parsing/align-content-valid.html: Added.
73
        * web-platform-tests/css/css-align/parsing/align-items-computed-expected.txt: Added.
74
        * web-platform-tests/css/css-align/parsing/align-items-computed.html: Added.
75
        * web-platform-tests/css/css-align/parsing/align-items-invalid-expected.txt: Added.
76
        * web-platform-tests/css/css-align/parsing/align-items-invalid.html: Added.
77
        * web-platform-tests/css/css-align/parsing/align-items-valid-expected.txt: Added.
78
        * web-platform-tests/css/css-align/parsing/align-items-valid.html: Added.
79
        * web-platform-tests/css/css-align/parsing/align-self-computed-expected.txt: Added.
80
        * web-platform-tests/css/css-align/parsing/align-self-computed.html: Added.
81
        * web-platform-tests/css/css-align/parsing/align-self-invalid-expected.txt: Added.
82
        * web-platform-tests/css/css-align/parsing/align-self-invalid.html: Added.
83
        * web-platform-tests/css/css-align/parsing/align-self-valid-expected.txt: Added.
84
        * web-platform-tests/css/css-align/parsing/align-self-valid.html: Added.
85
        * web-platform-tests/css/css-align/parsing/column-gap-computed-expected.txt: Added.
86
        * web-platform-tests/css/css-align/parsing/column-gap-computed.html: Added.
87
        * web-platform-tests/css/css-align/parsing/column-gap-invalid-expected.txt: Added.
88
        * web-platform-tests/css/css-align/parsing/column-gap-invalid.html: Added.
89
        * web-platform-tests/css/css-align/parsing/column-gap-valid-expected.txt: Added.
90
        * web-platform-tests/css/css-align/parsing/column-gap-valid.html: Added.
91
        * web-platform-tests/css/css-align/parsing/gap-computed-expected.txt: Added.
92
        * web-platform-tests/css/css-align/parsing/gap-computed.html: Added.
93
        * web-platform-tests/css/css-align/parsing/gap-invalid-expected.txt: Added.
94
        * web-platform-tests/css/css-align/parsing/gap-invalid.html: Added.
95
        * web-platform-tests/css/css-align/parsing/gap-shorthand-expected.txt: Added.
96
        * web-platform-tests/css/css-align/parsing/gap-shorthand.html: Added.
97
        * web-platform-tests/css/css-align/parsing/gap-valid-expected.txt: Added.
98
        * web-platform-tests/css/css-align/parsing/gap-valid.html: Added.
99
        * web-platform-tests/css/css-align/parsing/justify-content-computed-expected.txt: Added.
100
        * web-platform-tests/css/css-align/parsing/justify-content-computed.html: Added.
101
        * web-platform-tests/css/css-align/parsing/justify-content-invalid-expected.txt: Added.
102
        * web-platform-tests/css/css-align/parsing/justify-content-invalid.html: Added.
103
        * web-platform-tests/css/css-align/parsing/justify-content-valid-expected.txt: Added.
104
        * web-platform-tests/css/css-align/parsing/justify-content-valid.html: Added.
105
        * web-platform-tests/css/css-align/parsing/justify-items-computed-expected.txt: Added.
106
        * web-platform-tests/css/css-align/parsing/justify-items-computed.html: Added.
107
        * web-platform-tests/css/css-align/parsing/justify-items-invalid-expected.txt: Added.
108
        * web-platform-tests/css/css-align/parsing/justify-items-invalid.html: Added.
109
        * web-platform-tests/css/css-align/parsing/justify-items-valid-expected.txt: Added.
110
        * web-platform-tests/css/css-align/parsing/justify-items-valid.html: Added.
111
        * web-platform-tests/css/css-align/parsing/justify-self-computed-expected.txt: Added.
112
        * web-platform-tests/css/css-align/parsing/justify-self-computed.html: Added.
113
        * web-platform-tests/css/css-align/parsing/justify-self-invalid-expected.txt: Added.
114
        * web-platform-tests/css/css-align/parsing/justify-self-invalid.html: Added.
115
        * web-platform-tests/css/css-align/parsing/justify-self-valid-expected.txt: Added.
116
        * web-platform-tests/css/css-align/parsing/justify-self-valid.html: Added.
117
        * web-platform-tests/css/css-align/parsing/place-content-computed-expected.txt: Added.
118
        * web-platform-tests/css/css-align/parsing/place-content-computed.html: Added.
119
        * web-platform-tests/css/css-align/parsing/place-content-invalid-expected.txt: Added.
120
        * web-platform-tests/css/css-align/parsing/place-content-invalid.html: Added.
121
        * web-platform-tests/css/css-align/parsing/place-content-shorthand-expected.txt: Added.
122
        * web-platform-tests/css/css-align/parsing/place-content-shorthand.html: Added.
123
        * web-platform-tests/css/css-align/parsing/place-content-valid-expected.txt: Added.
124
        * web-platform-tests/css/css-align/parsing/place-content-valid.html: Added.
125
        * web-platform-tests/css/css-align/parsing/place-items-computed-expected.txt: Added.
126
        * web-platform-tests/css/css-align/parsing/place-items-computed.html: Added.
127
        * web-platform-tests/css/css-align/parsing/place-items-invalid-expected.txt: Added.
128
        * web-platform-tests/css/css-align/parsing/place-items-invalid.html: Added.
129
        * web-platform-tests/css/css-align/parsing/place-items-shorthand-expected.txt: Added.
130
        * web-platform-tests/css/css-align/parsing/place-items-shorthand.html: Added.
131
        * web-platform-tests/css/css-align/parsing/place-items-valid-expected.txt: Added.
132
        * web-platform-tests/css/css-align/parsing/place-items-valid.html: Added.
133
        * web-platform-tests/css/css-align/parsing/place-self-computed-expected.txt: Added.
134
        * web-platform-tests/css/css-align/parsing/place-self-computed.html: Added.
135
        * web-platform-tests/css/css-align/parsing/place-self-invalid-expected.txt: Added.
136
        * web-platform-tests/css/css-align/parsing/place-self-invalid.html: Added.
137
        * web-platform-tests/css/css-align/parsing/place-self-shorthand-expected.txt: Added.
138
        * web-platform-tests/css/css-align/parsing/place-self-shorthand.html: Added.
139
        * web-platform-tests/css/css-align/parsing/place-self-valid-expected.txt: Added.
140
        * web-platform-tests/css/css-align/parsing/place-self-valid.html: Added.
141
        * web-platform-tests/css/css-align/parsing/row-gap-computed-expected.txt: Added.
142
        * web-platform-tests/css/css-align/parsing/row-gap-computed.html: Added.
143
        * web-platform-tests/css/css-align/parsing/row-gap-invalid-expected.txt: Added.
144
        * web-platform-tests/css/css-align/parsing/row-gap-invalid.html: Added.
145
        * web-platform-tests/css/css-align/parsing/row-gap-valid-expected.txt: Added.
146
        * web-platform-tests/css/css-align/parsing/row-gap-valid.html: Added.
147
        * web-platform-tests/css/css-align/parsing/w3c-import.log: Added.
148
        * web-platform-tests/css/css-align/resources/alignment-parsing-utils.js:
149
        (checkPlaceShorhand):
150
        * web-platform-tests/css/css-align/resources/w3c-import.log:
151
        * web-platform-tests/css/css-align/self-alignment/place-self-shorthand-006-expected.txt:
152
        * web-platform-tests/css/css-align/self-alignment/w3c-import.log:
153
        * web-platform-tests/css/css-align/w3c-import.log:
154
        * web-platform-tests/css/css-animations/Document-getAnimations.tentative-expected.txt:
155
        * web-platform-tests/css/css-animations/Document-getAnimations.tentative.html:
156
        * web-platform-tests/css/css-animations/animation-iteration-count-009-expected.txt: Added.
157
        * web-platform-tests/css/css-animations/animation-iteration-count-009.html: Added.
158
        * web-platform-tests/css/css-animations/cancel-animation-shadow-slot-invalidation-expected.html: Added.
159
        * web-platform-tests/css/css-animations/cancel-animation-shadow-slot-invalidation.html: Added.
160
        * web-platform-tests/css/css-animations/idlharness.html:
161
        * web-platform-tests/css/css-animations/support/testcommon.js:
162
        (assert_frames_equal):
163
        * web-platform-tests/css/css-animations/w3c-import.log:
164
        * web-platform-tests/css/css-animations/webkit-writing-mode-crash-expected.txt: Added.
165
        * web-platform-tests/css/css-animations/webkit-writing-mode-crash.html: Added.
166
        * web-platform-tests/css/css-backgrounds/animations/box-shadow-composition-expected.txt: Added.
167
        * web-platform-tests/css/css-backgrounds/animations/box-shadow-composition.html: Added.
168
        * web-platform-tests/css/css-backgrounds/animations/w3c-import.log:
169
        * web-platform-tests/css/css-backgrounds/background-attachment-350-expected.xht: Copied from LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/background-size-010-expected.xht.
170
        * web-platform-tests/css/css-backgrounds/background-attachment-350.html: Added.
171
        * web-platform-tests/css/css-backgrounds/background-attachment-margin-root-001-expected.html: Added.
172
        * web-platform-tests/css/css-backgrounds/background-attachment-margin-root-001.html: Added.
173
        * web-platform-tests/css/css-backgrounds/background-attachment-margin-root-002-expected.html: Added.
174
        * web-platform-tests/css/css-backgrounds/background-attachment-margin-root-002.html: Added.
175
        * web-platform-tests/css/css-backgrounds/background-border-collapsed-gradient-expected.html: Removed.
176
        * web-platform-tests/css/css-backgrounds/background-border-collapsed-gradient.html: Removed.
177
        * web-platform-tests/css/css-backgrounds/background-gradient-subpixel-fills-area.html:
178
        * web-platform-tests/css/css-backgrounds/background-image-007-expected.html: Removed.
179
        * web-platform-tests/css/css-backgrounds/background-image-007-expected.xht: Copied from LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/background-size-007-expected.xht.
180
        * web-platform-tests/css/css-backgrounds/background-image-007.html:
181
        * web-platform-tests/css/css-backgrounds/background-image-centered-with-border-radius.html:
182
        * web-platform-tests/css/css-backgrounds/background-image-centered.html:
183
        * web-platform-tests/css/css-backgrounds/background-image-cover-zoomed-1.html:
184
        * web-platform-tests/css/css-backgrounds/background-image-large-with-auto.html:
185
        * web-platform-tests/css/css-backgrounds/background-image-table-cells-zoomed.html:
186
        * web-platform-tests/css/css-backgrounds/background-margin-iframe-root-expected.html: Added.
187
        * web-platform-tests/css/css-backgrounds/background-margin-iframe-root.html: Added.
188
        * web-platform-tests/css/css-backgrounds/background-margin-root-expected.html: Added.
189
        * web-platform-tests/css/css-backgrounds/background-margin-root.html: Added.
190
        * web-platform-tests/css/css-backgrounds/background-margin-transformed-root-expected.html: Added.
191
        * web-platform-tests/css/css-backgrounds/background-margin-transformed-root.html: Added.
192
        * web-platform-tests/css/css-backgrounds/background-margin-will-change-root-expected.html: Added.
193
        * web-platform-tests/css/css-backgrounds/background-margin-will-change-root.html: Added.
194
        * web-platform-tests/css/css-backgrounds/background-origin-007.html:
195
        * web-platform-tests/css/css-backgrounds/background-position-subpixel-at-border.tentative-expected.html: Added.
196
        * web-platform-tests/css/css-backgrounds/background-position-subpixel-at-border.tentative.html: Added.
197
        * web-platform-tests/css/css-backgrounds/background-position-three-four-values-expected.html: Added.
198
        * web-platform-tests/css/css-backgrounds/background-position-three-four-values.html: Added.
199
        * web-platform-tests/css/css-backgrounds/background-position-xy-three-four-values-passthru-expected.html: Added.
200
        * web-platform-tests/css/css-backgrounds/background-position-xy-three-four-values-passthru.html: Added.
201
        * web-platform-tests/css/css-backgrounds/background-position/subpixel-position-center.tentative-expected.html: Added.
202
        * web-platform-tests/css/css-backgrounds/background-position/subpixel-position-center.tentative.html: Added.
203
        * web-platform-tests/css/css-backgrounds/background-position/w3c-import.log: Copied from LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/resources/w3c-import.log.
204
        * web-platform-tests/css/css-backgrounds/background-repeat/background-repeat-no-repeat-expected.xht:
205
        * web-platform-tests/css/css-backgrounds/background-repeat/background-repeat-repeat-x-expected.xht:
206
        * web-platform-tests/css/css-backgrounds/background-repeat/background-repeat-repeat-y-expected.xht:
207
        * web-platform-tests/css/css-backgrounds/background-repeat/background-repeat-round-expected.xht:
208
        * web-platform-tests/css/css-backgrounds/background-repeat/background-repeat-round-roundup-expected.xht:
209
        * web-platform-tests/css/css-backgrounds/background-repeat/background-repeat-space-expected.xht:
210
        * web-platform-tests/css/css-backgrounds/background-size-007-expected.xht:
211
        * web-platform-tests/css/css-backgrounds/background-size-007.html:
212
        * web-platform-tests/css/css-backgrounds/background-size-010-expected.xht:
213
        * web-platform-tests/css/css-backgrounds/background-size-010.html:
214
        * web-platform-tests/css/css-backgrounds/background-size/background-size-contain-expected.xht:
215
        * web-platform-tests/css/css-backgrounds/background-size/background-size-cover-expected.xht:
216
        * web-platform-tests/css/css-backgrounds/background-size/background-size-cover-svg.html:
217
        * web-platform-tests/css/css-backgrounds/background-size/background-size-near-zero-color-expected.html: Added.
218
        * web-platform-tests/css/css-backgrounds/background-size/background-size-near-zero-color.html: Added.
219
        * web-platform-tests/css/css-backgrounds/background-size/background-size-near-zero-gradient-expected.html: Added.
220
        * web-platform-tests/css/css-backgrounds/background-size/background-size-near-zero-gradient.html: Added.
221
        * web-platform-tests/css/css-backgrounds/background-size/background-size-near-zero-png-expected.html: Added.
222
        * web-platform-tests/css/css-backgrounds/background-size/background-size-near-zero-png.html: Added.
223
        * web-platform-tests/css/css-backgrounds/background-size/background-size-near-zero-svg-expected.html: Added.
224
        * web-platform-tests/css/css-backgrounds/background-size/background-size-near-zero-svg.html: Added.
225
        * web-platform-tests/css/css-backgrounds/background-size/support/50x50-green.svg: Added.
226
        * web-platform-tests/css/css-backgrounds/background-size/support/w3c-import.log:
227
        * web-platform-tests/css/css-backgrounds/background-size/w3c-import.log:
228
        * web-platform-tests/css/css-backgrounds/background_position_three_four_values.htm: Removed.
229
        * web-platform-tests/css/css-backgrounds/border-image-image-type-003-expected.html: Added.
230
        * web-platform-tests/css/css-backgrounds/border-image-image-type-003.htm:
231
        * web-platform-tests/css/css-backgrounds/border-image-shorthand-001-expected.html: Added.
232
        * web-platform-tests/css/css-backgrounds/border-image-shorthand-001.htm:
233
        * web-platform-tests/css/css-backgrounds/border-image-shorthand-002.htm:
234
        * web-platform-tests/css/css-backgrounds/border-image-shorthand-003.htm:
235
        * web-platform-tests/css/css-backgrounds/border-top-left-radius-values-001.htm:
236
        * web-platform-tests/css/css-backgrounds/border-top-left-radius-values-002.htm:
237
        * web-platform-tests/css/css-backgrounds/border-top-left-radius-values-003.htm:
238
        * web-platform-tests/css/css-backgrounds/border-width-pixel-snapping-001-a-expected.html: Added.
239
        * web-platform-tests/css/css-backgrounds/border-width-pixel-snapping-001-a.html: Added.
240
        * web-platform-tests/css/css-backgrounds/border-width-pixel-snapping-001-b-expected.html: Added.
241
        * web-platform-tests/css/css-backgrounds/border-width-pixel-snapping-001-b.html: Added.
242
        * web-platform-tests/css/css-backgrounds/box-shadow-table-border-collapse-001-expected.html: Added.
243
        * web-platform-tests/css/css-backgrounds/box-shadow-table-border-collapse-001.html: Added.
244
        * web-platform-tests/css/css-backgrounds/css-border-radius-001.html:
245
        * web-platform-tests/css/css-backgrounds/css-border-radius-002-expected.html: Removed.
246
        * web-platform-tests/css/css-backgrounds/css-border-radius-002.html: Removed.
247
        * web-platform-tests/css/css-backgrounds/css-box-shadow-001.html:
248
        * web-platform-tests/css/css-backgrounds/inset-box-shadow-scroll-expected.html: Added.
249
        * web-platform-tests/css/css-backgrounds/inset-box-shadow-scroll.html: Added.
250
        * web-platform-tests/css/css-backgrounds/inset-box-shadow-stacking-context-scroll-expected.html: Added.
251
        * web-platform-tests/css/css-backgrounds/inset-box-shadow-stacking-context-scroll.html: Added.
252
        * web-platform-tests/css/css-backgrounds/parsing/background-image-computed.sub-expected.txt:
253
        * web-platform-tests/css/css-backgrounds/parsing/background-image-computed.sub.html:
254
        * web-platform-tests/css/css-backgrounds/resources/green-bottom.png: Added.
255
        * web-platform-tests/css/css-backgrounds/resources/green-right.png: Added.
256
        * web-platform-tests/css/css-backgrounds/resources/green1x50.png: Added.
257
        * web-platform-tests/css/css-backgrounds/resources/green50x1.png: Added.
258
        * web-platform-tests/css/css-backgrounds/resources/w3c-import.log:
259
        * web-platform-tests/css/css-backgrounds/scroll-positioned-multiple-background-images.html:
260
        * web-platform-tests/css/css-backgrounds/subpixel-repeat-no-repeat-mix-expected.html: Added.
261
        * web-platform-tests/css/css-backgrounds/subpixel-repeat-no-repeat-mix.html: Added.
262
        * web-platform-tests/css/css-backgrounds/support/100x100-red.png: Added.
263
        * web-platform-tests/css/css-backgrounds/support/60x60-red.png: Removed.
264
        * web-platform-tests/css/css-backgrounds/support/blue-and-red-diamonds-81x81.png: Added.
265
        * web-platform-tests/css/css-backgrounds/support/w3c-import.log:
266
        * web-platform-tests/css/css-backgrounds/support/y.png: Removed.
267
        * web-platform-tests/css/css-backgrounds/support/yy.png: Removed.
268
        * web-platform-tests/css/css-backgrounds/support/yyy.png: Removed.
269
        * web-platform-tests/css/css-backgrounds/w3c-import.log:
270
        * web-platform-tests/css/css-box/animation/margin-bottom-composition-expected.txt: Added.
271
        * web-platform-tests/css/css-box/animation/margin-bottom-composition.html: Added.
272
        * web-platform-tests/css/css-box/animation/margin-left-composition-expected.txt: Added.
273
        * web-platform-tests/css/css-box/animation/margin-left-composition.html: Added.
274
        * web-platform-tests/css/css-box/animation/margin-right-composition-expected.txt: Added.
275
        * web-platform-tests/css/css-box/animation/margin-right-composition.html: Added.
276
        * web-platform-tests/css/css-box/animation/margin-top-composition-expected.txt: Added.
277
        * web-platform-tests/css/css-box/animation/margin-top-composition.html: Added.
278
        * web-platform-tests/css/css-box/animation/padding-bottom-composition-expected.txt: Added.
279
        * web-platform-tests/css/css-box/animation/padding-bottom-composition.html: Added.
280
        * web-platform-tests/css/css-box/animation/padding-left-composition-expected.txt: Added.
281
        * web-platform-tests/css/css-box/animation/padding-left-composition.html: Added.
282
        * web-platform-tests/css/css-box/animation/padding-right-composition-expected.txt: Added.
283
        * web-platform-tests/css/css-box/animation/padding-right-composition.html: Added.
284
        * web-platform-tests/css/css-box/animation/padding-top-composition-expected.txt: Added.
285
        * web-platform-tests/css/css-box/animation/padding-top-composition.html: Added.
286
        * web-platform-tests/css/css-box/animation/w3c-import.log:
287
        * web-platform-tests/css/css-box/parsing/min-height-invalid-expected.txt: Removed.
288
        * web-platform-tests/css/css-box/parsing/min-height-invalid.html: Removed.
289
        * web-platform-tests/css/css-box/parsing/min-height-valid-expected.txt: Removed.
290
        * web-platform-tests/css/css-box/parsing/min-height-valid.html: Removed.
291
        * web-platform-tests/css/css-box/parsing/min-width-invalid-expected.txt: Removed.
292
        * web-platform-tests/css/css-box/parsing/min-width-invalid.html: Removed.
293
        * web-platform-tests/css/css-box/parsing/min-width-valid-expected.txt: Removed.
294
        * web-platform-tests/css/css-box/parsing/min-width-valid.html: Removed.
295
        * web-platform-tests/css/css-box/parsing/w3c-import.log:
296
        * web-platform-tests/css/css-cascade/revert-val-004-expected.txt: Added.
297
        * web-platform-tests/css/css-cascade/revert-val-004.html: Added.
298
        * web-platform-tests/css/css-cascade/revert-val-005-expected.txt: Added.
299
        * web-platform-tests/css/css-cascade/revert-val-005.html: Added.
300
        * web-platform-tests/css/css-cascade/revert-val-006-expected.txt: Added.
301
        * web-platform-tests/css/css-cascade/revert-val-006.html: Added.
302
        * web-platform-tests/css/css-cascade/revert-val-007-expected.txt: Added.
303
        * web-platform-tests/css/css-cascade/revert-val-007.html: Added.
304
        * web-platform-tests/css/css-cascade/revert-val-008-expected.txt: Added.
305
        * web-platform-tests/css/css-cascade/revert-val-008.html: Added.
306
        * web-platform-tests/css/css-cascade/revert-val-009-expected.txt: Added.
307
        * web-platform-tests/css/css-cascade/revert-val-009.html: Added.
308
        * web-platform-tests/css/css-cascade/revert-val-010-expected.txt: Added.
309
        * web-platform-tests/css/css-cascade/revert-val-010.html: Added.
310
        * web-platform-tests/css/css-cascade/w3c-import.log:
311
        * web-platform-tests/css/css-color-adjust/inheritance-expected.txt: Added.
312
        * web-platform-tests/css/css-color-adjust/inheritance.html: Added.
313
        * web-platform-tests/css/css-color-adjust/meta/meta-color-scheme-attribute-changes-expected.txt: Added.
314
        * web-platform-tests/css/css-color-adjust/meta/meta-color-scheme-attribute-changes.html: Added.
315
        * web-platform-tests/css/css-color-adjust/meta/meta-color-scheme-empty-content-value-expected.txt: Added.
316
        * web-platform-tests/css/css-color-adjust/meta/meta-color-scheme-empty-content-value.html: Added.
317
        * web-platform-tests/css/css-color-adjust/meta/meta-color-scheme-first-valid-applies-expected.txt: Added.
318
        * web-platform-tests/css/css-color-adjust/meta/meta-color-scheme-first-valid-applies.html: Added.
319
        * web-platform-tests/css/css-color-adjust/meta/meta-color-scheme-insert-expected.txt: Added.
320
        * web-platform-tests/css/css-color-adjust/meta/meta-color-scheme-insert.html: Added.
321
        * web-platform-tests/css/css-color-adjust/meta/meta-color-scheme-no-content-value-expected.txt: Added.
322
        * web-platform-tests/css/css-color-adjust/meta/meta-color-scheme-no-content-value.html: Added.
323
        * web-platform-tests/css/css-color-adjust/meta/meta-color-scheme-presentational-hint-expected.txt: Added.
324
        * web-platform-tests/css/css-color-adjust/meta/meta-color-scheme-presentational-hint.html: Added.
325
        * web-platform-tests/css/css-color-adjust/meta/meta-color-scheme-remove-expected.txt: Added.
326
        * web-platform-tests/css/css-color-adjust/meta/meta-color-scheme-remove-head-expected.txt: Added.
327
        * web-platform-tests/css/css-color-adjust/meta/meta-color-scheme-remove-head.html: Added.
328
        * web-platform-tests/css/css-color-adjust/meta/meta-color-scheme-remove.html: Added.
329
        * web-platform-tests/css/css-color-adjust/meta/meta-color-scheme-single-value-in-body-expected.txt: Added.
330
        * web-platform-tests/css/css-color-adjust/meta/meta-color-scheme-single-value-in-body.html: Added.
331
        * web-platform-tests/css/css-color-adjust/meta/meta-color-scheme-single-value-in-head-expected.txt: Added.
332
        * web-platform-tests/css/css-color-adjust/meta/meta-color-scheme-single-value-in-head.html: Added.
333
        * web-platform-tests/css/css-color-adjust/meta/meta-color-scheme-single-value-in-shadow-tree-expected.txt: Added.
334
        * web-platform-tests/css/css-color-adjust/meta/meta-color-scheme-single-value-in-shadow-tree.html: Added.
335
        * web-platform-tests/css/css-color-adjust/meta/support/compute-root-color-scheme.js: Added.
336
        (assert_root_color_scheme):
337
        * web-platform-tests/css/css-color-adjust/meta/support/w3c-import.log: Copied from LayoutTests/imported/w3c/web-platform-tests/css/css-position/resources/w3c-import.log.
338
        * web-platform-tests/css/css-color-adjust/meta/w3c-import.log: Added.
339
        * web-platform-tests/css/css-color-adjust/parsing/color-scheme-computed-expected.txt: Added.
340
        * web-platform-tests/css/css-color-adjust/parsing/color-scheme-computed.html: Added.
341
        * web-platform-tests/css/css-color-adjust/parsing/color-scheme-invalid-expected.txt: Added.
342
        * web-platform-tests/css/css-color-adjust/parsing/color-scheme-invalid.html: Added.
343
        * web-platform-tests/css/css-color-adjust/parsing/color-scheme-valid-expected.txt: Added.
344
        * web-platform-tests/css/css-color-adjust/parsing/color-scheme-valid.html: Added.
345
        * web-platform-tests/css/css-color-adjust/parsing/w3c-import.log: Copied from LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/resources/w3c-import.log.
346
        * web-platform-tests/css/css-color-adjust/rendering/dark-color-scheme/color-scheme-change-checkbox-expected.html: Added.
347
        * web-platform-tests/css/css-color-adjust/rendering/dark-color-scheme/color-scheme-change-checkbox-notref.html: Added.
348
        * web-platform-tests/css/css-color-adjust/rendering/dark-color-scheme/color-scheme-change-checkbox.html: Added.
349
        * web-platform-tests/css/css-color-adjust/rendering/dark-color-scheme/color-scheme-color-property-expected.txt: Added.
350
        * web-platform-tests/css/css-color-adjust/rendering/dark-color-scheme/color-scheme-color-property.html: Added.
351
        * web-platform-tests/css/css-color-adjust/rendering/dark-color-scheme/color-scheme-iframe-background-expected.html: Added.
352
        * web-platform-tests/css/css-color-adjust/rendering/dark-color-scheme/color-scheme-iframe-background-mismatch-alpha-expected.html: Added.
353
        * web-platform-tests/css/css-color-adjust/rendering/dark-color-scheme/color-scheme-iframe-background-mismatch-alpha.html: Added.
354
        * web-platform-tests/css/css-color-adjust/rendering/dark-color-scheme/color-scheme-iframe-background-mismatch-opaque-expected.html: Added.
355
        * web-platform-tests/css/css-color-adjust/rendering/dark-color-scheme/color-scheme-iframe-background-mismatch-opaque.html: Added.
356
        * web-platform-tests/css/css-color-adjust/rendering/dark-color-scheme/color-scheme-iframe-background.html: Added.
357
        * web-platform-tests/css/css-color-adjust/rendering/dark-color-scheme/color-scheme-root-background-expected.txt: Added.
358
        * web-platform-tests/css/css-color-adjust/rendering/dark-color-scheme/color-scheme-root-background.html: Added.
359
        * web-platform-tests/css/css-color-adjust/rendering/dark-color-scheme/color-scheme-visited-link-initial-expected.html: Added.
360
        * web-platform-tests/css/css-color-adjust/rendering/dark-color-scheme/color-scheme-visited-link-initial.html: Added.
361
        * web-platform-tests/css/css-color-adjust/rendering/dark-color-scheme/support/dark-frame-alpha.html: Added.
362
        * web-platform-tests/css/css-color-adjust/rendering/dark-color-scheme/support/dark-frame-expected.html: Added.
363
        * web-platform-tests/css/css-color-adjust/rendering/dark-color-scheme/support/dark-frame-opaque.html: Added.
364
        * web-platform-tests/css/css-color-adjust/rendering/dark-color-scheme/support/dark-frame.html: Added.
365
        * web-platform-tests/css/css-color-adjust/rendering/dark-color-scheme/support/prefers-color-scheme.svg: Added.
366
        * web-platform-tests/css/css-color-adjust/rendering/dark-color-scheme/support/w3c-import.log: Added.
367
        * web-platform-tests/css/css-color-adjust/rendering/dark-color-scheme/svg-as-image-expected.txt: Added.
368
        * web-platform-tests/css/css-color-adjust/rendering/dark-color-scheme/svg-as-image.html: Added.
369
        * web-platform-tests/css/css-color-adjust/rendering/dark-color-scheme/w3c-import.log: Added.
370
        * web-platform-tests/css/css-color-adjust/w3c-import.log: Renamed from LayoutTests/imported/w3c/web-platform-tests/css/css-position/animation/w3c-import.log.
371
        * web-platform-tests/css/css-display/animations/display-interpolation-expected.txt: Added.
372
        * web-platform-tests/css/css-display/animations/display-interpolation.html: Added.
373
        * web-platform-tests/css/css-display/animations/w3c-import.log: Copied from LayoutTests/imported/w3c/web-platform-tests/css/css-position/resources/w3c-import.log.
374
        * web-platform-tests/css/css-display/display-change-iframe.html:
375
        * web-platform-tests/css/css-display/display-change-object-iframe.html:
376
        * web-platform-tests/css/css-display/display-contents-before-after-001.html:
377
        * web-platform-tests/css/css-display/display-contents-before-after-003.html:
378
        * web-platform-tests/css/css-display/display-contents-button.html:
379
        * web-platform-tests/css/css-display/display-contents-dynamic-before-after-001.html:
380
        * web-platform-tests/css/css-display/display-contents-dynamic-flex-002-inline-expected.html:
381
        * web-platform-tests/css/css-display/display-contents-dynamic-flex-002-inline.html:
382
        * web-platform-tests/css/css-display/display-contents-dynamic-flex-002-none-expected.html:
383
        * web-platform-tests/css/css-display/display-contents-dynamic-flex-002-none.html:
384
        * web-platform-tests/css/css-display/display-contents-dynamic-flex-003-inline-expected.html:
385
        * web-platform-tests/css/css-display/display-contents-dynamic-flex-003-inline.html:
386
        * web-platform-tests/css/css-display/display-contents-dynamic-flex-003-none-expected.html:
387
        * web-platform-tests/css/css-display/display-contents-dynamic-flex-003-none.html:
388
        * web-platform-tests/css/css-display/display-contents-dynamic-inline-flex-001-inline-expected.html:
389
        * web-platform-tests/css/css-display/display-contents-dynamic-inline-flex-001-inline.html:
390
        * web-platform-tests/css/css-display/display-contents-dynamic-inline-flex-001-none-expected.html:
391
        * web-platform-tests/css/css-display/display-contents-dynamic-inline-flex-001-none.html:
392
        * web-platform-tests/css/css-display/display-contents-dynamic-list-001-inline-expected.html:
393
        * web-platform-tests/css/css-display/display-contents-dynamic-list-001-inline.html:
394
        * web-platform-tests/css/css-display/display-contents-dynamic-list-001-none-expected.html:
395
        * web-platform-tests/css/css-display/display-contents-dynamic-list-001-none.html:
396
        * web-platform-tests/css/css-display/display-contents-dynamic-multicol-001-inline-expected.html:
397
        * web-platform-tests/css/css-display/display-contents-dynamic-multicol-001-inline.html:
398
        * web-platform-tests/css/css-display/display-contents-dynamic-multicol-001-none-expected.html:
399
        * web-platform-tests/css/css-display/display-contents-dynamic-multicol-001-none.html:
400
        * web-platform-tests/css/css-display/display-contents-dynamic-table-001-inline-expected.html:
401
        * web-platform-tests/css/css-display/display-contents-dynamic-table-001-inline.html:
402
        * web-platform-tests/css/css-display/display-contents-dynamic-table-001-none-expected.html:
403
        * web-platform-tests/css/css-display/display-contents-dynamic-table-001-none.html:
404
        * web-platform-tests/css/css-display/display-contents-dynamic-table-002-inline-expected.html:
405
        * web-platform-tests/css/css-display/display-contents-dynamic-table-002-inline.html:
406
        * web-platform-tests/css/css-display/display-contents-dynamic-table-002-none-expected.html:
407
        * web-platform-tests/css/css-display/display-contents-dynamic-table-002-none.html:
408
        * web-platform-tests/css/css-display/display-contents-fieldset-nested-legend.html:
409
        * web-platform-tests/css/css-display/display-contents-flex-002-expected.html:
410
        * web-platform-tests/css/css-display/display-contents-flex-002.html:
411
        * web-platform-tests/css/css-display/display-contents-flex-003-expected.html:
412
        * web-platform-tests/css/css-display/display-contents-flex-003.html:
413
        * web-platform-tests/css/css-display/display-contents-inline-flex-001-expected.html:
414
        * web-platform-tests/css/css-display/display-contents-inline-flex-001.html:
415
        * web-platform-tests/css/css-display/display-contents-list-001-expected.html:
416
        * web-platform-tests/css/css-display/display-contents-list-001.html:
417
        * web-platform-tests/css/css-display/display-contents-multicol-001-expected.html:
418
        * web-platform-tests/css/css-display/display-contents-multicol-001.html:
419
        * web-platform-tests/css/css-display/display-contents-root-background-expected.html: Added.
420
        * web-platform-tests/css/css-display/display-contents-root-background.html: Added.
421
        * web-platform-tests/css/css-display/display-contents-shadow-dom-1-expected.html:
422
        * web-platform-tests/css/css-display/display-contents-shadow-dom-1.html:
423
        * web-platform-tests/css/css-display/display-contents-table-001-expected.html:
424
        * web-platform-tests/css/css-display/display-contents-table-001.html:
425
        * web-platform-tests/css/css-display/display-contents-table-002-expected.html:
426
        * web-platform-tests/css/css-display/display-contents-table-002.html:
427
        * web-platform-tests/css/css-display/display-first-line-001-expected.txt: Added.
428
        * web-platform-tests/css/css-display/display-first-line-001.html: Added.
429
        * web-platform-tests/css/css-display/display-first-line-002-expected.html: Added.
430
        * web-platform-tests/css/css-display/display-first-line-002.html: Added.
431
        * web-platform-tests/css/css-display/display-flow-root-001-expected.html:
432
        * web-platform-tests/css/css-display/display-flow-root-001.html:
433
        * web-platform-tests/css/css-display/display-flow-root-list-item-001-expected.html:
434
        * web-platform-tests/css/css-display/display-flow-root-list-item-001.html:
435
        * web-platform-tests/css/css-display/display-with-float-dynamic-expected.txt: Added.
436
        * web-platform-tests/css/css-display/display-with-float-dynamic.html: Added.
437
        * web-platform-tests/css/css-display/display-with-float-expected.txt: Added.
438
        * web-platform-tests/css/css-display/display-with-float.html: Added.
439
        * web-platform-tests/css/css-display/run-in/run-in-basic-003.xht:
440
        * web-platform-tests/css/css-display/run-in/run-in-run-in-between-001.xht:
441
        * web-platform-tests/css/css-display/run-in/run-in-run-in-between-003.xht:
442
        * web-platform-tests/css/css-display/select-4-option-optgroup-display-none-expected.html:
443
        * web-platform-tests/css/css-display/select-4-option-optgroup-display-none.html:
444
        * web-platform-tests/css/css-display/w3c-import.log:
445
        * web-platform-tests/css/css-fonts/support/60x60-red.png: Removed.
446
        * web-platform-tests/css/css-images/conic-gradient-angle-expected.html: Added.
447
        * web-platform-tests/css/css-images/conic-gradient-angle-negative-expected.html: Added.
448
        * web-platform-tests/css/css-images/conic-gradient-angle-negative.html: Added.
449
        * web-platform-tests/css/css-images/conic-gradient-angle.html: Added.
450
        * web-platform-tests/css/css-images/conic-gradient-center-expected.html: Added.
451
        * web-platform-tests/css/css-images/conic-gradient-center.html: Added.
452
        * web-platform-tests/css/css-images/css-image-fallbacks-and-annotations.html:
453
        * web-platform-tests/css/css-images/css-image-fallbacks-and-annotations002.html:
454
        * web-platform-tests/css/css-images/css-image-fallbacks-and-annotations003.html:
455
        * web-platform-tests/css/css-images/css-image-fallbacks-and-annotations004.html:
456
        * web-platform-tests/css/css-images/css-image-fallbacks-and-annotations005.html:
457
        * web-platform-tests/css/css-images/gradient-refcrash-expected.html: Copied from LayoutTests/imported/w3c/web-platform-tests/css/css-images/gradient-crash-expected.html.
458
        * web-platform-tests/css/css-images/gradient-refcrash.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/css/css-images/gradient-crash.html.
459
        * web-platform-tests/css/css-images/gradients-with-transparent.html:
460
        * web-platform-tests/css/css-images/image-fit-001.xht:
461
        * web-platform-tests/css/css-images/image-fit-006.xht:
462
        * web-platform-tests/css/css-images/image-orientation/image-orientation-background-image-expected.html: Added.
463
        * web-platform-tests/css/css-images/image-orientation/image-orientation-background-image.html: Added.
464
        * web-platform-tests/css/css-images/image-orientation/image-orientation-background-properties-expected.html: Added.
465
        * web-platform-tests/css/css-images/image-orientation/image-orientation-background-properties.html: Added.
466
        * web-platform-tests/css/css-images/image-orientation/image-orientation-border-image-expected.html: Added.
467
        * web-platform-tests/css/css-images/image-orientation/image-orientation-border-image.html: Added.
468
        * web-platform-tests/css/css-images/image-orientation/image-orientation-default-expected.html: Added.
469
        * web-platform-tests/css/css-images/image-orientation/image-orientation-default.html: Added.
470
        * web-platform-tests/css/css-images/image-orientation/image-orientation-from-image-composited-dynamic1-expected.html: Added.
471
        * web-platform-tests/css/css-images/image-orientation/image-orientation-from-image-composited-dynamic1.html: Added.
472
        * web-platform-tests/css/css-images/image-orientation/image-orientation-from-image-composited-dynamic2-expected.html: Added.
473
        * web-platform-tests/css/css-images/image-orientation/image-orientation-from-image-composited-dynamic2.html: Added.
474
        * web-platform-tests/css/css-images/image-orientation/image-orientation-from-image-composited-expected.html: Added.
475
        * web-platform-tests/css/css-images/image-orientation/image-orientation-from-image-composited.html: Added.
476
        * web-platform-tests/css/css-images/image-orientation/image-orientation-from-image-computed-style-expected.txt: Added.
477
        * web-platform-tests/css/css-images/image-orientation/image-orientation-from-image-computed-style.html: Added.
478
        * web-platform-tests/css/css-images/image-orientation/image-orientation-from-image-content-images-expected.html: Added.
479
        * web-platform-tests/css/css-images/image-orientation/image-orientation-from-image-content-images.html: Added.
480
        * web-platform-tests/css/css-images/image-orientation/image-orientation-from-image-dynamic1-expected.html: Added.
481
        * web-platform-tests/css/css-images/image-orientation/image-orientation-from-image-dynamic1.html: Added.
482
        * web-platform-tests/css/css-images/image-orientation/image-orientation-from-image-dynamic2-expected.html: Added.
483
        * web-platform-tests/css/css-images/image-orientation/image-orientation-from-image-dynamic2.html: Added.
484
        * web-platform-tests/css/css-images/image-orientation/image-orientation-from-image-embedded-content-expected.html: Added.
485
        * web-platform-tests/css/css-images/image-orientation/image-orientation-from-image-embedded-content.html: Added.
486
        * web-platform-tests/css/css-images/image-orientation/image-orientation-from-image-expected.html: Added.
487
        * web-platform-tests/css/css-images/image-orientation/image-orientation-from-image.html: Added.
488
        * web-platform-tests/css/css-images/image-orientation/image-orientation-list-style-image-expected.html: Added.
489
        * web-platform-tests/css/css-images/image-orientation/image-orientation-list-style-image.html: Added.
490
        * web-platform-tests/css/css-images/image-orientation/image-orientation-mask-image-expected.html: Added.
491
        * web-platform-tests/css/css-images/image-orientation/image-orientation-mask-image.html: Added.
492
        * web-platform-tests/css/css-images/image-orientation/image-orientation-none-computed-style-expected.txt: Added.
493
        * web-platform-tests/css/css-images/image-orientation/image-orientation-none-computed-style.html: Added.
494
        * web-platform-tests/css/css-images/image-orientation/image-orientation-none-content-images-expected.html: Added.
495
        * web-platform-tests/css/css-images/image-orientation/image-orientation-none-content-images.html: Added.
496
        * web-platform-tests/css/css-images/image-orientation/image-orientation-none-expected.html: Added.
497
        * web-platform-tests/css/css-images/image-orientation/image-orientation-none-image-document-expected.html: Added.
498
        * web-platform-tests/css/css-images/image-orientation/image-orientation-none-image-document.html: Added.
499
        * web-platform-tests/css/css-images/image-orientation/image-orientation-none.html: Added.
500
        * web-platform-tests/css/css-images/image-orientation/support/exif-orientation-1-ul-pre-rotated.jpg: Added.
501
        * web-platform-tests/css/css-images/image-orientation/support/exif-orientation-1-ul.jpg: Added.
502
        * web-platform-tests/css/css-images/image-orientation/support/exif-orientation-2-ur-pre-rotated.jpg: Added.
503
        * web-platform-tests/css/css-images/image-orientation/support/exif-orientation-2-ur.jpg: Added.
504
        * web-platform-tests/css/css-images/image-orientation/support/exif-orientation-3-lr-pre-rotated.jpg: Added.
505
        * web-platform-tests/css/css-images/image-orientation/support/exif-orientation-3-lr.jpg: Added.
506
        * web-platform-tests/css/css-images/image-orientation/support/exif-orientation-4-lol-pre-rotated.jpg: Added.
507
        * web-platform-tests/css/css-images/image-orientation/support/exif-orientation-4-lol.jpg: Added.
508
        * web-platform-tests/css/css-images/image-orientation/support/exif-orientation-5-lu-pre-rotated.jpg: Added.
509
        * web-platform-tests/css/css-images/image-orientation/support/exif-orientation-5-lu.jpg: Added.
510
        * web-platform-tests/css/css-images/image-orientation/support/exif-orientation-6-ru-pre-rotated.jpg: Added.
511
        * web-platform-tests/css/css-images/image-orientation/support/exif-orientation-6-ru.jpg: Added.
512
        * web-platform-tests/css/css-images/image-orientation/support/exif-orientation-7-rl-pre-rotated.jpg: Added.
513
        * web-platform-tests/css/css-images/image-orientation/support/exif-orientation-7-rl.jpg: Added.
514
        * web-platform-tests/css/css-images/image-orientation/support/exif-orientation-8-llo-pre-rotated.jpg: Added.
515
        * web-platform-tests/css/css-images/image-orientation/support/exif-orientation-8-llo.jpg: Added.
516
        * web-platform-tests/css/css-images/image-orientation/support/exif-orientation-9-u-pre-rotated.jpg: Added.
517
        * web-platform-tests/css/css-images/image-orientation/support/exif-orientation-9-u.jpg: Added.
518
        * web-platform-tests/css/css-images/image-orientation/support/w3c-import.log: Added.
519
        * web-platform-tests/css/css-images/image-orientation/svg-image-orientation-aspect-ratio-expected.html: Added.
520
        * web-platform-tests/css/css-images/image-orientation/svg-image-orientation-aspect-ratio.html: Added.
521
        * web-platform-tests/css/css-images/image-orientation/svg-image-orientation-expected.html: Added.
522
        * web-platform-tests/css/css-images/image-orientation/svg-image-orientation-none-expected.html: Added.
523
        * web-platform-tests/css/css-images/image-orientation/svg-image-orientation-none.html: Added.
524
        * web-platform-tests/css/css-images/image-orientation/svg-image-orientation.html: Added.
525
        * web-platform-tests/css/css-images/image-orientation/w3c-import.log: Added.
526
        * web-platform-tests/css/css-images/image-resolution/image-resolution-001-expected.html: Added.
527
        * web-platform-tests/css/css-images/image-resolution/image-resolution-001.html: Added.
528
        * web-platform-tests/css/css-images/image-resolution/image-resolution-002-expected.html: Added.
529
        * web-platform-tests/css/css-images/image-resolution/image-resolution-002.html: Added.
530
        * web-platform-tests/css/css-images/image-resolution/image-resolution-003-expected.html: Added.
531
        * web-platform-tests/css/css-images/image-resolution/image-resolution-003.html: Added.
532
        * web-platform-tests/css/css-images/image-resolution/image-resolution-004-expected.html: Added.
533
        * web-platform-tests/css/css-images/image-resolution/image-resolution-004.html: Added.
534
        * web-platform-tests/css/css-images/image-resolution/image-resolution-005-expected.html: Added.
535
        * web-platform-tests/css/css-images/image-resolution/image-resolution-005.html: Added.
536
        * web-platform-tests/css/css-images/image-resolution/image-resolution-006-expected.html: Added.
537
        * web-platform-tests/css/css-images/image-resolution/image-resolution-006.html: Added.
538
        * web-platform-tests/css/css-images/image-resolution/image-resolution-007-expected.html: Added.
539
        * web-platform-tests/css/css-images/image-resolution/image-resolution-007.html: Added.
540
        * web-platform-tests/css/css-images/image-resolution/image-resolution-008-expected.html: Added.
541
        * web-platform-tests/css/css-images/image-resolution/image-resolution-008.html: Added.
542
        * web-platform-tests/css/css-images/image-resolution/image-resolution-009-expected.html: Added.
543
        * web-platform-tests/css/css-images/image-resolution/image-resolution-009.html: Added.
544
        * web-platform-tests/css/css-images/image-resolution/image-resolution-010-expected.html: Added.
545
        * web-platform-tests/css/css-images/image-resolution/image-resolution-010.html: Added.
546
        * web-platform-tests/css/css-images/image-resolution/image-resolution-011-expected.html: Added.
547
        * web-platform-tests/css/css-images/image-resolution/image-resolution-011.html: Added.
548
        * web-platform-tests/css/css-images/image-resolution/support/swatch-blue-192dpi.png: Added.
549
        * web-platform-tests/css/css-images/image-resolution/support/swatch-blue-48dpi.png: Added.
550
        * web-platform-tests/css/css-images/image-resolution/support/swatch-blue-48x192dpi.png: Added.
551
        * web-platform-tests/css/css-images/image-resolution/support/w3c-import.log: Copied from LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/resources/w3c-import.log.
552
        * web-platform-tests/css/css-images/image-resolution/w3c-import.log: Added.
553
        * web-platform-tests/css/css-images/image-set/image-set-parsing-expected.txt: Added.
554
        * web-platform-tests/css/css-images/image-set/image-set-parsing.html: Added.
555
        * web-platform-tests/css/css-images/image-set/image-set-rendering-expected.html: Added.
556
        * web-platform-tests/css/css-images/image-set/image-set-rendering.html: Added.
557
        * web-platform-tests/css/css-images/image-set/w3c-import.log: Copied from LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/resources/w3c-import.log.
558
        * web-platform-tests/css/css-images/infinite-radial-gradient-refcrash-expected.html: Added.
559
        * web-platform-tests/css/css-images/infinite-radial-gradient-refcrash.html: Added.
560
        * web-platform-tests/css/css-images/linear-gradient-1-expected.html:
561
        * web-platform-tests/css/css-images/linear-gradient-1.html:
562
        * web-platform-tests/css/css-images/linear-gradient-2-expected.html:
563
        * web-platform-tests/css/css-images/linear-gradient-2.html:
564
        * web-platform-tests/css/css-images/multiple-position-color-stop-conic-2-expected.html: Added.
565
        * web-platform-tests/css/css-images/multiple-position-color-stop-conic-2.html: Added.
566
        * web-platform-tests/css/css-images/multiple-position-color-stop-radial-2-expected.html:
567
        * web-platform-tests/css/css-images/multiple-position-color-stop-radial-2.html:
568
        * web-platform-tests/css/css-images/normalization-conic-2-expected.html: Added.
569
        * web-platform-tests/css/css-images/normalization-conic-2.html: Added.
570
        * web-platform-tests/css/css-images/normalization-conic-degenerate-expected.html: Added.
571
        * web-platform-tests/css/css-images/normalization-conic-degenerate.html: Added.
572
        * web-platform-tests/css/css-images/normalization-conic-expected.html: Added.
573
        * web-platform-tests/css/css-images/normalization-conic.html: Added.
574
        * web-platform-tests/css/css-images/normalization-linear-2-expected.html: Added.
575
        * web-platform-tests/css/css-images/normalization-linear-2.html: Added.
576
        * web-platform-tests/css/css-images/normalization-linear-degenerate-expected.html: Added.
577
        * web-platform-tests/css/css-images/normalization-linear-degenerate.html: Added.
578
        * web-platform-tests/css/css-images/normalization-linear-expected.html: Added.
579
        * web-platform-tests/css/css-images/normalization-linear.html: Added.
580
        * web-platform-tests/css/css-images/normalization-radial-2-expected.html: Added.
581
        * web-platform-tests/css/css-images/normalization-radial-2.html: Added.
582
        * web-platform-tests/css/css-images/normalization-radial-degenerate-expected.html: Added.
583
        * web-platform-tests/css/css-images/normalization-radial-degenerate.html: Added.
584
        * web-platform-tests/css/css-images/normalization-radial-expected.html: Added.
585
        * web-platform-tests/css/css-images/normalization-radial.html: Added.
586
        * web-platform-tests/css/css-images/out-of-range-color-stop-conic-expected.html: Added.
587
        * web-platform-tests/css/css-images/out-of-range-color-stop-conic.html: Added.
588
        * web-platform-tests/css/css-images/parsing/gradient-position-valid.html:
589
        * web-platform-tests/css/css-images/repeating-conic-gradient-expected.html: Added.
590
        * web-platform-tests/css/css-images/repeating-conic-gradient.html: Added.
591
        * web-platform-tests/css/css-images/support/60x60-red.png: Removed.
592
        * web-platform-tests/css/css-images/support/w3c-import.log:
593
        * web-platform-tests/css/css-images/tiled-conic-gradients-expected.html: Added.
594
        * web-platform-tests/css/css-images/tiled-conic-gradients.html: Added.
595
        * web-platform-tests/css/css-images/w3c-import.log:
596
        * web-platform-tests/css/css-inline/parsing/line-height-computed-expected.txt: Removed.
597
        * web-platform-tests/css/css-inline/parsing/line-height-computed.html: Removed.
598
        * web-platform-tests/css/css-lists/add-inline-child-after-marker-001.html:
599
        * web-platform-tests/css/css-lists/add-inline-child-after-marker-002-expected.html: Added.
600
        * web-platform-tests/css/css-lists/add-inline-child-after-marker-002.html: Copied from LayoutTests/imported/w3c/web-platform-tests/css/css-lists/add-inline-child-after-marker-001.html.
601
        * web-platform-tests/css/css-lists/animations/list-style-image-interpolation-expected.txt: Added.
602
        * web-platform-tests/css/css-lists/animations/list-style-image-interpolation.html: Added.
603
        * web-platform-tests/css/css-lists/animations/w3c-import.log: Copied from LayoutTests/imported/w3c/web-platform-tests/css/css-position/resources/w3c-import.log.
604
        * web-platform-tests/css/css-lists/change-list-descendant-display-expected.html: Added.
605
        * web-platform-tests/css/css-lists/change-list-descendant-display.html: Added.
606
        * web-platform-tests/css/css-lists/change-list-style-position-001-expected.html: Added.
607
        * web-platform-tests/css/css-lists/change-list-style-position-001.html: Added.
608
        * web-platform-tests/css/css-lists/change-list-style-position-002-expected.html: Added.
609
        * web-platform-tests/css/css-lists/change-list-style-position-002.html: Added.
610
        * web-platform-tests/css/css-lists/change-list-style-position-003-expected.html: Added.
611
        * web-platform-tests/css/css-lists/change-list-style-position-003.html: Added.
612
        * web-platform-tests/css/css-lists/change-list-style-type-expected.html: Added.
613
        * web-platform-tests/css/css-lists/change-list-style-type.html: Added.
614
        * web-platform-tests/css/css-lists/counter-list-item-expected.html: Added.
615
        * web-platform-tests/css/css-lists/counter-list-item.html: Added.
616
        * web-platform-tests/css/css-lists/counter-reset-increment-set-display-contents-expected.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/css/css-lists/counter-reset-increment-display-contents-expected.html.
617
        * web-platform-tests/css/css-lists/counter-reset-increment-set-display-contents.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/css/css-lists/counter-reset-increment-display-contents.html.
618
        * web-platform-tests/css/css-lists/counter-reset-increment-set-display-none-expected.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/css/css-lists/counter-reset-increment-display-none-expected.html.
619
        * web-platform-tests/css/css-lists/counter-reset-increment-set-display-none.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/css/css-lists/counter-reset-increment-display-none.html.
620
        * web-platform-tests/css/css-lists/counter-set-001-expected.html: Added.
621
        * web-platform-tests/css/css-lists/counter-set-001.html: Added.
622
        * web-platform-tests/css/css-lists/counter-set-002-expected.html: Added.
623
        * web-platform-tests/css/css-lists/counter-set-002.html: Added.
624
        * web-platform-tests/css/css-lists/inherit-overwrites-expected.txt: Added.
625
        * web-platform-tests/css/css-lists/inherit-overwrites.html: Added.
626
        * web-platform-tests/css/css-lists/inheritance-expected.txt:
627
        * web-platform-tests/css/css-lists/inheritance.html:
628
        * web-platform-tests/css/css-lists/inline-block-list-expected.html: Added.
629
        * web-platform-tests/css/css-lists/inline-block-list-marker-expected.html: Added.
630
        * web-platform-tests/css/css-lists/inline-block-list-marker.html: Added.
631
        * web-platform-tests/css/css-lists/inline-block-list.html: Added.
632
        * web-platform-tests/css/css-lists/inline-list-expected.html: Added.
633
        * web-platform-tests/css/css-lists/inline-list-marker-expected.html: Added.
634
        * web-platform-tests/css/css-lists/inline-list-marker.html: Added.
635
        * web-platform-tests/css/css-lists/inline-list-with-table-child-expected.html: Added.
636
        * web-platform-tests/css/css-lists/inline-list-with-table-child.html: Added.
637
        * web-platform-tests/css/css-lists/inline-list.html: Added.
638
        * web-platform-tests/css/css-lists/li-counter-increment-computed-style-expected.txt: Added.
639
        * web-platform-tests/css/css-lists/li-counter-increment-computed-style.html: Added.
640
        * web-platform-tests/css/css-lists/li-insert-child-expected.html: Added.
641
        * web-platform-tests/css/css-lists/li-insert-child.html: Added.
642
        * web-platform-tests/css/css-lists/li-list-item-counter-expected.html: Added.
643
        * web-platform-tests/css/css-lists/li-list-item-counter.html: Added.
644
        * web-platform-tests/css/css-lists/li-value-counter-reset-001-expected.html: Added.
645
        * web-platform-tests/css/css-lists/li-value-counter-reset-001.html: Added.
646
        * web-platform-tests/css/css-lists/li-value-reversed-001-expected.html: Added.
647
        * web-platform-tests/css/css-lists/li-value-reversed-001.html: Added.
648
        * web-platform-tests/css/css-lists/li-value-reversed-002-expected.html: Added.
649
        * web-platform-tests/css/css-lists/li-value-reversed-002.html: Added.
650
        * web-platform-tests/css/css-lists/li-value-reversed-003-expected.html: Added.
651
        * web-platform-tests/css/css-lists/li-value-reversed-003.html: Added.
652
        * web-platform-tests/css/css-lists/li-value-reversed-004-expected.html: Added.
653
        * web-platform-tests/css/css-lists/li-value-reversed-004.html: Added.
654
        * web-platform-tests/css/css-lists/li-value-reversed-005-expected.html: Added.
655
        * web-platform-tests/css/css-lists/li-value-reversed-005.html: Added.
656
        * web-platform-tests/css/css-lists/li-with-overflow-hidden-change-list-style-position-001.html:
657
        * web-platform-tests/css/css-lists/list-and-block-textarea-001.html:
658
        * web-platform-tests/css/css-lists/list-and-flex-001.html:
659
        * web-platform-tests/css/css-lists/list-and-grid-001.html:
660
        * web-platform-tests/css/css-lists/list-and-margin-collapse-001.html:
661
        * web-platform-tests/css/css-lists/list-and-margin-collapse-002-expected.txt: Added.
662
        * web-platform-tests/css/css-lists/list-and-margin-collapse-002.html: Added.
663
        * web-platform-tests/css/css-lists/list-and-writing-mode-001.html:
664
        * web-platform-tests/css/css-lists/list-inside-contain-expected.txt: Added.
665
        * web-platform-tests/css/css-lists/list-inside-contain.html: Added.
666
        * web-platform-tests/css/css-lists/list-item-definition-expected.html: Added.
667
        * web-platform-tests/css/css-lists/list-item-definition.html: Added.
668
        * web-platform-tests/css/css-lists/list-marker-alignment-expected.html: Added.
669
        * web-platform-tests/css/css-lists/list-marker-alignment.html: Added.
670
        * web-platform-tests/css/css-lists/list-marker-symbol-bidi-expected.html: Added.
671
        * web-platform-tests/css/css-lists/list-marker-symbol-bidi.html: Added.
672
        * web-platform-tests/css/css-lists/list-marker-with-lineheight-and-overflow-hidden-001.html:
673
        * web-platform-tests/css/css-lists/list-style-image-zoom-dynamic-expected.html: Added.
674
        * web-platform-tests/css/css-lists/list-style-image-zoom-dynamic.html: Added.
675
        * web-platform-tests/css/css-lists/list-style-type-armenian-002.xht:
676
        * web-platform-tests/css/css-lists/list-style-type-armenian-003.xht:
677
        * web-platform-tests/css/css-lists/list-type-none-style-image-expected.html: Added.
678
        * web-platform-tests/css/css-lists/list-type-none-style-image.html: Added.
679
        * web-platform-tests/css/css-lists/list-with-image-display-changed-001.html:
680
        * web-platform-tests/css/css-lists/nested-list-with-list-style-type-none-expected.txt: Added.
681
        * web-platform-tests/css/css-lists/nested-list-with-list-style-type-none.html: Added.
682
        * web-platform-tests/css/css-lists/nested-marker-dynamic-expected.html: Added.
683
        * web-platform-tests/css/css-lists/nested-marker-dynamic.html: Added.
684
        * web-platform-tests/css/css-lists/nested-marker-expected.html: Added.
685
        * web-platform-tests/css/css-lists/nested-marker.html: Added.
686
        * web-platform-tests/css/css-lists/ol-change-display-type-expected.html: Added.
687
        * web-platform-tests/css/css-lists/ol-change-display-type.html: Added.
688
        * web-platform-tests/css/css-lists/parsing/content-invalid-expected.txt: Added.
689
        * web-platform-tests/css/css-lists/parsing/content-invalid.html: Added.
690
        * web-platform-tests/css/css-lists/parsing/counter-increment-invalid-expected.txt: Added.
691
        * web-platform-tests/css/css-lists/parsing/counter-increment-invalid.html: Added.
692
        * web-platform-tests/css/css-lists/parsing/counter-increment-valid-expected.txt: Added.
693
        * web-platform-tests/css/css-lists/parsing/counter-increment-valid.html: Added.
694
        * web-platform-tests/css/css-lists/parsing/counter-reset-invalid-expected.txt: Added.
695
        * web-platform-tests/css/css-lists/parsing/counter-reset-invalid.html: Added.
696
        * web-platform-tests/css/css-lists/parsing/counter-reset-valid-expected.txt: Added.
697
        * web-platform-tests/css/css-lists/parsing/counter-reset-valid.html: Added.
698
        * web-platform-tests/css/css-lists/parsing/counter-set-computed-expected.txt: Added.
699
        * web-platform-tests/css/css-lists/parsing/counter-set-computed.html: Added.
700
        * web-platform-tests/css/css-lists/parsing/counter-set-invalid-expected.txt: Added.
701
        * web-platform-tests/css/css-lists/parsing/counter-set-invalid.html: Added.
702
        * web-platform-tests/css/css-lists/parsing/counter-set-valid-expected.txt: Added.
703
        * web-platform-tests/css/css-lists/parsing/counter-set-valid.html: Added.
704
        * web-platform-tests/css/css-lists/parsing/list-style-computed.sub-expected.txt: Added.
705
        * web-platform-tests/css/css-lists/parsing/list-style-computed.sub.html: Added.
706
        * web-platform-tests/css/css-lists/parsing/list-style-image-computed.sub-expected.txt: Added.
707
        * web-platform-tests/css/css-lists/parsing/list-style-image-computed.sub.html: Added.
708
        * web-platform-tests/css/css-lists/parsing/list-style-image-invalid-expected.txt: Added.
709
        * web-platform-tests/css/css-lists/parsing/list-style-image-invalid.html: Added.
710
        * web-platform-tests/css/css-lists/parsing/list-style-image-valid-expected.txt: Added.
711
        * web-platform-tests/css/css-lists/parsing/list-style-image-valid.html: Added.
712
        * web-platform-tests/css/css-lists/parsing/list-style-invalid-expected.txt: Added.
713
        * web-platform-tests/css/css-lists/parsing/list-style-invalid.html: Added.
714
        * web-platform-tests/css/css-lists/parsing/list-style-position-computed-expected.txt: Added.
715
        * web-platform-tests/css/css-lists/parsing/list-style-position-computed.html: Added.
716
        * web-platform-tests/css/css-lists/parsing/list-style-position-invalid-expected.txt: Added.
717
        * web-platform-tests/css/css-lists/parsing/list-style-position-invalid.html: Added.
718
        * web-platform-tests/css/css-lists/parsing/list-style-position-valid-expected.txt: Added.
719
        * web-platform-tests/css/css-lists/parsing/list-style-position-valid.html: Added.
720
        * web-platform-tests/css/css-lists/parsing/list-style-shorthand.sub-expected.txt: Added.
721
        * web-platform-tests/css/css-lists/parsing/list-style-shorthand.sub.html: Added.
722
        * web-platform-tests/css/css-lists/parsing/list-style-type-invalid-expected.txt: Added.
723
        * web-platform-tests/css/css-lists/parsing/list-style-type-invalid.html: Added.
724
        * web-platform-tests/css/css-lists/parsing/list-style-valid-expected.txt: Added.
725
        * web-platform-tests/css/css-lists/parsing/list-style-valid.html: Added.
726
        * web-platform-tests/css/css-lists/parsing/w3c-import.log:
727
        * web-platform-tests/css/css-lists/resources/blue-20.png: Added.
728
        * web-platform-tests/css/css-lists/resources/green-20.png: Added.
729
        * web-platform-tests/css/css-lists/resources/stripes-20.png: Added.
730
        * web-platform-tests/css/css-lists/resources/w3c-import.log:
731
        * web-platform-tests/css/css-lists/w3c-import.log:
732
        * web-platform-tests/css/css-logical/META.yml:
733
        * web-platform-tests/css/css-logical/animation-001-expected.txt:
734
        * web-platform-tests/css/css-logical/animation-001.html:
735
        * web-platform-tests/css/css-logical/animation-002-expected.txt:
736
        * web-platform-tests/css/css-logical/animation-002.html:
737
        * web-platform-tests/css/css-logical/animation-003.tentative-expected.txt:
738
        * web-platform-tests/css/css-logical/animation-004-expected.txt: Added.
739
        * web-platform-tests/css/css-logical/animation-004.html: Added.
740
        * web-platform-tests/css/css-logical/animations/float-interpolation-expected.txt: Added.
741
        * web-platform-tests/css/css-logical/animations/float-interpolation.html: Added.
742
        * web-platform-tests/css/css-logical/animations/w3c-import.log: Copied from LayoutTests/imported/w3c/web-platform-tests/css/css-position/resources/w3c-import.log.
743
        * web-platform-tests/css/css-logical/getComputedStyle-listing-expected.txt: Added.
744
        * web-platform-tests/css/css-logical/getComputedStyle-listing.html: Added.
745
        * web-platform-tests/css/css-logical/inheritance-expected.txt: Added.
746
        * web-platform-tests/css/css-logical/inheritance.html: Added.
747
        * web-platform-tests/css/css-logical/logical-box-border-color.html:
748
        * web-platform-tests/css/css-logical/logical-box-border-radius-expected.txt: Added.
749
        * web-platform-tests/css/css-logical/logical-box-border-radius.html: Added.
750
        * web-platform-tests/css/css-logical/logical-box-border-shorthands.html:
751
        * web-platform-tests/css/css-logical/logical-box-border-style.html:
752
        * web-platform-tests/css/css-logical/logical-box-border-width.html:
753
        * web-platform-tests/css/css-logical/logical-box-inset.html:
754
        * web-platform-tests/css/css-logical/logical-box-margin.html:
755
        * web-platform-tests/css/css-logical/logical-box-padding.html:
756
        * web-platform-tests/css/css-logical/logical-values-float-clear-expected.txt: Added.
757
        * web-platform-tests/css/css-logical/logical-values-float-clear-reftest-expected.html: Added.
758
        * web-platform-tests/css/css-logical/logical-values-float-clear-reftest.html: Added.
759
        * web-platform-tests/css/css-logical/logical-values-float-clear.html: Added.
760
        * web-platform-tests/css/css-logical/logical-values-resize-expected.txt: Added.
761
        * web-platform-tests/css/css-logical/logical-values-resize.html: Added.
762
        * web-platform-tests/css/css-logical/parsing/block-size-computed-expected.txt: Added.
763
        * web-platform-tests/css/css-logical/parsing/block-size-computed.html: Added.
764
        * web-platform-tests/css/css-logical/parsing/block-size-invalid-expected.txt: Added.
765
        * web-platform-tests/css/css-logical/parsing/block-size-invalid.html: Added.
766
        * web-platform-tests/css/css-logical/parsing/block-size-valid-expected.txt: Added.
767
        * web-platform-tests/css/css-logical/parsing/block-size-valid.html: Added.
768
        * web-platform-tests/css/css-logical/parsing/border-block-color-computed-expected.txt: Added.
769
        * web-platform-tests/css/css-logical/parsing/border-block-color-computed.html: Added.
770
        * web-platform-tests/css/css-logical/parsing/border-block-color-invalid-expected.txt: Added.
771
        * web-platform-tests/css/css-logical/parsing/border-block-color-invalid.html: Added.
772
        * web-platform-tests/css/css-logical/parsing/border-block-color-valid-expected.txt: Added.
773
        * web-platform-tests/css/css-logical/parsing/border-block-color-valid.html: Added.
774
        * web-platform-tests/css/css-logical/parsing/border-block-style-computed-expected.txt: Added.
775
        * web-platform-tests/css/css-logical/parsing/border-block-style-computed.html: Added.
776
        * web-platform-tests/css/css-logical/parsing/border-block-style-invalid-expected.txt: Added.
777
        * web-platform-tests/css/css-logical/parsing/border-block-style-invalid.html: Added.
778
        * web-platform-tests/css/css-logical/parsing/border-block-style-valid-expected.txt: Added.
779
        * web-platform-tests/css/css-logical/parsing/border-block-style-valid.html: Added.
780
        * web-platform-tests/css/css-logical/parsing/border-block-valid-expected.txt: Added.
781
        * web-platform-tests/css/css-logical/parsing/border-block-valid.html: Added.
782
        * web-platform-tests/css/css-logical/parsing/border-block-width-computed-expected.txt: Added.
783
        * web-platform-tests/css/css-logical/parsing/border-block-width-computed.html: Added.
784
        * web-platform-tests/css/css-logical/parsing/border-block-width-invalid-expected.txt: Added.
785
        * web-platform-tests/css/css-logical/parsing/border-block-width-invalid.html: Added.
786
        * web-platform-tests/css/css-logical/parsing/border-block-width-valid-expected.txt: Added.
787
        * web-platform-tests/css/css-logical/parsing/border-block-width-valid.html: Added.
788
        * web-platform-tests/css/css-logical/parsing/border-inline-color-computed-expected.txt: Added.
789
        * web-platform-tests/css/css-logical/parsing/border-inline-color-computed.html: Added.
790
        * web-platform-tests/css/css-logical/parsing/border-inline-color-invalid-expected.txt: Added.
791
        * web-platform-tests/css/css-logical/parsing/border-inline-color-invalid.html: Added.
792
        * web-platform-tests/css/css-logical/parsing/border-inline-color-valid-expected.txt: Added.
793
        * web-platform-tests/css/css-logical/parsing/border-inline-color-valid.html: Added.
794
        * web-platform-tests/css/css-logical/parsing/border-inline-style-computed-expected.txt: Added.
795
        * web-platform-tests/css/css-logical/parsing/border-inline-style-computed.html: Added.
796
        * web-platform-tests/css/css-logical/parsing/border-inline-style-invalid-expected.txt: Added.
797
        * web-platform-tests/css/css-logical/parsing/border-inline-style-invalid.html: Added.
798
        * web-platform-tests/css/css-logical/parsing/border-inline-style-valid-expected.txt: Added.
799
        * web-platform-tests/css/css-logical/parsing/border-inline-style-valid.html: Added.
800
        * web-platform-tests/css/css-logical/parsing/border-inline-valid-expected.txt: Added.
801
        * web-platform-tests/css/css-logical/parsing/border-inline-valid.html: Added.
802
        * web-platform-tests/css/css-logical/parsing/border-inline-width-computed-expected.txt: Added.
803
        * web-platform-tests/css/css-logical/parsing/border-inline-width-computed.html: Added.
804
        * web-platform-tests/css/css-logical/parsing/border-inline-width-invalid-expected.txt: Added.
805
        * web-platform-tests/css/css-logical/parsing/border-inline-width-invalid.html: Added.
806
        * web-platform-tests/css/css-logical/parsing/border-inline-width-valid-expected.txt: Added.
807
        * web-platform-tests/css/css-logical/parsing/border-inline-width-valid.html: Added.
808
        * web-platform-tests/css/css-logical/parsing/inline-size-computed-expected.txt: Added.
809
        * web-platform-tests/css/css-logical/parsing/inline-size-computed.html: Added.
810
        * web-platform-tests/css/css-logical/parsing/inline-size-invalid-expected.txt: Added.
811
        * web-platform-tests/css/css-logical/parsing/inline-size-invalid.html: Added.
812
        * web-platform-tests/css/css-logical/parsing/inline-size-valid-expected.txt: Added.
813
        * web-platform-tests/css/css-logical/parsing/inline-size-valid.html: Added.
814
        * web-platform-tests/css/css-logical/parsing/inset-block-inline-computed-expected.txt: Added.
815
        * web-platform-tests/css/css-logical/parsing/inset-block-inline-computed.html: Added.
816
        * web-platform-tests/css/css-logical/parsing/inset-block-inline-invalid-expected.txt: Added.
817
        * web-platform-tests/css/css-logical/parsing/inset-block-inline-invalid.html: Added.
818
        * web-platform-tests/css/css-logical/parsing/inset-block-inline-shorthand-expected.txt: Added.
819
        * web-platform-tests/css/css-logical/parsing/inset-block-inline-shorthand.html: Added.
820
        * web-platform-tests/css/css-logical/parsing/inset-block-inline-valid-expected.txt: Added.
821
        * web-platform-tests/css/css-logical/parsing/inset-block-inline-valid.html: Added.
822
        * web-platform-tests/css/css-logical/parsing/inset-computed-expected.txt: Added.
823
        * web-platform-tests/css/css-logical/parsing/inset-computed.html: Added.
824
        * web-platform-tests/css/css-logical/parsing/inset-invalid-expected.txt: Added.
825
        * web-platform-tests/css/css-logical/parsing/inset-invalid.html: Added.
826
        * web-platform-tests/css/css-logical/parsing/inset-shorthand-expected.txt: Added.
827
        * web-platform-tests/css/css-logical/parsing/inset-shorthand.html: Added.
828
        * web-platform-tests/css/css-logical/parsing/inset-valid-expected.txt: Added.
829
        * web-platform-tests/css/css-logical/parsing/inset-valid.html: Added.
830
        * web-platform-tests/css/css-logical/parsing/margin-block-inline-computed-expected.txt: Added.
831
        * web-platform-tests/css/css-logical/parsing/margin-block-inline-computed.html: Added.
832
        * web-platform-tests/css/css-logical/parsing/margin-block-inline-invalid-expected.txt: Added.
833
        * web-platform-tests/css/css-logical/parsing/margin-block-inline-invalid.html: Added.
834
        * web-platform-tests/css/css-logical/parsing/margin-block-inline-shorthand-expected.txt: Added.
835
        * web-platform-tests/css/css-logical/parsing/margin-block-inline-shorthand.html: Added.
836
        * web-platform-tests/css/css-logical/parsing/margin-block-inline-valid-expected.txt: Added.
837
        * web-platform-tests/css/css-logical/parsing/margin-block-inline-valid.html: Added.
838
        * web-platform-tests/css/css-logical/parsing/max-block-size-computed-expected.txt: Added.
839
        * web-platform-tests/css/css-logical/parsing/max-block-size-computed.html: Added.
840
        * web-platform-tests/css/css-logical/parsing/max-block-size-invalid-expected.txt: Added.
841
        * web-platform-tests/css/css-logical/parsing/max-block-size-invalid.html: Added.
842
        * web-platform-tests/css/css-logical/parsing/max-block-size-valid-expected.txt: Added.
843
        * web-platform-tests/css/css-logical/parsing/max-block-size-valid.html: Added.
844
        * web-platform-tests/css/css-logical/parsing/max-inline-size-computed-expected.txt: Added.
845
        * web-platform-tests/css/css-logical/parsing/max-inline-size-computed.html: Added.
846
        * web-platform-tests/css/css-logical/parsing/max-inline-size-invalid-expected.txt: Added.
847
        * web-platform-tests/css/css-logical/parsing/max-inline-size-invalid.html: Added.
848
        * web-platform-tests/css/css-logical/parsing/max-inline-size-valid-expected.txt: Added.
849
        * web-platform-tests/css/css-logical/parsing/max-inline-size-valid.html: Added.
850
        * web-platform-tests/css/css-logical/parsing/min-block-size-computed-expected.txt: Added.
851
        * web-platform-tests/css/css-logical/parsing/min-block-size-computed.html: Added.
852
        * web-platform-tests/css/css-logical/parsing/min-block-size-invalid-expected.txt: Added.
853
        * web-platform-tests/css/css-logical/parsing/min-block-size-invalid.html: Added.
854
        * web-platform-tests/css/css-logical/parsing/min-block-size-valid-expected.txt: Added.
855
        * web-platform-tests/css/css-logical/parsing/min-block-size-valid.html: Added.
856
        * web-platform-tests/css/css-logical/parsing/min-inline-size-computed-expected.txt: Added.
857
        * web-platform-tests/css/css-logical/parsing/min-inline-size-computed.html: Added.
858
        * web-platform-tests/css/css-logical/parsing/min-inline-size-invalid-expected.txt: Added.
859
        * web-platform-tests/css/css-logical/parsing/min-inline-size-invalid.html: Added.
860
        * web-platform-tests/css/css-logical/parsing/min-inline-size-valid-expected.txt: Added.
861
        * web-platform-tests/css/css-logical/parsing/min-inline-size-valid.html: Added.
862
        * web-platform-tests/css/css-logical/parsing/padding-block-inline-computed-expected.txt: Added.
863
        * web-platform-tests/css/css-logical/parsing/padding-block-inline-computed.html: Added.
864
        * web-platform-tests/css/css-logical/parsing/padding-block-inline-invalid-expected.txt: Added.
865
        * web-platform-tests/css/css-logical/parsing/padding-block-inline-invalid.html: Added.
866
        * web-platform-tests/css/css-logical/parsing/padding-block-inline-shorthand-expected.txt: Added.
867
        * web-platform-tests/css/css-logical/parsing/padding-block-inline-shorthand.html: Added.
868
        * web-platform-tests/css/css-logical/parsing/padding-block-inline-valid-expected.txt: Added.
869
        * web-platform-tests/css/css-logical/parsing/padding-block-inline-valid.html: Added.
870
        * web-platform-tests/css/css-logical/parsing/w3c-import.log: Added.
871
        * web-platform-tests/css/css-logical/resources/test-box-properties.js:
872
        (export.createCornerPropertyGroup):
873
        * web-platform-tests/css/css-logical/resources/test-logical-values.js: Added.
874
        (export.runTests):
875
        * web-platform-tests/css/css-logical/resources/w3c-import.log:
876
        * web-platform-tests/css/css-logical/w3c-import.log:
877
        * web-platform-tests/css/css-masking/parsing/clip-path-computed-expected.txt: Removed.
878
        * web-platform-tests/css/css-masking/parsing/clip-path-computed.html: Removed.
879
        * web-platform-tests/css/css-masking/parsing/clip-path-invalid-expected.txt: Removed.
880
        * web-platform-tests/css/css-masking/parsing/clip-path-invalid.html: Removed.
881
        * web-platform-tests/css/css-masking/parsing/clip-path-valid-expected.txt: Removed.
882
        * web-platform-tests/css/css-masking/parsing/clip-path-valid.html: Removed.
883
        * web-platform-tests/css/css-multicol/always-balancing-before-column-span-expected.xht: Copied from LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/background-size-007-expected.xht.
884
        * web-platform-tests/css/css-multicol/always-balancing-before-column-span.html: Added.
885
        * web-platform-tests/css/css-multicol/as-column-flex-item-expected.xht: Copied from LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/background-size-007-expected.xht.
886
        * web-platform-tests/css/css-multicol/as-column-flex-item.html: Added.
887
        * web-platform-tests/css/css-multicol/change-abspos-width-in-second-column-crash-expected.txt: Added.
888
        * web-platform-tests/css/css-multicol/change-abspos-width-in-second-column-crash.html: Added.
889
        * web-platform-tests/css/css-multicol/change-intrinsic-width-expected.xht: Copied from LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/background-size-007-expected.xht.
890
        * web-platform-tests/css/css-multicol/change-intrinsic-width.html: Added.
891
        * web-platform-tests/css/css-multicol/change-out-of-flow-type-and-remove-inner-multicol-crash-expected.txt: Added.
892
        * web-platform-tests/css/css-multicol/change-out-of-flow-type-and-remove-inner-multicol-crash.html: Added.
893
        * web-platform-tests/css/css-multicol/column-balancing-paged-001-print-expected.html: Added.
894
        * web-platform-tests/css/css-multicol/column-balancing-paged-001-print.html: Added.
895
        * web-platform-tests/css/css-multicol/equal-gap-and-rule-expected.xht: Copied from LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/background-size-007-expected.xht.
896
        * web-platform-tests/css/css-multicol/equal-gap-and-rule.html: Added.
897
        * web-platform-tests/css/css-multicol/fixed-size-child-with-overflow-expected.xht: Copied from LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/background-size-007-expected.xht.
898
        * web-platform-tests/css/css-multicol/fixed-size-child-with-overflow.html: Added.
899
        * web-platform-tests/css/css-multicol/intrinsic-width-change-column-count-expected.xht: Copied from LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/background-size-007-expected.xht.
900
        * web-platform-tests/css/css-multicol/intrinsic-width-change-column-count.html: Added.
901
        * web-platform-tests/css/css-multicol/multicol-basic-005.xht:
902
        * web-platform-tests/css/css-multicol/multicol-basic-006.xht:
903
        * web-platform-tests/css/css-multicol/multicol-breaking-004.html:
904
        * web-platform-tests/css/css-multicol/multicol-breaking-nobackground-004.html:
905
        * web-platform-tests/css/css-multicol/multicol-clip-scrolled-content-001-expected.html: Added.
906
        * web-platform-tests/css/css-multicol/multicol-clip-scrolled-content-001.html: Added.
907
        * web-platform-tests/css/css-multicol/multicol-contained-absolute-expected.html: Added.
908
        * web-platform-tests/css/css-multicol/multicol-contained-absolute.html: Added.
909
        * web-platform-tests/css/css-multicol/multicol-count-computed-001-expected.xht: Removed.
910
        * web-platform-tests/css/css-multicol/multicol-count-computed-001.xht: Removed.
911
        * web-platform-tests/css/css-multicol/multicol-count-computed-002-expected.xht: Removed.
912
        * web-platform-tests/css/css-multicol/multicol-count-computed-002.xht: Removed.
913
        * web-platform-tests/css/css-multicol/multicol-count-large-001-expected.xht: Removed.
914
        * web-platform-tests/css/css-multicol/multicol-count-large-001.xht: Removed.
915
        * web-platform-tests/css/css-multicol/multicol-count-large-002-expected.xht: Removed.
916
        * web-platform-tests/css/css-multicol/multicol-count-large-002.xht: Removed.
917
        * web-platform-tests/css/css-multicol/multicol-fill-auto-expected.xht: Removed.
918
        * web-platform-tests/css/css-multicol/multicol-fill-auto.xht: Removed.
919
        * web-platform-tests/css/css-multicol/multicol-fill-balance-003-expected.xht: Copied from LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/background-size-007-expected.xht.
920
        * web-platform-tests/css/css-multicol/multicol-fill-balance-003.html: Added.
921
        * web-platform-tests/css/css-multicol/multicol-inherit-004-expected.xht: Removed.
922
        * web-platform-tests/css/css-multicol/multicol-inherit-004.xht: Removed.
923
        * web-platform-tests/css/css-multicol/multicol-list-item-002-expected.html: Added.
924
        * web-platform-tests/css/css-multicol/multicol-list-item-002.html: Added.
925
        * web-platform-tests/css/css-multicol/multicol-overflow-clip-expected.html: Added.
926
        * web-platform-tests/css/css-multicol/multicol-overflow-clip.html: Added.
927
        * web-platform-tests/css/css-multicol/multicol-rule-style-groove-001-expected.xht: Removed.
928
        * web-platform-tests/css/css-multicol/multicol-rule-style-groove-001.xht: Removed.
929
        * web-platform-tests/css/css-multicol/multicol-rule-style-inset-001-expected.xht: Removed.
930
        * web-platform-tests/css/css-multicol/multicol-rule-style-inset-001.xht: Removed.
931
        * web-platform-tests/css/css-multicol/multicol-rule-style-outset-001-expected.xht: Removed.
932
        * web-platform-tests/css/css-multicol/multicol-rule-style-outset-001.xht: Removed.
933
        * web-platform-tests/css/css-multicol/multicol-rule-style-ridge-001-expected.xht: Removed.
934
        * web-platform-tests/css/css-multicol/multicol-rule-style-ridge-001.xht: Removed.
935
        * web-platform-tests/css/css-multicol/multicol-span-all-child-001-expected.xht: Removed.
936
        * web-platform-tests/css/css-multicol/multicol-span-all-child-001.xht: Removed.
937
        * web-platform-tests/css/css-multicol/multicol-span-all-child-002-expected.xht: Removed.
938
        * web-platform-tests/css/css-multicol/multicol-span-all-child-002.xht: Removed.
939
        * web-platform-tests/css/css-multicol/multicol-span-all-margin-nested-003-expected.xht: Removed.
940
        * web-platform-tests/css/css-multicol/multicol-span-all-margin-nested-003.xht: Removed.
941
        * web-platform-tests/css/css-multicol/multicol-width-ems-001-expected.xht: Removed.
942
        * web-platform-tests/css/css-multicol/multicol-width-ems-001.xht: Removed.
943
        * web-platform-tests/css/css-multicol/named-page-expected.xht: Copied from LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/background-size-007-expected.xht.
944
        * web-platform-tests/css/css-multicol/named-page.html: Added.
945
        * web-platform-tests/css/css-multicol/nested-with-too-tall-line-expected.html: Added.
946
        * web-platform-tests/css/css-multicol/nested-with-too-tall-line.html: Added.
947
        * web-platform-tests/css/css-multicol/no-balancing-after-column-span-expected.xht: Copied from LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/background-size-007-expected.xht.
948
        * web-platform-tests/css/css-multicol/no-balancing-after-column-span.html: Added.
949
        * web-platform-tests/css/css-multicol/support/60x60-red.png: Removed.
950
        * web-platform-tests/css/css-multicol/support/w3c-import.log:
951
        * web-platform-tests/css/css-multicol/w3c-import.log:
952
        * web-platform-tests/css/css-overflow/clip-001-expected.html: Added.
953
        * web-platform-tests/css/css-overflow/clip-001.html: Added.
954
        * web-platform-tests/css/css-overflow/dynamic-visible-to-clip-001-expected.html: Added.
955
        * web-platform-tests/css/css-overflow/dynamic-visible-to-clip-001.html: Added.
956
        * web-platform-tests/css/css-overflow/outline-with-opacity-crash-expected.txt: Added.
957
        * web-platform-tests/css/css-overflow/outline-with-opacity-crash.html: Added.
958
        * web-platform-tests/css/css-overflow/overflow-abpos-transform.html:
959
        * web-platform-tests/css/css-overflow/overflow-body-propagation-002-expected.html:
960
        * web-platform-tests/css/css-overflow/overflow-body-propagation-003-expected.html:
961
        * web-platform-tests/css/css-overflow/overflow-body-propagation-005-expected.html: Added.
962
        * web-platform-tests/css/css-overflow/overflow-body-propagation-005.html: Added.
963
        * web-platform-tests/css/css-overflow/overflow-body-propagation-006-expected.html: Added.
964
        * web-platform-tests/css/css-overflow/overflow-body-propagation-006.html: Added.
965
        * web-platform-tests/css/css-overflow/overflow-codependent-scrollbars.html:
966
        * web-platform-tests/css/css-overflow/overflow-ellipsis-dynamic-001-expected.html: Added.
967
        * web-platform-tests/css/css-overflow/overflow-ellipsis-dynamic-001.html: Added.
968
        * web-platform-tests/css/css-overflow/overflow-inline-transform-relative.html:
969
        * web-platform-tests/css/css-overflow/overflow-recalc-001-expected.html: Added.
970
        * web-platform-tests/css/css-overflow/overflow-recalc-001.html: Added.
971
        * web-platform-tests/css/css-overflow/overfow-outside-padding.html:
972
        * web-platform-tests/css/css-overflow/parsing/scrollbar-gutter-invalid-expected.txt: Added.
973
        * web-platform-tests/css/css-overflow/parsing/scrollbar-gutter-invalid.html: Added.
974
        * web-platform-tests/css/css-overflow/parsing/scrollbar-gutter-valid-expected.txt: Added.
975
        * web-platform-tests/css/css-overflow/parsing/scrollbar-gutter-valid.html: Added.
976
        * web-platform-tests/css/css-overflow/parsing/w3c-import.log:
977
        * web-platform-tests/css/css-overflow/scroll-overflow-padding-block-001-expected.txt: Added.
978
        * web-platform-tests/css/css-overflow/scroll-overflow-padding-block-001.html: Added.
979
        * web-platform-tests/css/css-overflow/scrollbar-empty-001-expected.html: Copied from LayoutTests/imported/w3c/web-platform-tests/css/css-images/gradient-crash-expected.html.
980
        * web-platform-tests/css/css-overflow/scrollbar-empty-001.html: Added.
981
        * web-platform-tests/css/css-overflow/scrollbar-empty-002-expected.html: Copied from LayoutTests/imported/w3c/web-platform-tests/css/css-images/gradient-crash-expected.html.
982
        * web-platform-tests/css/css-overflow/scrollbar-empty-002.html: Added.
983
        * web-platform-tests/css/css-overflow/text-overflow-ellipsis-001-expected.html: Added.
984
        * web-platform-tests/css/css-overflow/text-overflow-ellipsis-001.html: Added.
985
        * web-platform-tests/css/css-overflow/text-overflow-ellipsis-002-expected.html: Added.
986
        * web-platform-tests/css/css-overflow/text-overflow-ellipsis-002.html: Added.
987
        * web-platform-tests/css/css-overflow/text-overflow-ellipsis-editing-input-expected.html: Added.
988
        * web-platform-tests/css/css-overflow/text-overflow-ellipsis-editing-input.html: Added.
989
        * web-platform-tests/css/css-overflow/text-overflow-ellipsis-rtl-001-expected.html: Added.
990
        * web-platform-tests/css/css-overflow/text-overflow-ellipsis-rtl-001.html: Added.
991
        * web-platform-tests/css/css-overflow/text-overflow-ellipsis-vertical-001-expected.html: Added.
992
        * web-platform-tests/css/css-overflow/text-overflow-ellipsis-vertical-001.html: Added.
993
        * web-platform-tests/css/css-overflow/text-overflow-ellipsis-vertical-rtl-001-expected.html: Added.
994
        * web-platform-tests/css/css-overflow/text-overflow-ellipsis-vertical-rtl-001.html: Added.
995
        * web-platform-tests/css/css-overflow/text-overflow-scroll-001-expected.html: Added.
996
        * web-platform-tests/css/css-overflow/text-overflow-scroll-001.html: Added.
997
        * web-platform-tests/css/css-overflow/text-overflow-scroll-rtl-001-expected.html: Added.
998
        * web-platform-tests/css/css-overflow/text-overflow-scroll-rtl-001.html: Added.
999
        * web-platform-tests/css/css-overflow/text-overflow-scroll-vertical-lr-001-expected.html: Added.
1000
        * web-platform-tests/css/css-overflow/text-overflow-scroll-vertical-lr-001.html: Added.
1001
        * web-platform-tests/css/css-overflow/text-overflow-scroll-vertical-lr-rtl-001-expected.html: Added.
1002
        * web-platform-tests/css/css-overflow/text-overflow-scroll-vertical-lr-rtl-001.html: Added.
1003
        * web-platform-tests/css/css-overflow/text-overflow-scroll-vertical-rl-001-expected.html: Added.
1004
        * web-platform-tests/css/css-overflow/text-overflow-scroll-vertical-rl-001.html: Added.
1005
        * web-platform-tests/css/css-overflow/text-overflow-scroll-vertical-rl-rtl-001-expected.html: Added.
1006
        * web-platform-tests/css/css-overflow/text-overflow-scroll-vertical-rl-rtl-001.html: Added.
1007
        * web-platform-tests/css/css-overflow/w3c-import.log:
1008
        * web-platform-tests/css/css-overflow/webkit-line-clamp-033-expected.html:
1009
        * web-platform-tests/css/css-overflow/webkit-line-clamp-034-expected.html: Copied from LayoutTests/imported/w3c/web-platform-tests/css/css-images/gradient-crash-expected.html.
1010
        * web-platform-tests/css/css-overflow/webkit-line-clamp-034.html: Added.
1011
        * web-platform-tests/css/css-overflow/webkit-line-clamp-035-expected.html: Added.
1012
        * web-platform-tests/css/css-overflow/webkit-line-clamp-035.html: Added.
1013
        * web-platform-tests/css/css-overflow/webkit-line-clamp-with-line-height.tentative-expected.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/webkit-line-clamp/webkit-line-clamp-with-line-height.tentative-expected.html.
1014
        * web-platform-tests/css/css-overflow/webkit-line-clamp-with-line-height.tentative.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/webkit-line-clamp/webkit-line-clamp-with-line-height.tentative.html.
1015
        * web-platform-tests/css/css-overflow/webkit-line-clamp/w3c-import.log: Removed.
1016
        * web-platform-tests/css/css-overscroll-behavior/META.yml:
1017
        * web-platform-tests/css/css-overscroll-behavior/inheritance-expected.txt:
1018
        * web-platform-tests/css/css-overscroll-behavior/inheritance.html:
1019
        * web-platform-tests/css/css-overscroll-behavior/overscroll-behavior-logical-expected.txt: Added.
1020
        * web-platform-tests/css/css-overscroll-behavior/overscroll-behavior-logical.html: Added.
1021
        * web-platform-tests/css/css-overscroll-behavior/parsing/overscroll-behavior-computed-expected.txt: Added.
1022
        * web-platform-tests/css/css-overscroll-behavior/parsing/overscroll-behavior-computed.html: Added.
1023
        * web-platform-tests/css/css-overscroll-behavior/parsing/overscroll-behavior-invalid-expected.txt: Added.
1024
        * web-platform-tests/css/css-overscroll-behavior/parsing/overscroll-behavior-invalid.html: Added.
1025
        * web-platform-tests/css/css-overscroll-behavior/parsing/overscroll-behavior-valid-expected.txt: Added.
1026
        * web-platform-tests/css/css-overscroll-behavior/parsing/overscroll-behavior-valid.html: Added.
1027
        * web-platform-tests/css/css-overscroll-behavior/parsing/w3c-import.log: Copied from LayoutTests/imported/w3c/web-platform-tests/css/css-overscroll-behavior/w3c-import.log.
1028
        * web-platform-tests/css/css-overscroll-behavior/w3c-import.log:
1029
        * web-platform-tests/css/css-position/animations/bottom-composition-expected.txt: Added.
1030
        * web-platform-tests/css/css-position/animations/bottom-composition.html: Added.
1031
        * web-platform-tests/css/css-position/animations/left-composition-expected.txt: Added.
1032
        * web-platform-tests/css/css-position/animations/left-composition.html: Added.
1033
        * web-platform-tests/css/css-position/animations/position-interpolation-expected.txt: Renamed from LayoutTests/imported/w3c/web-platform-tests/css/css-position/animation/position-interpolation-expected.txt.
1034
        * web-platform-tests/css/css-position/animations/position-interpolation.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/css/css-position/animation/position-interpolation.html.
1035
        * web-platform-tests/css/css-position/animations/right-composition-expected.txt: Added.
1036
        * web-platform-tests/css/css-position/animations/right-composition.html: Added.
1037
        * web-platform-tests/css/css-position/animations/top-composition-expected.txt: Added.
1038
        * web-platform-tests/css/css-position/animations/top-composition.html: Added.
1039
        * web-platform-tests/css/css-position/animations/w3c-import.log:
1040
        * web-platform-tests/css/css-position/nested-positions-crash-expected.txt: Added.
1041
        * web-platform-tests/css/css-position/nested-positions-crash.html: Added.
1042
        * web-platform-tests/css/css-position/parsing/w3c-import.log:
1043
        * web-platform-tests/css/css-position/parsing/z-index-computed.html:
1044
        * web-platform-tests/css/css-position/parsing/z-index-positioned-computed-expected.txt: Added.
1045
        * web-platform-tests/css/css-position/parsing/z-index-positioned-computed.html: Copied from LayoutTests/imported/w3c/web-platform-tests/css/css-position/parsing/z-index-computed.html.
1046
        * web-platform-tests/css/css-position/position-absolute-center-001.tentative-expected.xht: Copied from LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/background-size-007-expected.xht.
1047
        * web-platform-tests/css/css-position/position-absolute-center-001.tentative.html: Added.
1048
        * web-platform-tests/css/css-position/position-absolute-center-002.tentative-expected.xht: Copied from LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/background-size-007-expected.xht.
1049
        * web-platform-tests/css/css-position/position-absolute-center-002.tentative.html: Added.
1050
        * web-platform-tests/css/css-position/position-absolute-center-003-expected.xht: Copied from LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/background-size-007-expected.xht.
1051
        * web-platform-tests/css/css-position/position-absolute-center-003.html: Added.
1052
        * web-platform-tests/css/css-position/position-absolute-center-004-expected.xht: Copied from LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/background-size-007-expected.xht.
1053
        * web-platform-tests/css/css-position/position-absolute-center-004.html: Added.
1054
        * web-platform-tests/css/css-position/position-absolute-crash-chrome-013-expected.txt: Added.
1055
        * web-platform-tests/css/css-position/position-absolute-crash-chrome-013.html: Added.
1056
        * web-platform-tests/css/css-position/position-absolute-dynamic-relayout-002-expected.xht: Copied from LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/background-size-007-expected.xht.
1057
        * web-platform-tests/css/css-position/position-absolute-dynamic-relayout-002.html: Added.
1058
        * web-platform-tests/css/css-position/position-absolute-dynamic-relayout-003-expected.xht: Copied from LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/background-size-007-expected.xht.
1059
        * web-platform-tests/css/css-position/position-absolute-dynamic-relayout-003.html: Added.
1060
        * web-platform-tests/css/css-position/position-absolute-dynamic-static-position-flex-expected.xht: Copied from LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/background-size-007-expected.xht.
1061
        * web-platform-tests/css/css-position/position-absolute-dynamic-static-position-flex.html: Added.
1062
        * web-platform-tests/css/css-position/position-absolute-dynamic-static-position-inline-expected.html: Copied from LayoutTests/imported/w3c/web-platform-tests/css/css-shapes/shape-outside/supported-shapes/inset/shape-outside-inset-crash-expected.html.
1063
        * web-platform-tests/css/css-position/position-absolute-dynamic-static-position-inline.html: Added.
1064
        * web-platform-tests/css/css-position/position-absolute-root-element-flex-expected.html: Added.
1065
        * web-platform-tests/css/css-position/position-absolute-root-element-flex.html: Added.
1066
        * web-platform-tests/css/css-position/position-absolute-root-element-grid-expected.html: Added.
1067
        * web-platform-tests/css/css-position/position-absolute-root-element-grid.html: Added.
1068
        * web-platform-tests/css/css-position/position-absolute-table-001-expected.txt: Added.
1069
        * web-platform-tests/css/css-position/position-absolute-table-001.html: Added.
1070
        * web-platform-tests/css/css-position/position-fixed-root-element-flex-expected.html: Added.
1071
        * web-platform-tests/css/css-position/position-fixed-root-element-flex.html: Added.
1072
        * web-platform-tests/css/css-position/position-fixed-root-element-grid-expected.html: Added.
1073
        * web-platform-tests/css/css-position/position-fixed-root-element-grid.html: Added.
1074
        * web-platform-tests/css/css-position/position-sticky-change-top-expected.html:
1075
        * web-platform-tests/css/css-position/position-sticky-change-top.html:
1076
        * web-platform-tests/css/css-position/position-sticky-child-multicolumn-expected.html:
1077
        * web-platform-tests/css/css-position/position-sticky-child-multicolumn.html:
1078
        * web-platform-tests/css/css-position/position-sticky-fixed-ancestor-expected.html: Added.
1079
        * web-platform-tests/css/css-position/position-sticky-fixed-ancestor-iframe-expected.html: Added.
1080
        * web-platform-tests/css/css-position/position-sticky-fixed-ancestor-iframe.html: Added.
1081
        * web-platform-tests/css/css-position/position-sticky-fixed-ancestor.html: Added.
1082
        * web-platform-tests/css/css-position/position-sticky-flexbox-expected.html:
1083
        * web-platform-tests/css/css-position/position-sticky-flexbox.html:
1084
        * web-platform-tests/css/css-position/position-sticky-grid-expected.html:
1085
        * web-platform-tests/css/css-position/position-sticky-grid.html:
1086
        * web-platform-tests/css/css-position/position-sticky-inline-expected.html:
1087
        * web-platform-tests/css/css-position/position-sticky-inline.html:
1088
        * web-platform-tests/css/css-position/position-sticky-large-top-2.tentative-expected.html: Added.
1089
        * web-platform-tests/css/css-position/position-sticky-large-top-2.tentative.html: Added.
1090
        * web-platform-tests/css/css-position/position-sticky-large-top.tentative-expected.html: Added.
1091
        * web-platform-tests/css/css-position/position-sticky-large-top.tentative.html: Added.
1092
        * web-platform-tests/css/css-position/position-sticky-nested-inline-expected.html:
1093
        * web-platform-tests/css/css-position/position-sticky-nested-inline.html:
1094
        * web-platform-tests/css/css-position/position-sticky-nested-table-expected.html:
1095
        * web-platform-tests/css/css-position/position-sticky-nested-table.html:
1096
        * web-platform-tests/css/css-position/position-sticky-rendering-expected.html:
1097
        * web-platform-tests/css/css-position/position-sticky-rendering.html:
1098
        * web-platform-tests/css/css-position/position-sticky-scroll-reposition-expected.html: Added.
1099
        * web-platform-tests/css/css-position/position-sticky-scroll-reposition.html: Added.
1100
        * web-platform-tests/css/css-position/position-sticky-stacking-context-expected.html:
1101
        * web-platform-tests/css/css-position/position-sticky-stacking-context.html:
1102
        * web-platform-tests/css/css-position/position-sticky-table-parts-expected.html:
1103
        * web-platform-tests/css/css-position/position-sticky-table-parts.html:
1104
        * web-platform-tests/css/css-position/position-sticky-table-tfoot-bottom-expected.html:
1105
        * web-platform-tests/css/css-position/position-sticky-table-tfoot-bottom.html:
1106
        * web-platform-tests/css/css-position/position-sticky-table-th-left-expected.html:
1107
        * web-platform-tests/css/css-position/position-sticky-table-th-left.html:
1108
        * web-platform-tests/css/css-position/position-sticky-table-th-right-expected.html:
1109
        * web-platform-tests/css/css-position/position-sticky-table-th-right.html:
1110
        * web-platform-tests/css/css-position/position-sticky-table-thead-top-expected.html:
1111
        * web-platform-tests/css/css-position/position-sticky-table-thead-top.html:
1112
        * web-platform-tests/css/css-position/position-sticky-table-tr-bottom-expected.html:
1113
        * web-platform-tests/css/css-position/position-sticky-table-tr-bottom.html:
1114
        * web-platform-tests/css/css-position/position-sticky-table-tr-top-expected.html:
1115
        * web-platform-tests/css/css-position/position-sticky-table-tr-top.html:
1116
        * web-platform-tests/css/css-position/position-sticky-writing-modes-expected.html:
1117
        * web-platform-tests/css/css-position/position-sticky-writing-modes.html:
1118
        * web-platform-tests/css/css-position/resources/position-sticky-fixed-ancestor-iframe-child.html: Added.
1119
        * web-platform-tests/css/css-position/resources/ref-rectangle.js: Added.
1120
        (createIndicatorForStickyElements):
1121
        * web-platform-tests/css/css-position/resources/w3c-import.log:
1122
        * web-platform-tests/css/css-position/w3c-import.log:
1123
        * web-platform-tests/css/css-properties-values-api/at-property-animation-expected.txt: Added.
1124
        * web-platform-tests/css/css-properties-values-api/at-property-animation.html: Added.
1125
        * web-platform-tests/css/css-properties-values-api/at-property-cssom-expected.txt: Added.
1126
        * web-platform-tests/css/css-properties-values-api/at-property-cssom.html: Added.
1127
        * web-platform-tests/css/css-properties-values-api/at-property-expected.txt: Added.
1128
        * web-platform-tests/css/css-properties-values-api/at-property-non-matching-media-crash-expected.txt: Added.
1129
        * web-platform-tests/css/css-properties-values-api/at-property-non-matching-media-crash.html: Added.
1130
        * web-platform-tests/css/css-properties-values-api/at-property-shadow-expected.txt: Added.
1131
        * web-platform-tests/css/css-properties-values-api/at-property-shadow.html: Added.
1132
        * web-platform-tests/css/css-properties-values-api/at-property-stylesheets-expected.txt: Added.
1133
        * web-platform-tests/css/css-properties-values-api/at-property-stylesheets.html: Added.
1134
        * web-platform-tests/css/css-properties-values-api/at-property-typedom-expected.txt: Added.
1135
        * web-platform-tests/css/css-properties-values-api/at-property-typedom.html: Added.
1136
        * web-platform-tests/css/css-properties-values-api/at-property.html: Added.
1137
        * web-platform-tests/css/css-properties-values-api/conditional-rules-expected.txt: Added.
1138
        * web-platform-tests/css/css-properties-values-api/conditional-rules.html: Added.
1139
        * web-platform-tests/css/css-properties-values-api/determine-registration-expected.txt: Added.
1140
        * web-platform-tests/css/css-properties-values-api/determine-registration.html: Added.
1141
        * web-platform-tests/css/css-properties-values-api/font-size-animation-expected.txt: Added.
1142
        * web-platform-tests/css/css-properties-values-api/font-size-animation.html: Added.
1143
        * web-platform-tests/css/css-properties-values-api/property-cascade.html:
1144
        * web-platform-tests/css/css-properties-values-api/register-property-expected.txt:
1145
        * web-platform-tests/css/css-properties-values-api/register-property-syntax-parsing-expected.txt:
1146
        * web-platform-tests/css/css-properties-values-api/register-property-syntax-parsing.html:
1147
        * web-platform-tests/css/css-properties-values-api/register-property.html:
1148
        * web-platform-tests/css/css-properties-values-api/registered-property-change-style-001-expected.txt: Added.
1149
        * web-platform-tests/css/css-properties-values-api/registered-property-change-style-001.html: Added.
1150
        * web-platform-tests/css/css-properties-values-api/registered-property-computation-expected.txt:
1151
        * web-platform-tests/css/css-properties-values-api/registered-property-computation.html:
1152
        * web-platform-tests/css/css-properties-values-api/registered-property-cssom-expected.txt:
1153
        * web-platform-tests/css/css-properties-values-api/registered-property-cssom.html:
1154
        * web-platform-tests/css/css-properties-values-api/registered-property-initial-expected.txt:
1155
        * web-platform-tests/css/css-properties-values-api/registered-property-initial.html:
1156
        * web-platform-tests/css/css-properties-values-api/registered-property-revert-expected.txt: Added.
1157
        * web-platform-tests/css/css-properties-values-api/registered-property-revert.html: Added.
1158
        * web-platform-tests/css/css-properties-values-api/resources/utils.js:
1159
        (with_style_node):
1160
        * web-platform-tests/css/css-properties-values-api/self-utils.html:
1161
        * web-platform-tests/css/css-properties-values-api/typedom-expected.txt: Renamed from LayoutTests/imported/w3c/web-platform-tests/css/css-properties-values-api/typedom.tentative-expected.txt.
1162
        * web-platform-tests/css/css-properties-values-api/typedom.html: Added.
1163
        * web-platform-tests/css/css-properties-values-api/typedom.tentative.html: Removed.
1164
        * web-platform-tests/css/css-properties-values-api/unit-cycles.html:
1165
        * web-platform-tests/css/css-properties-values-api/var-reference-registered-properties-cycles-expected.txt:
1166
        * web-platform-tests/css/css-properties-values-api/var-reference-registered-properties-cycles.html:
1167
        * web-platform-tests/css/css-properties-values-api/var-reference-registered-properties-expected.txt:
1168
        * web-platform-tests/css/css-properties-values-api/var-reference-registered-properties.html:
1169
        * web-platform-tests/css/css-properties-values-api/w3c-import.log:
1170
        * web-platform-tests/css/css-pseudo/META.yml: Added.
1171
        * web-platform-tests/css/css-pseudo/OWNERS: Removed.
1172
        * web-platform-tests/css/css-pseudo/active-selection-051-expected.html: Added.
1173
        * web-platform-tests/css/css-pseudo/active-selection-051.html: Added.
1174
        * web-platform-tests/css/css-pseudo/active-selection-052-expected.html: Added.
1175
        * web-platform-tests/css/css-pseudo/active-selection-052.html: Added.
1176
        * web-platform-tests/css/css-pseudo/active-selection-053-expected.html: Added.
1177
        * web-platform-tests/css/css-pseudo/active-selection-053.html: Added.
1178
        * web-platform-tests/css/css-pseudo/active-selection-054-expected.html: Added.
1179
        * web-platform-tests/css/css-pseudo/active-selection-054.html: Added.
1180
        * web-platform-tests/css/css-pseudo/active-selection-056-expected.xht: Copied from LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/background-size-010-expected.xht.
1181
        * web-platform-tests/css/css-pseudo/active-selection-056.html: Added.
1182
        * web-platform-tests/css/css-pseudo/active-selection-063-expected.xht: Copied from LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/background-size-007-expected.xht.
1183
        * web-platform-tests/css/css-pseudo/active-selection-063.html: Added.
1184
        * web-platform-tests/css/css-pseudo/before-dynamic-display-none-expected.html: Added.
1185
        * web-platform-tests/css/css-pseudo/before-dynamic-display-none.html: Added.
1186
        * web-platform-tests/css/css-pseudo/before-in-display-none-thcrash-expected.txt: Added.
1187
        * web-platform-tests/css/css-pseudo/before-in-display-none-thcrash.html: Added.
1188
        * web-platform-tests/css/css-pseudo/cascade-highlight-001-expected.html: Added.
1189
        * web-platform-tests/css/css-pseudo/cascade-highlight-001.html: Added.
1190
        * web-platform-tests/css/css-pseudo/cascade-highlight-002-expected.html: Added.
1191
        * web-platform-tests/css/css-pseudo/cascade-highlight-002.html: Added.
1192
        * web-platform-tests/css/css-pseudo/cascade-highlight-004-expected.html: Added.
1193
        * web-platform-tests/css/css-pseudo/cascade-highlight-004.html: Added.
1194
        * web-platform-tests/css/css-pseudo/file-chooser-button-001-notref.html: Copied from LayoutTests/imported/w3c/web-platform-tests/css/css-images/gradient-crash-expected.html.
1195
        * web-platform-tests/css/css-pseudo/file-chooser-button-001.tentative-expected.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/css/css-images/gradient-crash-expected.html.
1196
        * web-platform-tests/css/css-pseudo/file-chooser-button-001.tentative.html: Added.
1197
        * web-platform-tests/css/css-pseudo/file-chooser-button-display-toggle-crash.tentative-expected.txt: Added.
1198
        * web-platform-tests/css/css-pseudo/file-chooser-button-display-toggle-crash.tentative.html: Added.
1199
        * web-platform-tests/css/css-pseudo/first-letter-001-expected.html:
1200
        * web-platform-tests/css/css-pseudo/first-letter-001.html:
1201
        * web-platform-tests/css/css-pseudo/first-letter-002-expected.html:
1202
        * web-platform-tests/css/css-pseudo/first-letter-002.html:
1203
        * web-platform-tests/css/css-pseudo/first-letter-003-expected.html:
1204
        * web-platform-tests/css/css-pseudo/first-letter-003.html:
1205
        * web-platform-tests/css/css-pseudo/first-letter-allowed-properties-expected.txt: Added.
1206
        * web-platform-tests/css/css-pseudo/first-letter-allowed-properties.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/first-letter-property-whitelist.html.
1207
        * web-platform-tests/css/css-pseudo/first-letter-and-sibling-display-change-expected.html: Added.
1208
        * web-platform-tests/css/css-pseudo/first-letter-and-sibling-display-change.html: Added.
1209
        * web-platform-tests/css/css-pseudo/first-letter-and-whitespace-expected.html: Added.
1210
        * web-platform-tests/css/css-pseudo/first-letter-and-whitespace.html: Added.
1211
        * web-platform-tests/css/css-pseudo/first-letter-background-image-dynamic-expected.html: Added.
1212
        * web-platform-tests/css/css-pseudo/first-letter-background-image-dynamic.html: Added.
1213
        * web-platform-tests/css/css-pseudo/first-letter-background-image-expected.html: Added.
1214
        * web-platform-tests/css/css-pseudo/first-letter-background-image.html: Added.
1215
        * web-platform-tests/css/css-pseudo/first-letter-block-to-inline-expected.html: Added.
1216
        * web-platform-tests/css/css-pseudo/first-letter-block-to-inline.html: Added.
1217
        * web-platform-tests/css/css-pseudo/first-letter-crash-expected.txt: Added.
1218
        * web-platform-tests/css/css-pseudo/first-letter-crash.html: Added.
1219
        * web-platform-tests/css/css-pseudo/first-letter-exclude-block-child-marker-expected.html: Added.
1220
        * web-platform-tests/css/css-pseudo/first-letter-exclude-block-child-marker.html: Added.
1221
        * web-platform-tests/css/css-pseudo/first-letter-exclude-inline-child-marker-expected.html: Added.
1222
        * web-platform-tests/css/css-pseudo/first-letter-exclude-inline-child-marker.html: Added.
1223
        * web-platform-tests/css/css-pseudo/first-letter-exclude-inline-marker-expected.html: Added.
1224
        * web-platform-tests/css/css-pseudo/first-letter-exclude-inline-marker.html: Added.
1225
        * web-platform-tests/css/css-pseudo/first-letter-list-item-dynamic-001-expected.html: Added.
1226
        * web-platform-tests/css/css-pseudo/first-letter-list-item-dynamic-001.html: Added.
1227
        * web-platform-tests/css/css-pseudo/first-letter-of-html-root-refcrash-expected.html: Added.
1228
        * web-platform-tests/css/css-pseudo/first-letter-of-html-root-refcrash.html: Added.
1229
        * web-platform-tests/css/css-pseudo/first-letter-opacity-001-expected.html: Added.
1230
        * web-platform-tests/css/css-pseudo/first-letter-opacity-001-ref-expected.html: Added.
1231
        * web-platform-tests/css/css-pseudo/first-letter-opacity-001-ref.html: Added.
1232
        * web-platform-tests/css/css-pseudo/first-letter-opacity-001.html: Added.
1233
        * web-platform-tests/css/css-pseudo/first-letter-opacity-float-001-expected.html: Added.
1234
        * web-platform-tests/css/css-pseudo/first-letter-opacity-float-001.html: Added.
1235
        * web-platform-tests/css/css-pseudo/first-letter-property-whitelist-expected.txt: Removed.
1236
        * web-platform-tests/css/css-pseudo/first-letter-skip-marker-expected.html: Added.
1237
        * web-platform-tests/css/css-pseudo/first-letter-skip-marker.html: Added.
1238
        * web-platform-tests/css/css-pseudo/first-letter-text-and-display-change-expected.html: Added.
1239
        * web-platform-tests/css/css-pseudo/first-letter-text-and-display-change.html: Added.
1240
        * web-platform-tests/css/css-pseudo/first-letter-width-expected.html: Added.
1241
        * web-platform-tests/css/css-pseudo/first-letter-width.html: Added.
1242
        * web-platform-tests/css/css-pseudo/first-line-and-marker-expected.html: Added.
1243
        * web-platform-tests/css/css-pseudo/first-line-and-marker.html: Added.
1244
        * web-platform-tests/css/css-pseudo/first-line-change-inline-color-expected.html: Added.
1245
        * web-platform-tests/css/css-pseudo/first-line-change-inline-color-nested-expected.html: Added.
1246
        * web-platform-tests/css/css-pseudo/first-line-change-inline-color-nested.html: Added.
1247
        * web-platform-tests/css/css-pseudo/first-line-change-inline-color.html: Added.
1248
        * web-platform-tests/css/css-pseudo/first-line-first-letter-insert-crash-expected.txt: Added.
1249
        * web-platform-tests/css/css-pseudo/first-line-first-letter-insert-crash.html: Added.
1250
        * web-platform-tests/css/css-pseudo/first-line-on-ancestor-block-expected.html: Added.
1251
        * web-platform-tests/css/css-pseudo/first-line-on-ancestor-block.html: Added.
1252
        * web-platform-tests/css/css-pseudo/first-line-opacity-001-expected.html: Added.
1253
        * web-platform-tests/css/css-pseudo/first-line-opacity-001-ref-expected.html: Added.
1254
        * web-platform-tests/css/css-pseudo/first-line-opacity-001-ref.html: Added.
1255
        * web-platform-tests/css/css-pseudo/first-line-opacity-001.html: Added.
1256
        * web-platform-tests/css/css-pseudo/first-line-with-before-after-expected.html: Added.
1257
        * web-platform-tests/css/css-pseudo/first-line-with-before-after.html: Added.
1258
        * web-platform-tests/css/css-pseudo/first-line-with-out-of-flow-expected.html: Added.
1259
        * web-platform-tests/css/css-pseudo/first-line-with-out-of-flow.html: Added.
1260
        * web-platform-tests/css/css-pseudo/grammar-error-001-expected.html: Added.
1261
        * web-platform-tests/css/css-pseudo/grammar-error-001.html: Added.
1262
        * web-platform-tests/css/css-pseudo/highlight-z-index-001-expected.html: Added.
1263
        * web-platform-tests/css/css-pseudo/highlight-z-index-001.html: Added.
1264
        * web-platform-tests/css/css-pseudo/highlight-z-index-002-expected.html: Added.
1265
        * web-platform-tests/css/css-pseudo/highlight-z-index-002.html: Added.
1266
        * web-platform-tests/css/css-pseudo/idlharness-expected.txt: Added.
1267
        * web-platform-tests/css/css-pseudo/idlharness.html: Added.
1268
        * web-platform-tests/css/css-pseudo/marker-animate-expected.txt: Added.
1269
        * web-platform-tests/css/css-pseudo/marker-animate.html: Added.
1270
        * web-platform-tests/css/css-pseudo/marker-color-expected.html:
1271
        * web-platform-tests/css/css-pseudo/marker-color.html:
1272
        * web-platform-tests/css/css-pseudo/marker-computed-content-expected.txt: Added.
1273
        * web-platform-tests/css/css-pseudo/marker-computed-content.html: Added.
1274
        * web-platform-tests/css/css-pseudo/marker-computed-size-expected.txt: Added.
1275
        * web-platform-tests/css/css-pseudo/marker-computed-size.html: Added.
1276
        * web-platform-tests/css/css-pseudo/marker-content-001-expected.html: Added.
1277
        * web-platform-tests/css/css-pseudo/marker-content-001.html: Added.
1278
        * web-platform-tests/css/css-pseudo/marker-content-001b-expected.html: Added.
1279
        * web-platform-tests/css/css-pseudo/marker-content-001b.html: Added.
1280
        * web-platform-tests/css/css-pseudo/marker-content-001c-expected.html: Added.
1281
        * web-platform-tests/css/css-pseudo/marker-content-001c.html: Added.
1282
        * web-platform-tests/css/css-pseudo/marker-content-002-expected.html: Added.
1283
        * web-platform-tests/css/css-pseudo/marker-content-002.html: Added.
1284
        * web-platform-tests/css/css-pseudo/marker-content-003-expected.html: Added.
1285
        * web-platform-tests/css/css-pseudo/marker-content-003.html: Added.
1286
        * web-platform-tests/css/css-pseudo/marker-content-003b-expected.html: Added.
1287
        * web-platform-tests/css/css-pseudo/marker-content-003b.html: Added.
1288
        * web-platform-tests/css/css-pseudo/marker-content-004-expected.html: Added.
1289
        * web-platform-tests/css/css-pseudo/marker-content-004.html: Added.
1290
        * web-platform-tests/css/css-pseudo/marker-content-005-expected.html: Added.
1291
        * web-platform-tests/css/css-pseudo/marker-content-005.html: Added.
1292
        * web-platform-tests/css/css-pseudo/marker-content-006-expected.html: Added.
1293
        * web-platform-tests/css/css-pseudo/marker-content-006.html: Added.
1294
        * web-platform-tests/css/css-pseudo/marker-content-007.tentative-expected.html: Added.
1295
        * web-platform-tests/css/css-pseudo/marker-content-007.tentative.html: Added.
1296
        * web-platform-tests/css/css-pseudo/marker-content-008.tentative-expected.html: Added.
1297
        * web-platform-tests/css/css-pseudo/marker-content-008.tentative.html: Added.
1298
        * web-platform-tests/css/css-pseudo/marker-content-009.tentative-expected.html: Added.
1299
        * web-platform-tests/css/css-pseudo/marker-content-009.tentative.html: Added.
1300
        * web-platform-tests/css/css-pseudo/marker-content-010-expected.html: Added.
1301
        * web-platform-tests/css/css-pseudo/marker-content-010.html: Added.
1302
        * web-platform-tests/css/css-pseudo/marker-content-011.tentative-expected.html: Added.
1303
        * web-platform-tests/css/css-pseudo/marker-content-011.tentative.html: Added.
1304
        * web-platform-tests/css/css-pseudo/marker-content-012-expected.html: Added.
1305
        * web-platform-tests/css/css-pseudo/marker-content-012.html: Added.
1306
        * web-platform-tests/css/css-pseudo/marker-content-013-expected.html: Added.
1307
        * web-platform-tests/css/css-pseudo/marker-content-013.html: Added.
1308
        * web-platform-tests/css/css-pseudo/marker-content-014-expected.html: Added.
1309
        * web-platform-tests/css/css-pseudo/marker-content-014.html: Added.
1310
        * web-platform-tests/css/css-pseudo/marker-content-015-expected.html: Added.
1311
        * web-platform-tests/css/css-pseudo/marker-content-015.html: Added.
1312
        * web-platform-tests/css/css-pseudo/marker-content-016-expected.html: Added.
1313
        * web-platform-tests/css/css-pseudo/marker-content-016.html: Added.
1314
        * web-platform-tests/css/css-pseudo/marker-content-017-expected.html: Added.
1315
        * web-platform-tests/css/css-pseudo/marker-content-017.html: Added.
1316
        * web-platform-tests/css/css-pseudo/marker-content-018-expected.html: Added.
1317
        * web-platform-tests/css/css-pseudo/marker-content-018.html: Added.
1318
        * web-platform-tests/css/css-pseudo/marker-content-019-expected.html: Added.
1319
        * web-platform-tests/css/css-pseudo/marker-content-019.html: Added.
1320
        * web-platform-tests/css/css-pseudo/marker-content-020-expected.html: Added.
1321
        * web-platform-tests/css/css-pseudo/marker-content-020.html: Added.
1322
        * web-platform-tests/css/css-pseudo/marker-content-021-expected.html: Added.
1323
        * web-platform-tests/css/css-pseudo/marker-content-021.html: Added.
1324
        * web-platform-tests/css/css-pseudo/marker-content-022-expected.html: Added.
1325
        * web-platform-tests/css/css-pseudo/marker-content-022.html: Added.
1326
        * web-platform-tests/css/css-pseudo/marker-default-styles-expected.txt: Added.
1327
        * web-platform-tests/css/css-pseudo/marker-default-styles.html: Added.
1328
        * web-platform-tests/css/css-pseudo/marker-display-computed-expected.txt: Added.
1329
        * web-platform-tests/css/css-pseudo/marker-display-computed.html: Added.
1330
        * web-platform-tests/css/css-pseudo/marker-display-dynamic-001-expected.html: Copied from LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/marker-color-expected.html.
1331
        * web-platform-tests/css/css-pseudo/marker-display-dynamic-001.html: Added.
1332
        * web-platform-tests/css/css-pseudo/marker-font-properties.html:
1333
        * web-platform-tests/css/css-pseudo/marker-font-variant-numeric-default-expected.html: Added.
1334
        * web-platform-tests/css/css-pseudo/marker-font-variant-numeric-default-ref-expected.html: Added.
1335
        * web-platform-tests/css/css-pseudo/marker-font-variant-numeric-default-ref.html: Added.
1336
        * web-platform-tests/css/css-pseudo/marker-font-variant-numeric-default.html: Added.
1337
        * web-platform-tests/css/css-pseudo/marker-font-variant-numeric-normal-expected.html: Added.
1338
        * web-platform-tests/css/css-pseudo/marker-font-variant-numeric-normal-ref-expected.html: Added.
1339
        * web-platform-tests/css/css-pseudo/marker-font-variant-numeric-normal-ref.html: Added.
1340
        * web-platform-tests/css/css-pseudo/marker-font-variant-numeric-normal.html: Added.
1341
        * web-platform-tests/css/css-pseudo/marker-hit-testing-expected.txt: Added.
1342
        * web-platform-tests/css/css-pseudo/marker-hit-testing.html: Added.
1343
        * web-platform-tests/css/css-pseudo/marker-inherit-line-height-expected.html: Added.
1344
        * web-platform-tests/css/css-pseudo/marker-inherit-line-height.html: Added.
1345
        * web-platform-tests/css/css-pseudo/marker-intrinsic-contribution-001-expected.txt: Added.
1346
        * web-platform-tests/css/css-pseudo/marker-intrinsic-contribution-001.html: Added.
1347
        * web-platform-tests/css/css-pseudo/marker-intrinsic-contribution-002-expected.html: Added.
1348
        * web-platform-tests/css/css-pseudo/marker-intrinsic-contribution-002.html: Added.
1349
        * web-platform-tests/css/css-pseudo/marker-list-style-position-expected.html: Added.
1350
        * web-platform-tests/css/css-pseudo/marker-list-style-position.html: Added.
1351
        * web-platform-tests/css/css-pseudo/marker-reverted-styles-expected.txt: Added.
1352
        * web-platform-tests/css/css-pseudo/marker-reverted-styles.html: Added.
1353
        * web-platform-tests/css/css-pseudo/marker-text-combine-upright-expected.html: Added.
1354
        * web-platform-tests/css/css-pseudo/marker-text-combine-upright.html: Added.
1355
        * web-platform-tests/css/css-pseudo/marker-unicode-bidi-default-expected.html: Added.
1356
        * web-platform-tests/css/css-pseudo/marker-unicode-bidi-default-ref-expected.html: Added.
1357
        * web-platform-tests/css/css-pseudo/marker-unicode-bidi-default-ref.html: Added.
1358
        * web-platform-tests/css/css-pseudo/marker-unicode-bidi-default.html: Added.
1359
        * web-platform-tests/css/css-pseudo/marker-unicode-bidi-normal-expected.html: Added.
1360
        * web-platform-tests/css/css-pseudo/marker-unicode-bidi-normal-ref-expected.html: Added.
1361
        * web-platform-tests/css/css-pseudo/marker-unicode-bidi-normal-ref.html: Added.
1362
        * web-platform-tests/css/css-pseudo/marker-unicode-bidi-normal.html: Added.
1363
        * web-platform-tests/css/css-pseudo/outside-marker-paint-order-expected.html: Added.
1364
        * web-platform-tests/css/css-pseudo/outside-marker-paint-order.html: Added.
1365
        * web-platform-tests/css/css-pseudo/parsing/marker-supported-properties-expected.txt: Added.
1366
        * web-platform-tests/css/css-pseudo/parsing/marker-supported-properties-in-animation-expected.txt: Added.
1367
        * web-platform-tests/css/css-pseudo/parsing/marker-supported-properties-in-animation.html: Added.
1368
        * web-platform-tests/css/css-pseudo/parsing/marker-supported-properties.html: Added.
1369
        * web-platform-tests/css/css-pseudo/parsing/tree-abiding-pseudo-elements-expected.txt: Added.
1370
        * web-platform-tests/css/css-pseudo/parsing/tree-abiding-pseudo-elements.html: Added.
1371
        * web-platform-tests/css/css-pseudo/parsing/w3c-import.log: Copied from LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/resources/w3c-import.log.
1372
        * web-platform-tests/css/css-pseudo/selection-text-shadow-016-expected.html: Added.
1373
        * web-platform-tests/css/css-pseudo/selection-text-shadow-016.html: Added.
1374
        * web-platform-tests/css/css-pseudo/spelling-error-001-expected.html: Added.
1375
        * web-platform-tests/css/css-pseudo/spelling-error-001.html: Added.
1376
        * web-platform-tests/css/css-pseudo/text-selection-expected.txt: Added.
1377
        * web-platform-tests/css/css-pseudo/text-selection.html: Added.
1378
        * web-platform-tests/css/css-pseudo/textpath-selection-011-expected.html: Added.
1379
        * web-platform-tests/css/css-pseudo/textpath-selection-011.html: Added.
1380
        * web-platform-tests/css/css-pseudo/w3c-import.log:
1381
        * web-platform-tests/css/css-scoping/META.yml: Added.
1382
        * web-platform-tests/css/css-scoping/OWNERS: Removed.
1383
        * web-platform-tests/css/css-scoping/css-scoping-shadow-assigned-node-with-before-after.html:
1384
        * web-platform-tests/css/css-scoping/css-scoping-shadow-assigned-node-with-rules.html:
1385
        * web-platform-tests/css/css-scoping/css-scoping-shadow-dynamic-remove-style-detached-expected.txt: Added.
1386
        * web-platform-tests/css/css-scoping/css-scoping-shadow-dynamic-remove-style-detached.html: Added.
1387
        * web-platform-tests/css/css-scoping/css-scoping-shadow-host-rule.html:
1388
        * web-platform-tests/css/css-scoping/css-scoping-shadow-host-with-before-after.html:
1389
        * web-platform-tests/css/css-scoping/css-scoping-shadow-invisible-slot.html:
1390
        * web-platform-tests/css/css-scoping/css-scoping-shadow-root-hides-children.html:
1391
        * web-platform-tests/css/css-scoping/css-scoping-shadow-slot-display-override.html:
1392
        * web-platform-tests/css/css-scoping/css-scoping-shadow-slot-style.html:
1393
        * web-platform-tests/css/css-scoping/css-scoping-shadow-slot.html:
1394
        * web-platform-tests/css/css-scoping/css-scoping-shadow-slotted-nested.html:
1395
        * web-platform-tests/css/css-scoping/css-scoping-shadow-slotted-rule.html:
1396
        * web-platform-tests/css/css-scoping/css-scoping-shadow-with-outside-rules.html:
1397
        * web-platform-tests/css/css-scoping/css-scoping-shadow-with-rules-no-style-leak.html:
1398
        * web-platform-tests/css/css-scoping/css-scoping-shadow-with-rules.html:
1399
        * web-platform-tests/css/css-scoping/host-context-specificity-001-expected.html: Added.
1400
        * web-platform-tests/css/css-scoping/host-context-specificity-001.html: Added.
1401
        * web-platform-tests/css/css-scoping/host-context-specificity-002-expected.html: Added.
1402
        * web-platform-tests/css/css-scoping/host-context-specificity-002.html: Added.
1403
        * web-platform-tests/css/css-scoping/host-context-specificity-003-expected.html: Added.
1404
        * web-platform-tests/css/css-scoping/host-context-specificity-003.html: Added.
1405
        * web-platform-tests/css/css-scoping/host-specificity-002-expected.html: Added.
1406
        * web-platform-tests/css/css-scoping/host-specificity-002.html: Added.
1407
        * web-platform-tests/css/css-scoping/host-specificity-003-expected.html: Added.
1408
        * web-platform-tests/css/css-scoping/host-specificity-003.html: Added.
1409
        * web-platform-tests/css/css-scoping/host-specificity-expected.html: Added.
1410
        * web-platform-tests/css/css-scoping/host-specificity.html: Added.
1411
        * web-platform-tests/css/css-scoping/host-with-default-namespace-001-expected.html: Added.
1412
        * web-platform-tests/css/css-scoping/host-with-default-namespace-001.html: Added.
1413
        * web-platform-tests/css/css-scoping/keyframes-001-expected.txt:
1414
        * web-platform-tests/css/css-scoping/keyframes-001.html:
1415
        * web-platform-tests/css/css-scoping/keyframes-002.html:
1416
        * web-platform-tests/css/css-scoping/keyframes-003-expected.txt: Added.
1417
        * web-platform-tests/css/css-scoping/keyframes-003.html: Added.
1418
        * web-platform-tests/css/css-scoping/keyframes-004-expected.txt: Added.
1419
        * web-platform-tests/css/css-scoping/keyframes-004.html: Added.
1420
        * web-platform-tests/css/css-scoping/keyframes-005-expected.txt: Added.
1421
        * web-platform-tests/css/css-scoping/keyframes-005.html: Added.
1422
        * web-platform-tests/css/css-scoping/keyframes-006-expected.txt: Added.
1423
        * web-platform-tests/css/css-scoping/keyframes-006.html: Added.
1424
        * web-platform-tests/css/css-scoping/reslot-text-inheritance-expected.html: Added.
1425
        * web-platform-tests/css/css-scoping/reslot-text-inheritance.html: Added.
1426
        * web-platform-tests/css/css-scoping/resources/w3c-import.log:
1427
        * web-platform-tests/css/css-scoping/shadow-directionality-001.tentative-expected.html: Added.
1428
        * web-platform-tests/css/css-scoping/shadow-directionality-001.tentative.html: Added.
1429
        * web-platform-tests/css/css-scoping/shadow-directionality-002.tentative-expected.html: Added.
1430
        * web-platform-tests/css/css-scoping/shadow-directionality-002.tentative.html: Added.
1431
        * web-platform-tests/css/css-scoping/shadow-host-removal-invalidation-expected.txt: Added.
1432
        * web-platform-tests/css/css-scoping/shadow-host-removal-invalidation.html: Added.
1433
        * web-platform-tests/css/css-scoping/shadow-link-rel-stylesheet-expected.html: Added.
1434
        * web-platform-tests/css/css-scoping/shadow-link-rel-stylesheet-no-style-leak-expected.html: Added.
1435
        * web-platform-tests/css/css-scoping/shadow-link-rel-stylesheet-no-style-leak.html: Added.
1436
        * web-platform-tests/css/css-scoping/shadow-link-rel-stylesheet.html: Added.
1437
        * web-platform-tests/css/css-scoping/shadow-multiple-links-expected.txt: Added.
1438
        * web-platform-tests/css/css-scoping/shadow-multiple-links.html: Added.
1439
        * web-platform-tests/css/css-scoping/shadow-reassign-dynamic-002-expected.html: Added.
1440
        * web-platform-tests/css/css-scoping/shadow-reassign-dynamic-002.html: Added.
1441
        * web-platform-tests/css/css-scoping/shadow-reassign-dynamic-003-expected.txt: Added.
1442
        * web-platform-tests/css/css-scoping/shadow-reassign-dynamic-003.html: Added.
1443
        * web-platform-tests/css/css-scoping/shadow-reassign-dynamic-004-expected.html: Added.
1444
        * web-platform-tests/css/css-scoping/shadow-reassign-dynamic-004.html: Added.
1445
        * web-platform-tests/css/css-scoping/slot-non-html-display-value-expected.txt: Added.
1446
        * web-platform-tests/css/css-scoping/slot-non-html-display-value.html: Added.
1447
        * web-platform-tests/css/css-scoping/slotted-matches-expected.txt: Added.
1448
        * web-platform-tests/css/css-scoping/slotted-matches.html: Added.
1449
        * web-platform-tests/css/css-scoping/slotted-nested-expected.txt: Added.
1450
        * web-platform-tests/css/css-scoping/slotted-nested.html: Added.
1451
        * web-platform-tests/css/css-scoping/slotted-parsing-expected.txt:
1452
        * web-platform-tests/css/css-scoping/slotted-parsing.html:
1453
        * web-platform-tests/css/css-scoping/slotted-placeholder-expected.html: Added.
1454
        * web-platform-tests/css/css-scoping/slotted-placeholder.html: Added.
1455
        * web-platform-tests/css/css-scoping/slotted-specificity-expected.html: Added.
1456
        * web-platform-tests/css/css-scoping/slotted-specificity.html: Added.
1457
        * web-platform-tests/css/css-scoping/slotted-with-pseudo-element-expected.html:
1458
        * web-platform-tests/css/css-scoping/slotted-with-pseudo-element.html:
1459
        * web-platform-tests/css/css-scoping/w3c-import.log:
1460
        * web-platform-tests/css/css-scoping/whitespace-crash-001-expected.html: Added.
1461
        * web-platform-tests/css/css-scoping/whitespace-crash-001.html: Added.
1462
        * web-platform-tests/css/css-shadow-parts/exportparts-multiple-expected.txt: Added.
1463
        * web-platform-tests/css/css-shadow-parts/exportparts-multiple.html: Added.
1464
        * web-platform-tests/css/css-shadow-parts/host-part-001-expected.txt: Added.
1465
        * web-platform-tests/css/css-shadow-parts/host-part-001.html: Added.
1466
        * web-platform-tests/css/css-shadow-parts/idlharness-expected.txt: Added.
1467
        * web-platform-tests/css/css-shadow-parts/idlharness.html: Added.
1468
        * web-platform-tests/css/css-shadow-parts/serialization-expected.txt: Added.
1469
        * web-platform-tests/css/css-shadow-parts/serialization.html: Added.
1470
        * web-platform-tests/css/css-shadow-parts/simple-important-expected.txt: Added.
1471
        * web-platform-tests/css/css-shadow-parts/simple-important-important-expected.txt: Added.
1472
        * web-platform-tests/css/css-shadow-parts/simple-important-important.html: Added.
1473
        * web-platform-tests/css/css-shadow-parts/simple-important-inline-expected.txt: Added.
1474
        * web-platform-tests/css/css-shadow-parts/simple-important-inline.html: Added.
1475
        * web-platform-tests/css/css-shadow-parts/simple-important.html: Added.
1476
        * web-platform-tests/css/css-shadow-parts/style-sharing-expected.txt: Added.
1477
        * web-platform-tests/css/css-shadow-parts/style-sharing.html: Added.
1478
        * web-platform-tests/css/css-shadow-parts/w3c-import.log:
1479
        * web-platform-tests/css/css-shapes/animation/shape-margin-composition-expected.txt: Added.
1480
        * web-platform-tests/css/css-shapes/animation/shape-margin-composition.html: Added.
1481
        * web-platform-tests/css/css-shapes/animation/shape-outside-composition-expected.txt: Added.
1482
        * web-platform-tests/css/css-shapes/animation/shape-outside-composition.html: Added.
1483
        * web-platform-tests/css/css-shapes/animation/w3c-import.log:
1484
        * web-platform-tests/css/css-shapes/parsing/resources/parsing-testcommon.js: Removed.
1485
        * web-platform-tests/css/css-shapes/parsing/resources/w3c-import.log: Removed.
1486
        * web-platform-tests/css/css-shapes/parsing/shape-outside-valid-expected.txt:
1487
        * web-platform-tests/css/css-shapes/parsing/shape-outside-valid.html:
1488
        * web-platform-tests/css/css-shapes/shape-outside/formatting-context/shape-outside-formatting-context.tentative-expected.html:
1489
        * web-platform-tests/css/css-shapes/shape-outside/shape-image/gradients/shape-outside-linear-gradient-011.html:
1490
        * web-platform-tests/css/css-shapes/shape-outside/shape-image/gradients/shape-outside-linear-gradient-012.html:
1491
        * web-platform-tests/css/css-shapes/shape-outside/shape-image/gradients/shape-outside-linear-gradient-013.html:
1492
        * web-platform-tests/css/css-shapes/shape-outside/shape-image/gradients/shape-outside-linear-gradient-014.html:
1493
        * web-platform-tests/css/css-shapes/shape-outside/shape-image/gradients/shape-outside-linear-gradient-015.html:
1494
        * web-platform-tests/css/css-shapes/shape-outside/shape-image/gradients/shape-outside-linear-gradient-016.html:
1495
        * web-platform-tests/css/css-shapes/shape-outside/shape-image/shape-image-000-expected.html:
1496
        * web-platform-tests/css/css-shapes/shape-outside/shape-image/shape-image-001-expected.html:
1497
        * web-platform-tests/css/css-shapes/shape-outside/shape-image/shape-image-004-expected.html:
1498
        * web-platform-tests/css/css-shapes/shape-outside/shape-image/shape-image-006-expected.html:
1499
        * web-platform-tests/css/css-shapes/shape-outside/shape-image/shape-image-009-expected.html:
1500
        * web-platform-tests/css/css-shapes/shape-outside/shape-image/shape-image-010-expected.html:
1501
        * web-platform-tests/css/css-shapes/shape-outside/shape-image/shape-image-012-expected.html:
1502
        * web-platform-tests/css/css-shapes/shape-outside/shape-image/shape-image-013-expected.html:
1503
        * web-platform-tests/css/css-shapes/shape-outside/shape-image/shape-image-015-expected.html:
1504
        * web-platform-tests/css/css-shapes/shape-outside/shape-image/shape-image-016-expected.html:
1505
        * web-platform-tests/css/css-shapes/shape-outside/shape-image/shape-image-018-expected.html:
1506
        * web-platform-tests/css/css-shapes/shape-outside/shape-image/shape-image-021-expected.html:
1507
        * web-platform-tests/css/css-shapes/shape-outside/shape-image/shape-image-022-expected.html:
1508
        * web-platform-tests/css/css-shapes/shape-outside/shape-image/shape-image-024.html:
1509
        * web-platform-tests/css/css-shapes/shape-outside/shape-image/shape-image-026-expected.html:
1510
        * web-platform-tests/css/css-shapes/shape-outside/shape-image/shape-image-027-expected.html:
1511
        * web-platform-tests/css/css-shapes/shape-outside/supported-shapes/circle/shape-outside-circle-030-expected.html:
1512
        * web-platform-tests/css/css-shapes/shape-outside/supported-shapes/circle/shape-outside-circle-031-expected.html:
1513
        * web-platform-tests/css/css-shapes/shape-outside/supported-shapes/ellipse/shape-outside-ellipse-030-expected.html:
1514
        * web-platform-tests/css/css-shapes/shape-outside/supported-shapes/ellipse/shape-outside-ellipse-031-expected.html:
1515
        * web-platform-tests/css/css-shapes/shape-outside/supported-shapes/inset/shape-outside-inset-refcrash-expected.html: Copied from LayoutTests/imported/w3c/web-platform-tests/css/css-shapes/shape-outside/supported-shapes/inset/shape-outside-inset-crash-expected.html.
1516
        * web-platform-tests/css/css-shapes/shape-outside/supported-shapes/inset/shape-outside-inset-refcrash.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/css/css-shapes/shape-outside/supported-shapes/inset/shape-outside-inset-crash.html.
1517
        * web-platform-tests/css/css-shapes/shape-outside/supported-shapes/inset/w3c-import.log:
1518
        * web-platform-tests/css/css-shapes/shape-outside/values/shape-margin-003-expected.txt:
1519
        * web-platform-tests/css/css-shapes/shape-outside/values/shape-outside-circle-010-expected.txt:
1520
        * web-platform-tests/css/css-shapes/shape-outside/values/shape-outside-circle-011-expected.txt:
1521
        * web-platform-tests/css/css-shapes/shape-outside/values/shape-outside-ellipse-010-expected.txt:
1522
        * web-platform-tests/css/css-shapes/shape-outside/values/shape-outside-ellipse-011-expected.txt:
1523
        * web-platform-tests/css/css-shapes/shape-outside/values/shape-outside-inset-008-expected.txt:
1524
        * web-platform-tests/css/css-shapes/shape-outside/values/shape-outside-inset-009-expected.txt:
1525
        * web-platform-tests/css/css-shapes/shape-outside/values/shape-outside-polygon-006-expected.txt:
1526
        * web-platform-tests/css/css-shapes/shape-outside/values/shape-outside-shape-box-pair-000-expected.txt:
1527
        * web-platform-tests/css/css-shapes/shape-outside/values/shape-outside-shape-box-pair-000.html:
1528
        * web-platform-tests/css/css-shapes/shape-outside/values/support/parsing-utils.js:
1529
        * web-platform-tests/css/css-shapes/spec-examples/support/spec-example-utils.js:
1530
        (runTest):
1531
        (approxShapeTest):
1532
        * web-platform-tests/css/css-shapes/support/60x60-red.png: Removed.
1533
        * web-platform-tests/css/css-shapes/support/w3c-import.log:
1534
        * web-platform-tests/css/css-sizing/animation/height-composition-expected.txt: Added.
1535
        * web-platform-tests/css/css-sizing/animation/height-composition.html: Added.
1536
        * web-platform-tests/css/css-sizing/animation/max-height-composition-expected.txt: Added.
1537
        * web-platform-tests/css/css-sizing/animation/max-height-composition.html: Added.
1538
        * web-platform-tests/css/css-sizing/animation/max-width-composition-expected.txt: Added.
1539
        * web-platform-tests/css/css-sizing/animation/max-width-composition.html: Added.
1540
        * web-platform-tests/css/css-sizing/animation/min-height-composition-expected.txt: Added.
1541
        * web-platform-tests/css/css-sizing/animation/min-height-composition.html: Added.
1542
        * web-platform-tests/css/css-sizing/animation/min-width-composition-expected.txt: Added.
1543
        * web-platform-tests/css/css-sizing/animation/min-width-composition.html: Added.
1544
        * web-platform-tests/css/css-sizing/animation/w3c-import.log:
1545
        * web-platform-tests/css/css-sizing/animation/width-composition-expected.txt: Added.
1546
        * web-platform-tests/css/css-sizing/animation/width-composition.html: Added.
1547
        * web-platform-tests/css/css-sizing/aspect-ratio/abspos-001.tentative-expected.xht: Copied from LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/background-size-007-expected.xht.
1548
        * web-platform-tests/css/css-sizing/aspect-ratio/abspos-001.tentative.html: Added.
1549
        * web-platform-tests/css/css-sizing/aspect-ratio/abspos-002.tentative-expected.xht: Copied from LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/background-size-007-expected.xht.
1550
        * web-platform-tests/css/css-sizing/aspect-ratio/abspos-002.tentative.html: Added.
1551
        * web-platform-tests/css/css-sizing/aspect-ratio/abspos-003.tentative-expected.xht: Copied from LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/background-size-007-expected.xht.
1552
        * web-platform-tests/css/css-sizing/aspect-ratio/abspos-003.tentative.html: Added.
1553
        * web-platform-tests/css/css-sizing/aspect-ratio/abspos-004.tentative-expected.xht: Copied from LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/background-size-007-expected.xht.
1554
        * web-platform-tests/css/css-sizing/aspect-ratio/abspos-004.tentative.html: Added.
1555
        * web-platform-tests/css/css-sizing/aspect-ratio/abspos-005.tentative-expected.xht: Copied from LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/background-size-007-expected.xht.
1556
        * web-platform-tests/css/css-sizing/aspect-ratio/abspos-005.tentative.html: Added.
1557
        * web-platform-tests/css/css-sizing/aspect-ratio/abspos-006.tentative-expected.xht: Copied from LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/background-size-007-expected.xht.
1558
        * web-platform-tests/css/css-sizing/aspect-ratio/abspos-006.tentative.html: Added.
1559
        * web-platform-tests/css/css-sizing/aspect-ratio/abspos-007.tentative-expected.xht: Copied from LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/background-size-007-expected.xht.
1560
        * web-platform-tests/css/css-sizing/aspect-ratio/abspos-007.tentative.html: Added.
1561
        * web-platform-tests/css/css-sizing/aspect-ratio/abspos-008.tentative-expected.xht: Copied from LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/background-size-007-expected.xht.
1562
        * web-platform-tests/css/css-sizing/aspect-ratio/abspos-008.tentative.html: Added.
1563
        * web-platform-tests/css/css-sizing/aspect-ratio/auto-margins-001.tentative-expected.xht: Copied from LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/background-size-007-expected.xht.
1564
        * web-platform-tests/css/css-sizing/aspect-ratio/auto-margins-001.tentative.html: Added.
1565
        * web-platform-tests/css/css-sizing/aspect-ratio/block-aspect-ratio-001.tentative-expected.xht: Copied from LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/background-size-007-expected.xht.
1566
        * web-platform-tests/css/css-sizing/aspect-ratio/block-aspect-ratio-001.tentative.html: Added.
1567
        * web-platform-tests/css/css-sizing/aspect-ratio/block-aspect-ratio-002.tentative-expected.xht: Copied from LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/background-size-007-expected.xht.
1568
        * web-platform-tests/css/css-sizing/aspect-ratio/block-aspect-ratio-002.tentative.html: Added.
1569
        * web-platform-tests/css/css-sizing/aspect-ratio/block-aspect-ratio-003.tentative-expected.xht: Copied from LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/background-size-007-expected.xht.
1570
        * web-platform-tests/css/css-sizing/aspect-ratio/block-aspect-ratio-003.tentative.html: Added.
1571
        * web-platform-tests/css/css-sizing/aspect-ratio/block-aspect-ratio-004.tentative-expected.xht: Copied from LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/background-size-007-expected.xht.
1572
        * web-platform-tests/css/css-sizing/aspect-ratio/block-aspect-ratio-004.tentative.html: Added.
1573
        * web-platform-tests/css/css-sizing/aspect-ratio/block-aspect-ratio-005.tentative-expected.xht: Copied from LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/background-size-007-expected.xht.
1574
        * web-platform-tests/css/css-sizing/aspect-ratio/block-aspect-ratio-005.tentative.html: Added.
1575
        * web-platform-tests/css/css-sizing/aspect-ratio/block-aspect-ratio-006.tentative-expected.xht: Copied from LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/background-size-007-expected.xht.
1576
        * web-platform-tests/css/css-sizing/aspect-ratio/block-aspect-ratio-006.tentative.html: Added.
1577
        * web-platform-tests/css/css-sizing/aspect-ratio/block-aspect-ratio-007.tentative-expected.xht: Copied from LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/background-size-007-expected.xht.
1578
        * web-platform-tests/css/css-sizing/aspect-ratio/block-aspect-ratio-007.tentative.html: Added.
1579
        * web-platform-tests/css/css-sizing/aspect-ratio/block-aspect-ratio-008.tentative-expected.xht: Copied from LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/background-size-007-expected.xht.
1580
        * web-platform-tests/css/css-sizing/aspect-ratio/block-aspect-ratio-008.tentative.html: Added.
1581
        * web-platform-tests/css/css-sizing/aspect-ratio/block-aspect-ratio-009.tentative-expected.xht: Copied from LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/background-size-007-expected.xht.
1582
        * web-platform-tests/css/css-sizing/aspect-ratio/block-aspect-ratio-009.tentative.html: Added.
1583
        * web-platform-tests/css/css-sizing/aspect-ratio/block-aspect-ratio-010.tentative-expected.xht: Copied from LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/background-size-007-expected.xht.
1584
        * web-platform-tests/css/css-sizing/aspect-ratio/block-aspect-ratio-010.tentative.html: Added.
1585
        * web-platform-tests/css/css-sizing/aspect-ratio/block-aspect-ratio-011.tentative-expected.html: Added.
1586
        * web-platform-tests/css/css-sizing/aspect-ratio/block-aspect-ratio-011.tentative.html: Added.
1587
        * web-platform-tests/css/css-sizing/aspect-ratio/block-aspect-ratio-012.tentative-expected.html: Added.
1588
        * web-platform-tests/css/css-sizing/aspect-ratio/block-aspect-ratio-012.tentative.html: Added.
1589
        * web-platform-tests/css/css-sizing/aspect-ratio/block-aspect-ratio-013.tentative-expected.xht: Copied from LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/background-size-007-expected.xht.
1590
        * web-platform-tests/css/css-sizing/aspect-ratio/block-aspect-ratio-013.tentative.html: Added.
1591
        * web-platform-tests/css/css-sizing/aspect-ratio/block-aspect-ratio-014.tentative-expected.xht: Copied from LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/background-size-007-expected.xht.
1592
        * web-platform-tests/css/css-sizing/aspect-ratio/block-aspect-ratio-014.tentative.html: Added.
1593
        * web-platform-tests/css/css-sizing/aspect-ratio/block-aspect-ratio-015.tentative-expected.xht: Copied from LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/background-size-007-expected.xht.
1594
        * web-platform-tests/css/css-sizing/aspect-ratio/block-aspect-ratio-015.tentative.html: Added.
1595
        * web-platform-tests/css/css-sizing/aspect-ratio/block-aspect-ratio-016.tentative-expected.xht: Copied from LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/background-size-007-expected.xht.
1596
        * web-platform-tests/css/css-sizing/aspect-ratio/block-aspect-ratio-016.tentative.html: Added.
1597
        * web-platform-tests/css/css-sizing/aspect-ratio/block-aspect-ratio-017.tentative-expected.xht: Copied from LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/background-size-007-expected.xht.
1598
        * web-platform-tests/css/css-sizing/aspect-ratio/block-aspect-ratio-017.tentative.html: Added.
1599
        * web-platform-tests/css/css-sizing/aspect-ratio/block-aspect-ratio-018.tentative-expected.xht: Copied from LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/background-size-007-expected.xht.
1600
        * web-platform-tests/css/css-sizing/aspect-ratio/block-aspect-ratio-018.tentative.html: Added.
1601
        * web-platform-tests/css/css-sizing/aspect-ratio/block-aspect-ratio-019.tentative-expected.xht: Copied from LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/background-size-007-expected.xht.
1602
        * web-platform-tests/css/css-sizing/aspect-ratio/block-aspect-ratio-019.tentative.html: Added.
1603
        * web-platform-tests/css/css-sizing/aspect-ratio/block-aspect-ratio-020.tentative-expected.xht: Copied from LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/background-size-007-expected.xht.
1604
        * web-platform-tests/css/css-sizing/aspect-ratio/block-aspect-ratio-020.tentative.html: Added.
1605
        * web-platform-tests/css/css-sizing/aspect-ratio/flex-aspect-ratio-001.tentative-expected.xht: Copied from LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/background-size-007-expected.xht.
1606
        * web-platform-tests/css/css-sizing/aspect-ratio/flex-aspect-ratio-001.tentative.html: Added.
1607
        * web-platform-tests/css/css-sizing/aspect-ratio/flex-aspect-ratio-002.tentative-expected.xht: Copied from LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/background-size-007-expected.xht.
1608
        * web-platform-tests/css/css-sizing/aspect-ratio/flex-aspect-ratio-002.tentative.html: Added.
1609
        * web-platform-tests/css/css-sizing/aspect-ratio/flex-aspect-ratio-003.tentative-expected.xht: Copied from LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/background-size-007-expected.xht.
1610
        * web-platform-tests/css/css-sizing/aspect-ratio/flex-aspect-ratio-003.tentative.html: Added.
1611
        * web-platform-tests/css/css-sizing/aspect-ratio/flex-aspect-ratio-004.tentative-expected.xht: Copied from LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/background-size-007-expected.xht.
1612
        * web-platform-tests/css/css-sizing/aspect-ratio/flex-aspect-ratio-004.tentative.html: Added.
1613
        * web-platform-tests/css/css-sizing/aspect-ratio/flex-aspect-ratio-005.tentative-expected.xht: Copied from LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/background-size-007-expected.xht.
1614
        * web-platform-tests/css/css-sizing/aspect-ratio/flex-aspect-ratio-005.tentative.html: Added.
1615
        * web-platform-tests/css/css-sizing/aspect-ratio/flex-aspect-ratio-006.tentative-expected.xht: Copied from LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/background-size-007-expected.xht.
1616
        * web-platform-tests/css/css-sizing/aspect-ratio/flex-aspect-ratio-006.tentative.html: Added.
1617
        * web-platform-tests/css/css-sizing/aspect-ratio/flex-aspect-ratio-007.tentative-expected.xht: Copied from LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/background-size-007-expected.xht.
1618
        * web-platform-tests/css/css-sizing/aspect-ratio/flex-aspect-ratio-007.tentative.html: Added.
1619
        * web-platform-tests/css/css-sizing/aspect-ratio/flex-aspect-ratio-008.tentative-expected.xht: Copied from LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/background-size-007-expected.xht.
1620
        * web-platform-tests/css/css-sizing/aspect-ratio/flex-aspect-ratio-008.tentative.html: Added.
1621
        * web-platform-tests/css/css-sizing/aspect-ratio/flex-aspect-ratio-009.tentative-expected.xht: Copied from LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/background-size-007-expected.xht.
1622
        * web-platform-tests/css/css-sizing/aspect-ratio/flex-aspect-ratio-009.tentative.html: Added.
1623
        * web-platform-tests/css/css-sizing/aspect-ratio/flex-aspect-ratio-010.tentative-expected.xht: Copied from LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/background-size-007-expected.xht.
1624
        * web-platform-tests/css/css-sizing/aspect-ratio/flex-aspect-ratio-010.tentative.html: Added.
1625
        * web-platform-tests/css/css-sizing/aspect-ratio/intrinsic-size-001.tentative-expected.xht: Copied from LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/background-size-007-expected.xht.
1626
        * web-platform-tests/css/css-sizing/aspect-ratio/intrinsic-size-001.tentative.html: Added.
1627
        * web-platform-tests/css/css-sizing/aspect-ratio/intrinsic-size-002.tentative-expected.xht: Copied from LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/background-size-007-expected.xht.
1628
        * web-platform-tests/css/css-sizing/aspect-ratio/intrinsic-size-002.tentative.html: Added.
1629
        * web-platform-tests/css/css-sizing/aspect-ratio/intrinsic-size-003.tentative-expected.xht: Copied from LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/background-size-007-expected.xht.
1630
        * web-platform-tests/css/css-sizing/aspect-ratio/intrinsic-size-003.tentative.html: Added.
1631
        * web-platform-tests/css/css-sizing/aspect-ratio/intrinsic-size-004.tentative-expected.xht: Copied from LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/background-size-007-expected.xht.
1632
        * web-platform-tests/css/css-sizing/aspect-ratio/intrinsic-size-004.tentative.html: Added.
1633
        * web-platform-tests/css/css-sizing/aspect-ratio/intrinsic-size-005.tentative-expected.xht: Copied from LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/background-size-007-expected.xht.
1634
        * web-platform-tests/css/css-sizing/aspect-ratio/intrinsic-size-005.tentative.html: Added.
1635
        * web-platform-tests/css/css-sizing/aspect-ratio/intrinsic-size-006.tentative-expected.xht: Copied from LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/background-size-007-expected.xht.
1636
        * web-platform-tests/css/css-sizing/aspect-ratio/intrinsic-size-006.tentative.html: Added.
1637
        * web-platform-tests/css/css-sizing/aspect-ratio/intrinsic-size-007.tentative-expected.xht: Copied from LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/background-size-007-expected.xht.
1638
        * web-platform-tests/css/css-sizing/aspect-ratio/intrinsic-size-007.tentative.html: Added.
1639
        * web-platform-tests/css/css-sizing/aspect-ratio/intrinsic-size-008.tentative-expected.xht: Copied from LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/background-size-007-expected.xht.
1640
        * web-platform-tests/css/css-sizing/aspect-ratio/intrinsic-size-008.tentative.html: Added.
1641
        * web-platform-tests/css/css-sizing/aspect-ratio/parsing/contain-intrinsic-size-computed-expected.txt: Added.
1642
        * web-platform-tests/css/css-sizing/aspect-ratio/parsing/contain-intrinsic-size-computed.html: Added.
1643
        * web-platform-tests/css/css-sizing/aspect-ratio/parsing/contain-intrinsic-size-invalid-expected.txt: Added.
1644
        * web-platform-tests/css/css-sizing/aspect-ratio/parsing/contain-intrinsic-size-invalid.html: Added.
1645
        * web-platform-tests/css/css-sizing/aspect-ratio/parsing/contain-intrinsic-size-valid-expected.txt: Added.
1646
        * web-platform-tests/css/css-sizing/aspect-ratio/parsing/contain-intrinsic-size-valid.html: Added.
1647
        * web-platform-tests/css/css-sizing/aspect-ratio/parsing/w3c-import.log: Copied from LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/resources/w3c-import.log.
1648
        * web-platform-tests/css/css-sizing/aspect-ratio/percentage-resolution-001.tentative-expected.xht: Copied from LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/background-size-007-expected.xht.
1649
        * web-platform-tests/css/css-sizing/aspect-ratio/percentage-resolution-001.tentative.html: Added.
1650
        * web-platform-tests/css/css-sizing/aspect-ratio/percentage-resolution-002.tentative-expected.xht: Copied from LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/background-size-007-expected.xht.
1651
        * web-platform-tests/css/css-sizing/aspect-ratio/percentage-resolution-002.tentative.html: Added.
1652
        * web-platform-tests/css/css-sizing/aspect-ratio/percentage-resolution-003.tentative-expected.xht: Copied from LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/background-size-007-expected.xht.
1653
        * web-platform-tests/css/css-sizing/aspect-ratio/percentage-resolution-003.tentative.html: Added.
1654
        * web-platform-tests/css/css-sizing/aspect-ratio/percentage-resolution-004.tentative-expected.xht: Copied from LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/background-size-007-expected.xht.
1655
        * web-platform-tests/css/css-sizing/aspect-ratio/percentage-resolution-004.tentative.html: Added.
1656
        * web-platform-tests/css/css-sizing/aspect-ratio/quirks-mode-001.tentative-expected.txt: Added.
1657
        * web-platform-tests/css/css-sizing/aspect-ratio/quirks-mode-001.tentative.html: Added.
1658
        * web-platform-tests/css/css-sizing/aspect-ratio/quirks-mode-002.tentative-expected.txt: Added.
1659
        * web-platform-tests/css/css-sizing/aspect-ratio/quirks-mode-002.tentative.html: Added.
1660
        * web-platform-tests/css/css-sizing/aspect-ratio/quirks-mode-003.tentative-expected.txt: Added.
1661
        * web-platform-tests/css/css-sizing/aspect-ratio/quirks-mode-003.tentative.html: Added.
1662
        * web-platform-tests/css/css-sizing/aspect-ratio/replaced-element-001.tentative-expected.xht: Copied from LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/background-size-007-expected.xht.
1663
        * web-platform-tests/css/css-sizing/aspect-ratio/replaced-element-001.tentative.html: Added.
1664
        * web-platform-tests/css/css-sizing/aspect-ratio/replaced-element-002.tentative-expected.xht: Copied from LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/background-size-007-expected.xht.
1665
        * web-platform-tests/css/css-sizing/aspect-ratio/replaced-element-002.tentative.html: Added.
1666
        * web-platform-tests/css/css-sizing/aspect-ratio/replaced-element-003.tentative-expected.xht: Copied from LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/background-size-007-expected.xht.
1667
        * web-platform-tests/css/css-sizing/aspect-ratio/replaced-element-003.tentative.html: Added.
1668
        * web-platform-tests/css/css-sizing/aspect-ratio/replaced-element-004.tentative-expected.xht: Copied from LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/background-size-007-expected.xht.
1669
        * web-platform-tests/css/css-sizing/aspect-ratio/replaced-element-004.tentative.html: Added.
1670
        * web-platform-tests/css/css-sizing/aspect-ratio/replaced-element-005.tentative-expected.xht: Copied from LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/background-size-007-expected.xht.
1671
        * web-platform-tests/css/css-sizing/aspect-ratio/replaced-element-005.tentative.html: Added.
1672
        * web-platform-tests/css/css-sizing/aspect-ratio/replaced-element-006.tentative-expected.xht: Copied from LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/background-size-007-expected.xht.
1673
        * web-platform-tests/css/css-sizing/aspect-ratio/replaced-element-006.tentative.html: Added.
1674
        * web-platform-tests/css/css-sizing/aspect-ratio/replaced-element-007.tentative-expected.xht: Copied from LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/background-size-007-expected.xht.
1675
        * web-platform-tests/css/css-sizing/aspect-ratio/replaced-element-007.tentative.html: Added.
1676
        * web-platform-tests/css/css-sizing/aspect-ratio/replaced-element-008.tentative-expected.xht: Copied from LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/background-size-007-expected.xht.
1677
        * web-platform-tests/css/css-sizing/aspect-ratio/replaced-element-008.tentative.html: Added.
1678
        * web-platform-tests/css/css-sizing/aspect-ratio/replaced-element-009.tentative-expected.xht: Copied from LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/background-size-007-expected.xht.
1679
        * web-platform-tests/css/css-sizing/aspect-ratio/replaced-element-009.tentative.html: Added.
1680
        * web-platform-tests/css/css-sizing/aspect-ratio/replaced-element-010.tentative-expected.xht: Copied from LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/background-size-007-expected.xht.
1681
        * web-platform-tests/css/css-sizing/aspect-ratio/replaced-element-010.tentative.html: Added.
1682
        * web-platform-tests/css/css-sizing/aspect-ratio/replaced-element-011.tentative-expected.xht: Copied from LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/background-size-007-expected.xht.
1683
        * web-platform-tests/css/css-sizing/aspect-ratio/replaced-element-011.tentative.html: Added.
1684
        * web-platform-tests/css/css-sizing/aspect-ratio/replaced-element-012.tentative-expected.xht: Copied from LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/background-size-007-expected.xht.
1685
        * web-platform-tests/css/css-sizing/aspect-ratio/replaced-element-012.tentative.html: Added.
1686
        * web-platform-tests/css/css-sizing/aspect-ratio/support/20x50-green.png: Added.
1687
        * web-platform-tests/css/css-sizing/aspect-ratio/support/2x2-green.ogv: Added.
1688
        * web-platform-tests/css/css-sizing/aspect-ratio/support/w3c-import.log: Copied from LayoutTests/imported/w3c/web-platform-tests/css/css-lists/resources/w3c-import.log.
1689
        * web-platform-tests/css/css-sizing/aspect-ratio/w3c-import.log: Added.
1690
        * web-platform-tests/css/css-sizing/canvas-intrinsic-dynamic-expected.html: Copied from LayoutTests/imported/w3c/web-platform-tests/css/css-shapes/shape-outside/supported-shapes/inset/shape-outside-inset-crash-expected.html.
1691
        * web-platform-tests/css/css-sizing/canvas-intrinsic-dynamic.html: Added.
1692
        * web-platform-tests/css/css-sizing/clone-intrinsic-size-expected.html:
1693
        * web-platform-tests/css/css-sizing/clone-intrinsic-size.html:
1694
        * web-platform-tests/css/css-sizing/clone-nowrap-intrinsic-size-bidi-expected.html:
1695
        * web-platform-tests/css/css-sizing/clone-nowrap-intrinsic-size-bidi.html:
1696
        * web-platform-tests/css/css-sizing/clone-nowrap-intrinsic-size-expected.html:
1697
        * web-platform-tests/css/css-sizing/clone-nowrap-intrinsic-size.html:
1698
        * web-platform-tests/css/css-sizing/contain-intrinsic-size/animation/contain-intrinsic-size-interpolation-expected.txt: Added.
1699
        * web-platform-tests/css/css-sizing/contain-intrinsic-size/animation/contain-intrinsic-size-interpolation.html: Added.
1700
        * web-platform-tests/css/css-sizing/contain-intrinsic-size/animation/w3c-import.log: Copied from LayoutTests/imported/w3c/web-platform-tests/css/css-lists/resources/w3c-import.log.
1701
        * web-platform-tests/css/css-sizing/contain-intrinsic-size/contain-intrinsic-size-001-expected.html: Added.
1702
        * web-platform-tests/css/css-sizing/contain-intrinsic-size/contain-intrinsic-size-001.html: Added.
1703
        * web-platform-tests/css/css-sizing/contain-intrinsic-size/contain-intrinsic-size-002-expected.html: Added.
1704
        * web-platform-tests/css/css-sizing/contain-intrinsic-size/contain-intrinsic-size-002.html: Added.
1705
        * web-platform-tests/css/css-sizing/contain-intrinsic-size/contain-intrinsic-size-003-expected.html: Added.
1706
        * web-platform-tests/css/css-sizing/contain-intrinsic-size/contain-intrinsic-size-003.html: Added.
1707
        * web-platform-tests/css/css-sizing/contain-intrinsic-size/contain-intrinsic-size-004-expected.html: Added.
1708
        * web-platform-tests/css/css-sizing/contain-intrinsic-size/contain-intrinsic-size-004.html: Added.
1709
        * web-platform-tests/css/css-sizing/contain-intrinsic-size/contain-intrinsic-size-005-expected.html: Added.
1710
        * web-platform-tests/css/css-sizing/contain-intrinsic-size/contain-intrinsic-size-005.html: Added.
1711
        * web-platform-tests/css/css-sizing/contain-intrinsic-size/contain-intrinsic-size-006-expected.html: Added.
1712
        * web-platform-tests/css/css-sizing/contain-intrinsic-size/contain-intrinsic-size-006.html: Added.
1713
        * web-platform-tests/css/css-sizing/contain-intrinsic-size/contain-intrinsic-size-007-expected.html: Added.
1714
        * web-platform-tests/css/css-sizing/contain-intrinsic-size/contain-intrinsic-size-007.html: Added.
1715
        * web-platform-tests/css/css-sizing/contain-intrinsic-size/contain-intrinsic-size-008-expected.html: Added.
1716
        * web-platform-tests/css/css-sizing/contain-intrinsic-size/contain-intrinsic-size-008.html: Added.
1717
        * web-platform-tests/css/css-sizing/contain-intrinsic-size/contain-intrinsic-size-009-expected.html: Added.
1718
        * web-platform-tests/css/css-sizing/contain-intrinsic-size/contain-intrinsic-size-009.html: Added.
1719
        * web-platform-tests/css/css-sizing/contain-intrinsic-size/contain-intrinsic-size-010-expected.html: Added.
1720
        * web-platform-tests/css/css-sizing/contain-intrinsic-size/contain-intrinsic-size-010.html: Added.
1721
        * web-platform-tests/css/css-sizing/contain-intrinsic-size/contain-intrinsic-size-011-expected.html: Added.
1722
        * web-platform-tests/css/css-sizing/contain-intrinsic-size/contain-intrinsic-size-011.html: Added.
1723
        * web-platform-tests/css/css-sizing/contain-intrinsic-size/contain-intrinsic-size-012-expected.html: Added.
1724
        * web-platform-tests/css/css-sizing/contain-intrinsic-size/contain-intrinsic-size-012.html: Added.
1725
        * web-platform-tests/css/css-sizing/contain-intrinsic-size/contain-intrinsic-size-013-expected.html: Added.
1726
        * web-platform-tests/css/css-sizing/contain-intrinsic-size/contain-intrinsic-size-013.html: Added.
1727
        * web-platform-tests/css/css-sizing/contain-intrinsic-size/contain-intrinsic-size-014-expected.html: Added.
1728
        * web-platform-tests/css/css-sizing/contain-intrinsic-size/contain-intrinsic-size-014.html: Added.
1729
        * web-platform-tests/css/css-sizing/contain-intrinsic-size/contain-intrinsic-size-015-expected.html: Added.
1730
        * web-platform-tests/css/css-sizing/contain-intrinsic-size/contain-intrinsic-size-015.html: Added.
1731
        * web-platform-tests/css/css-sizing/contain-intrinsic-size/contain-intrinsic-size-016-expected.html: Added.
1732
        * web-platform-tests/css/css-sizing/contain-intrinsic-size/contain-intrinsic-size-016.html: Added.
1733
        * web-platform-tests/css/css-sizing/contain-intrinsic-size/contain-intrinsic-size-017-expected.html: Added.
1734
        * web-platform-tests/css/css-sizing/contain-intrinsic-size/contain-intrinsic-size-017.html: Added.
1735
        * web-platform-tests/css/css-sizing/contain-intrinsic-size/contain-intrinsic-size-018-expected.html: Added.
1736
        * web-platform-tests/css/css-sizing/contain-intrinsic-size/contain-intrinsic-size-018.html: Added.
1737
        * web-platform-tests/css/css-sizing/contain-intrinsic-size/contain-intrinsic-size-019-expected.html: Added.
1738
        * web-platform-tests/css/css-sizing/contain-intrinsic-size/contain-intrinsic-size-019.html: Added.
1739
        * web-platform-tests/css/css-sizing/contain-intrinsic-size/contain-intrinsic-size-020-expected.html: Added.
1740
        * web-platform-tests/css/css-sizing/contain-intrinsic-size/contain-intrinsic-size-020.html: Added.
1741
        * web-platform-tests/css/css-sizing/contain-intrinsic-size/contain-intrinsic-size-021-expected.html: Added.
1742
        * web-platform-tests/css/css-sizing/contain-intrinsic-size/contain-intrinsic-size-021.html: Added.
1743
        * web-platform-tests/css/css-sizing/contain-intrinsic-size/contain-intrinsic-size-022-expected.html: Added.
1744
        * web-platform-tests/css/css-sizing/contain-intrinsic-size/contain-intrinsic-size-022.html: Added.
1745
        * web-platform-tests/css/css-sizing/contain-intrinsic-size/contain-intrinsic-size-023-expected.html: Added.
1746
        * web-platform-tests/css/css-sizing/contain-intrinsic-size/contain-intrinsic-size-023.html: Added.
1747
        * web-platform-tests/css/css-sizing/contain-intrinsic-size/contain-intrinsic-size-024-expected.html: Added.
1748
        * web-platform-tests/css/css-sizing/contain-intrinsic-size/contain-intrinsic-size-024.html: Added.
1749
        * web-platform-tests/css/css-sizing/contain-intrinsic-size/contain-intrinsic-size-025-expected.html: Added.
1750
        * web-platform-tests/css/css-sizing/contain-intrinsic-size/contain-intrinsic-size-025.html: Added.
1751
        * web-platform-tests/css/css-sizing/contain-intrinsic-size/contain-intrinsic-size-026-expected.html: Added.
1752
        * web-platform-tests/css/css-sizing/contain-intrinsic-size/contain-intrinsic-size-026.html: Added.
1753
        * web-platform-tests/css/css-sizing/contain-intrinsic-size/parsing/contain-intrinsic-size-computed-expected.txt: Added.
1754
        * web-platform-tests/css/css-sizing/contain-intrinsic-size/parsing/contain-intrinsic-size-computed.html: Added.
1755
        * web-platform-tests/css/css-sizing/contain-intrinsic-size/parsing/contain-intrinsic-size-invalid-expected.txt: Added.
1756
        * web-platform-tests/css/css-sizing/contain-intrinsic-size/parsing/contain-intrinsic-size-invalid.html: Added.
1757
        * web-platform-tests/css/css-sizing/contain-intrinsic-size/parsing/contain-intrinsic-size-valid-expected.txt: Added.
1758
        * web-platform-tests/css/css-sizing/contain-intrinsic-size/parsing/contain-intrinsic-size-valid.html: Added.
1759
        * web-platform-tests/css/css-sizing/contain-intrinsic-size/parsing/w3c-import.log: Copied from LayoutTests/imported/w3c/web-platform-tests/css/css-lists/parsing/w3c-import.log.
1760
        * web-platform-tests/css/css-sizing/contain-intrinsic-size/resources/dice.png: Added.
1761
        * web-platform-tests/css/css-sizing/contain-intrinsic-size/resources/w3c-import.log: Copied from LayoutTests/imported/w3c/web-platform-tests/css/css-position/resources/w3c-import.log.
1762
        * web-platform-tests/css/css-sizing/contain-intrinsic-size/w3c-import.log: Added.
1763
        * web-platform-tests/css/css-sizing/frameset-intrinsic-crash-expected.txt: Added.
1764
        * web-platform-tests/css/css-sizing/frameset-intrinsic-crash.html: Added.
1765
        * web-platform-tests/css/css-sizing/image-fractional-height-with-wide-aspect-ratio-expected.html: Copied from LayoutTests/imported/w3c/web-platform-tests/css/css-shapes/shape-outside/supported-shapes/inset/shape-outside-inset-crash-expected.html.
1766
        * web-platform-tests/css/css-sizing/image-fractional-height-with-wide-aspect-ratio.html: Added.
1767
        * web-platform-tests/css/css-sizing/intrinsic-percent-replaced-007-expected.html: Copied from LayoutTests/imported/w3c/web-platform-tests/css/css-shapes/shape-outside/supported-shapes/inset/shape-outside-inset-crash-expected.html.
1768
        * web-platform-tests/css/css-sizing/intrinsic-percent-replaced-007.html: Added.
1769
        * web-platform-tests/css/css-sizing/intrinsic-percent-replaced-008-expected.html: Copied from LayoutTests/imported/w3c/web-platform-tests/css/css-shapes/shape-outside/supported-shapes/inset/shape-outside-inset-crash-expected.html.
1770
        * web-platform-tests/css/css-sizing/intrinsic-percent-replaced-008.html: Added.
1771
        * web-platform-tests/css/css-sizing/intrinsic-percent-replaced-dynamic-001-expected.html: Copied from LayoutTests/imported/w3c/web-platform-tests/css/css-shapes/shape-outside/supported-shapes/inset/shape-outside-inset-crash-expected.html.
1772
        * web-platform-tests/css/css-sizing/intrinsic-percent-replaced-dynamic-001.html: Added.
1773
        * web-platform-tests/css/css-sizing/intrinsic-percent-replaced-dynamic-002-expected.html: Copied from LayoutTests/imported/w3c/web-platform-tests/css/css-shapes/shape-outside/supported-shapes/inset/shape-outside-inset-crash-expected.html.
1774
        * web-platform-tests/css/css-sizing/intrinsic-percent-replaced-dynamic-002.html: Added.
1775
        * web-platform-tests/css/css-sizing/intrinsic-percent-replaced-dynamic-003-expected.html: Copied from LayoutTests/imported/w3c/web-platform-tests/css/css-shapes/shape-outside/supported-shapes/inset/shape-outside-inset-crash-expected.html.
1776
        * web-platform-tests/css/css-sizing/intrinsic-percent-replaced-dynamic-003.html: Added.
1777
        * web-platform-tests/css/css-sizing/intrinsic-percent-replaced-dynamic-004-expected.html: Copied from LayoutTests/imported/w3c/web-platform-tests/css/css-shapes/shape-outside/supported-shapes/inset/shape-outside-inset-crash-expected.html.
1778
        * web-platform-tests/css/css-sizing/intrinsic-percent-replaced-dynamic-004.html: Added.
1779
        * web-platform-tests/css/css-sizing/intrinsic-percent-replaced-dynamic-005-expected.html: Copied from LayoutTests/imported/w3c/web-platform-tests/css/css-shapes/shape-outside/supported-shapes/inset/shape-outside-inset-crash-expected.html.
1780
        * web-platform-tests/css/css-sizing/intrinsic-percent-replaced-dynamic-005.html: Added.
1781
        * web-platform-tests/css/css-sizing/intrinsic-percent-replaced-dynamic-006-expected.html: Copied from LayoutTests/imported/w3c/web-platform-tests/css/css-shapes/shape-outside/supported-shapes/inset/shape-outside-inset-crash-expected.html.
1782
        * web-platform-tests/css/css-sizing/intrinsic-percent-replaced-dynamic-006.html: Added.
1783
        * web-platform-tests/css/css-sizing/intrinsic-percent-replaced-dynamic-007-expected.html: Copied from LayoutTests/imported/w3c/web-platform-tests/css/css-shapes/shape-outside/supported-shapes/inset/shape-outside-inset-crash-expected.html.
1784
        * web-platform-tests/css/css-sizing/intrinsic-percent-replaced-dynamic-007.html: Added.
1785
        * web-platform-tests/css/css-sizing/intrinsic-percent-replaced-dynamic-008-expected.html: Copied from LayoutTests/imported/w3c/web-platform-tests/css/css-shapes/shape-outside/supported-shapes/inset/shape-outside-inset-crash-expected.html.
1786
        * web-platform-tests/css/css-sizing/intrinsic-percent-replaced-dynamic-008.html: Added.
1787
        * web-platform-tests/css/css-sizing/intrinsic-percent-replaced-dynamic-009-expected.html: Copied from LayoutTests/imported/w3c/web-platform-tests/css/css-shapes/shape-outside/supported-shapes/inset/shape-outside-inset-crash-expected.html.
1788
        * web-platform-tests/css/css-sizing/intrinsic-percent-replaced-dynamic-009.html: Added.
1789
        * web-platform-tests/css/css-sizing/intrinsic-percent-replaced-dynamic-010-expected.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/css/css-shapes/shape-outside/supported-shapes/inset/shape-outside-inset-crash-expected.html.
1790
        * web-platform-tests/css/css-sizing/intrinsic-percent-replaced-dynamic-010.html: Added.
1791
        * web-platform-tests/css/css-sizing/min-content-negative-margin-crash-expected.txt: Added.
1792
        * web-platform-tests/css/css-sizing/min-content-negative-margin-crash.html: Added.
1793
        * web-platform-tests/css/css-sizing/ortho-writing-mode-001-expected.xht: Copied from LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/background-size-007-expected.xht.
1794
        * web-platform-tests/css/css-sizing/ortho-writing-mode-001.html: Added.
1795
        * web-platform-tests/css/css-sizing/parsing/min-height-invalid-expected.txt:
1796
        * web-platform-tests/css/css-sizing/parsing/min-height-invalid.html:
1797
        * web-platform-tests/css/css-sizing/parsing/min-width-invalid-expected.txt:
1798
        * web-platform-tests/css/css-sizing/parsing/min-width-invalid.html:
1799
        * web-platform-tests/css/css-sizing/percentage-height-in-flexbox-expected.txt:
1800
        * web-platform-tests/css/css-sizing/percentage-height-replaced-content-in-auto-cb-expected.txt:
1801
        * web-platform-tests/css/css-sizing/replaced-fractional-height-from-aspect-ratio-expected.txt: Added.
1802
        * web-platform-tests/css/css-sizing/replaced-fractional-height-from-aspect-ratio.html: Added.
1803
        * web-platform-tests/css/css-sizing/slice-intrinsic-size.html:
1804
        * web-platform-tests/css/css-sizing/slice-nowrap-intrinsic-size.html:
1805
        * web-platform-tests/css/css-sizing/thin-element-render-expected.html: Added.
1806
        * web-platform-tests/css/css-sizing/thin-element-render.html: Added.
1807
        * web-platform-tests/css/css-sizing/w3c-import.log:
1808
        * web-platform-tests/css/css-syntax/escaped-eof.html:
1809
        * web-platform-tests/css/css-text-decor/line-through-vertical.html:
1810
        * web-platform-tests/css/css-text-decor/parsing/text-decoration-computed.html:
1811
        * web-platform-tests/css/css-text-decor/parsing/text-decoration-shorthand-expected.txt:
1812
        * web-platform-tests/css/css-text-decor/parsing/text-decoration-shorthand.html:
1813
        * web-platform-tests/css/css-text-decor/parsing/text-decoration-valid.html:
1814
        * web-platform-tests/css/css-text-decor/parsing/text-underline-position-computed-expected.txt:
1815
        * web-platform-tests/css/css-text-decor/parsing/text-underline-position-computed.html:
1816
        * web-platform-tests/css/css-text-decor/parsing/text-underline-position-invalid-expected.txt:
1817
        * web-platform-tests/css/css-text-decor/parsing/text-underline-position-invalid.html:
1818
        * web-platform-tests/css/css-text-decor/parsing/text-underline-position-valid-expected.txt:
1819
        * web-platform-tests/css/css-text-decor/parsing/text-underline-position-valid.html:
1820
        * web-platform-tests/css/css-text-decor/resources/UnderlineTest-Close.ttf: Added.
1821
        * web-platform-tests/css/css-text-decor/resources/UnderlineTest-Far.ttf: Added.
1822
        * web-platform-tests/css/css-text-decor/resources/UnderlineTest-Thick.ttf: Added.
1823
        * web-platform-tests/css/css-text-decor/resources/UnderlineTest-Thin.ttf: Added.
1824
        * web-platform-tests/css/css-text-decor/resources/UnderlineTest-VF.ttf: Added.
1825
        * web-platform-tests/css/css-text-decor/resources/w3c-import.log: Copied from LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/background-size/support/w3c-import.log.
1826
        * web-platform-tests/css/css-text-decor/text-decoration-color-recalc.html:
1827
        * web-platform-tests/css/css-text-decor/text-decoration-color.html:
1828
        * web-platform-tests/css/css-text-decor/text-decoration-line-recalc.html:
1829
        * web-platform-tests/css/css-text-decor/text-decoration-line.html:
1830
        * web-platform-tests/css/css-text-decor/text-decoration-skip-ink-005-expected.html: Added.
1831
        * web-platform-tests/css/css-text-decor/text-decoration-skip-ink-005.html: Added.
1832
        * web-platform-tests/css/css-text-decor/text-decoration-skip-ink-expected.txt:
1833
        * web-platform-tests/css/css-text-decor/text-decoration-skip-ink.html:
1834
        * web-platform-tests/css/css-text-decor/text-decoration-style-multiple.html:
1835
        * web-platform-tests/css/css-text-decor/text-decoration-style-recalc.html:
1836
        * web-platform-tests/css/css-text-decor/text-decoration-subelements-001-expected.html: Added.
1837
        * web-platform-tests/css/css-text-decor/text-decoration-subelements-001.html: Added.
1838
        * web-platform-tests/css/css-text-decor/text-decoration-subelements-002-expected.html: Added.
1839
        * web-platform-tests/css/css-text-decor/text-decoration-subelements-002.html: Added.
1840
        * web-platform-tests/css/css-text-decor/text-decoration-subelements-003-expected.html: Added.
1841
        * web-platform-tests/css/css-text-decor/text-decoration-subelements-003.html: Added.
1842
        * web-platform-tests/css/css-text-decor/text-decoration-thickness-fixed-expected.html: Added.
1843
        * web-platform-tests/css/css-text-decor/text-decoration-thickness-fixed.html: Added.
1844
        * web-platform-tests/css/css-text-decor/text-decoration-thickness-from-font-variable-expected.html: Added.
1845
        * web-platform-tests/css/css-text-decor/text-decoration-thickness-from-font-variable.html: Added.
1846
        * web-platform-tests/css/css-text-decor/text-decoration-thickness-ink-skip-dilation-expected.html: Added.
1847
        * web-platform-tests/css/css-text-decor/text-decoration-thickness-ink-skip-dilation.html: Added.
1848
        * web-platform-tests/css/css-text-decor/text-decoration-thickness-invalid-expected.txt:
1849
        * web-platform-tests/css/css-text-decor/text-decoration-thickness-invalid.html:
1850
        * web-platform-tests/css/css-text-decor/text-decoration-thickness-valid-expected.txt:
1851
        * web-platform-tests/css/css-text-decor/text-decoration-thickness-valid.html:
1852
        * web-platform-tests/css/css-text-decor/text-emphasis-style-001.html:
1853
        * web-platform-tests/css/css-text-decor/text-emphasis-style-002.html:
1854
        * web-platform-tests/css/css-text-decor/text-emphasis-style-006.html:
1855
        * web-platform-tests/css/css-text-decor/text-emphasis-style-007.html:
1856
        * web-platform-tests/css/css-text-decor/text-emphasis-style-008-expected.html:
1857
        * web-platform-tests/css/css-text-decor/text-emphasis-style-008.html:
1858
        * web-platform-tests/css/css-text-decor/text-emphasis-style-010.html:
1859
        * web-platform-tests/css/css-text-decor/text-emphasis-style-012.html:
1860
        * web-platform-tests/css/css-text-decor/text-emphasis-style-016.html:
1861
        * web-platform-tests/css/css-text-decor/text-emphasis-style-021.html:
1862
        * web-platform-tests/css/css-text-decor/text-emphasis-style-filled-001.xht:
1863
        * web-platform-tests/css/css-text-decor/text-emphasis-style-none-001.xht:
1864
        * web-platform-tests/css/css-text-decor/text-emphasis-style-open-001.xht:
1865
        * web-platform-tests/css/css-text-decor/text-emphasis-style-shape-001.xht:
1866
        * web-platform-tests/css/css-text-decor/text-emphasis-style-string-001.xht:
1867
        * web-platform-tests/css/css-text-decor/text-underline-offset-computed-expected.txt:
1868
        * web-platform-tests/css/css-text-decor/text-underline-offset-computed.html:
1869
        * web-platform-tests/css/css-text-decor/text-underline-offset-invalid-expected.txt:
1870
        * web-platform-tests/css/css-text-decor/text-underline-offset-invalid.html:
1871
        * web-platform-tests/css/css-text-decor/text-underline-offset-valid-expected.txt:
1872
        * web-platform-tests/css/css-text-decor/text-underline-offset-valid.html:
1873
        * web-platform-tests/css/css-text-decor/text-underline-offset-variable-expected.html: Added.
1874
        * web-platform-tests/css/css-text-decor/text-underline-offset-variable.html: Added.
1875
        * web-platform-tests/css/css-text-decor/text-underline-position-001a-expected.html: Added.
1876
        * web-platform-tests/css/css-text-decor/text-underline-position-001a.html: Added.
1877
        * web-platform-tests/css/css-text-decor/text-underline-position-001b-expected.html: Added.
1878
        * web-platform-tests/css/css-text-decor/text-underline-position-001b.html: Added.
1879
        * web-platform-tests/css/css-text-decor/text-underline-position-from-font-variable-expected.html: Added.
1880
        * web-platform-tests/css/css-text-decor/text-underline-position-from-font-variable.html: Added.
1881
        * web-platform-tests/css/css-text-decor/w3c-import.log:
1882
        * web-platform-tests/css/css-text/support/60x60-red.png: Removed.
1883
        * web-platform-tests/css/css-transitions/CSSTransition-currentTime.tentative-expected.txt:
1884
        * web-platform-tests/css/css-transitions/CSSTransition-currentTime.tentative.html:
1885
        * web-platform-tests/css/css-transitions/CSSTransition-effect.tentative-expected.txt:
1886
        * web-platform-tests/css/css-transitions/CSSTransition-effect.tentative.html:
1887
        * web-platform-tests/css/css-transitions/Document-getAnimations.tentative-expected.txt:
1888
        * web-platform-tests/css/css-transitions/Document-getAnimations.tentative.html:
1889
        * web-platform-tests/css/css-transitions/KeyframeEffect-getKeyframes.tentative-expected.txt:
1890
        * web-platform-tests/css/css-transitions/KeyframeEffect-getKeyframes.tentative.html:
1891
        * web-platform-tests/css/css-transitions/KeyframeEffect-setKeyframes.tentative-expected.txt: Added.
1892
        * web-platform-tests/css/css-transitions/KeyframeEffect-setKeyframes.tentative.html: Added.
1893
        * web-platform-tests/css/css-transitions/event-dispatch.tentative.html:
1894
        * web-platform-tests/css/css-transitions/historical.html:
1895
        * web-platform-tests/css/css-transitions/non-rendered-element-002-expected.txt:
1896
        * web-platform-tests/css/css-transitions/non-rendered-element-002.html:
1897
        * web-platform-tests/css/css-transitions/non-rendered-element-004.tentative-expected.txt: Added.
1898
        * web-platform-tests/css/css-transitions/non-rendered-element-004.tentative.html: Copied from LayoutTests/imported/w3c/web-platform-tests/css/css-transitions/non-rendered-element-002.html.
1899
        * web-platform-tests/css/css-transitions/properties-value-001.html:
1900
        * web-platform-tests/css/css-transitions/properties-value-002.html:
1901
        * web-platform-tests/css/css-transitions/properties-value-003.html:
1902
        * web-platform-tests/css/css-transitions/root-color-transition-expected.html: Added.
1903
        * web-platform-tests/css/css-transitions/root-color-transition.html: Added.
1904
        * web-platform-tests/css/css-transitions/support/60x60-red.png: Removed.
1905
        * web-platform-tests/css/css-transitions/support/w3c-import.log:
1906
        * web-platform-tests/css/css-transitions/transition-background-position-with-edge-offset.html:
1907
        * web-platform-tests/css/css-transitions/transition-base-response-001-expected.txt: Added.
1908
        * web-platform-tests/css/css-transitions/transition-base-response-001.html: Added.
1909
        * web-platform-tests/css/css-transitions/transition-base-response-002-expected.txt: Added.
1910
        * web-platform-tests/css/css-transitions/transition-base-response-002.html: Added.
1911
        * web-platform-tests/css/css-transitions/transition-base-response-003-expected.txt: Added.
1912
        * web-platform-tests/css/css-transitions/transition-base-response-003.html: Added.
1913
        * web-platform-tests/css/css-transitions/transitioncancel-001.html:
1914
        * web-platform-tests/css/css-transitions/transitioncancel-002-expected.txt: Added.
1915
        * web-platform-tests/css/css-transitions/transitioncancel-002.html: Added.
1916
        * web-platform-tests/css/css-transitions/w3c-import.log:
1917
        * web-platform-tests/css/css-values/ch-empty-pseudo-recalc-on-font-load-expected.txt: Added.
1918
        * web-platform-tests/css/css-values/ch-empty-pseudo-recalc-on-font-load.html: Added.
1919
        * web-platform-tests/css/css-values/ch-pseudo-recalc-on-font-load-expected.txt: Added.
1920
        * web-platform-tests/css/css-values/ch-pseudo-recalc-on-font-load.html: Added.
1921
        * web-platform-tests/css/css-values/ch-recalc-on-font-load-expected.txt: Added.
1922
        * web-platform-tests/css/css-values/ch-recalc-on-font-load.html: Added.
1923
        * web-platform-tests/css/css-values/ch-unit-013-expected.html: Removed.
1924
        * web-platform-tests/css/css-values/ch-unit-013.html: Removed.
1925
        * web-platform-tests/css/css-values/ch-unit-014.html: Removed.
1926
        * web-platform-tests/css/css-values/ch-unit-015-expected.html: Removed.
1927
        * web-platform-tests/css/css-values/ch-unit-015.html: Removed.
1928
        * web-platform-tests/css/css-values/ch-unit-016.html:
1929
        * web-platform-tests/css/css-values/ch-unit-017.html:
1930
        * web-platform-tests/css/css-values/ch-unit-018-expected.html: Removed.
1931
        * web-platform-tests/css/css-values/ch-unit-018.html: Removed.
1932
        * web-platform-tests/css/css-values/clamp-length-invalid-expected.txt:
1933
        * web-platform-tests/css/css-values/clamp-length-invalid.html:
1934
        * web-platform-tests/css/css-values/ex-unit-004-expected.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/css/css-values/ch-unit-014-expected.html.
1935
        * web-platform-tests/css/css-values/ex-unit-004.html: Added.
1936
        * web-platform-tests/css/css-values/lh-rlh-on-root-001.html:
1937
        * web-platform-tests/css/css-values/lh-unit-001.html:
1938
        * web-platform-tests/css/css-values/lh-unit-002.html:
1939
        * web-platform-tests/css/css-values/max-length-percent-001.html:
1940
        * web-platform-tests/css/css-values/min-length-percent-001.html:
1941
        * web-platform-tests/css/css-values/min-max-percentage-length-interpolation.html:
1942
        * web-platform-tests/css/css-values/minmax-angle-computed-expected.txt:
1943
        * web-platform-tests/css/css-values/minmax-angle-computed.html:
1944
        * web-platform-tests/css/css-values/minmax-angle-serialize-expected.txt:
1945
        * web-platform-tests/css/css-values/minmax-angle-serialize.html:
1946
        * web-platform-tests/css/css-values/minmax-integer-computed-expected.txt:
1947
        * web-platform-tests/css/css-values/minmax-integer-computed.html:
1948
        * web-platform-tests/css/css-values/minmax-length-computed-expected.txt:
1949
        * web-platform-tests/css/css-values/minmax-length-computed.html:
1950
        * web-platform-tests/css/css-values/minmax-length-percent-computed-expected.txt:
1951
        * web-platform-tests/css/css-values/minmax-length-percent-computed.html:
1952
        * web-platform-tests/css/css-values/minmax-length-percent-serialize-expected.txt:
1953
        * web-platform-tests/css/css-values/minmax-length-percent-serialize.html:
1954
        * web-platform-tests/css/css-values/minmax-length-serialize-expected.txt:
1955
        * web-platform-tests/css/css-values/minmax-length-serialize.html:
1956
        * web-platform-tests/css/css-values/minmax-number-computed-expected.txt:
1957
        * web-platform-tests/css/css-values/minmax-number-computed.html:
1958
        * web-platform-tests/css/css-values/minmax-number-serialize-expected.txt:
1959
        * web-platform-tests/css/css-values/minmax-number-serialize.html:
1960
        * web-platform-tests/css/css-values/minmax-percentage-computed-expected.txt:
1961
        * web-platform-tests/css/css-values/minmax-percentage-computed.html:
1962
        * web-platform-tests/css/css-values/minmax-percentage-serialize-expected.txt:
1963
        * web-platform-tests/css/css-values/minmax-percentage-serialize.html:
1964
        * web-platform-tests/css/css-values/minmax-time-computed-expected.txt:
1965
        * web-platform-tests/css/css-values/minmax-time-computed.html:
1966
        * web-platform-tests/css/css-values/minmax-time-serialize-expected.txt:
1967
        * web-platform-tests/css/css-values/minmax-time-serialize.html:
1968
        * web-platform-tests/css/css-values/rem-unit-root-element-expected.txt: Added.
1969
        * web-platform-tests/css/css-values/rem-unit-root-element.html: Added.
1970
        * web-platform-tests/css/css-values/resources/ChTestNoZero.woff: Removed.
1971
        * web-platform-tests/css/css-values/resources/ExTest-NoSpace.woff: Copied from LayoutTests/imported/w3c/web-platform-tests/css/css-values/resources/ExTest.woff.
1972
        * web-platform-tests/css/css-values/resources/ExTest.woff:
1973
        * web-platform-tests/css/css-values/resources/w3c-import.log:
1974
        * web-platform-tests/css/css-values/round-function-expected.txt: Added.
1975
        * web-platform-tests/css/css-values/round-function.html: Added.
1976
        * web-platform-tests/css/css-values/support/60x60-red.png: Removed.
1977
        * web-platform-tests/css/css-values/support/w3c-import.log:
1978
        * web-platform-tests/css/css-values/update-subpixel-rem-unit-expected.txt: Added.
1979
        * web-platform-tests/css/css-values/update-subpixel-rem-unit.html: Added.
1980
        * web-platform-tests/css/css-values/vh-support-atviewport-expected.htm: Removed.
1981
        * web-platform-tests/css/css-values/vh-support-atviewport.html: Removed.
1982
        * web-platform-tests/css/css-values/viewport-units-after-font-load-expected.txt: Added.
1983
        * web-platform-tests/css/css-values/viewport-units-after-font-load.html: Added.
1984
        * web-platform-tests/css/css-values/w3c-import.log:
1985
        * web-platform-tests/css/cssom-view/elementFromPoint-float-in-table-expected.txt: Added.
1986
        * web-platform-tests/css/cssom-view/elementFromPoint-float-in-table.html: Added.
1987
        * web-platform-tests/css/cssom-view/idlharness.html:
1988
        * web-platform-tests/css/cssom-view/scrollIntoView-shadow.html:
1989
        * web-platform-tests/css/cssom-view/scrollIntoView-svg-shape.html:
1990
        * web-platform-tests/css/cssom-view/support/60x60-red.png: Removed.
1991
        * web-platform-tests/css/cssom-view/support/w3c-import.log:
1992
        * web-platform-tests/css/cssom-view/w3c-import.log:
1993
        * web-platform-tests/css/cssom/CSS-expected.txt:
1994
        * web-platform-tests/css/cssom/CSS.html:
1995
        * web-platform-tests/css/cssom/CSSGroupingRule-cssRules-expected.txt: Added.
1996
        * web-platform-tests/css/cssom/CSSGroupingRule-cssRules.html: Added.
1997
        * web-platform-tests/css/cssom/CSSGroupingRule-insertRule-expected.txt: Added.
1998
        * web-platform-tests/css/cssom/CSSGroupingRule-insertRule.html: Added.
1999
        * web-platform-tests/css/cssom/CSSStyleSheet-constructable-baseURL.tentative-expected.txt: Added.
2000
        * web-platform-tests/css/cssom/CSSStyleSheet-constructable-baseURL.tentative.html: Added.
2001
        * web-platform-tests/css/cssom/CSSStyleSheet-constructable-disabled-regular-sheet-insertion-expected.txt: Added.
2002
        * web-platform-tests/css/cssom/CSSStyleSheet-constructable-disabled-regular-sheet-insertion.html: Added.
2003
        * web-platform-tests/css/cssom/CSSStyleSheet-constructable-disallow-import.tentative-expected.txt: Added.
2004
        * web-platform-tests/css/cssom/CSSStyleSheet-constructable-disallow-import.tentative.html: Added.
2005
        * web-platform-tests/css/cssom/CSSStyleSheet-constructable-duplicate-expected.txt: Added.
2006
        * web-platform-tests/css/cssom/CSSStyleSheet-constructable-duplicate.html: Added.
2007
        * web-platform-tests/css/cssom/CSSStyleSheet-constructable-expected.txt: Added.
2008
        * web-platform-tests/css/cssom/CSSStyleSheet-constructable-replace-on-regular-sheet-expected.txt: Added.
2009
        * web-platform-tests/css/cssom/CSSStyleSheet-constructable-replace-on-regular-sheet.html: Added.
2010
        * web-platform-tests/css/cssom/CSSStyleSheet-constructable.html: Added.
2011
        * web-platform-tests/css/cssom/CSSStyleSheet-expected.txt:
2012
        * web-platform-tests/css/cssom/CSSStyleSheet.html:
2013
        * web-platform-tests/css/cssom/HTMLLinkElement-disabled-001-expected.txt: Added.
2014
        * web-platform-tests/css/cssom/HTMLLinkElement-disabled-001.html: Added.
2015
        * web-platform-tests/css/cssom/HTMLLinkElement-disabled-002-expected.txt: Added.
2016
        * web-platform-tests/css/cssom/HTMLLinkElement-disabled-002.html: Added.
2017
        * web-platform-tests/css/cssom/HTMLLinkElement-disabled-003-expected.txt: Added.
2018
        * web-platform-tests/css/cssom/HTMLLinkElement-disabled-003.html: Added.
2019
        * web-platform-tests/css/cssom/HTMLLinkElement-disabled-004-expected.txt: Added.
2020
        * web-platform-tests/css/cssom/HTMLLinkElement-disabled-004.html: Added.
2021
        * web-platform-tests/css/cssom/HTMLLinkElement-disabled-005-expected.txt: Added.
2022
        * web-platform-tests/css/cssom/HTMLLinkElement-disabled-005.html: Added.
2023
        * web-platform-tests/css/cssom/HTMLLinkElement-disabled-006-expected.txt: Added.
2024
        * web-platform-tests/css/cssom/HTMLLinkElement-disabled-006.html: Added.
2025
        * web-platform-tests/css/cssom/HTMLLinkElement-disabled-007-expected.txt: Added.
2026
        * web-platform-tests/css/cssom/HTMLLinkElement-disabled-007.html: Added.
2027
        * web-platform-tests/css/cssom/HTMLLinkElement-disabled-alternate-expected.html: Added.
2028
        * web-platform-tests/css/cssom/HTMLLinkElement-disabled-alternate.html: Added.
2029
        * web-platform-tests/css/cssom/META.yml: Added.
2030
        * web-platform-tests/css/cssom/OWNERS: Removed.
2031
        * web-platform-tests/css/cssom/at-namespace-expected.txt:
2032
        * web-platform-tests/css/cssom/at-namespace.html:
2033
        * web-platform-tests/css/cssom/border-shorthand-serialization-expected.txt: Added.
2034
        * web-platform-tests/css/cssom/border-shorthand-serialization.html: Added.
2035
        * web-platform-tests/css/cssom/computed-style-001.html:
2036
        * web-platform-tests/css/cssom/computed-style-005-expected.txt: Added.
2037
        * web-platform-tests/css/cssom/computed-style-005.html: Added.
2038
        * web-platform-tests/css/cssom/computed-style-set-property.html:
2039
        * web-platform-tests/css/cssom/css-style-attr-decl-block-expected.txt:
2040
        * web-platform-tests/css/cssom/css-style-attr-decl-block.html:
2041
        * web-platform-tests/css/cssom/css-style-declaration-modifications-expected.txt:
2042
        * web-platform-tests/css/cssom/css-style-declaration-modifications.html:
2043
        * web-platform-tests/css/cssom/cssimportrule-parent-expected.txt: Added.
2044
        * web-platform-tests/css/cssom/cssimportrule-parent.html: Added.
2045
        * web-platform-tests/css/cssom/cssimportrule-sheet-identity-expected.txt: Added.
2046
        * web-platform-tests/css/cssom/cssimportrule-sheet-identity.html: Added.
2047
        * web-platform-tests/css/cssom/cssom-fontfacerule-constructors.html:
2048
        * web-platform-tests/css/cssom/cssom-pagerule-expected.txt: Added.
2049
        * web-platform-tests/css/cssom/cssom-pagerule.html: Added.
2050
        * web-platform-tests/css/cssom/cssstyledeclaration-csstext-expected.txt:
2051
        * web-platform-tests/css/cssom/cssstyledeclaration-csstext.html:
2052
        * web-platform-tests/css/cssom/cssstyledeclaration-custom-properties-expected.txt: Added.
2053
        * web-platform-tests/css/cssom/cssstyledeclaration-custom-properties.html: Added.
2054
        * web-platform-tests/css/cssom/cssstyledeclaration-mutability.html:
2055
        * web-platform-tests/css/cssom/cssstyledeclaration-mutationrecord-001-expected.txt:
2056
        * web-platform-tests/css/cssom/cssstyledeclaration-mutationrecord-001.html:
2057
        * web-platform-tests/css/cssom/cssstyledeclaration-mutationrecord-002.html:
2058
        * web-platform-tests/css/cssom/cssstyledeclaration-mutationrecord-005-expected.txt: Added.
2059
        * web-platform-tests/css/cssom/cssstyledeclaration-mutationrecord-005.html: Copied from LayoutTests/imported/w3c/web-platform-tests/css/cssom/cssstyledeclaration-mutationrecord-002.html.
2060
        * web-platform-tests/css/cssom/cssstyledeclaration-properties-expected.txt: Added.
2061
        * web-platform-tests/css/cssom/cssstyledeclaration-properties.html: Added.
2062
        * web-platform-tests/css/cssom/cssstyledeclaration-setter-attr-expected.txt: Added.
2063
        * web-platform-tests/css/cssom/cssstyledeclaration-setter-attr.html: Added.
2064
        * web-platform-tests/css/cssom/cssstyledeclaration-setter-declarations-expected.txt: Added.
2065
        * web-platform-tests/css/cssom/cssstyledeclaration-setter-declarations.html: Added.
2066
        * web-platform-tests/css/cssom/cssstyledeclaration-setter-form-controls-expected.txt: Added.
2067
        * web-platform-tests/css/cssom/cssstyledeclaration-setter-form-controls.html: Added.
2068
        * web-platform-tests/css/cssom/cssstyledeclaration-setter-logical-expected.txt: Added.
2069
        * web-platform-tests/css/cssom/cssstyledeclaration-setter-logical.html: Added.
2070
        * web-platform-tests/css/cssom/cssstyledeclaration-setter-order-expected.txt: Removed.
2071
        * web-platform-tests/css/cssom/cssstyledeclaration-setter-order.html: Removed.
2072
        * web-platform-tests/css/cssom/escape.html:
2073
        * web-platform-tests/css/cssom/font-family-serialization-001-expected.txt: Added.
2074
        * web-platform-tests/css/cssom/font-family-serialization-001.html: Added.
2075
        * web-platform-tests/css/cssom/font-shorthand-serialization-expected.txt:
2076
        * web-platform-tests/css/cssom/font-shorthand-serialization.html:
2077
        * web-platform-tests/css/cssom/getComputedStyle-animations-replaced-into-ib-split-expected.txt: Added.
2078
        * web-platform-tests/css/cssom/getComputedStyle-animations-replaced-into-ib-split.html: Added.
2079
        * web-platform-tests/css/cssom/getComputedStyle-detached-subtree-expected.txt:
2080
        * web-platform-tests/css/cssom/getComputedStyle-detached-subtree.html:
2081
        * web-platform-tests/css/cssom/getComputedStyle-display-none-001-expected.txt: Added.
2082
        * web-platform-tests/css/cssom/getComputedStyle-display-none-001.html: Added.
2083
        * web-platform-tests/css/cssom/getComputedStyle-display-none-002-expected.txt: Added.
2084
        * web-platform-tests/css/cssom/getComputedStyle-display-none-002.html: Added.
2085
        * web-platform-tests/css/cssom/getComputedStyle-layout-dependent-removed-ib-sibling-expected.txt: Added.
2086
        * web-platform-tests/css/cssom/getComputedStyle-layout-dependent-removed-ib-sibling.html: Added.
2087
        * web-platform-tests/css/cssom/getComputedStyle-layout-dependent-replaced-into-ib-split-expected.txt: Added.
2088
        * web-platform-tests/css/cssom/getComputedStyle-layout-dependent-replaced-into-ib-split.html: Added.
2089
        * web-platform-tests/css/cssom/getComputedStyle-logical-enumeration.html:
2090
        * web-platform-tests/css/cssom/getComputedStyle-property-order-expected.txt: Added.
2091
        * web-platform-tests/css/cssom/getComputedStyle-property-order.html: Added.
2092
        * web-platform-tests/css/cssom/getComputedStyle-pseudo-expected.txt:
2093
        * web-platform-tests/css/cssom/getComputedStyle-pseudo.html:
2094
        * web-platform-tests/css/cssom/getComputedStyle-resolved-min-max-clamping-expected.txt: Added.
2095
        * web-platform-tests/css/cssom/getComputedStyle-resolved-min-max-clamping.html: Added.
2096
        * web-platform-tests/css/cssom/getComputedStyle-width-scroll.tentative-expected.txt: Added.
2097
        * web-platform-tests/css/cssom/getComputedStyle-width-scroll.tentative.html: Added.
2098
        * web-platform-tests/css/cssom/idlharness-expected.txt: Added.
2099
        * web-platform-tests/css/cssom/idlharness.html: Added.
2100
        * web-platform-tests/css/cssom/inline-style-001.html:
2101
        * web-platform-tests/css/cssom/insertRule-from-script-expected.html: Added.
2102
        * web-platform-tests/css/cssom/insertRule-from-script.html: Added.
2103
        * web-platform-tests/css/cssom/insertRule-import-no-index.html:
2104
        * web-platform-tests/css/cssom/insertRule-namespace-no-index.html:
2105
        * web-platform-tests/css/cssom/insertRule-syntax-error-01.html:
2106
        * web-platform-tests/css/cssom/interfaces-expected.txt: Removed.
2107
        * web-platform-tests/css/cssom/interfaces.html: Removed.
2108
        * web-platform-tests/css/cssom/medialist-interfaces-001.html:
2109
        * web-platform-tests/css/cssom/medialist-interfaces-002.html:
2110
        * web-platform-tests/css/cssom/medialist-interfaces-003.html:
2111
        * web-platform-tests/css/cssom/medialist-interfaces-004.html:
2112
        * web-platform-tests/css/cssom/selectorSerialize.html:
2113
        * web-platform-tests/css/cssom/serialize-media-rule-expected.txt: Added.
2114
        * web-platform-tests/css/cssom/serialize-media-rule.html: Added.
2115
        * web-platform-tests/css/cssom/shorthand-values-expected.txt:
2116
        * web-platform-tests/css/cssom/shorthand-values.html:
2117
        * web-platform-tests/css/cssom/style-attr-update-across-documents-expected.txt: Added.
2118
        * web-platform-tests/css/cssom/style-attr-update-across-documents.html: Added.
2119
        * web-platform-tests/css/cssom/style-sheet-interfaces-001.html:
2120
        * web-platform-tests/css/cssom/style-sheet-interfaces-002.html:
2121
        * web-platform-tests/css/cssom/stylesheet-same-origin.sub-expected.txt:
2122
        * web-platform-tests/css/cssom/stylesheet-same-origin.sub.html:
2123
        * web-platform-tests/css/cssom/support/60x60-red.png: Removed.
2124
        * web-platform-tests/css/cssom/support/black.css: Added.
2125
        (html):
2126
        * web-platform-tests/css/cssom/support/constructable-import.css: Added.
2127
        (*):
2128
        * web-platform-tests/css/cssom/support/import-rule.css: Added.
2129
        * web-platform-tests/css/cssom/support/malformed-http-response.asis: Added.
2130
        * web-platform-tests/css/cssom/support/support/w3c-import.log:
2131
        * web-platform-tests/css/cssom/support/w3c-import.log:
2132
        * web-platform-tests/css/cssom/ttwf-cssom-document-extension.html:
2133
        * web-platform-tests/css/cssom/w3c-import.log:
2134
        * web-platform-tests/css/geometry/DOMMatrix-001-expected.txt:
2135
        * web-platform-tests/css/geometry/DOMMatrix-001.html:
2136
        * web-platform-tests/css/geometry/DOMMatrix-002-expected.txt:
2137
        * web-platform-tests/css/geometry/DOMMatrix-002.html:
2138
        * web-platform-tests/css/geometry/DOMMatrix-003-expected.txt:
2139
        * web-platform-tests/css/geometry/DOMMatrix-003.html:
2140
        * web-platform-tests/css/geometry/DOMMatrix-attributes-expected.txt: Added.
2141
        * web-platform-tests/css/geometry/DOMMatrix-attributes.html: Added.
2142
        * web-platform-tests/css/geometry/DOMMatrix-css-string.worker.js:
2143
        (string_appeared_here.forEach.constr.test):
2144
        * web-platform-tests/css/geometry/DOMMatrix-stringifier.html:
2145
        * web-platform-tests/css/geometry/DOMMatrix2DInit-validate-fixup-expected.txt: Added.
2146
        * web-platform-tests/css/geometry/DOMMatrix2DInit-validate-fixup.html: Added.
2147
        * web-platform-tests/css/geometry/DOMMatrixInit-validate-fixup.html:
2148
        * web-platform-tests/css/geometry/DOMPoint-001-expected.txt:
2149
        * web-platform-tests/css/geometry/DOMPoint-001.html:
2150
        * web-platform-tests/css/geometry/DOMPoint-002.html:
2151
        * web-platform-tests/css/geometry/DOMQuad-001-expected.txt:
2152
        * web-platform-tests/css/geometry/DOMQuad-001.html:
2153
        * web-platform-tests/css/geometry/DOMQuad-002.html:
2154
        * web-platform-tests/css/geometry/DOMQuad-nan-expected.txt: Added.
2155
        * web-platform-tests/css/geometry/DOMQuad-nan.html: Added.
2156
        * web-platform-tests/css/geometry/DOMRect-001.html:
2157
        * web-platform-tests/css/geometry/DOMRect-002-expected.txt: Added.
2158
        * web-platform-tests/css/geometry/DOMRect-002.html: Added.
2159
        * web-platform-tests/css/geometry/DOMRect-nan-expected.txt: Added.
2160
        * web-platform-tests/css/geometry/DOMRect-nan.html: Added.
2161
        * web-platform-tests/css/geometry/DOMRectList-expected.txt: Added.
2162
        * web-platform-tests/css/geometry/DOMRectList.html: Added.
2163
        * web-platform-tests/css/geometry/META.yml: Added.
2164
        * web-platform-tests/css/geometry/OWNERS: Removed.
2165
        * web-platform-tests/css/geometry/historical-expected.txt:
2166
        * web-platform-tests/css/geometry/historical.html:
2167
        * web-platform-tests/css/geometry/idlharness-expected.txt: Renamed from LayoutTests/imported/w3c/web-platform-tests/css/geometry/interfaces-expected.txt.
2168
        * web-platform-tests/css/geometry/idlharness.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/css/geometry/interfaces.html.
2169
        * web-platform-tests/css/geometry/idlharness.worker-expected.txt: Renamed from LayoutTests/imported/w3c/web-platform-tests/css/geometry/interfaces.worker-expected.txt.
2170
        * web-platform-tests/css/geometry/idlharness.worker.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/css/geometry/interfaces.worker.html.
2171
        * web-platform-tests/css/geometry/idlharness.worker.js: Renamed from LayoutTests/imported/w3c/web-platform-tests/css/geometry/interfaces.worker.js.
2172
        * web-platform-tests/css/geometry/spec-examples-expected.txt: Added.
2173
        * web-platform-tests/css/geometry/spec-examples.html: Added.
2174
        * web-platform-tests/css/geometry/structured-serialization.html:
2175
        * web-platform-tests/css/geometry/support/dommatrix-test-util.js:
2176
        (checkMatrix):
2177
        * web-platform-tests/css/geometry/support/w3c-import.log:
2178
        * web-platform-tests/css/geometry/w3c-import.log:
2179
        * web-platform-tests/css/mediaqueries/META.yml: Added.
2180
        * web-platform-tests/css/mediaqueries/OWNERS: Removed.
2181
        * web-platform-tests/css/mediaqueries/aspect-ratio-001.html:
2182
        * web-platform-tests/css/mediaqueries/aspect-ratio-002.html:
2183
        * web-platform-tests/css/mediaqueries/aspect-ratio-003.html:
2184
        * web-platform-tests/css/mediaqueries/aspect-ratio-004.html:
2185
        * web-platform-tests/css/mediaqueries/aspect-ratio-005-expected.xht: Copied from LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/background-size-007-expected.xht.
2186
        * web-platform-tests/css/mediaqueries/aspect-ratio-005.html: Added.
2187
        * web-platform-tests/css/mediaqueries/aspect-ratio-006-expected.xht: Copied from LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/background-size-007-expected.xht.
2188
        * web-platform-tests/css/mediaqueries/aspect-ratio-006.html: Copied from LayoutTests/imported/w3c/web-platform-tests/css/mediaqueries/aspect-ratio-001.html.
2189
        * web-platform-tests/css/mediaqueries/aspect-ratio-serialization-expected.txt: Added.
2190
        * web-platform-tests/css/mediaqueries/aspect-ratio-serialization.html: Added.
2191
        * web-platform-tests/css/mediaqueries/device-aspect-ratio-002.html:
2192
        * web-platform-tests/css/mediaqueries/device-aspect-ratio-004.html:
2193
        * web-platform-tests/css/mediaqueries/forced-colors-expected.txt: Added.
2194
        * web-platform-tests/css/mediaqueries/forced-colors.html: Added.
2195
        * web-platform-tests/css/mediaqueries/min-width-tables-001.html:
2196
        * web-platform-tests/css/mediaqueries/mq-calc-006-expected.xht: Copied from LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/background-size-007-expected.xht.
2197
        * web-platform-tests/css/mediaqueries/mq-calc-006.html: Added.
2198
        * web-platform-tests/css/mediaqueries/mq-case-insensitive-001-expected.xht: Copied from LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/background-size-007-expected.xht.
2199
        * web-platform-tests/css/mediaqueries/mq-case-insensitive-001.html: Added.
2200
        * web-platform-tests/css/mediaqueries/mq-deprecated-001-expected.xht: Copied from LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/background-size-007-expected.xht.
2201
        * web-platform-tests/css/mediaqueries/mq-deprecated-001.html: Added.
2202
        * web-platform-tests/css/mediaqueries/mq-gamut-001-expected.xht: Copied from LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/background-size-007-expected.xht.
2203
        * web-platform-tests/css/mediaqueries/mq-gamut-001.html: Added.
2204
        * web-platform-tests/css/mediaqueries/mq-gamut-002-expected.xht: Copied from LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/background-size-007-expected.xht.
2205
        * web-platform-tests/css/mediaqueries/mq-gamut-002.html: Added.
2206
        * web-platform-tests/css/mediaqueries/mq-gamut-003-expected.xht: Copied from LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/background-size-007-expected.xht.
2207
        * web-platform-tests/css/mediaqueries/mq-gamut-003.html: Added.
2208
        * web-platform-tests/css/mediaqueries/mq-gamut-004-expected.xht: Copied from LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/background-size-007-expected.xht.
2209
        * web-platform-tests/css/mediaqueries/mq-gamut-004.html: Added.
2210
        * web-platform-tests/css/mediaqueries/mq-gamut-005-expected.xht: Copied from LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/background-size-007-expected.xht.
2211
        * web-platform-tests/css/mediaqueries/mq-gamut-005.html: Added.
2212
        * web-platform-tests/css/mediaqueries/mq-negative-range-001-expected.xht: Copied from LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/background-size-007-expected.xht.
2213
        * web-platform-tests/css/mediaqueries/mq-negative-range-001.html: Added.
2214
        * web-platform-tests/css/mediaqueries/mq-range-001-expected.xht: Copied from LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/background-size-007-expected.xht.
2215
        * web-platform-tests/css/mediaqueries/mq-range-001.html: Added.
2216
        * web-platform-tests/css/mediaqueries/navigation-controls.tentative-expected.txt: Added.
2217
        * web-platform-tests/css/mediaqueries/navigation-controls.tentative.html: Added.
2218
        * web-platform-tests/css/mediaqueries/prefers-color-scheme-expected.txt: Added.
2219
        * web-platform-tests/css/mediaqueries/prefers-color-scheme.html: Added.
2220
        * web-platform-tests/css/mediaqueries/prefers-reduced-data-expected.txt: Added.
2221
        * web-platform-tests/css/mediaqueries/prefers-reduced-data.html: Added.
2222
        * web-platform-tests/css/mediaqueries/prefers-reduced-motion-expected.txt: Added.
2223
        * web-platform-tests/css/mediaqueries/prefers-reduced-motion.html: Added.
2224
        * web-platform-tests/css/mediaqueries/resources/matchmedia-utils.js: Added.
2225
        (query_is_css_parseable):
2226
        (query_should_be_css_parseable):
2227
        (query_should_be_js_parseable):
2228
        * web-platform-tests/css/mediaqueries/resources/w3c-import.log: Copied from LayoutTests/imported/w3c/web-platform-tests/css/css-lists/resources/w3c-import.log.
2229
        * web-platform-tests/css/mediaqueries/support/w3c-import.log:
2230
        * web-platform-tests/css/mediaqueries/test_media_queries-expected.txt:
2231
        * web-platform-tests/css/mediaqueries/test_media_queries.html:
2232
        * web-platform-tests/css/mediaqueries/viewport-script-dynamic.html:
2233
        * web-platform-tests/css/mediaqueries/w3c-import.log:
2234
        * web-platform-tests/css/reference/OWNERS: Removed.
2235
        * web-platform-tests/css/reference/w3c-import.log:
2236
        * web-platform-tests/css/requirements.txt: Removed.
2237
        * web-platform-tests/css/selectors/utils/generators.pm: Removed.
2238
        * web-platform-tests/css/selectors/utils/helpers.pm: Removed.
2239
        * web-platform-tests/css/selectors/utils/parser.pm: Removed.
2240
        * web-platform-tests/css/selectors/utils/w3c-import.log: Removed.
2241
1
2020-07-17  Rob Buis  <rbuis@igalia.com>
2242
2020-07-17  Rob Buis  <rbuis@igalia.com>
2
2243
3
        Changing URL.host should not override port
2244
        Changing URL.host should not override port
- a/LayoutTests/TestExpectations -59 / +264 lines
Lines 1977-1989 webkit.org/b/148950 imported/w3c/web-platform-tests/html/semantics/document-meta a/LayoutTests/TestExpectations_sec1
1977
1977
1978
imported/w3c/web-platform-tests/html/browsers/history/the-history-interface/history_go_zero.html [ Pass Failure ]
1978
imported/w3c/web-platform-tests/html/browsers/history/the-history-interface/history_go_zero.html [ Pass Failure ]
1979
1979
1980
# wpt css-multicol
1981
# http://www.w3.org/TR/css3-multicol/#column-span0
1982
# A spanning element takes up more space than the element would take up otherwise.
1983
# When space is limited, it may be impossible to find room for the spanning element.
1984
# In these cases, user agents may treat the element as if ‘none’ had been specified on this property.
1985
imported/w3c/web-platform-tests/css/css-multicol/multicol-span-all-child-002.xht [ WontFix ]
1986
1987
imported/w3c/web-platform-tests/css/css-multicol/columnfill-auto-max-height-001.html
1980
imported/w3c/web-platform-tests/css/css-multicol/columnfill-auto-max-height-001.html
1988
imported/w3c/web-platform-tests/css/css-multicol/columnfill-auto-max-height-002.html
1981
imported/w3c/web-platform-tests/css/css-multicol/columnfill-auto-max-height-002.html
1989
imported/w3c/web-platform-tests/css/css-multicol/large-actual-column-count.html
1982
imported/w3c/web-platform-tests/css/css-multicol/large-actual-column-count.html
Lines 1999-2012 imported/w3c/web-platform-tests/css/css-multicol/multicol-breaking-nobackground- a/LayoutTests/TestExpectations_sec2
1999
imported/w3c/web-platform-tests/css/css-multicol/multicol-breaking-nobackground-003.html [ ImageOnlyFailure ]
1992
imported/w3c/web-platform-tests/css/css-multicol/multicol-breaking-nobackground-003.html [ ImageOnlyFailure ]
2000
imported/w3c/web-platform-tests/css/css-multicol/multicol-breaking-nobackground-004.html
1993
imported/w3c/web-platform-tests/css/css-multicol/multicol-breaking-nobackground-004.html
2001
imported/w3c/web-platform-tests/css/css-multicol/multicol-breaking-nobackground-005.html
1994
imported/w3c/web-platform-tests/css/css-multicol/multicol-breaking-nobackground-005.html
2002
imported/w3c/web-platform-tests/css/css-multicol/multicol-count-computed-001.xht [ ImageOnlyFailure ]
2003
imported/w3c/web-platform-tests/css/css-multicol/multicol-count-computed-002.xht [ ImageOnlyFailure ]
2004
imported/w3c/web-platform-tests/css/css-multicol/multicol-count-large-001.xht [ ImageOnlyFailure ]
2005
imported/w3c/web-platform-tests/css/css-multicol/multicol-count-large-002.xht [ ImageOnlyFailure ]
2006
imported/w3c/web-platform-tests/css/css-multicol/multicol-fill-auto-block-children-002.xht [ ImageOnlyFailure ] # only scrollbar webkit.org/b/148818 
1995
imported/w3c/web-platform-tests/css/css-multicol/multicol-fill-auto-block-children-002.xht [ ImageOnlyFailure ] # only scrollbar webkit.org/b/148818 
2007
imported/w3c/web-platform-tests/css/css-multicol/multicol-fill-auto.xht [ ImageOnlyFailure ]
2008
imported/w3c/web-platform-tests/css/css-multicol/multicol-inherit-003.xht [ ImageOnlyFailure ]
1996
imported/w3c/web-platform-tests/css/css-multicol/multicol-inherit-003.xht [ ImageOnlyFailure ]
2009
imported/w3c/web-platform-tests/css/css-multicol/multicol-inherit-004.xht [ ImageOnlyFailure ]
2010
imported/w3c/web-platform-tests/css/css-multicol/multicol-nested-margin-002.xht [ ImageOnlyFailure ] 
1997
imported/w3c/web-platform-tests/css/css-multicol/multicol-nested-margin-002.xht [ ImageOnlyFailure ] 
2011
imported/w3c/web-platform-tests/css/css-multicol/multicol-nested-margin-003.xht [ ImageOnlyFailure ] 
1998
imported/w3c/web-platform-tests/css/css-multicol/multicol-nested-margin-003.xht [ ImageOnlyFailure ] 
2012
imported/w3c/web-platform-tests/css/css-multicol/multicol-nested-margin-004.xht [ ImageOnlyFailure ] 
1999
imported/w3c/web-platform-tests/css/css-multicol/multicol-nested-margin-004.xht [ ImageOnlyFailure ] 
Lines 2021-2039 imported/w3c/web-platform-tests/css/css-multicol/multicol-span-all-010.html a/LayoutTests/TestExpectations_sec3
2021
imported/w3c/web-platform-tests/css/css-multicol/multicol-span-all-button-001.html
2008
imported/w3c/web-platform-tests/css/css-multicol/multicol-span-all-button-001.html
2022
imported/w3c/web-platform-tests/css/css-multicol/multicol-span-all-button-002.html
2009
imported/w3c/web-platform-tests/css/css-multicol/multicol-span-all-button-002.html
2023
imported/w3c/web-platform-tests/css/css-multicol/multicol-span-all-button-003.html
2010
imported/w3c/web-platform-tests/css/css-multicol/multicol-span-all-button-003.html
2024
imported/w3c/web-platform-tests/css/css-multicol/multicol-span-all-child-001.xht [ ImageOnlyFailure ]
2025
imported/w3c/web-platform-tests/css/css-multicol/multicol-span-all-children-height-005.html
2011
imported/w3c/web-platform-tests/css/css-multicol/multicol-span-all-children-height-005.html
2026
imported/w3c/web-platform-tests/css/css-multicol/multicol-span-all-children-height-008.html
2012
imported/w3c/web-platform-tests/css/css-multicol/multicol-span-all-children-height-008.html
2027
imported/w3c/web-platform-tests/css/css-multicol/multicol-span-all-margin-002.xht [ ImageOnlyFailure ]
2013
imported/w3c/web-platform-tests/css/css-multicol/multicol-span-all-margin-002.xht [ ImageOnlyFailure ]
2028
imported/w3c/web-platform-tests/css/css-multicol/multicol-span-all-margin-nested-001.xht [ ImageOnlyFailure ]
2014
imported/w3c/web-platform-tests/css/css-multicol/multicol-span-all-margin-nested-001.xht [ ImageOnlyFailure ]
2029
imported/w3c/web-platform-tests/css/css-multicol/multicol-span-all-margin-nested-002.xht [ ImageOnlyFailure ]
2015
imported/w3c/web-platform-tests/css/css-multicol/multicol-span-all-margin-nested-002.xht [ ImageOnlyFailure ]
2030
imported/w3c/web-platform-tests/css/css-multicol/multicol-span-all-margin-nested-003.xht [ ImageOnlyFailure ]
2031
imported/w3c/web-platform-tests/css/css-multicol/multicol-span-all-rule-001.html
2016
imported/w3c/web-platform-tests/css/css-multicol/multicol-span-all-rule-001.html
2032
imported/w3c/web-platform-tests/css/css-multicol/multicol-under-vertical-rl-scroll.html
2017
imported/w3c/web-platform-tests/css/css-multicol/multicol-under-vertical-rl-scroll.html
2033
imported/w3c/web-platform-tests/css/css-multicol/multicol-width-004.html
2018
imported/w3c/web-platform-tests/css/css-multicol/multicol-width-004.html
2034
imported/w3c/web-platform-tests/css/css-multicol/multicol-width-005.html
2019
imported/w3c/web-platform-tests/css/css-multicol/multicol-width-005.html
2035
imported/w3c/web-platform-tests/css/css-multicol/multicol-width-ch-001.xht [ ImageOnlyFailure ]
2020
imported/w3c/web-platform-tests/css/css-multicol/multicol-width-ch-001.xht [ ImageOnlyFailure ]
2036
imported/w3c/web-platform-tests/css/css-multicol/multicol-width-ems-001.xht [ ImageOnlyFailure ] # Could be a bad test?
2037
imported/w3c/web-platform-tests/css/css-multicol/orthogonal-writing-mode-shrink-to-fit.html [ ImageOnlyFailure ]
2021
imported/w3c/web-platform-tests/css/css-multicol/orthogonal-writing-mode-shrink-to-fit.html [ ImageOnlyFailure ]
2038
imported/w3c/web-platform-tests/css/css-multicol/with-custom-layout-on-same-element.https.html
2022
imported/w3c/web-platform-tests/css/css-multicol/with-custom-layout-on-same-element.https.html
2039
imported/w3c/web-platform-tests/css/css-multicol/zero-column-width-layout.html [ ImageOnlyFailure ]
2023
imported/w3c/web-platform-tests/css/css-multicol/zero-column-width-layout.html [ ImageOnlyFailure ]
Lines 2843-2849 imported/w3c/web-platform-tests/css/css-display/run-in/run-in-table-cell-between a/LayoutTests/TestExpectations_sec4
2843
imported/w3c/web-platform-tests/css/css-display/run-in/run-in-table-row-between-003.xht [ ImageOnlyFailure ]
2827
imported/w3c/web-platform-tests/css/css-display/run-in/run-in-table-row-between-003.xht [ ImageOnlyFailure ]
2844
imported/w3c/web-platform-tests/css/css-display/run-in/run-in-text-between-004.xht [ ImageOnlyFailure ]
2828
imported/w3c/web-platform-tests/css/css-display/run-in/run-in-text-between-004.xht [ ImageOnlyFailure ]
2845
imported/w3c/web-platform-tests/css/css-display/run-in/run-in-text-between-005.xht [ ImageOnlyFailure ]
2829
imported/w3c/web-platform-tests/css/css-display/run-in/run-in-text-between-005.xht [ ImageOnlyFailure ]
2846
imported/w3c/web-platform-tests/css/css-pseudo/first-letter-property-whitelist.html [ Pass Failure ]
2847
imported/w3c/web-platform-tests/css/css-pseudo/placeholder-input-number.html [ ImageOnlyFailure ]
2830
imported/w3c/web-platform-tests/css/css-pseudo/placeholder-input-number.html [ ImageOnlyFailure ]
2848
imported/w3c/web-platform-tests/css/css-scoping/slotted-with-pseudo-element.html [ ImageOnlyFailure ]
2831
imported/w3c/web-platform-tests/css/css-scoping/slotted-with-pseudo-element.html [ ImageOnlyFailure ]
2849
imported/w3c/web-platform-tests/css/css-text-decor/text-emphasis-color-001.xht [ ImageOnlyFailure ]
2832
imported/w3c/web-platform-tests/css/css-text-decor/text-emphasis-color-001.xht [ ImageOnlyFailure ]
Lines 2891-2914 webkit.org/b/203539 imported/w3c/web-platform-tests/css/css-shapes/shape-outside a/LayoutTests/TestExpectations_sec5
2891
webkit.org/b/203539 imported/w3c/web-platform-tests/css/css-shapes/shape-outside/shape-image/gradients/shape-outside-linear-gradient-014.html [ ImageOnlyFailure ]
2874
webkit.org/b/203539 imported/w3c/web-platform-tests/css/css-shapes/shape-outside/shape-image/gradients/shape-outside-linear-gradient-014.html [ ImageOnlyFailure ]
2892
webkit.org/b/203539 imported/w3c/web-platform-tests/css/css-shapes/shape-outside/shape-image/gradients/shape-outside-linear-gradient-015.html [ ImageOnlyFailure ]
2875
webkit.org/b/203539 imported/w3c/web-platform-tests/css/css-shapes/shape-outside/shape-image/gradients/shape-outside-linear-gradient-015.html [ ImageOnlyFailure ]
2893
webkit.org/b/203539 imported/w3c/web-platform-tests/css/css-shapes/shape-outside/shape-image/gradients/shape-outside-linear-gradient-016.html [ ImageOnlyFailure ]
2876
webkit.org/b/203539 imported/w3c/web-platform-tests/css/css-shapes/shape-outside/shape-image/gradients/shape-outside-linear-gradient-016.html [ ImageOnlyFailure ]
2894
webkit.org/b/203540 imported/w3c/web-platform-tests/css/css-shapes/shape-outside/shape-image/shape-image-000.html [ ImageOnlyFailure ]
2895
webkit.org/b/203540 imported/w3c/web-platform-tests/css/css-shapes/shape-outside/shape-image/shape-image-001.html [ ImageOnlyFailure ]
2896
webkit.org/b/203540 imported/w3c/web-platform-tests/css/css-shapes/shape-outside/shape-image/shape-image-004.html [ ImageOnlyFailure ]
2897
webkit.org/b/203540 imported/w3c/web-platform-tests/css/css-shapes/shape-outside/shape-image/shape-image-006.html [ ImageOnlyFailure ]
2898
webkit.org/b/203540 imported/w3c/web-platform-tests/css/css-shapes/shape-outside/shape-image/shape-image-009.html [ ImageOnlyFailure ]
2899
webkit.org/b/203540 imported/w3c/web-platform-tests/css/css-shapes/shape-outside/shape-image/shape-image-012.html [ ImageOnlyFailure ]
2900
webkit.org/b/203540 imported/w3c/web-platform-tests/css/css-shapes/shape-outside/shape-image/shape-image-013.html [ ImageOnlyFailure ]
2901
webkit.org/b/203540 imported/w3c/web-platform-tests/css/css-shapes/shape-outside/shape-image/shape-image-015.html [ ImageOnlyFailure ]
2902
webkit.org/b/203540 imported/w3c/web-platform-tests/css/css-shapes/shape-outside/shape-image/shape-image-016.html [ ImageOnlyFailure ]
2903
webkit.org/b/203540 imported/w3c/web-platform-tests/css/css-shapes/shape-outside/shape-image/shape-image-018.html [ ImageOnlyFailure ]
2904
webkit.org/b/203540 imported/w3c/web-platform-tests/css/css-shapes/shape-outside/shape-image/shape-image-021.html [ ImageOnlyFailure ]
2905
webkit.org/b/203540 imported/w3c/web-platform-tests/css/css-shapes/shape-outside/shape-image/shape-image-022.html [ ImageOnlyFailure ]
2906
webkit.org/b/203540 imported/w3c/web-platform-tests/css/css-shapes/shape-outside/shape-image/shape-image-026.html [ ImageOnlyFailure ]
2907
webkit.org/b/203540 imported/w3c/web-platform-tests/css/css-shapes/shape-outside/shape-image/shape-image-027.html [ ImageOnlyFailure ]
2908
webkit.org/b/203541 imported/w3c/web-platform-tests/css/css-shapes/shape-outside/supported-shapes/circle/shape-outside-circle-030.html [ ImageOnlyFailure ]
2909
webkit.org/b/203541 imported/w3c/web-platform-tests/css/css-shapes/shape-outside/supported-shapes/circle/shape-outside-circle-031.html [ ImageOnlyFailure ]
2910
webkit.org/b/203541 imported/w3c/web-platform-tests/css/css-shapes/shape-outside/supported-shapes/ellipse/shape-outside-ellipse-030.html [ ImageOnlyFailure ]
2911
webkit.org/b/203541 imported/w3c/web-platform-tests/css/css-shapes/shape-outside/supported-shapes/ellipse/shape-outside-ellipse-031.html [ ImageOnlyFailure ]
2912
2877
2913
# Initial failures on the import of css-overflow
2878
# Initial failures on the import of css-overflow
2914
imported/w3c/web-platform-tests/css/css-overflow/webkit-line-clamp-005.html [ ImageOnlyFailure ]
2879
imported/w3c/web-platform-tests/css/css-overflow/webkit-line-clamp-005.html [ ImageOnlyFailure ]
Lines 2934-2940 imported/w3c/web-platform-tests/css/css-overflow/webkit-line-clamp-029.html [ Im a/LayoutTests/TestExpectations_sec6
2934
imported/w3c/web-platform-tests/css/css-overflow/webkit-line-clamp-030.html [ ImageOnlyFailure ]
2899
imported/w3c/web-platform-tests/css/css-overflow/webkit-line-clamp-030.html [ ImageOnlyFailure ]
2935
imported/w3c/web-platform-tests/css/css-overflow/webkit-line-clamp-031.html [ ImageOnlyFailure ]
2900
imported/w3c/web-platform-tests/css/css-overflow/webkit-line-clamp-031.html [ ImageOnlyFailure ]
2936
imported/w3c/web-platform-tests/css/css-overflow/webkit-line-clamp-032.html [ ImageOnlyFailure ]
2901
imported/w3c/web-platform-tests/css/css-overflow/webkit-line-clamp-032.html [ ImageOnlyFailure ]
2937
imported/w3c/web-platform-tests/css/css-overflow/webkit-line-clamp/webkit-line-clamp-with-line-height.tentative.html [ ImageOnlyFailure ]
2938
2902
2939
webkit.org/b/175609 imported/w3c/web-platform-tests/IndexedDB/idbobjectstore_getAll.html [ Pass Failure ]
2903
webkit.org/b/175609 imported/w3c/web-platform-tests/IndexedDB/idbobjectstore_getAll.html [ Pass Failure ]
2940
webkit.org/b/175609 imported/w3c/web-platform-tests/IndexedDB/idbobjectstore_getKey.html [ Pass Failure ]
2904
webkit.org/b/175609 imported/w3c/web-platform-tests/IndexedDB/idbobjectstore_getKey.html [ Pass Failure ]
Lines 3149-3156 webkit.org/b/200209 imported/w3c/web-platform-tests/css/css-images/multiple-posi a/LayoutTests/TestExpectations_sec7
3149
3113
3150
# wpt css-transitions and css-animations failures and flakiness
3114
# wpt css-transitions and css-animations failures and flakiness
3151
webkit.org/b/203296 imported/w3c/web-platform-tests/css/css-animations/keyframes-remove-documentElement-crash.html [ Skip ]
3115
webkit.org/b/203296 imported/w3c/web-platform-tests/css/css-animations/keyframes-remove-documentElement-crash.html [ Skip ]
3152
webkit.org/b/203304 imported/w3c/web-platform-tests/css/css-animations/animation-opacity-pause-and-set-time.html [ ImageOnlyFailure ]
3153
webkit.org/b/203304 imported/w3c/web-platform-tests/css/css-animations/animation-transform-pause-and-set-time.html [ ImageOnlyFailure ]
3154
webkit.org/b/203480 imported/w3c/web-platform-tests/css/css-animations/event-order.tentative.html [ Pass Failure ]
3116
webkit.org/b/203480 imported/w3c/web-platform-tests/css/css-animations/event-order.tentative.html [ Pass Failure ]
3155
webkit.org/b/203305 imported/w3c/web-platform-tests/css/css-transitions/properties-value-001.html [ Pass Failure ]
3117
webkit.org/b/203305 imported/w3c/web-platform-tests/css/css-transitions/properties-value-001.html [ Pass Failure ]
3156
webkit.org/b/203305 imported/w3c/web-platform-tests/css/css-transitions/properties-value-inherit-001.html [ Pass Failure ]
3118
webkit.org/b/203305 imported/w3c/web-platform-tests/css/css-transitions/properties-value-inherit-001.html [ Pass Failure ]
Lines 3171-3184 webkit.org/b/203328 imported/w3c/web-platform-tests/css/css-values/attr-length-v a/LayoutTests/TestExpectations_sec8
3171
webkit.org/b/203329 imported/w3c/web-platform-tests/css/css-values/attr-length-valid.html [ ImageOnlyFailure ]
3133
webkit.org/b/203329 imported/w3c/web-platform-tests/css/css-values/attr-length-valid.html [ ImageOnlyFailure ]
3172
webkit.org/b/203330 imported/w3c/web-platform-tests/css/css-values/attr-px-invalid-cast.html [ ImageOnlyFailure ]
3134
webkit.org/b/203330 imported/w3c/web-platform-tests/css/css-values/attr-px-invalid-cast.html [ ImageOnlyFailure ]
3173
webkit.org/b/203331 imported/w3c/web-platform-tests/css/css-values/attr-px-valid.html [ ImageOnlyFailure ]
3135
webkit.org/b/203331 imported/w3c/web-platform-tests/css/css-values/attr-px-valid.html [ ImageOnlyFailure ]
3174
webkit.org/b/203333 imported/w3c/web-platform-tests/css/css-values/ch-unit-002.html [ ImageOnlyFailure ]
3175
webkit.org/b/203333 imported/w3c/web-platform-tests/css/css-values/ch-unit-003.html [ ImageOnlyFailure ]
3136
webkit.org/b/203333 imported/w3c/web-platform-tests/css/css-values/ch-unit-003.html [ ImageOnlyFailure ]
3176
webkit.org/b/203333 imported/w3c/web-platform-tests/css/css-values/ch-unit-010.html [ ImageOnlyFailure ]
3137
webkit.org/b/203333 imported/w3c/web-platform-tests/css/css-values/ch-unit-010.html [ ImageOnlyFailure ]
3177
webkit.org/b/203333 imported/w3c/web-platform-tests/css/css-values/ch-unit-011.html [ ImageOnlyFailure ]
3178
webkit.org/b/203333 imported/w3c/web-platform-tests/css/css-values/ch-unit-013.html [ ImageOnlyFailure ]
3179
webkit.org/b/203333 imported/w3c/web-platform-tests/css/css-values/ch-unit-014.html [ ImageOnlyFailure ]
3180
webkit.org/b/203333 imported/w3c/web-platform-tests/css/css-values/ch-unit-015.html [ ImageOnlyFailure ]
3181
webkit.org/b/203333 imported/w3c/web-platform-tests/css/css-values/ch-unit-018.html [ ImageOnlyFailure ]
3182
webkit.org/b/203334 imported/w3c/web-platform-tests/css/css-values/ic-unit-001.html [ ImageOnlyFailure ]
3138
webkit.org/b/203334 imported/w3c/web-platform-tests/css/css-values/ic-unit-001.html [ ImageOnlyFailure ]
3183
webkit.org/b/203334 imported/w3c/web-platform-tests/css/css-values/ic-unit-002.html [ ImageOnlyFailure ]
3139
webkit.org/b/203334 imported/w3c/web-platform-tests/css/css-values/ic-unit-002.html [ ImageOnlyFailure ]
3184
webkit.org/b/203334 imported/w3c/web-platform-tests/css/css-values/ic-unit-003.html [ ImageOnlyFailure ]
3140
webkit.org/b/203334 imported/w3c/web-platform-tests/css/css-values/ic-unit-003.html [ ImageOnlyFailure ]
Lines 3190-3196 webkit.org/b/203334 imported/w3c/web-platform-tests/css/css-values/ic-unit-011.h a/LayoutTests/TestExpectations_sec9
3190
webkit.org/b/203334 imported/w3c/web-platform-tests/css/css-values/ic-unit-012.html [ ImageOnlyFailure ]
3146
webkit.org/b/203334 imported/w3c/web-platform-tests/css/css-values/ic-unit-012.html [ ImageOnlyFailure ]
3191
webkit.org/b/203336 imported/w3c/web-platform-tests/css/css-values/lh-unit-001.html [ Pass ]
3147
webkit.org/b/203336 imported/w3c/web-platform-tests/css/css-values/lh-unit-001.html [ Pass ]
3192
webkit.org/b/203336 imported/w3c/web-platform-tests/css/css-values/lh-unit-002.html [ Pass ]
3148
webkit.org/b/203336 imported/w3c/web-platform-tests/css/css-values/lh-unit-002.html [ Pass ]
3193
webkit.org/b/203337 imported/w3c/web-platform-tests/css/css-values/vh-support-atviewport.html [ ImageOnlyFailure ]
3194
webkit.org/b/203338 imported/w3c/web-platform-tests/css/css-values/vh_not_refreshing_on_chrome.html [ ImageOnlyFailure ]
3149
webkit.org/b/203338 imported/w3c/web-platform-tests/css/css-values/vh_not_refreshing_on_chrome.html [ ImageOnlyFailure ]
3195
3150
3196
# wpt css-sizing failures
3151
# wpt css-sizing failures
Lines 3306-3312 webkit.org/b/206881 imported/w3c/web-platform-tests/css/css-fonts/font-kerning-0 a/LayoutTests/TestExpectations_sec10
3306
webkit.org/b/206881 imported/w3c/web-platform-tests/css/css-fonts/font-kerning-05.html [ ImageOnlyFailure ]
3261
webkit.org/b/206881 imported/w3c/web-platform-tests/css/css-fonts/font-kerning-05.html [ ImageOnlyFailure ]
3307
webkit.org/b/206881 imported/w3c/web-platform-tests/css/css-fonts/font-size-adjust-001.html [ ImageOnlyFailure ]
3262
webkit.org/b/206881 imported/w3c/web-platform-tests/css/css-fonts/font-size-adjust-001.html [ ImageOnlyFailure ]
3308
webkit.org/b/206881 imported/w3c/web-platform-tests/css/css-fonts/font-size-adjust-002.html [ ImageOnlyFailure ]
3263
webkit.org/b/206881 imported/w3c/web-platform-tests/css/css-fonts/font-size-adjust-002.html [ ImageOnlyFailure ]
3309
webkit.org/b/206881 imported/w3c/web-platform-tests/css/css-fonts/font-synthesis-05.html [ ImageOnlyFailure ]
3310
webkit.org/b/206881 imported/w3c/web-platform-tests/css/css-fonts/font-variant-01.html [ ImageOnlyFailure ]
3264
webkit.org/b/206881 imported/w3c/web-platform-tests/css/css-fonts/font-variant-01.html [ ImageOnlyFailure ]
3311
webkit.org/b/206881 imported/w3c/web-platform-tests/css/css-fonts/font-variant-02.html [ ImageOnlyFailure ]
3265
webkit.org/b/206881 imported/w3c/web-platform-tests/css/css-fonts/font-variant-02.html [ ImageOnlyFailure ]
3312
webkit.org/b/206881 imported/w3c/web-platform-tests/css/css-fonts/font-variant-05.xht [ ImageOnlyFailure ]
3266
webkit.org/b/206881 imported/w3c/web-platform-tests/css/css-fonts/font-variant-05.xht [ ImageOnlyFailure ]
Lines 3333-3339 webkit.org/b/206881 imported/w3c/web-platform-tests/css/css-fonts/font-variant-c a/LayoutTests/TestExpectations_sec11
3333
webkit.org/b/206881 imported/w3c/web-platform-tests/css/css-fonts/font-variant-descriptor-01.html [ ImageOnlyFailure ]
3287
webkit.org/b/206881 imported/w3c/web-platform-tests/css/css-fonts/font-variant-descriptor-01.html [ ImageOnlyFailure ]
3334
webkit.org/b/206881 imported/w3c/web-platform-tests/css/css-fonts/font-variant-east-asian.html [ ImageOnlyFailure ]
3288
webkit.org/b/206881 imported/w3c/web-platform-tests/css/css-fonts/font-variant-east-asian.html [ ImageOnlyFailure ]
3335
webkit.org/b/206881 imported/w3c/web-platform-tests/css/css-fonts/font-variant-ligatures-11.html [ ImageOnlyFailure ]
3289
webkit.org/b/206881 imported/w3c/web-platform-tests/css/css-fonts/font-variant-ligatures-11.html [ ImageOnlyFailure ]
3336
webkit.org/b/206881 imported/w3c/web-platform-tests/css/css-fonts/font-variant-position-01.html [ ImageOnlyFailure ]
3337
webkit.org/b/206881 imported/w3c/web-platform-tests/css/css-fonts/font-variant-position-02.html [ ImageOnlyFailure ]
3290
webkit.org/b/206881 imported/w3c/web-platform-tests/css/css-fonts/font-variant-position-02.html [ ImageOnlyFailure ]
3338
webkit.org/b/206881 imported/w3c/web-platform-tests/css/css-fonts/font-variant-position-03.html [ ImageOnlyFailure ]
3291
webkit.org/b/206881 imported/w3c/web-platform-tests/css/css-fonts/font-variant-position-03.html [ ImageOnlyFailure ]
3339
webkit.org/b/206881 imported/w3c/web-platform-tests/css/css-fonts/font-weight-bolder-001.xht [ ImageOnlyFailure ]
3292
webkit.org/b/206881 imported/w3c/web-platform-tests/css/css-fonts/font-weight-bolder-001.xht [ ImageOnlyFailure ]
Lines 3816-3835 webkit.org/b/206753 imported/w3c/web-platform-tests/css/css-backgrounds/backgrou a/LayoutTests/TestExpectations_sec12
3816
webkit.org/b/206753 imported/w3c/web-platform-tests/css/css-backgrounds/background-attachment-local/attachment-local-clipping-image-6.html [ ImageOnlyFailure ]
3769
webkit.org/b/206753 imported/w3c/web-platform-tests/css/css-backgrounds/background-attachment-local/attachment-local-clipping-image-6.html [ ImageOnlyFailure ]
3817
webkit.org/b/206753 imported/w3c/web-platform-tests/css/css-backgrounds/background-attachment-local/attachment-local-positioning-3.html [ ImageOnlyFailure ]
3770
webkit.org/b/206753 imported/w3c/web-platform-tests/css/css-backgrounds/background-attachment-local/attachment-local-positioning-3.html [ ImageOnlyFailure ]
3818
webkit.org/b/206753 imported/w3c/web-platform-tests/css/css-backgrounds/background-attachment-local/attachment-local-positioning-4.html [ ImageOnlyFailure ]
3771
webkit.org/b/206753 imported/w3c/web-platform-tests/css/css-backgrounds/background-attachment-local/attachment-local-positioning-4.html [ ImageOnlyFailure ]
3819
webkit.org/b/206753 imported/w3c/web-platform-tests/css/css-backgrounds/background-border-collapsed-gradient.html [ ImageOnlyFailure ]
3820
webkit.org/b/206753 imported/w3c/web-platform-tests/css/css-backgrounds/background-image-007.html [ ImageOnlyFailure ]
3821
webkit.org/b/206753 imported/w3c/web-platform-tests/css/css-backgrounds/background-position-negative-percentage-comparison.html [ ImageOnlyFailure ]
3772
webkit.org/b/206753 imported/w3c/web-platform-tests/css/css-backgrounds/background-position-negative-percentage-comparison.html [ ImageOnlyFailure ]
3822
webkit.org/b/206753 imported/w3c/web-platform-tests/css/css-backgrounds/background-repeat/background-repeat-no-repeat.xht [ ImageOnlyFailure ]
3823
webkit.org/b/206753 imported/w3c/web-platform-tests/css/css-backgrounds/background-repeat/background-repeat-repeat-x.xht [ ImageOnlyFailure ]
3824
webkit.org/b/206753 imported/w3c/web-platform-tests/css/css-backgrounds/background-repeat/background-repeat-repeat-y.xht [ ImageOnlyFailure ]
3825
webkit.org/b/206753 imported/w3c/web-platform-tests/css/css-backgrounds/background-repeat/background-repeat-round-roundup.xht [ ImageOnlyFailure ]
3826
webkit.org/b/206753 imported/w3c/web-platform-tests/css/css-backgrounds/background-repeat/background-repeat-round.xht [ ImageOnlyFailure ]
3827
webkit.org/b/206753 imported/w3c/web-platform-tests/css/css-backgrounds/background-repeat/background-repeat-space.xht [ ImageOnlyFailure ]
3828
webkit.org/b/206753 imported/w3c/web-platform-tests/css/css-backgrounds/background-size-cover-003.html [ ImageOnlyFailure ]
3773
webkit.org/b/206753 imported/w3c/web-platform-tests/css/css-backgrounds/background-size-cover-003.html [ ImageOnlyFailure ]
3829
webkit.org/b/206753 imported/w3c/web-platform-tests/css/css-backgrounds/background-size-with-negative-value.html [ ImageOnlyFailure ]
3774
webkit.org/b/206753 imported/w3c/web-platform-tests/css/css-backgrounds/background-size-with-negative-value.html [ ImageOnlyFailure ]
3830
webkit.org/b/206753 imported/w3c/web-platform-tests/css/css-backgrounds/background-size/background-size-contain.xht [ ImageOnlyFailure ]
3831
webkit.org/b/206753 imported/w3c/web-platform-tests/css/css-backgrounds/background-size/background-size-cover-svg.html [ ImageOnlyFailure ]
3775
webkit.org/b/206753 imported/w3c/web-platform-tests/css/css-backgrounds/background-size/background-size-cover-svg.html [ ImageOnlyFailure ]
3832
webkit.org/b/206753 imported/w3c/web-platform-tests/css/css-backgrounds/background-size/background-size-cover.xht [ ImageOnlyFailure ]
3833
webkit.org/b/206753 imported/w3c/web-platform-tests/css/css-backgrounds/background-size/vector/background-size-vector-003.html [ ImageOnlyFailure ]
3776
webkit.org/b/206753 imported/w3c/web-platform-tests/css/css-backgrounds/background-size/vector/background-size-vector-003.html [ ImageOnlyFailure ]
3834
webkit.org/b/206753 imported/w3c/web-platform-tests/css/css-backgrounds/background-size/vector/background-size-vector-004.html [ ImageOnlyFailure ]
3777
webkit.org/b/206753 imported/w3c/web-platform-tests/css/css-backgrounds/background-size/vector/background-size-vector-004.html [ ImageOnlyFailure ]
3835
webkit.org/b/206753 imported/w3c/web-platform-tests/css/css-backgrounds/background-size/vector/background-size-vector-005.html [ ImageOnlyFailure ]
3778
webkit.org/b/206753 imported/w3c/web-platform-tests/css/css-backgrounds/background-size/vector/background-size-vector-005.html [ ImageOnlyFailure ]
Lines 3962-3968 webkit.org/b/206753 imported/w3c/web-platform-tests/css/css-backgrounds/border-i a/LayoutTests/TestExpectations_sec13
3962
webkit.org/b/206753 imported/w3c/web-platform-tests/css/css-backgrounds/border-image-width-008.html [ ImageOnlyFailure ]
3905
webkit.org/b/206753 imported/w3c/web-platform-tests/css/css-backgrounds/border-image-width-008.html [ ImageOnlyFailure ]
3963
webkit.org/b/206753 imported/w3c/web-platform-tests/css/css-backgrounds/border-radius-clipping.html [ ImageOnlyFailure ]
3906
webkit.org/b/206753 imported/w3c/web-platform-tests/css/css-backgrounds/border-radius-clipping.html [ ImageOnlyFailure ]
3964
webkit.org/b/206753 imported/w3c/web-platform-tests/css/css-backgrounds/css-border-radius-001.html [ ImageOnlyFailure ]
3907
webkit.org/b/206753 imported/w3c/web-platform-tests/css/css-backgrounds/css-border-radius-001.html [ ImageOnlyFailure ]
3965
webkit.org/b/206753 imported/w3c/web-platform-tests/css/css-backgrounds/css-border-radius-002.html [ ImageOnlyFailure ]
3966
webkit.org/b/206753 imported/w3c/web-platform-tests/css/css-backgrounds/css3-border-image-repeat-repeat.html [ ImageOnlyFailure ]
3908
webkit.org/b/206753 imported/w3c/web-platform-tests/css/css-backgrounds/css3-border-image-repeat-repeat.html [ ImageOnlyFailure ]
3967
webkit.org/b/206753 imported/w3c/web-platform-tests/css/css-backgrounds/css3-border-image-repeat-stretch.html [ ImageOnlyFailure ]
3909
webkit.org/b/206753 imported/w3c/web-platform-tests/css/css-backgrounds/css3-border-image-repeat-stretch.html [ ImageOnlyFailure ]
3968
webkit.org/b/206753 imported/w3c/web-platform-tests/css/css-backgrounds/first-letter-space-not-selected.html [ ImageOnlyFailure ]
3910
webkit.org/b/206753 imported/w3c/web-platform-tests/css/css-backgrounds/first-letter-space-not-selected.html [ ImageOnlyFailure ]
Lines 4649-4655 webkit.org/b/214299 imported/w3c/web-platform-tests/css/css-ui/webkit-appearance a/LayoutTests/TestExpectations_sec14
4649
webkit.org/b/214299 imported/w3c/web-platform-tests/css/css-ui/webkit-appearance-textfield-001.html [ ImageOnlyFailure ]
4591
webkit.org/b/214299 imported/w3c/web-platform-tests/css/css-ui/webkit-appearance-textfield-001.html [ ImageOnlyFailure ]
4650
4592
4651
webkit.org/b/214300 imported/w3c/web-platform-tests/css/css-fonts/font-language-override-01.html [ ImageOnlyFailure ]
4593
webkit.org/b/214300 imported/w3c/web-platform-tests/css/css-fonts/font-language-override-01.html [ ImageOnlyFailure ]
4652
webkit.org/b/214300 imported/w3c/web-platform-tests/css/css-fonts/font-language-override-02.html [ ImageOnlyFailure ]
4653
webkit.org/b/214300 imported/w3c/web-platform-tests/css/css-fonts/test-synthetic-italic-2.html [ ImageOnlyFailure ]
4594
webkit.org/b/214300 imported/w3c/web-platform-tests/css/css-fonts/test-synthetic-italic-2.html [ ImageOnlyFailure ]
4654
webkit.org/b/214300 imported/w3c/web-platform-tests/css/css-fonts/test-synthetic-italic-3.html [ ImageOnlyFailure ]
4595
webkit.org/b/214300 imported/w3c/web-platform-tests/css/css-fonts/test-synthetic-italic-3.html [ ImageOnlyFailure ]
4655
webkit.org/b/214300 imported/w3c/web-platform-tests/css/css-fonts/variations/font-slant-1.html [ ImageOnlyFailure ]
4596
webkit.org/b/214300 imported/w3c/web-platform-tests/css/css-fonts/variations/font-slant-1.html [ ImageOnlyFailure ]
Lines 4657-4659 webkit.org/b/214300 imported/w3c/web-platform-tests/css/css-fonts/variations/fon a/LayoutTests/TestExpectations_sec15
4657
webkit.org/b/214300 imported/w3c/web-platform-tests/css/css-fonts/variations/font-slant-2b.html [ ImageOnlyFailure ]
4598
webkit.org/b/214300 imported/w3c/web-platform-tests/css/css-fonts/variations/font-slant-2b.html [ ImageOnlyFailure ]
4658
4599
4659
webkit.org/b/214387 imported/w3c/web-platform-tests/svg/animations/seeking-events-4.html [ Pass Failure ]
4600
webkit.org/b/214387 imported/w3c/web-platform-tests/svg/animations/seeking-events-4.html [ Pass Failure ]
4601
4602
webkit.org/b/214453 imported/w3c/web-platform-tests/css/css-align/baseline-of-scrollable-1a.html [ ImageOnlyFailure ]
4603
webkit.org/b/214453 imported/w3c/web-platform-tests/css/css-align/baseline-of-scrollable-1b.html [ ImageOnlyFailure ]
4604
webkit.org/b/214453 imported/w3c/web-platform-tests/css/css-align/baseline-of-scrollable-2.html [ ImageOnlyFailure ]
4605
webkit.org/b/214453 imported/w3c/web-platform-tests/css/css-align/baseline-rules/grid-item-input-type-number.html [ ImageOnlyFailure ]
4606
webkit.org/b/214453 imported/w3c/web-platform-tests/css/css-align/baseline-rules/grid-item-input-type-text.html [ ImageOnlyFailure ]
4607
webkit.org/b/214453 imported/w3c/web-platform-tests/css/css-align/baseline-rules/synthesized-baseline-table-cell-001.html [ ImageOnlyFailure ]
4608
4609
webkit.org/b/214454 imported/w3c/web-platform-tests/css/css-backgrounds/background-attachment-margin-root-001.html [ ImageOnlyFailure ]
4610
webkit.org/b/214454 imported/w3c/web-platform-tests/css/css-backgrounds/background-margin-iframe-root.html [ ImageOnlyFailure ]
4611
webkit.org/b/214454 imported/w3c/web-platform-tests/css/css-backgrounds/background-margin-root.html [ ImageOnlyFailure ]
4612
webkit.org/b/214454 imported/w3c/web-platform-tests/css/css-backgrounds/background-margin-transformed-root.html [ ImageOnlyFailure ]
4613
webkit.org/b/214454 imported/w3c/web-platform-tests/css/css-backgrounds/background-margin-will-change-root.html [ ImageOnlyFailure ]
4614
webkit.org/b/214454 imported/w3c/web-platform-tests/css/css-backgrounds/background-position-xy-three-four-values-passthru.html [ ImageOnlyFailure ]
4615
webkit.org/b/214454 imported/w3c/web-platform-tests/css/css-backgrounds/background-size/background-size-near-zero-gradient.html [ ImageOnlyFailure ]
4616
webkit.org/b/214454 imported/w3c/web-platform-tests/css/css-backgrounds/background-size/background-size-near-zero-png.html [ ImageOnlyFailure ]
4617
webkit.org/b/214454 imported/w3c/web-platform-tests/css/css-backgrounds/background-size/background-size-near-zero-svg.html [ ImageOnlyFailure ]
4618
webkit.org/b/214454 imported/w3c/web-platform-tests/css/css-backgrounds/border-width-pixel-snapping-001-a.html [ ImageOnlyFailure ]
4619
4620
webkit.org/b/214455 imported/w3c/web-platform-tests/css/css-color-adjust/rendering/dark-color-scheme/color-scheme-change-checkbox.html [ ImageOnlyFailure ]
4621
webkit.org/b/214455 imported/w3c/web-platform-tests/css/css-color-adjust/rendering/dark-color-scheme/color-scheme-iframe-background.html [ ImageOnlyFailure ]
4622
webkit.org/b/214455 imported/w3c/web-platform-tests/css/css-color-adjust/rendering/dark-color-scheme/color-scheme-iframe-background-mismatch-alpha.html [ ImageOnlyFailure ]
4623
webkit.org/b/214455 imported/w3c/web-platform-tests/css/css-color-adjust/rendering/dark-color-scheme/color-scheme-iframe-background-mismatch-opaque.html [ ImageOnlyFailure ]
4624
webkit.org/b/214455 imported/w3c/web-platform-tests/css/css-color-adjust/rendering/dark-color-scheme/color-scheme-visited-link-initial.html [ ImageOnlyFailure ]
4625
4626
webkit.org/b/214456 imported/w3c/web-platform-tests/css/css-images/conic-gradient-angle.html [ ImageOnlyFailure ]
4627
webkit.org/b/214456 imported/w3c/web-platform-tests/css/css-images/conic-gradient-angle-negative.html [ ImageOnlyFailure ]
4628
webkit.org/b/214456 imported/w3c/web-platform-tests/css/css-images/conic-gradient-center.html [ ImageOnlyFailure ]
4629
webkit.org/b/214456 imported/w3c/web-platform-tests/css/css-images/image-orientation/image-orientation-background-image.html [ ImageOnlyFailure ]
4630
webkit.org/b/214456 imported/w3c/web-platform-tests/css/css-images/image-orientation/image-orientation-background-properties.html [ ImageOnlyFailure ]
4631
webkit.org/b/214456 imported/w3c/web-platform-tests/css/css-images/image-orientation/image-orientation-default.html [ ImageOnlyFailure ]
4632
webkit.org/b/214456 imported/w3c/web-platform-tests/css/css-images/image-orientation/image-orientation-from-image-composited-dynamic1.html [ ImageOnlyFailure ]
4633
webkit.org/b/214456 imported/w3c/web-platform-tests/css/css-images/image-orientation/image-orientation-from-image-composited-dynamic2.html [ ImageOnlyFailure ]
4634
webkit.org/b/214456 imported/w3c/web-platform-tests/css/css-images/image-orientation/image-orientation-from-image-composited.html [ ImageOnlyFailure ]
4635
webkit.org/b/214456 imported/w3c/web-platform-tests/css/css-images/image-orientation/image-orientation-from-image-content-images.html [ ImageOnlyFailure ]
4636
webkit.org/b/214456 imported/w3c/web-platform-tests/css/css-images/image-orientation/image-orientation-from-image-dynamic1.html [ ImageOnlyFailure ]
4637
webkit.org/b/214456 imported/w3c/web-platform-tests/css/css-images/image-orientation/image-orientation-from-image-dynamic2.html [ ImageOnlyFailure ]
4638
webkit.org/b/214456 imported/w3c/web-platform-tests/css/css-images/image-orientation/image-orientation-from-image-embedded-content.html [ ImageOnlyFailure ]
4639
webkit.org/b/214456 imported/w3c/web-platform-tests/css/css-images/image-orientation/image-orientation-from-image.html [ ImageOnlyFailure ]
4640
webkit.org/b/214456 imported/w3c/web-platform-tests/css/css-images/image-orientation/image-orientation-list-style-image.html [ ImageOnlyFailure ]
4641
webkit.org/b/214456 imported/w3c/web-platform-tests/css/css-images/image-orientation/image-orientation-none-content-images.html [ ImageOnlyFailure ]
4642
webkit.org/b/214456 imported/w3c/web-platform-tests/css/css-images/image-orientation/image-orientation-none.html [ ImageOnlyFailure ]
4643
webkit.org/b/214456 imported/w3c/web-platform-tests/css/css-images/image-orientation/image-orientation-none-image-document.html [ ImageOnlyFailure ]
4644
webkit.org/b/214456 imported/w3c/web-platform-tests/css/css-images/image-orientation/svg-image-orientation-aspect-ratio.html [ ImageOnlyFailure ]
4645
webkit.org/b/214456 imported/w3c/web-platform-tests/css/css-images/image-orientation/svg-image-orientation.html [ ImageOnlyFailure ]
4646
webkit.org/b/214456 imported/w3c/web-platform-tests/css/css-images/image-orientation/svg-image-orientation-none.html [ ImageOnlyFailure ]
4647
webkit.org/b/214456 imported/w3c/web-platform-tests/css/css-images/image-resolution/image-resolution-001.html [ ImageOnlyFailure ]
4648
webkit.org/b/214456 imported/w3c/web-platform-tests/css/css-images/image-resolution/image-resolution-002.html [ ImageOnlyFailure ]
4649
webkit.org/b/214456 imported/w3c/web-platform-tests/css/css-images/image-resolution/image-resolution-003.html [ ImageOnlyFailure ]
4650
webkit.org/b/214456 imported/w3c/web-platform-tests/css/css-images/image-resolution/image-resolution-004.html [ ImageOnlyFailure ]
4651
webkit.org/b/214456 imported/w3c/web-platform-tests/css/css-images/image-resolution/image-resolution-005.html [ ImageOnlyFailure ]
4652
webkit.org/b/214456 imported/w3c/web-platform-tests/css/css-images/image-resolution/image-resolution-006.html [ ImageOnlyFailure ]
4653
webkit.org/b/214456 imported/w3c/web-platform-tests/css/css-images/image-resolution/image-resolution-007.html [ ImageOnlyFailure ]
4654
webkit.org/b/214456 imported/w3c/web-platform-tests/css/css-images/image-resolution/image-resolution-008.html [ ImageOnlyFailure ]
4655
webkit.org/b/214456 imported/w3c/web-platform-tests/css/css-images/image-resolution/image-resolution-009.html [ ImageOnlyFailure ]
4656
webkit.org/b/214456 imported/w3c/web-platform-tests/css/css-images/image-resolution/image-resolution-010.html [ ImageOnlyFailure ]
4657
webkit.org/b/214456 imported/w3c/web-platform-tests/css/css-images/infinite-radial-gradient-refcrash.html [ ImageOnlyFailure ]
4658
webkit.org/b/214456 imported/w3c/web-platform-tests/css/css-images/multiple-position-color-stop-conic-2.html [ ImageOnlyFailure ]
4659
webkit.org/b/214456 imported/w3c/web-platform-tests/css/css-images/normalization-conic-2.html [ ImageOnlyFailure ]
4660
webkit.org/b/214456 imported/w3c/web-platform-tests/css/css-images/normalization-linear.html [ ImageOnlyFailure ]
4661
webkit.org/b/214456 imported/w3c/web-platform-tests/css/css-images/normalization-radial.html [ ImageOnlyFailure ]
4662
webkit.org/b/214456 imported/w3c/web-platform-tests/css/css-images/out-of-range-color-stop-conic.html [ ImageOnlyFailure ]
4663
webkit.org/b/214456 imported/w3c/web-platform-tests/css/css-images/tiled-conic-gradients.html [ ImageOnlyFailure ]
4664
4665
webkit.org/b/214457 imported/w3c/web-platform-tests/css/css-lists/change-list-descendant-display.html [ ImageOnlyFailure ]
4666
webkit.org/b/214457 imported/w3c/web-platform-tests/css/css-lists/counter-set-001.html [ ImageOnlyFailure ]
4667
webkit.org/b/214457 imported/w3c/web-platform-tests/css/css-lists/inline-block-list.html [ ImageOnlyFailure ]
4668
webkit.org/b/214457 imported/w3c/web-platform-tests/css/css-lists/inline-block-list-marker.html [ ImageOnlyFailure ]
4669
webkit.org/b/214457 imported/w3c/web-platform-tests/css/css-lists/inline-list.html [ ImageOnlyFailure ]
4670
webkit.org/b/214457 imported/w3c/web-platform-tests/css/css-lists/inline-list-marker.html [ ImageOnlyFailure ]
4671
webkit.org/b/214457 imported/w3c/web-platform-tests/css/css-lists/inline-list-with-table-child.html [ ImageOnlyFailure ]
4672
webkit.org/b/214457 imported/w3c/web-platform-tests/css/css-lists/li-list-item-counter.html [ ImageOnlyFailure ]
4673
webkit.org/b/214457 imported/w3c/web-platform-tests/css/css-lists/list-item-definition.html [ ImageOnlyFailure ]
4674
webkit.org/b/214457 imported/w3c/web-platform-tests/css/css-lists/li-value-counter-reset-001.html [ ImageOnlyFailure ]
4675
webkit.org/b/214457 imported/w3c/web-platform-tests/css/css-lists/li-value-reversed-003.html [ ImageOnlyFailure ]
4676
webkit.org/b/214457 imported/w3c/web-platform-tests/css/css-lists/li-value-reversed-004.html [ ImageOnlyFailure ]
4677
webkit.org/b/214457 imported/w3c/web-platform-tests/css/css-lists/li-value-reversed-005.html [ ImageOnlyFailure ]
4678
4679
webkit.org/b/214458 imported/w3c/web-platform-tests/css/css-multicol/change-intrinsic-width.html [ ImageOnlyFailure ]
4680
webkit.org/b/214458 imported/w3c/web-platform-tests/css/css-multicol/multicol-fill-balance-003.html [ ImageOnlyFailure ]
4681
webkit.org/b/214458 imported/w3c/web-platform-tests/css/css-multicol/multicol-list-item-002.html [ ImageOnlyFailure ]
4682
webkit.org/b/214458 imported/w3c/web-platform-tests/css/css-multicol/nested-with-too-tall-line.html [ ImageOnlyFailure ]
4683
4684
webkit.org/b/214459 imported/w3c/web-platform-tests/css/css-overflow/clip-001.html [ ImageOnlyFailure ]
4685
webkit.org/b/214459 imported/w3c/web-platform-tests/css/css-overflow/dynamic-visible-to-clip-001.html [ ImageOnlyFailure ]
4686
webkit.org/b/214459 imported/w3c/web-platform-tests/css/css-overflow/text-overflow-ellipsis-editing-input.html [ ImageOnlyFailure ]
4687
webkit.org/b/214459 imported/w3c/web-platform-tests/css/css-overflow/text-overflow-ellipsis-vertical-001.html [ ImageOnlyFailure ]
4688
webkit.org/b/214459 imported/w3c/web-platform-tests/css/css-overflow/text-overflow-ellipsis-vertical-rtl-001.html [ ImageOnlyFailure ]
4689
webkit.org/b/214459 imported/w3c/web-platform-tests/css/css-overflow/text-overflow-scroll-001.html [ ImageOnlyFailure ]
4690
webkit.org/b/214459 imported/w3c/web-platform-tests/css/css-overflow/text-overflow-scroll-rtl-001.html [ ImageOnlyFailure ]
4691
webkit.org/b/214459 imported/w3c/web-platform-tests/css/css-overflow/text-overflow-scroll-vertical-lr-001.html [ ImageOnlyFailure ]
4692
webkit.org/b/214459 imported/w3c/web-platform-tests/css/css-overflow/text-overflow-scroll-vertical-lr-rtl-001.html [ ImageOnlyFailure ]
4693
webkit.org/b/214459 imported/w3c/web-platform-tests/css/css-overflow/text-overflow-scroll-vertical-rl-001.html [ ImageOnlyFailure ]
4694
webkit.org/b/214459 imported/w3c/web-platform-tests/css/css-overflow/text-overflow-scroll-vertical-rl-rtl-001.html [ ImageOnlyFailure ]
4695
webkit.org/b/214459 imported/w3c/web-platform-tests/css/css-overflow/webkit-line-clamp-035.html [ ImageOnlyFailure ]
4696
webkit.org/b/214459 imported/w3c/web-platform-tests/css/css-overflow/webkit-line-clamp-with-line-height.tentative.html [ ImageOnlyFailure ]
4697
4698
webkit.org/b/214460 imported/w3c/web-platform-tests/css/css-position/position-absolute-center-001.tentative.html [ ImageOnlyFailure ]
4699
webkit.org/b/214460 imported/w3c/web-platform-tests/css/css-position/position-absolute-center-002.tentative.html [ ImageOnlyFailure ]
4700
webkit.org/b/214460 imported/w3c/web-platform-tests/css/css-position/position-absolute-center-003.html [ ImageOnlyFailure ]
4701
webkit.org/b/214460 imported/w3c/web-platform-tests/css/css-position/position-absolute-center-004.html [ ImageOnlyFailure ]
4702
webkit.org/b/214460 imported/w3c/web-platform-tests/css/css-position/position-absolute-dynamic-static-position-inline.html [ ImageOnlyFailure ]
4703
webkit.org/b/214460 imported/w3c/web-platform-tests/css/css-position/position-sticky-large-top-2.tentative.html [ ImageOnlyFailure ]
4704
webkit.org/b/214460 imported/w3c/web-platform-tests/css/css-position/position-sticky-large-top.tentative.html [ ImageOnlyFailure ]
4705
4706
webkit.org/b/214461 imported/w3c/web-platform-tests/css/css-pseudo/active-selection-051.html [ ImageOnlyFailure ]
4707
webkit.org/b/214461 imported/w3c/web-platform-tests/css/css-pseudo/active-selection-052.html [ ImageOnlyFailure ]
4708
webkit.org/b/214461 imported/w3c/web-platform-tests/css/css-pseudo/active-selection-053.html [ ImageOnlyFailure ]
4709
webkit.org/b/214461 imported/w3c/web-platform-tests/css/css-pseudo/active-selection-054.html [ ImageOnlyFailure ]
4710
webkit.org/b/214461 imported/w3c/web-platform-tests/css/css-pseudo/active-selection-063.html [ ImageOnlyFailure ]
4711
webkit.org/b/214461 imported/w3c/web-platform-tests/css/css-pseudo/cascade-highlight-001.html [ ImageOnlyFailure ]
4712
webkit.org/b/214461 imported/w3c/web-platform-tests/css/css-pseudo/cascade-highlight-002.html [ ImageOnlyFailure ]
4713
webkit.org/b/214461 imported/w3c/web-platform-tests/css/css-pseudo/cascade-highlight-004.html [ ImageOnlyFailure ]
4714
webkit.org/b/214461 imported/w3c/web-platform-tests/css/css-pseudo/first-letter-and-whitespace.html [ ImageOnlyFailure ]
4715
webkit.org/b/214461 imported/w3c/web-platform-tests/css/css-pseudo/first-letter-exclude-inline-child-marker.html [ ImageOnlyFailure ]
4716
webkit.org/b/214461 imported/w3c/web-platform-tests/css/css-pseudo/first-letter-exclude-inline-marker.html [ ImageOnlyFailure ]
4717
webkit.org/b/214461 imported/w3c/web-platform-tests/css/css-pseudo/first-letter-list-item-dynamic-001.html [ ImageOnlyFailure ]
4718
webkit.org/b/214461 imported/w3c/web-platform-tests/css/css-pseudo/first-line-change-inline-color.html [ ImageOnlyFailure ]
4719
webkit.org/b/214461 imported/w3c/web-platform-tests/css/css-pseudo/first-line-change-inline-color-nested.html [ ImageOnlyFailure ]
4720
webkit.org/b/214461 imported/w3c/web-platform-tests/css/css-pseudo/first-line-opacity-001.html [ ImageOnlyFailure ]
4721
webkit.org/b/214461 imported/w3c/web-platform-tests/css/css-pseudo/first-line-with-before-after.html [ ImageOnlyFailure ]
4722
webkit.org/b/214461 imported/w3c/web-platform-tests/css/css-pseudo/first-line-with-out-of-flow.html [ ImageOnlyFailure ]
4723
webkit.org/b/214461 imported/w3c/web-platform-tests/css/css-pseudo/grammar-error-001.html [ ImageOnlyFailure ]
4724
webkit.org/b/214461 imported/w3c/web-platform-tests/css/css-pseudo/marker-content-006.html [ ImageOnlyFailure ]
4725
webkit.org/b/214461 imported/w3c/web-platform-tests/css/css-pseudo/marker-content-007.tentative.html [ ImageOnlyFailure ]
4726
webkit.org/b/214461 imported/w3c/web-platform-tests/css/css-pseudo/marker-content-008.tentative.html [ ImageOnlyFailure ]
4727
webkit.org/b/214461 imported/w3c/web-platform-tests/css/css-pseudo/marker-content-009.tentative.html [ ImageOnlyFailure ]
4728
webkit.org/b/214461 imported/w3c/web-platform-tests/css/css-pseudo/marker-content-010.html [ ImageOnlyFailure ]
4729
webkit.org/b/214461 imported/w3c/web-platform-tests/css/css-pseudo/marker-content-011.tentative.html [ ImageOnlyFailure ]
4730
webkit.org/b/214461 imported/w3c/web-platform-tests/css/css-pseudo/marker-content-012.html [ ImageOnlyFailure ]
4731
webkit.org/b/214461 imported/w3c/web-platform-tests/css/css-pseudo/marker-content-014.html [ ImageOnlyFailure ]
4732
webkit.org/b/214461 imported/w3c/web-platform-tests/css/css-pseudo/marker-content-017.html [ ImageOnlyFailure ]
4733
webkit.org/b/214461 imported/w3c/web-platform-tests/css/css-pseudo/marker-content-019.html [ ImageOnlyFailure ]
4734
webkit.org/b/214461 imported/w3c/web-platform-tests/css/css-pseudo/marker-content-021.html [ ImageOnlyFailure ]
4735
webkit.org/b/214461 imported/w3c/web-platform-tests/css/css-pseudo/marker-content-022.html [ ImageOnlyFailure ]
4736
webkit.org/b/214461 imported/w3c/web-platform-tests/css/css-pseudo/marker-font-variant-numeric-normal.html [ ImageOnlyFailure ]
4737
webkit.org/b/214461 imported/w3c/web-platform-tests/css/css-pseudo/marker-list-style-position.html [ ImageOnlyFailure ]
4738
webkit.org/b/214461 imported/w3c/web-platform-tests/css/css-pseudo/marker-text-combine-upright.html [ ImageOnlyFailure ]
4739
webkit.org/b/214461 imported/w3c/web-platform-tests/css/css-pseudo/marker-unicode-bidi-default.html [ ImageOnlyFailure ]
4740
webkit.org/b/214461 imported/w3c/web-platform-tests/css/css-pseudo/marker-unicode-bidi-normal.html [ ImageOnlyFailure ]
4741
webkit.org/b/214461 imported/w3c/web-platform-tests/css/css-pseudo/spelling-error-001.html [ ImageOnlyFailure ]
4742
4743
webkit.org/b/214462 imported/w3c/web-platform-tests/css/css-scoping/host-context-specificity-001.html [ ImageOnlyFailure ]
4744
webkit.org/b/214462 imported/w3c/web-platform-tests/css/css-scoping/host-context-specificity-002.html [ ImageOnlyFailure ]
4745
webkit.org/b/214462 imported/w3c/web-platform-tests/css/css-scoping/host-context-specificity-003.html [ ImageOnlyFailure ]
4746
webkit.org/b/214462 imported/w3c/web-platform-tests/css/css-scoping/host-specificity.html [ ImageOnlyFailure ]
4747
webkit.org/b/214462 imported/w3c/web-platform-tests/css/css-scoping/host-with-default-namespace-001.html [ ImageOnlyFailure ]
4748
webkit.org/b/214462 imported/w3c/web-platform-tests/css/css-scoping/shadow-directionality-001.tentative.html [ ImageOnlyFailure ]
4749
webkit.org/b/214462 imported/w3c/web-platform-tests/css/css-scoping/shadow-directionality-002.tentative.html [ ImageOnlyFailure ]
4750
webkit.org/b/214462 imported/w3c/web-platform-tests/css/css-scoping/slotted-placeholder.html [ ImageOnlyFailure ]
4751
4752
webkit.org/b/214463 imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/abspos-001.tentative.html [ ImageOnlyFailure ]
4753
webkit.org/b/214463 imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/abspos-002.tentative.html [ ImageOnlyFailure ]
4754
webkit.org/b/214463 imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/abspos-003.tentative.html [ ImageOnlyFailure ]
4755
webkit.org/b/214463 imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/abspos-004.tentative.html [ ImageOnlyFailure ]
4756
webkit.org/b/214463 imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/abspos-005.tentative.html [ ImageOnlyFailure ]
4757
webkit.org/b/214463 imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/abspos-006.tentative.html [ ImageOnlyFailure ]
4758
webkit.org/b/214463 imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/abspos-007.tentative.html [ ImageOnlyFailure ]
4759
webkit.org/b/214463 imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/abspos-008.tentative.html [ ImageOnlyFailure ]
4760
webkit.org/b/214463 imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/auto-margins-001.tentative.html [ ImageOnlyFailure ]
4761
webkit.org/b/214463 imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/block-aspect-ratio-001.tentative.html [ ImageOnlyFailure ]
4762
webkit.org/b/214463 imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/block-aspect-ratio-002.tentative.html [ ImageOnlyFailure ]
4763
webkit.org/b/214463 imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/block-aspect-ratio-003.tentative.html [ ImageOnlyFailure ]
4764
webkit.org/b/214463 imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/block-aspect-ratio-004.tentative.html [ ImageOnlyFailure ]
4765
webkit.org/b/214463 imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/block-aspect-ratio-005.tentative.html [ ImageOnlyFailure ]
4766
webkit.org/b/214463 imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/block-aspect-ratio-006.tentative.html [ ImageOnlyFailure ]
4767
webkit.org/b/214463 imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/block-aspect-ratio-007.tentative.html [ ImageOnlyFailure ]
4768
webkit.org/b/214463 imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/block-aspect-ratio-008.tentative.html [ ImageOnlyFailure ]
4769
webkit.org/b/214463 imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/block-aspect-ratio-010.tentative.html [ ImageOnlyFailure ]
4770
webkit.org/b/214463 imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/block-aspect-ratio-011.tentative.html [ ImageOnlyFailure ]
4771
webkit.org/b/214463 imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/block-aspect-ratio-012.tentative.html [ ImageOnlyFailure ]
4772
webkit.org/b/214463 imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/block-aspect-ratio-013.tentative.html [ ImageOnlyFailure ]
4773
webkit.org/b/214463 imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/block-aspect-ratio-015.tentative.html [ ImageOnlyFailure ]
4774
webkit.org/b/214463 imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/block-aspect-ratio-016.tentative.html [ ImageOnlyFailure ]
4775
webkit.org/b/214463 imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/block-aspect-ratio-018.tentative.html [ ImageOnlyFailure ]
4776
webkit.org/b/214463 imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/block-aspect-ratio-019.tentative.html [ ImageOnlyFailure ]
4777
webkit.org/b/214463 imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/block-aspect-ratio-020.tentative.html [ ImageOnlyFailure ]
4778
webkit.org/b/214463 imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/flex-aspect-ratio-001.tentative.html [ ImageOnlyFailure ]
4779
webkit.org/b/214463 imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/flex-aspect-ratio-002.tentative.html [ ImageOnlyFailure ]
4780
webkit.org/b/214463 imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/flex-aspect-ratio-003.tentative.html [ ImageOnlyFailure ]
4781
webkit.org/b/214463 imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/flex-aspect-ratio-004.tentative.html [ ImageOnlyFailure ]
4782
webkit.org/b/214463 imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/flex-aspect-ratio-005.tentative.html [ ImageOnlyFailure ]
4783
webkit.org/b/214463 imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/flex-aspect-ratio-006.tentative.html [ ImageOnlyFailure ]
4784
webkit.org/b/214463 imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/flex-aspect-ratio-007.tentative.html [ ImageOnlyFailure ]
4785
webkit.org/b/214463 imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/flex-aspect-ratio-009.tentative.html [ ImageOnlyFailure ]
4786
webkit.org/b/214463 imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/intrinsic-size-001.tentative.html [ ImageOnlyFailure ]
4787
webkit.org/b/214463 imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/intrinsic-size-002.tentative.html [ ImageOnlyFailure ]
4788
webkit.org/b/214463 imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/intrinsic-size-003.tentative.html [ ImageOnlyFailure ]
4789
webkit.org/b/214463 imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/intrinsic-size-004.tentative.html [ ImageOnlyFailure ]
4790
webkit.org/b/214463 imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/intrinsic-size-005.tentative.html [ ImageOnlyFailure ]
4791
webkit.org/b/214463 imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/intrinsic-size-006.tentative.html [ ImageOnlyFailure ]
4792
webkit.org/b/214463 imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/intrinsic-size-008.tentative.html [ ImageOnlyFailure ]
4793
webkit.org/b/214463 imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/percentage-resolution-001.tentative.html [ ImageOnlyFailure ]
4794
webkit.org/b/214463 imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/percentage-resolution-002.tentative.html [ ImageOnlyFailure ]
4795
webkit.org/b/214463 imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/percentage-resolution-003.tentative.html [ ImageOnlyFailure ]
4796
webkit.org/b/214463 imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/percentage-resolution-004.tentative.html [ ImageOnlyFailure ]
4797
webkit.org/b/214463 imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/replaced-element-001.tentative.html [ ImageOnlyFailure ]
4798
webkit.org/b/214463 imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/replaced-element-002.tentative.html [ ImageOnlyFailure ]
4799
webkit.org/b/214463 imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/replaced-element-004.tentative.html [ ImageOnlyFailure ]
4800
webkit.org/b/214463 imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/replaced-element-005.tentative.html [ ImageOnlyFailure ]
4801
webkit.org/b/214463 imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/replaced-element-006.tentative.html [ ImageOnlyFailure ]
4802
webkit.org/b/214463 imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/replaced-element-007.tentative.html [ ImageOnlyFailure ]
4803
webkit.org/b/214463 imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/replaced-element-008.tentative.html [ ImageOnlyFailure ]
4804
webkit.org/b/214463 imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/replaced-element-009.tentative.html [ ImageOnlyFailure ]
4805
webkit.org/b/214463 imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/replaced-element-010.tentative.html [ ImageOnlyFailure ]
4806
webkit.org/b/214463 imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/replaced-element-011.tentative.html [ ImageOnlyFailure ]
4807
webkit.org/b/214463 imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/replaced-element-012.tentative.html [ ImageOnlyFailure ]
4808
webkit.org/b/214463 imported/w3c/web-platform-tests/css/css-sizing/contain-intrinsic-size/contain-intrinsic-size-001.html [ ImageOnlyFailure ]
4809
webkit.org/b/214463 imported/w3c/web-platform-tests/css/css-sizing/contain-intrinsic-size/contain-intrinsic-size-002.html [ ImageOnlyFailure ]
4810
webkit.org/b/214463 imported/w3c/web-platform-tests/css/css-sizing/contain-intrinsic-size/contain-intrinsic-size-003.html [ ImageOnlyFailure ]
4811
webkit.org/b/214463 imported/w3c/web-platform-tests/css/css-sizing/contain-intrinsic-size/contain-intrinsic-size-004.html [ ImageOnlyFailure ]
4812
webkit.org/b/214463 imported/w3c/web-platform-tests/css/css-sizing/contain-intrinsic-size/contain-intrinsic-size-005.html [ ImageOnlyFailure ]
4813
webkit.org/b/214463 imported/w3c/web-platform-tests/css/css-sizing/contain-intrinsic-size/contain-intrinsic-size-006.html [ ImageOnlyFailure ]
4814
webkit.org/b/214463 imported/w3c/web-platform-tests/css/css-sizing/contain-intrinsic-size/contain-intrinsic-size-007.html [ ImageOnlyFailure ]
4815
webkit.org/b/214463 imported/w3c/web-platform-tests/css/css-sizing/contain-intrinsic-size/contain-intrinsic-size-008.html [ ImageOnlyFailure ]
4816
webkit.org/b/214463 imported/w3c/web-platform-tests/css/css-sizing/contain-intrinsic-size/contain-intrinsic-size-009.html [ ImageOnlyFailure ]
4817
webkit.org/b/214463 imported/w3c/web-platform-tests/css/css-sizing/contain-intrinsic-size/contain-intrinsic-size-010.html [ ImageOnlyFailure ]
4818
webkit.org/b/214463 imported/w3c/web-platform-tests/css/css-sizing/contain-intrinsic-size/contain-intrinsic-size-011.html [ ImageOnlyFailure ]
4819
webkit.org/b/214463 imported/w3c/web-platform-tests/css/css-sizing/contain-intrinsic-size/contain-intrinsic-size-012.html [ ImageOnlyFailure ]
4820
webkit.org/b/214463 imported/w3c/web-platform-tests/css/css-sizing/contain-intrinsic-size/contain-intrinsic-size-013.html [ ImageOnlyFailure ]
4821
webkit.org/b/214463 imported/w3c/web-platform-tests/css/css-sizing/contain-intrinsic-size/contain-intrinsic-size-014.html [ ImageOnlyFailure ]
4822
webkit.org/b/214463 imported/w3c/web-platform-tests/css/css-sizing/contain-intrinsic-size/contain-intrinsic-size-015.html [ ImageOnlyFailure ]
4823
webkit.org/b/214463 imported/w3c/web-platform-tests/css/css-sizing/contain-intrinsic-size/contain-intrinsic-size-016.html [ ImageOnlyFailure ]
4824
webkit.org/b/214463 imported/w3c/web-platform-tests/css/css-sizing/contain-intrinsic-size/contain-intrinsic-size-017.html [ ImageOnlyFailure ]
4825
webkit.org/b/214463 imported/w3c/web-platform-tests/css/css-sizing/contain-intrinsic-size/contain-intrinsic-size-019.html [ ImageOnlyFailure ]
4826
webkit.org/b/214463 imported/w3c/web-platform-tests/css/css-sizing/contain-intrinsic-size/contain-intrinsic-size-020.html [ ImageOnlyFailure ]
4827
webkit.org/b/214463 imported/w3c/web-platform-tests/css/css-sizing/contain-intrinsic-size/contain-intrinsic-size-021.html [ ImageOnlyFailure ]
4828
webkit.org/b/214463 imported/w3c/web-platform-tests/css/css-sizing/contain-intrinsic-size/contain-intrinsic-size-022.html [ ImageOnlyFailure ]
4829
webkit.org/b/214463 imported/w3c/web-platform-tests/css/css-sizing/contain-intrinsic-size/contain-intrinsic-size-023.html [ ImageOnlyFailure ]
4830
webkit.org/b/214463 imported/w3c/web-platform-tests/css/css-sizing/contain-intrinsic-size/contain-intrinsic-size-024.html [ ImageOnlyFailure ]
4831
webkit.org/b/214463 imported/w3c/web-platform-tests/css/css-sizing/contain-intrinsic-size/contain-intrinsic-size-025.html [ ImageOnlyFailure ]
4832
webkit.org/b/214463 imported/w3c/web-platform-tests/css/css-sizing/contain-intrinsic-size/contain-intrinsic-size-026.html [ ImageOnlyFailure ]
4833
webkit.org/b/214463 imported/w3c/web-platform-tests/css/css-sizing/image-fractional-height-with-wide-aspect-ratio.html [ ImageOnlyFailure ]
4834
webkit.org/b/214463 imported/w3c/web-platform-tests/css/css-sizing/intrinsic-percent-replaced-008.html [ ImageOnlyFailure ]
4835
webkit.org/b/214463 imported/w3c/web-platform-tests/css/css-sizing/intrinsic-percent-replaced-dynamic-002.html [ ImageOnlyFailure ]
4836
webkit.org/b/214463 imported/w3c/web-platform-tests/css/css-sizing/intrinsic-percent-replaced-dynamic-003.html [ ImageOnlyFailure ]
4837
webkit.org/b/214463 imported/w3c/web-platform-tests/css/css-sizing/intrinsic-percent-replaced-dynamic-004.html [ ImageOnlyFailure ]
4838
webkit.org/b/214463 imported/w3c/web-platform-tests/css/css-sizing/intrinsic-percent-replaced-dynamic-005.html [ ImageOnlyFailure ]
4839
webkit.org/b/214463 imported/w3c/web-platform-tests/css/css-sizing/intrinsic-percent-replaced-dynamic-006.html [ ImageOnlyFailure ]
4840
webkit.org/b/214463 imported/w3c/web-platform-tests/css/css-sizing/intrinsic-percent-replaced-dynamic-007.html [ ImageOnlyFailure ]
4841
webkit.org/b/214463 imported/w3c/web-platform-tests/css/css-sizing/intrinsic-percent-replaced-dynamic-008.html [ ImageOnlyFailure ]
4842
webkit.org/b/214463 imported/w3c/web-platform-tests/css/css-sizing/intrinsic-percent-replaced-dynamic-009.html [ ImageOnlyFailure ]
4843
webkit.org/b/214463 imported/w3c/web-platform-tests/css/css-sizing/intrinsic-percent-replaced-dynamic-010.html [ ImageOnlyFailure ]
4844
4845
webkit.org/b/214464 imported/w3c/web-platform-tests/css/css-text-decor/text-decoration-subelements-002.html [ ImageOnlyFailure ]
4846
webkit.org/b/214464 imported/w3c/web-platform-tests/css/css-text-decor/text-decoration-subelements-003.html [ ImageOnlyFailure ]
4847
webkit.org/b/214464 imported/w3c/web-platform-tests/css/css-text-decor/text-decoration-thickness-fixed.html [ ImageOnlyFailure ]
4848
webkit.org/b/214464 imported/w3c/web-platform-tests/css/css-text-decor/text-decoration-thickness-ink-skip-dilation.html [ ImageOnlyFailure ]
4849
4850
webkit.org/b/214465 imported/w3c/web-platform-tests/css/mediaqueries/aspect-ratio-004.html [ ImageOnlyFailure ]
4851
webkit.org/b/214465 imported/w3c/web-platform-tests/css/mediaqueries/aspect-ratio-005.html [ ImageOnlyFailure ]
4852
webkit.org/b/214465 imported/w3c/web-platform-tests/css/mediaqueries/aspect-ratio-006.html [ ImageOnlyFailure ]
4853
webkit.org/b/214465 imported/w3c/web-platform-tests/css/mediaqueries/device-aspect-ratio-002.html [ ImageOnlyFailure ]
4854
webkit.org/b/214465 imported/w3c/web-platform-tests/css/mediaqueries/mq-gamut-002.html [ ImageOnlyFailure ]
4855
webkit.org/b/214465 imported/w3c/web-platform-tests/css/mediaqueries/mq-gamut-004.html [ ImageOnlyFailure ]
4856
webkit.org/b/214465 imported/w3c/web-platform-tests/css/mediaqueries/mq-negative-range-001.html [ ImageOnlyFailure ]
4857
webkit.org/b/214465 imported/w3c/web-platform-tests/css/mediaqueries/mq-range-001.html [ ImageOnlyFailure ]
4858
4859
webkit.org/b/214466 imported/w3c/web-platform-tests/css/css-values/ex-unit-004.html [ ImageOnlyFailure ]
4860
webkit.org/b/214466 imported/w3c/web-platform-tests/css/css-shapes/shape-outside/formatting-context/shape-outside-formatting-context.tentative.html [ ImageOnlyFailure ]
4861
webkit.org/b/214466 imported/w3c/web-platform-tests/css/css-logical/logical-values-float-clear-reftest.html [ ImageOnlyFailure ]
4862
webkit.org/b/214466 imported/w3c/web-platform-tests/css/css-display/display-first-line-002.html [ ImageOnlyFailure ]
4863
4864
webkit.org/b/214467 imported/w3c/web-platform-tests/html/canvas/element/drawing-images-to-the-canvas/image-orientation/drawImage-with-src-rect.tentative.html [ ImageOnlyFailure ]
- a/LayoutTests/imported/w3c/web-platform-tests/css/README.md -71 lines
Lines 1-71 a/LayoutTests/imported/w3c/web-platform-tests/css/README.md_sec1
1
Introduction
2
------------
3
4
This directory contains testsuites for CSS WG specifications, including ones
5
that do not strictly speaking define CSS features, e.g.,
6
[Geometry Interfaces](https://drafts.fxtf.org/geometry/).
7
8
The directories should be named like the specification's shortname, but without
9
any level suffix.
10
11
As the test harness relies on the largely undocumented old CSS build system,
12
this directory has a number of test requirements specific to it:
13
14
 * support files for a given test must live in an adjacent `support` directory;
15
16
 * tests must have a [`<link rel=help>`][spec-link] pointing to what they are
17
   testing;
18
19
 * for each spec so linked, test filenames must be unique; and
20
21
 * support and reference files must have unique filenames within the entire
22
   `css` directory.
23
24
25
vendor-imports/ Directory
26
-------------------------
27
28
vendor-imports/ is a legacy directory where third parties historically imported
29
their tests that originate and are maintained in an external repo. Files in
30
this directory should never be modified in this repo, but should go through the
31
vendor's process to be imported here.
32
33
34
Importing Old Branches
35
----------------------
36
37
Given an old branch in git based against the old csswg-test
38
repository, it can be moved over to the merged repo in one of two
39
ways:
40
41
 * (Recommended:) Rebasing on top of web-platform-tests: with the old
42
   branch checked out, run `git rebase -Xsubtree=css/ origin/master`
43
   (or similar, depending on the name of the upstream remote).
44
45
 * Merging to web-platform-tests: with web-platform-tests' master
46
   branch checked out, run `git merge -Xsubtree=css/ my_shiny_branch`
47
   (or similar, depending on the name of your branch).
48
49
If you have a branch/bookmark in Mercurial, the process is more
50
complicated:
51
52
 1. From the Mercurial repo, run `hg export --git -r 'outgoing()' >
53
    foo.patch`. This will export all the changeset shown in `hg log -r
54
    'outgoing()'`; it's recommended you check this is the right set of
55
    changesets before continuing!
56
57
 2. Move to the git repo, and create a new branch based on
58
    web-platform-tests' master; e.g., `git checkout -b hg-import
59
    origin/master` (or similar, depending on the name of the upstream
60
    remote).
61
62
 3. Download [hg-patch-to-git-patch][] and run `python2
63
    hg-patch-to-git-patch < foo.patch > bar.patch` (where `foo.patch`
64
    is the path to the `foo.patch` you exported above).
65
66
 4. Run `git am --directory=css/ < bar.patch`.
67
68
69
[harness]: https://test.csswg.org/harness/
70
[spec-link]: http://web-platform-tests.org/writing-tests/css-metadata.html#specification-links
71
[hg-patch-to-git-patch]: https://raw.githubusercontent.com/mozilla/moz-git-tools/master/hg-patch-to-git-patch
- a/LayoutTests/imported/w3c/web-platform-tests/css/build-css-testsuites.sh -54 lines
Lines 1-54 a/LayoutTests/imported/w3c/web-platform-tests/css/build-css-testsuites.sh_sec1
1
#!/usr/bin/env sh
2
set -ex
3
4
SCRIPT_DIR=$(dirname $(readlink -f "$0"))
5
WPT_ROOT=$(readlink -f $SCRIPT_DIR/..)
6
cd $WPT_ROOT
7
8
main() {
9
    cd $WPT_ROOT/css
10
11
    if [ -z $VENV ]; then
12
        VENV=tools/_virtualenv
13
    fi
14
15
    # Create the virtualenv
16
    if [ ! -d $VENV ]; then
17
        if [ -z $PYTHON ]; then
18
            command -v python
19
            if [ $? -eq 0 ]; then
20
                if [ `python -c 'import sys; print(sys.version[0:3])'` == "2.7" ]; then
21
                    PYTHON=python
22
                fi
23
            fi
24
        fi
25
26
        if [ -z $PYTHON ]; then
27
            command -v python2
28
            if [ $? -eq 0 ]; then
29
                PYTHON=python2
30
            fi
31
        fi
32
33
        if [ -z $PYTHON ]; then
34
            echo "Please ensure Python 2.7 is installed"
35
            exit 1
36
        fi
37
38
        virtualenv -p $PYTHON $VENV || { echo "Please ensure virtualenv is installed"; exit 2; }
39
    fi
40
41
    # Install dependencies
42
    $VENV/bin/pip install -r requirements.txt
43
44
    # Error if submodules are not there
45
    if [ ! -d tools/apiclient -o ! -d tools/w3ctestlib ]; then
46
        echo 'Please run `git submodule update --init --recursive`'
47
        exit 1
48
    fi
49
50
    # Run the build script
51
    $VENV/bin/python tools/build.py "$@"
52
}
53
54
main "$@"
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-align/META.yml +5 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-align/META.yml_sec1
1
spec: https://drafts.csswg.org/css-align/
2
suggested_reviewers:
3
  - dholbert
4
  - emilio
5
  - javifernandez
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-align/OWNERS -2 lines
Lines 1-2 a/LayoutTests/imported/w3c/web-platform-tests/css/css-align/OWNERS_sec1
1
@dholbert
2
@emilio
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-align/animation/column-gap-composition-expected.txt +22 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-align/animation/column-gap-composition-expected.txt_sec1
1
2
FAIL Compositing: property <column-gap> underlying [50px] from add [100px] to add [200px] at (-0.3) should be [120px] assert_equals: expected "120px " but got "70px "
3
FAIL Compositing: property <column-gap> underlying [50px] from add [100px] to add [200px] at (0) should be [150px] assert_equals: expected "150px " but got "100px "
4
FAIL Compositing: property <column-gap> underlying [50px] from add [100px] to add [200px] at (0.5) should be [200px] assert_equals: expected "200px " but got "150px "
5
FAIL Compositing: property <column-gap> underlying [50px] from add [100px] to add [200px] at (1) should be [250px] assert_equals: expected "250px " but got "200px "
6
FAIL Compositing: property <column-gap> underlying [50px] from add [100px] to add [200px] at (1.5) should be [300px] assert_equals: expected "300px " but got "250px "
7
FAIL Compositing: property <column-gap> underlying [100px] from add [10px] to add [2px] at (-0.5) should be [114px] assert_equals: expected "114px " but got "14px "
8
FAIL Compositing: property <column-gap> underlying [100px] from add [10px] to add [2px] at (0) should be [110px] assert_equals: expected "110px " but got "10px "
9
FAIL Compositing: property <column-gap> underlying [100px] from add [10px] to add [2px] at (0.5) should be [106px] assert_equals: expected "106px " but got "6px "
10
FAIL Compositing: property <column-gap> underlying [100px] from add [10px] to add [2px] at (1) should be [102px] assert_equals: expected "102px " but got "2px "
11
FAIL Compositing: property <column-gap> underlying [100px] from add [10px] to add [2px] at (1.5) should be [98px] assert_equals: expected "98px " but got "- 2px "
12
FAIL Compositing: property <column-gap> underlying [50px] from add [100px] to replace [200px] at (-0.3) should be [135px] assert_equals: expected "135px " but got "70px "
13
FAIL Compositing: property <column-gap> underlying [50px] from add [100px] to replace [200px] at (0) should be [150px] assert_equals: expected "150px " but got "100px "
14
FAIL Compositing: property <column-gap> underlying [50px] from add [100px] to replace [200px] at (0.5) should be [175px] assert_equals: expected "175px " but got "150px "
15
PASS Compositing: property <column-gap> underlying [50px] from add [100px] to replace [200px] at (1) should be [200px] 
16
FAIL Compositing: property <column-gap> underlying [50px] from add [100px] to replace [200px] at (1.5) should be [225px] assert_equals: expected "225px " but got "250px "
17
FAIL Compositing: property <column-gap> underlying [100px] from add [100px] to add [normal] at (-0.3) should be [200px] assert_equals: expected "200px " but got "normal "
18
FAIL Compositing: property <column-gap> underlying [100px] from add [100px] to add [normal] at (0) should be [200px] assert_equals: expected "200px " but got "normal "
19
PASS Compositing: property <column-gap> underlying [100px] from add [100px] to add [normal] at (0.5) should be [normal] 
20
PASS Compositing: property <column-gap> underlying [100px] from add [100px] to add [normal] at (1) should be [normal] 
21
PASS Compositing: property <column-gap> underlying [100px] from add [100px] to add [normal] at (1.5) should be [normal] 
22
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-align/animation/column-gap-composition.html +65 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-align/animation/column-gap-composition.html_sec1
1
<!DOCTYPE html>
2
<meta charset="UTF-8">
3
<title>column-gap composition</title>
4
<link rel="help" href="https://drafts.csswg.org/css-align-3/#propdef-column-gap">
5
<meta name="assert" content="column-gap supports animation by computed value type">
6
7
<script src="/resources/testharness.js"></script>
8
<script src="/resources/testharnessreport.js"></script>
9
<script src="/css/support/interpolation-testcommon.js"></script>
10
11
<body>
12
<script>
13
test_composition({
14
  property: 'column-gap',
15
  underlying: '50px',
16
  addFrom: '100px',
17
  addTo: '200px',
18
}, [
19
  {at: -0.3, expect: '120px'},
20
  {at: 0, expect: '150px'},
21
  {at: 0.5, expect: '200px'},
22
  {at: 1, expect: '250px'},
23
  {at: 1.5, expect: '300px'},
24
]);
25
26
test_composition({
27
  property: 'column-gap',
28
  underlying: '100px',
29
  addFrom: '10px',
30
  addTo: '2px',
31
}, [
32
  {at: -0.5, expect: '114px'},
33
  {at: 0, expect: '110px'},
34
  {at: 0.5, expect: '106px'},
35
  {at: 1, expect: '102px'},
36
  {at: 1.5, expect: '98px'}, // Value clamping should happen after composition.
37
]);
38
39
test_composition({
40
  property: 'column-gap',
41
  underlying: '50px',
42
  addFrom: '100px',
43
  replaceTo: '200px',
44
}, [
45
  {at: -0.3, expect: '135px'},
46
  {at: 0, expect: '150px'},
47
  {at: 0.5, expect: '175px'},
48
  {at: 1, expect: '200px'},
49
  {at: 1.5, expect: '225px'},
50
]);
51
52
test_composition({
53
  property: 'column-gap',
54
  underlying: '100px',
55
  addFrom: '100px',
56
  addTo: 'normal',
57
}, [
58
  {at: -0.3, expect: '200px'},
59
  {at: 0, expect: '200px'},
60
  {at: 0.5, expect: 'normal'},
61
  {at: 1, expect: 'normal'},
62
  {at: 1.5, expect: 'normal'},
63
]);
64
</script>
65
</body>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-align/animation/column-gap-interpolation-expected.txt +158 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-align/animation/column-gap-interpolation-expected.txt_sec1
1
2
PASS CSS Transitions: property <column-gap> from neutral to [40px] at (-0.3) should be [1px] 
3
PASS CSS Transitions: property <column-gap> from neutral to [40px] at (0) should be [10px] 
4
PASS CSS Transitions: property <column-gap> from neutral to [40px] at (0.3) should be [19px] 
5
PASS CSS Transitions: property <column-gap> from neutral to [40px] at (0.6) should be [28px] 
6
PASS CSS Transitions: property <column-gap> from neutral to [40px] at (1) should be [40px] 
7
PASS CSS Transitions: property <column-gap> from neutral to [40px] at (1.5) should be [55px] 
8
PASS CSS Transitions with transition: all: property <column-gap> from neutral to [40px] at (-0.3) should be [1px] 
9
PASS CSS Transitions with transition: all: property <column-gap> from neutral to [40px] at (0) should be [10px] 
10
PASS CSS Transitions with transition: all: property <column-gap> from neutral to [40px] at (0.3) should be [19px] 
11
PASS CSS Transitions with transition: all: property <column-gap> from neutral to [40px] at (0.6) should be [28px] 
12
PASS CSS Transitions with transition: all: property <column-gap> from neutral to [40px] at (1) should be [40px] 
13
PASS CSS Transitions with transition: all: property <column-gap> from neutral to [40px] at (1.5) should be [55px] 
14
PASS CSS Animations: property <column-gap> from neutral to [40px] at (-0.3) should be [1px] 
15
PASS CSS Animations: property <column-gap> from neutral to [40px] at (0) should be [10px] 
16
PASS CSS Animations: property <column-gap> from neutral to [40px] at (0.3) should be [19px] 
17
PASS CSS Animations: property <column-gap> from neutral to [40px] at (0.6) should be [28px] 
18
PASS CSS Animations: property <column-gap> from neutral to [40px] at (1) should be [40px] 
19
PASS CSS Animations: property <column-gap> from neutral to [40px] at (1.5) should be [55px] 
20
PASS Web Animations: property <column-gap> from neutral to [40px] at (-0.3) should be [1px] 
21
FAIL Web Animations: property <column-gap> from neutral to [40px] at (0) should be [10px] assert_equals: expected "10px " but got "1px "
22
FAIL Web Animations: property <column-gap> from neutral to [40px] at (0.3) should be [19px] assert_equals: expected "19px " but got "12.7px "
23
FAIL Web Animations: property <column-gap> from neutral to [40px] at (0.6) should be [28px] assert_equals: expected "28px " but got "29.08px "
24
PASS Web Animations: property <column-gap> from neutral to [40px] at (1) should be [40px] 
25
FAIL Web Animations: property <column-gap> from neutral to [40px] at (1.5) should be [55px] assert_equals: expected "55px " but got "40px "
26
PASS CSS Transitions: property <column-gap> from [initial] to [20px] at (-0.3) should be [20px] 
27
PASS CSS Transitions: property <column-gap> from [initial] to [20px] at (0) should be [20px] 
28
PASS CSS Transitions: property <column-gap> from [initial] to [20px] at (0.3) should be [20px] 
29
PASS CSS Transitions: property <column-gap> from [initial] to [20px] at (0.5) should be [20px] 
30
PASS CSS Transitions: property <column-gap> from [initial] to [20px] at (0.6) should be [20px] 
31
PASS CSS Transitions: property <column-gap> from [initial] to [20px] at (1) should be [20px] 
32
PASS CSS Transitions: property <column-gap> from [initial] to [20px] at (1.5) should be [20px] 
33
PASS CSS Transitions with transition: all: property <column-gap> from [initial] to [20px] at (-0.3) should be [20px] 
34
PASS CSS Transitions with transition: all: property <column-gap> from [initial] to [20px] at (0) should be [20px] 
35
PASS CSS Transitions with transition: all: property <column-gap> from [initial] to [20px] at (0.3) should be [20px] 
36
PASS CSS Transitions with transition: all: property <column-gap> from [initial] to [20px] at (0.5) should be [20px] 
37
PASS CSS Transitions with transition: all: property <column-gap> from [initial] to [20px] at (0.6) should be [20px] 
38
PASS CSS Transitions with transition: all: property <column-gap> from [initial] to [20px] at (1) should be [20px] 
39
PASS CSS Transitions with transition: all: property <column-gap> from [initial] to [20px] at (1.5) should be [20px] 
40
FAIL CSS Animations: property <column-gap> from [initial] to [20px] at (-0.3) should be [initial] assert_equals: expected "normal " but got "20px "
41
FAIL CSS Animations: property <column-gap> from [initial] to [20px] at (0) should be [initial] assert_equals: expected "normal " but got "20px "
42
FAIL CSS Animations: property <column-gap> from [initial] to [20px] at (0.3) should be [initial] assert_equals: expected "normal " but got "20px "
43
PASS CSS Animations: property <column-gap> from [initial] to [20px] at (0.5) should be [20px] 
44
PASS CSS Animations: property <column-gap> from [initial] to [20px] at (0.6) should be [20px] 
45
PASS CSS Animations: property <column-gap> from [initial] to [20px] at (1) should be [20px] 
46
PASS CSS Animations: property <column-gap> from [initial] to [20px] at (1.5) should be [20px] 
47
FAIL Web Animations: property <column-gap> from [initial] to [20px] at (-0.3) should be [initial] assert_equals: expected "normal " but got "20px "
48
FAIL Web Animations: property <column-gap> from [initial] to [20px] at (0) should be [initial] assert_equals: expected "normal " but got "20px "
49
FAIL Web Animations: property <column-gap> from [initial] to [20px] at (0.3) should be [initial] assert_equals: expected "normal " but got "20px "
50
PASS Web Animations: property <column-gap> from [initial] to [20px] at (0.5) should be [20px] 
51
PASS Web Animations: property <column-gap> from [initial] to [20px] at (0.6) should be [20px] 
52
PASS Web Animations: property <column-gap> from [initial] to [20px] at (1) should be [20px] 
53
PASS Web Animations: property <column-gap> from [initial] to [20px] at (1.5) should be [20px] 
54
PASS CSS Transitions: property <column-gap> from [inherit] to [20px] at (-0.3) should be [111px] 
55
PASS CSS Transitions: property <column-gap> from [inherit] to [20px] at (0) should be [90px] 
56
PASS CSS Transitions: property <column-gap> from [inherit] to [20px] at (0.3) should be [69px] 
57
PASS CSS Transitions: property <column-gap> from [inherit] to [20px] at (0.6) should be [48px] 
58
PASS CSS Transitions: property <column-gap> from [inherit] to [20px] at (1) should be [20px] 
59
FAIL CSS Transitions: property <column-gap> from [inherit] to [20px] at (1.5) should be [0px] assert_equals: expected "0px " but got "- 15px "
60
PASS CSS Transitions with transition: all: property <column-gap> from [inherit] to [20px] at (-0.3) should be [111px] 
61
PASS CSS Transitions with transition: all: property <column-gap> from [inherit] to [20px] at (0) should be [90px] 
62
PASS CSS Transitions with transition: all: property <column-gap> from [inherit] to [20px] at (0.3) should be [69px] 
63
PASS CSS Transitions with transition: all: property <column-gap> from [inherit] to [20px] at (0.6) should be [48px] 
64
PASS CSS Transitions with transition: all: property <column-gap> from [inherit] to [20px] at (1) should be [20px] 
65
FAIL CSS Transitions with transition: all: property <column-gap> from [inherit] to [20px] at (1.5) should be [0px] assert_equals: expected "0px " but got "- 15px "
66
PASS CSS Animations: property <column-gap> from [inherit] to [20px] at (-0.3) should be [111px] 
67
PASS CSS Animations: property <column-gap> from [inherit] to [20px] at (0) should be [90px] 
68
PASS CSS Animations: property <column-gap> from [inherit] to [20px] at (0.3) should be [69px] 
69
PASS CSS Animations: property <column-gap> from [inherit] to [20px] at (0.6) should be [48px] 
70
PASS CSS Animations: property <column-gap> from [inherit] to [20px] at (1) should be [20px] 
71
FAIL CSS Animations: property <column-gap> from [inherit] to [20px] at (1.5) should be [0px] assert_equals: expected "0px " but got "- 15px "
72
FAIL Web Animations: property <column-gap> from [inherit] to [20px] at (-0.3) should be [111px] assert_equals: expected "111px " but got "7px "
73
FAIL Web Animations: property <column-gap> from [inherit] to [20px] at (0) should be [90px] assert_equals: expected "90px " but got "7px "
74
FAIL Web Animations: property <column-gap> from [inherit] to [20px] at (0.3) should be [69px] assert_equals: expected "69px " but got "10.9px "
75
FAIL Web Animations: property <column-gap> from [inherit] to [20px] at (0.6) should be [48px] assert_equals: expected "48px " but got "16.36px "
76
PASS Web Animations: property <column-gap> from [inherit] to [20px] at (1) should be [20px] 
77
FAIL Web Animations: property <column-gap> from [inherit] to [20px] at (1.5) should be [0px] assert_equals: expected "0px " but got "20px "
78
PASS CSS Transitions: property <column-gap> from [unset] to [20px] at (-0.3) should be [20px] 
79
PASS CSS Transitions: property <column-gap> from [unset] to [20px] at (0) should be [20px] 
80
PASS CSS Transitions: property <column-gap> from [unset] to [20px] at (0.3) should be [20px] 
81
PASS CSS Transitions: property <column-gap> from [unset] to [20px] at (0.5) should be [20px] 
82
PASS CSS Transitions: property <column-gap> from [unset] to [20px] at (0.6) should be [20px] 
83
PASS CSS Transitions: property <column-gap> from [unset] to [20px] at (1) should be [20px] 
84
PASS CSS Transitions: property <column-gap> from [unset] to [20px] at (1.5) should be [20px] 
85
PASS CSS Transitions with transition: all: property <column-gap> from [unset] to [20px] at (-0.3) should be [20px] 
86
PASS CSS Transitions with transition: all: property <column-gap> from [unset] to [20px] at (0) should be [20px] 
87
PASS CSS Transitions with transition: all: property <column-gap> from [unset] to [20px] at (0.3) should be [20px] 
88
PASS CSS Transitions with transition: all: property <column-gap> from [unset] to [20px] at (0.5) should be [20px] 
89
PASS CSS Transitions with transition: all: property <column-gap> from [unset] to [20px] at (0.6) should be [20px] 
90
PASS CSS Transitions with transition: all: property <column-gap> from [unset] to [20px] at (1) should be [20px] 
91
PASS CSS Transitions with transition: all: property <column-gap> from [unset] to [20px] at (1.5) should be [20px] 
92
FAIL CSS Animations: property <column-gap> from [unset] to [20px] at (-0.3) should be [unset] assert_equals: expected "normal " but got "20px "
93
FAIL CSS Animations: property <column-gap> from [unset] to [20px] at (0) should be [unset] assert_equals: expected "normal " but got "20px "
94
FAIL CSS Animations: property <column-gap> from [unset] to [20px] at (0.3) should be [unset] assert_equals: expected "normal " but got "20px "
95
PASS CSS Animations: property <column-gap> from [unset] to [20px] at (0.5) should be [20px] 
96
PASS CSS Animations: property <column-gap> from [unset] to [20px] at (0.6) should be [20px] 
97
PASS CSS Animations: property <column-gap> from [unset] to [20px] at (1) should be [20px] 
98
PASS CSS Animations: property <column-gap> from [unset] to [20px] at (1.5) should be [20px] 
99
FAIL Web Animations: property <column-gap> from [unset] to [20px] at (-0.3) should be [unset] assert_equals: expected "normal " but got "20px "
100
FAIL Web Animations: property <column-gap> from [unset] to [20px] at (0) should be [unset] assert_equals: expected "normal " but got "20px "
101
FAIL Web Animations: property <column-gap> from [unset] to [20px] at (0.3) should be [unset] assert_equals: expected "normal " but got "20px "
102
PASS Web Animations: property <column-gap> from [unset] to [20px] at (0.5) should be [20px] 
103
PASS Web Animations: property <column-gap> from [unset] to [20px] at (0.6) should be [20px] 
104
PASS Web Animations: property <column-gap> from [unset] to [20px] at (1) should be [20px] 
105
PASS Web Animations: property <column-gap> from [unset] to [20px] at (1.5) should be [20px] 
106
PASS CSS Transitions: property <column-gap> from [normal] to [20px] at (-0.3) should be [20px] 
107
PASS CSS Transitions: property <column-gap> from [normal] to [20px] at (0) should be [20px] 
108
PASS CSS Transitions: property <column-gap> from [normal] to [20px] at (0.3) should be [20px] 
109
PASS CSS Transitions: property <column-gap> from [normal] to [20px] at (0.5) should be [20px] 
110
PASS CSS Transitions: property <column-gap> from [normal] to [20px] at (0.6) should be [20px] 
111
PASS CSS Transitions: property <column-gap> from [normal] to [20px] at (1) should be [20px] 
112
PASS CSS Transitions: property <column-gap> from [normal] to [20px] at (1.5) should be [20px] 
113
PASS CSS Transitions with transition: all: property <column-gap> from [normal] to [20px] at (-0.3) should be [20px] 
114
PASS CSS Transitions with transition: all: property <column-gap> from [normal] to [20px] at (0) should be [20px] 
115
PASS CSS Transitions with transition: all: property <column-gap> from [normal] to [20px] at (0.3) should be [20px] 
116
PASS CSS Transitions with transition: all: property <column-gap> from [normal] to [20px] at (0.5) should be [20px] 
117
PASS CSS Transitions with transition: all: property <column-gap> from [normal] to [20px] at (0.6) should be [20px] 
118
PASS CSS Transitions with transition: all: property <column-gap> from [normal] to [20px] at (1) should be [20px] 
119
PASS CSS Transitions with transition: all: property <column-gap> from [normal] to [20px] at (1.5) should be [20px] 
120
FAIL CSS Animations: property <column-gap> from [normal] to [20px] at (-0.3) should be [normal] assert_equals: expected "normal " but got "20px "
121
FAIL CSS Animations: property <column-gap> from [normal] to [20px] at (0) should be [normal] assert_equals: expected "normal " but got "20px "
122
FAIL CSS Animations: property <column-gap> from [normal] to [20px] at (0.3) should be [normal] assert_equals: expected "normal " but got "20px "
123
PASS CSS Animations: property <column-gap> from [normal] to [20px] at (0.5) should be [20px] 
124
PASS CSS Animations: property <column-gap> from [normal] to [20px] at (0.6) should be [20px] 
125
PASS CSS Animations: property <column-gap> from [normal] to [20px] at (1) should be [20px] 
126
PASS CSS Animations: property <column-gap> from [normal] to [20px] at (1.5) should be [20px] 
127
FAIL Web Animations: property <column-gap> from [normal] to [20px] at (-0.3) should be [normal] assert_equals: expected "normal " but got "20px "
128
FAIL Web Animations: property <column-gap> from [normal] to [20px] at (0) should be [normal] assert_equals: expected "normal " but got "20px "
129
FAIL Web Animations: property <column-gap> from [normal] to [20px] at (0.3) should be [normal] assert_equals: expected "normal " but got "20px "
130
PASS Web Animations: property <column-gap> from [normal] to [20px] at (0.5) should be [20px] 
131
PASS Web Animations: property <column-gap> from [normal] to [20px] at (0.6) should be [20px] 
132
PASS Web Animations: property <column-gap> from [normal] to [20px] at (1) should be [20px] 
133
PASS Web Animations: property <column-gap> from [normal] to [20px] at (1.5) should be [20px] 
134
FAIL CSS Transitions: property <column-gap> from [0px] to [100px] at (-0.3) should be [0] assert_equals: expected "0px " but got "- 30px "
135
PASS CSS Transitions: property <column-gap> from [0px] to [100px] at (0) should be [0] 
136
PASS CSS Transitions: property <column-gap> from [0px] to [100px] at (0.3) should be [30px] 
137
PASS CSS Transitions: property <column-gap> from [0px] to [100px] at (0.6) should be [60px] 
138
PASS CSS Transitions: property <column-gap> from [0px] to [100px] at (1) should be [100px] 
139
PASS CSS Transitions: property <column-gap> from [0px] to [100px] at (1.5) should be [150px] 
140
FAIL CSS Transitions with transition: all: property <column-gap> from [0px] to [100px] at (-0.3) should be [0] assert_equals: expected "0px " but got "- 30px "
141
PASS CSS Transitions with transition: all: property <column-gap> from [0px] to [100px] at (0) should be [0] 
142
PASS CSS Transitions with transition: all: property <column-gap> from [0px] to [100px] at (0.3) should be [30px] 
143
PASS CSS Transitions with transition: all: property <column-gap> from [0px] to [100px] at (0.6) should be [60px] 
144
PASS CSS Transitions with transition: all: property <column-gap> from [0px] to [100px] at (1) should be [100px] 
145
PASS CSS Transitions with transition: all: property <column-gap> from [0px] to [100px] at (1.5) should be [150px] 
146
FAIL CSS Animations: property <column-gap> from [0px] to [100px] at (-0.3) should be [0] assert_equals: expected "0px " but got "- 30px "
147
PASS CSS Animations: property <column-gap> from [0px] to [100px] at (0) should be [0] 
148
PASS CSS Animations: property <column-gap> from [0px] to [100px] at (0.3) should be [30px] 
149
PASS CSS Animations: property <column-gap> from [0px] to [100px] at (0.6) should be [60px] 
150
PASS CSS Animations: property <column-gap> from [0px] to [100px] at (1) should be [100px] 
151
PASS CSS Animations: property <column-gap> from [0px] to [100px] at (1.5) should be [150px] 
152
FAIL Web Animations: property <column-gap> from [0px] to [100px] at (-0.3) should be [0] assert_equals: expected "0px " but got "- 30px "
153
PASS Web Animations: property <column-gap> from [0px] to [100px] at (0) should be [0] 
154
PASS Web Animations: property <column-gap> from [0px] to [100px] at (0.3) should be [30px] 
155
PASS Web Animations: property <column-gap> from [0px] to [100px] at (0.6) should be [60px] 
156
PASS Web Animations: property <column-gap> from [0px] to [100px] at (1) should be [100px] 
157
PASS Web Animations: property <column-gap> from [0px] to [100px] at (1.5) should be [150px] 
158
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-align/animation/column-gap-interpolation.html +94 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-align/animation/column-gap-interpolation.html_sec1
1
<!DOCTYPE html>
2
<meta charset="UTF-8">
3
<title>column-gap interpolation</title>
4
<link rel="help" href="https://drafts.csswg.org/css-align-3/#propdef-column-gap">
5
<meta name="assert" content="column-gap supports animation by computed value type">
6
7
<script src="/resources/testharness.js"></script>
8
<script src="/resources/testharnessreport.js"></script>
9
<script src="/css/support/interpolation-testcommon.js"></script>
10
11
<style>
12
.parent {
13
  column-gap: 90px;
14
}
15
.target {
16
  column-count: 2;
17
  column-gap: 10px;
18
}
19
.expected div {
20
  opacity: 0.7;
21
}
22
.target > div {
23
  height: 20px;
24
  background-color: black;
25
}
26
.target.expected > div {
27
  background-color: green;
28
}
29
</style>
30
31
<body>
32
<template id='target-template'>
33
  <div></div><div></div>
34
</template>
35
</body>
36
37
<script>
38
test_interpolation({
39
  property: 'column-gap',
40
  from: neutralKeyframe,
41
  to: '40px',
42
}, [
43
  {at: -0.3, expect: '1px'},
44
  {at: 0, expect: '10px'},
45
  {at: 0.3, expect: '19px'},
46
  {at: 0.6, expect: '28px'},
47
  {at: 1, expect: '40px'},
48
  {at: 1.5, expect: '55px'},
49
]);
50
51
test_no_interpolation({
52
  property: 'column-gap',
53
  from: 'initial',
54
  to: '20px',
55
});
56
57
test_interpolation({
58
  property: 'column-gap',
59
  from: 'inherit',
60
  to: '20px',
61
}, [
62
  {at: -0.3, expect: '111px'},
63
  {at: 0, expect: '90px'},
64
  {at: 0.3, expect: '69px'},
65
  {at: 0.6, expect: '48px'},
66
  {at: 1, expect: '20px'},
67
  {at: 1.5, expect: '0px'},
68
]);
69
70
test_no_interpolation({
71
  property: 'column-gap',
72
  from: 'unset',
73
  to: '20px',
74
});
75
76
test_no_interpolation({
77
  property: 'column-gap',
78
  from: 'normal',
79
  to: '20px',
80
});
81
82
test_interpolation({
83
  property: 'column-gap',
84
  from: '0px',
85
  to: '100px'
86
}, [
87
  {at: -0.3, expect: '0'}, // column-gap can't be negative.
88
  {at: 0, expect: '0'},
89
  {at: 0.3, expect: '30px'},
90
  {at: 0.6, expect: '60px'},
91
  {at: 1, expect: '100px'},
92
  {at: 1.5, expect: '150px'}
93
]);
94
</script>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-align/animation/row-gap-composition-expected.txt +22 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-align/animation/row-gap-composition-expected.txt_sec1
1
2
FAIL Compositing: property <row-gap> underlying [50px] from add [100px] to add [200px] at (-0.3) should be [120px] assert_equals: expected "120px " but got "70px "
3
FAIL Compositing: property <row-gap> underlying [50px] from add [100px] to add [200px] at (0) should be [150px] assert_equals: expected "150px " but got "100px "
4
FAIL Compositing: property <row-gap> underlying [50px] from add [100px] to add [200px] at (0.5) should be [200px] assert_equals: expected "200px " but got "150px "
5
FAIL Compositing: property <row-gap> underlying [50px] from add [100px] to add [200px] at (1) should be [250px] assert_equals: expected "250px " but got "200px "
6
FAIL Compositing: property <row-gap> underlying [50px] from add [100px] to add [200px] at (1.5) should be [300px] assert_equals: expected "300px " but got "250px "
7
FAIL Compositing: property <row-gap> underlying [100px] from add [10px] to add [2px] at (-0.5) should be [114px] assert_equals: expected "114px " but got "14px "
8
FAIL Compositing: property <row-gap> underlying [100px] from add [10px] to add [2px] at (0) should be [110px] assert_equals: expected "110px " but got "10px "
9
FAIL Compositing: property <row-gap> underlying [100px] from add [10px] to add [2px] at (0.5) should be [106px] assert_equals: expected "106px " but got "6px "
10
FAIL Compositing: property <row-gap> underlying [100px] from add [10px] to add [2px] at (1) should be [102px] assert_equals: expected "102px " but got "2px "
11
FAIL Compositing: property <row-gap> underlying [100px] from add [10px] to add [2px] at (1.5) should be [98px] assert_equals: expected "98px " but got "- 2px "
12
FAIL Compositing: property <row-gap> underlying [50px] from add [100px] to replace [200px] at (-0.3) should be [135px] assert_equals: expected "135px " but got "70px "
13
FAIL Compositing: property <row-gap> underlying [50px] from add [100px] to replace [200px] at (0) should be [150px] assert_equals: expected "150px " but got "100px "
14
FAIL Compositing: property <row-gap> underlying [50px] from add [100px] to replace [200px] at (0.5) should be [175px] assert_equals: expected "175px " but got "150px "
15
PASS Compositing: property <row-gap> underlying [50px] from add [100px] to replace [200px] at (1) should be [200px] 
16
FAIL Compositing: property <row-gap> underlying [50px] from add [100px] to replace [200px] at (1.5) should be [225px] assert_equals: expected "225px " but got "250px "
17
FAIL Compositing: property <row-gap> underlying [100px] from add [100px] to add [normal] at (-0.3) should be [200px] assert_equals: expected "200px " but got "normal "
18
FAIL Compositing: property <row-gap> underlying [100px] from add [100px] to add [normal] at (0) should be [200px] assert_equals: expected "200px " but got "normal "
19
PASS Compositing: property <row-gap> underlying [100px] from add [100px] to add [normal] at (0.5) should be [normal] 
20
PASS Compositing: property <row-gap> underlying [100px] from add [100px] to add [normal] at (1) should be [normal] 
21
PASS Compositing: property <row-gap> underlying [100px] from add [100px] to add [normal] at (1.5) should be [normal] 
22
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-align/animation/row-gap-composition.html +65 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-align/animation/row-gap-composition.html_sec1
1
<!DOCTYPE html>
2
<meta charset="UTF-8">
3
<title>row-gap composition</title>
4
<link rel="help" href="https://drafts.csswg.org/css-align-3/#propdef-row-gap">
5
<meta name="assert" content="row-gap supports animation by computed value type">
6
7
<script src="/resources/testharness.js"></script>
8
<script src="/resources/testharnessreport.js"></script>
9
<script src="/css/support/interpolation-testcommon.js"></script>
10
11
<body>
12
<script>
13
test_composition({
14
  property: 'row-gap',
15
  underlying: '50px',
16
  addFrom: '100px',
17
  addTo: '200px',
18
}, [
19
  {at: -0.3, expect: '120px'},
20
  {at: 0, expect: '150px'},
21
  {at: 0.5, expect: '200px'},
22
  {at: 1, expect: '250px'},
23
  {at: 1.5, expect: '300px'},
24
]);
25
26
test_composition({
27
  property: 'row-gap',
28
  underlying: '100px',
29
  addFrom: '10px',
30
  addTo: '2px',
31
}, [
32
  {at: -0.5, expect: '114px'},
33
  {at: 0, expect: '110px'},
34
  {at: 0.5, expect: '106px'},
35
  {at: 1, expect: '102px'},
36
  {at: 1.5, expect: '98px'}, // Value clamping should happen after composition.
37
]);
38
39
test_composition({
40
  property: 'row-gap',
41
  underlying: '50px',
42
  addFrom: '100px',
43
  replaceTo: '200px',
44
}, [
45
  {at: -0.3, expect: '135px'},
46
  {at: 0, expect: '150px'},
47
  {at: 0.5, expect: '175px'},
48
  {at: 1, expect: '200px'},
49
  {at: 1.5, expect: '225px'},
50
]);
51
52
test_composition({
53
  property: 'row-gap',
54
  underlying: '100px',
55
  addFrom: '100px',
56
  addTo: 'normal',
57
}, [
58
  {at: -0.3, expect: '200px'},
59
  {at: 0, expect: '200px'},
60
  {at: 0.5, expect: 'normal'},
61
  {at: 1, expect: 'normal'},
62
  {at: 1.5, expect: 'normal'},
63
]);
64
</script>
65
</body>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-align/animation/row-gap-interpolation-expected.txt +158 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-align/animation/row-gap-interpolation-expected.txt_sec1
1
2
PASS CSS Transitions: property <row-gap> from neutral to [40px] at (-0.3) should be [1px] 
3
PASS CSS Transitions: property <row-gap> from neutral to [40px] at (0) should be [10px] 
4
PASS CSS Transitions: property <row-gap> from neutral to [40px] at (0.3) should be [19px] 
5
PASS CSS Transitions: property <row-gap> from neutral to [40px] at (0.6) should be [28px] 
6
PASS CSS Transitions: property <row-gap> from neutral to [40px] at (1) should be [40px] 
7
PASS CSS Transitions: property <row-gap> from neutral to [40px] at (1.5) should be [55px] 
8
PASS CSS Transitions with transition: all: property <row-gap> from neutral to [40px] at (-0.3) should be [1px] 
9
PASS CSS Transitions with transition: all: property <row-gap> from neutral to [40px] at (0) should be [10px] 
10
PASS CSS Transitions with transition: all: property <row-gap> from neutral to [40px] at (0.3) should be [19px] 
11
PASS CSS Transitions with transition: all: property <row-gap> from neutral to [40px] at (0.6) should be [28px] 
12
PASS CSS Transitions with transition: all: property <row-gap> from neutral to [40px] at (1) should be [40px] 
13
PASS CSS Transitions with transition: all: property <row-gap> from neutral to [40px] at (1.5) should be [55px] 
14
PASS CSS Animations: property <row-gap> from neutral to [40px] at (-0.3) should be [1px] 
15
PASS CSS Animations: property <row-gap> from neutral to [40px] at (0) should be [10px] 
16
PASS CSS Animations: property <row-gap> from neutral to [40px] at (0.3) should be [19px] 
17
PASS CSS Animations: property <row-gap> from neutral to [40px] at (0.6) should be [28px] 
18
PASS CSS Animations: property <row-gap> from neutral to [40px] at (1) should be [40px] 
19
PASS CSS Animations: property <row-gap> from neutral to [40px] at (1.5) should be [55px] 
20
PASS Web Animations: property <row-gap> from neutral to [40px] at (-0.3) should be [1px] 
21
FAIL Web Animations: property <row-gap> from neutral to [40px] at (0) should be [10px] assert_equals: expected "10px " but got "1px "
22
FAIL Web Animations: property <row-gap> from neutral to [40px] at (0.3) should be [19px] assert_equals: expected "19px " but got "12.7px "
23
FAIL Web Animations: property <row-gap> from neutral to [40px] at (0.6) should be [28px] assert_equals: expected "28px " but got "29.08px "
24
PASS Web Animations: property <row-gap> from neutral to [40px] at (1) should be [40px] 
25
FAIL Web Animations: property <row-gap> from neutral to [40px] at (1.5) should be [55px] assert_equals: expected "55px " but got "40px "
26
PASS CSS Transitions: property <row-gap> from [initial] to [20px] at (-0.3) should be [20px] 
27
PASS CSS Transitions: property <row-gap> from [initial] to [20px] at (0) should be [20px] 
28
PASS CSS Transitions: property <row-gap> from [initial] to [20px] at (0.3) should be [20px] 
29
PASS CSS Transitions: property <row-gap> from [initial] to [20px] at (0.5) should be [20px] 
30
PASS CSS Transitions: property <row-gap> from [initial] to [20px] at (0.6) should be [20px] 
31
PASS CSS Transitions: property <row-gap> from [initial] to [20px] at (1) should be [20px] 
32
PASS CSS Transitions: property <row-gap> from [initial] to [20px] at (1.5) should be [20px] 
33
PASS CSS Transitions with transition: all: property <row-gap> from [initial] to [20px] at (-0.3) should be [20px] 
34
PASS CSS Transitions with transition: all: property <row-gap> from [initial] to [20px] at (0) should be [20px] 
35
PASS CSS Transitions with transition: all: property <row-gap> from [initial] to [20px] at (0.3) should be [20px] 
36
PASS CSS Transitions with transition: all: property <row-gap> from [initial] to [20px] at (0.5) should be [20px] 
37
PASS CSS Transitions with transition: all: property <row-gap> from [initial] to [20px] at (0.6) should be [20px] 
38
PASS CSS Transitions with transition: all: property <row-gap> from [initial] to [20px] at (1) should be [20px] 
39
PASS CSS Transitions with transition: all: property <row-gap> from [initial] to [20px] at (1.5) should be [20px] 
40
FAIL CSS Animations: property <row-gap> from [initial] to [20px] at (-0.3) should be [initial] assert_equals: expected "normal " but got "20px "
41
FAIL CSS Animations: property <row-gap> from [initial] to [20px] at (0) should be [initial] assert_equals: expected "normal " but got "20px "
42
FAIL CSS Animations: property <row-gap> from [initial] to [20px] at (0.3) should be [initial] assert_equals: expected "normal " but got "20px "
43
PASS CSS Animations: property <row-gap> from [initial] to [20px] at (0.5) should be [20px] 
44
PASS CSS Animations: property <row-gap> from [initial] to [20px] at (0.6) should be [20px] 
45
PASS CSS Animations: property <row-gap> from [initial] to [20px] at (1) should be [20px] 
46
PASS CSS Animations: property <row-gap> from [initial] to [20px] at (1.5) should be [20px] 
47
FAIL Web Animations: property <row-gap> from [initial] to [20px] at (-0.3) should be [initial] assert_equals: expected "normal " but got "20px "
48
FAIL Web Animations: property <row-gap> from [initial] to [20px] at (0) should be [initial] assert_equals: expected "normal " but got "20px "
49
FAIL Web Animations: property <row-gap> from [initial] to [20px] at (0.3) should be [initial] assert_equals: expected "normal " but got "20px "
50
PASS Web Animations: property <row-gap> from [initial] to [20px] at (0.5) should be [20px] 
51
PASS Web Animations: property <row-gap> from [initial] to [20px] at (0.6) should be [20px] 
52
PASS Web Animations: property <row-gap> from [initial] to [20px] at (1) should be [20px] 
53
PASS Web Animations: property <row-gap> from [initial] to [20px] at (1.5) should be [20px] 
54
PASS CSS Transitions: property <row-gap> from [inherit] to [20px] at (-0.3) should be [111px] 
55
PASS CSS Transitions: property <row-gap> from [inherit] to [20px] at (0) should be [90px] 
56
PASS CSS Transitions: property <row-gap> from [inherit] to [20px] at (0.3) should be [69px] 
57
PASS CSS Transitions: property <row-gap> from [inherit] to [20px] at (0.6) should be [48px] 
58
PASS CSS Transitions: property <row-gap> from [inherit] to [20px] at (1) should be [20px] 
59
FAIL CSS Transitions: property <row-gap> from [inherit] to [20px] at (1.5) should be [0px] assert_equals: expected "0px " but got "- 15px "
60
PASS CSS Transitions with transition: all: property <row-gap> from [inherit] to [20px] at (-0.3) should be [111px] 
61
PASS CSS Transitions with transition: all: property <row-gap> from [inherit] to [20px] at (0) should be [90px] 
62
PASS CSS Transitions with transition: all: property <row-gap> from [inherit] to [20px] at (0.3) should be [69px] 
63
PASS CSS Transitions with transition: all: property <row-gap> from [inherit] to [20px] at (0.6) should be [48px] 
64
PASS CSS Transitions with transition: all: property <row-gap> from [inherit] to [20px] at (1) should be [20px] 
65
FAIL CSS Transitions with transition: all: property <row-gap> from [inherit] to [20px] at (1.5) should be [0px] assert_equals: expected "0px " but got "- 15px "
66
PASS CSS Animations: property <row-gap> from [inherit] to [20px] at (-0.3) should be [111px] 
67
PASS CSS Animations: property <row-gap> from [inherit] to [20px] at (0) should be [90px] 
68
PASS CSS Animations: property <row-gap> from [inherit] to [20px] at (0.3) should be [69px] 
69
PASS CSS Animations: property <row-gap> from [inherit] to [20px] at (0.6) should be [48px] 
70
PASS CSS Animations: property <row-gap> from [inherit] to [20px] at (1) should be [20px] 
71
FAIL CSS Animations: property <row-gap> from [inherit] to [20px] at (1.5) should be [0px] assert_equals: expected "0px " but got "- 15px "
72
FAIL Web Animations: property <row-gap> from [inherit] to [20px] at (-0.3) should be [111px] assert_equals: expected "111px " but got "7px "
73
FAIL Web Animations: property <row-gap> from [inherit] to [20px] at (0) should be [90px] assert_equals: expected "90px " but got "7px "
74
FAIL Web Animations: property <row-gap> from [inherit] to [20px] at (0.3) should be [69px] assert_equals: expected "69px " but got "10.9px "
75
FAIL Web Animations: property <row-gap> from [inherit] to [20px] at (0.6) should be [48px] assert_equals: expected "48px " but got "16.36px "
76
PASS Web Animations: property <row-gap> from [inherit] to [20px] at (1) should be [20px] 
77
FAIL Web Animations: property <row-gap> from [inherit] to [20px] at (1.5) should be [0px] assert_equals: expected "0px " but got "20px "
78
PASS CSS Transitions: property <row-gap> from [unset] to [20px] at (-0.3) should be [20px] 
79
PASS CSS Transitions: property <row-gap> from [unset] to [20px] at (0) should be [20px] 
80
PASS CSS Transitions: property <row-gap> from [unset] to [20px] at (0.3) should be [20px] 
81
PASS CSS Transitions: property <row-gap> from [unset] to [20px] at (0.5) should be [20px] 
82
PASS CSS Transitions: property <row-gap> from [unset] to [20px] at (0.6) should be [20px] 
83
PASS CSS Transitions: property <row-gap> from [unset] to [20px] at (1) should be [20px] 
84
PASS CSS Transitions: property <row-gap> from [unset] to [20px] at (1.5) should be [20px] 
85
PASS CSS Transitions with transition: all: property <row-gap> from [unset] to [20px] at (-0.3) should be [20px] 
86
PASS CSS Transitions with transition: all: property <row-gap> from [unset] to [20px] at (0) should be [20px] 
87
PASS CSS Transitions with transition: all: property <row-gap> from [unset] to [20px] at (0.3) should be [20px] 
88
PASS CSS Transitions with transition: all: property <row-gap> from [unset] to [20px] at (0.5) should be [20px] 
89
PASS CSS Transitions with transition: all: property <row-gap> from [unset] to [20px] at (0.6) should be [20px] 
90
PASS CSS Transitions with transition: all: property <row-gap> from [unset] to [20px] at (1) should be [20px] 
91
PASS CSS Transitions with transition: all: property <row-gap> from [unset] to [20px] at (1.5) should be [20px] 
92
FAIL CSS Animations: property <row-gap> from [unset] to [20px] at (-0.3) should be [unset] assert_equals: expected "normal " but got "20px "
93
FAIL CSS Animations: property <row-gap> from [unset] to [20px] at (0) should be [unset] assert_equals: expected "normal " but got "20px "
94
FAIL CSS Animations: property <row-gap> from [unset] to [20px] at (0.3) should be [unset] assert_equals: expected "normal " but got "20px "
95
PASS CSS Animations: property <row-gap> from [unset] to [20px] at (0.5) should be [20px] 
96
PASS CSS Animations: property <row-gap> from [unset] to [20px] at (0.6) should be [20px] 
97
PASS CSS Animations: property <row-gap> from [unset] to [20px] at (1) should be [20px] 
98
PASS CSS Animations: property <row-gap> from [unset] to [20px] at (1.5) should be [20px] 
99
FAIL Web Animations: property <row-gap> from [unset] to [20px] at (-0.3) should be [unset] assert_equals: expected "normal " but got "20px "
100
FAIL Web Animations: property <row-gap> from [unset] to [20px] at (0) should be [unset] assert_equals: expected "normal " but got "20px "
101
FAIL Web Animations: property <row-gap> from [unset] to [20px] at (0.3) should be [unset] assert_equals: expected "normal " but got "20px "
102
PASS Web Animations: property <row-gap> from [unset] to [20px] at (0.5) should be [20px] 
103
PASS Web Animations: property <row-gap> from [unset] to [20px] at (0.6) should be [20px] 
104
PASS Web Animations: property <row-gap> from [unset] to [20px] at (1) should be [20px] 
105
PASS Web Animations: property <row-gap> from [unset] to [20px] at (1.5) should be [20px] 
106
PASS CSS Transitions: property <row-gap> from [normal] to [20px] at (-0.3) should be [20px] 
107
PASS CSS Transitions: property <row-gap> from [normal] to [20px] at (0) should be [20px] 
108
PASS CSS Transitions: property <row-gap> from [normal] to [20px] at (0.3) should be [20px] 
109
PASS CSS Transitions: property <row-gap> from [normal] to [20px] at (0.5) should be [20px] 
110
PASS CSS Transitions: property <row-gap> from [normal] to [20px] at (0.6) should be [20px] 
111
PASS CSS Transitions: property <row-gap> from [normal] to [20px] at (1) should be [20px] 
112
PASS CSS Transitions: property <row-gap> from [normal] to [20px] at (1.5) should be [20px] 
113
PASS CSS Transitions with transition: all: property <row-gap> from [normal] to [20px] at (-0.3) should be [20px] 
114
PASS CSS Transitions with transition: all: property <row-gap> from [normal] to [20px] at (0) should be [20px] 
115
PASS CSS Transitions with transition: all: property <row-gap> from [normal] to [20px] at (0.3) should be [20px] 
116
PASS CSS Transitions with transition: all: property <row-gap> from [normal] to [20px] at (0.5) should be [20px] 
117
PASS CSS Transitions with transition: all: property <row-gap> from [normal] to [20px] at (0.6) should be [20px] 
118
PASS CSS Transitions with transition: all: property <row-gap> from [normal] to [20px] at (1) should be [20px] 
119
PASS CSS Transitions with transition: all: property <row-gap> from [normal] to [20px] at (1.5) should be [20px] 
120
FAIL CSS Animations: property <row-gap> from [normal] to [20px] at (-0.3) should be [normal] assert_equals: expected "normal " but got "20px "
121
FAIL CSS Animations: property <row-gap> from [normal] to [20px] at (0) should be [normal] assert_equals: expected "normal " but got "20px "
122
FAIL CSS Animations: property <row-gap> from [normal] to [20px] at (0.3) should be [normal] assert_equals: expected "normal " but got "20px "
123
PASS CSS Animations: property <row-gap> from [normal] to [20px] at (0.5) should be [20px] 
124
PASS CSS Animations: property <row-gap> from [normal] to [20px] at (0.6) should be [20px] 
125
PASS CSS Animations: property <row-gap> from [normal] to [20px] at (1) should be [20px] 
126
PASS CSS Animations: property <row-gap> from [normal] to [20px] at (1.5) should be [20px] 
127
FAIL Web Animations: property <row-gap> from [normal] to [20px] at (-0.3) should be [normal] assert_equals: expected "normal " but got "20px "
128
FAIL Web Animations: property <row-gap> from [normal] to [20px] at (0) should be [normal] assert_equals: expected "normal " but got "20px "
129
FAIL Web Animations: property <row-gap> from [normal] to [20px] at (0.3) should be [normal] assert_equals: expected "normal " but got "20px "
130
PASS Web Animations: property <row-gap> from [normal] to [20px] at (0.5) should be [20px] 
131
PASS Web Animations: property <row-gap> from [normal] to [20px] at (0.6) should be [20px] 
132
PASS Web Animations: property <row-gap> from [normal] to [20px] at (1) should be [20px] 
133
PASS Web Animations: property <row-gap> from [normal] to [20px] at (1.5) should be [20px] 
134
FAIL CSS Transitions: property <row-gap> from [0px] to [100px] at (-0.3) should be [0] assert_equals: expected "0px " but got "- 30px "
135
PASS CSS Transitions: property <row-gap> from [0px] to [100px] at (0) should be [0] 
136
PASS CSS Transitions: property <row-gap> from [0px] to [100px] at (0.3) should be [30px] 
137
PASS CSS Transitions: property <row-gap> from [0px] to [100px] at (0.6) should be [60px] 
138
PASS CSS Transitions: property <row-gap> from [0px] to [100px] at (1) should be [100px] 
139
PASS CSS Transitions: property <row-gap> from [0px] to [100px] at (1.5) should be [150px] 
140
FAIL CSS Transitions with transition: all: property <row-gap> from [0px] to [100px] at (-0.3) should be [0] assert_equals: expected "0px " but got "- 30px "
141
PASS CSS Transitions with transition: all: property <row-gap> from [0px] to [100px] at (0) should be [0] 
142
PASS CSS Transitions with transition: all: property <row-gap> from [0px] to [100px] at (0.3) should be [30px] 
143
PASS CSS Transitions with transition: all: property <row-gap> from [0px] to [100px] at (0.6) should be [60px] 
144
PASS CSS Transitions with transition: all: property <row-gap> from [0px] to [100px] at (1) should be [100px] 
145
PASS CSS Transitions with transition: all: property <row-gap> from [0px] to [100px] at (1.5) should be [150px] 
146
FAIL CSS Animations: property <row-gap> from [0px] to [100px] at (-0.3) should be [0] assert_equals: expected "0px " but got "- 30px "
147
PASS CSS Animations: property <row-gap> from [0px] to [100px] at (0) should be [0] 
148
PASS CSS Animations: property <row-gap> from [0px] to [100px] at (0.3) should be [30px] 
149
PASS CSS Animations: property <row-gap> from [0px] to [100px] at (0.6) should be [60px] 
150
PASS CSS Animations: property <row-gap> from [0px] to [100px] at (1) should be [100px] 
151
PASS CSS Animations: property <row-gap> from [0px] to [100px] at (1.5) should be [150px] 
152
FAIL Web Animations: property <row-gap> from [0px] to [100px] at (-0.3) should be [0] assert_equals: expected "0px " but got "- 30px "
153
PASS Web Animations: property <row-gap> from [0px] to [100px] at (0) should be [0] 
154
PASS Web Animations: property <row-gap> from [0px] to [100px] at (0.3) should be [30px] 
155
PASS Web Animations: property <row-gap> from [0px] to [100px] at (0.6) should be [60px] 
156
PASS Web Animations: property <row-gap> from [0px] to [100px] at (1) should be [100px] 
157
PASS Web Animations: property <row-gap> from [0px] to [100px] at (1.5) should be [150px] 
158
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-align/animation/row-gap-interpolation.html +93 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-align/animation/row-gap-interpolation.html_sec1
1
<!DOCTYPE html>
2
<meta charset="UTF-8">
3
<title>row-gap interpolation</title>
4
<link rel="help" href="https://drafts.csswg.org/css-align-3/#propdef-row-gap">
5
<meta name="assert" content="row-gap supports animation by computed value type">
6
7
<script src="/resources/testharness.js"></script>
8
<script src="/resources/testharnessreport.js"></script>
9
<script src="/css/support/interpolation-testcommon.js"></script>
10
11
<style>
12
.parent {
13
  row-gap: 90px;
14
}
15
.target {
16
  row-gap: 10px;
17
}
18
.expected div {
19
  opacity: 0.7;
20
}
21
.target > div {
22
  height: 20px;
23
  background-color: black;
24
}
25
.target.expected > div {
26
  background-color: green;
27
}
28
</style>
29
30
<body>
31
<template id='target-template'>
32
  <div></div><div></div>
33
</template>
34
</body>
35
36
<script>
37
test_interpolation({
38
  property: 'row-gap',
39
  from: neutralKeyframe,
40
  to: '40px',
41
}, [
42
  {at: -0.3, expect: '1px'},
43
  {at: 0, expect: '10px'},
44
  {at: 0.3, expect: '19px'},
45
  {at: 0.6, expect: '28px'},
46
  {at: 1, expect: '40px'},
47
  {at: 1.5, expect: '55px'},
48
]);
49
50
test_no_interpolation({
51
  property: 'row-gap',
52
  from: 'initial',
53
  to: '20px',
54
});
55
56
test_interpolation({
57
  property: 'row-gap',
58
  from: 'inherit',
59
  to: '20px',
60
}, [
61
  {at: -0.3, expect: '111px'},
62
  {at: 0, expect: '90px'},
63
  {at: 0.3, expect: '69px'},
64
  {at: 0.6, expect: '48px'},
65
  {at: 1, expect: '20px'},
66
  {at: 1.5, expect: '0px'},
67
]);
68
69
test_no_interpolation({
70
  property: 'row-gap',
71
  from: 'unset',
72
  to: '20px',
73
});
74
75
test_no_interpolation({
76
  property: 'row-gap',
77
  from: 'normal',
78
  to: '20px',
79
});
80
81
test_interpolation({
82
  property: 'row-gap',
83
  from: '0px',
84
  to: '100px'
85
}, [
86
  {at: -0.3, expect: '0'}, // row-gap can't be negative.
87
  {at: 0, expect: '0'},
88
  {at: 0.3, expect: '30px'},
89
  {at: 0.6, expect: '60px'},
90
  {at: 1, expect: '100px'},
91
  {at: 1.5, expect: '150px'}
92
]);
93
</script>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-align/animation/w3c-import.log +20 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-align/animation/w3c-import.log_sec1
1
The tests in this directory were imported from the W3C repository.
2
Do NOT modify these tests directly in WebKit.
3
Instead, create a pull request on the WPT github:
4
	https://github.com/web-platform-tests/wpt
5
6
Then run the Tools/Scripts/import-w3c-tests in WebKit to reimport
7
8
Do NOT modify or remove this file.
9
10
------------------------------------------------------------------------
11
Properties requiring vendor prefixes:
12
None
13
Property values requiring vendor prefixes:
14
None
15
------------------------------------------------------------------------
16
List of files:
17
/LayoutTests/imported/w3c/web-platform-tests/css/css-align/animation/column-gap-composition.html
18
/LayoutTests/imported/w3c/web-platform-tests/css/css-align/animation/column-gap-interpolation.html
19
/LayoutTests/imported/w3c/web-platform-tests/css/css-align/animation/row-gap-composition.html
20
/LayoutTests/imported/w3c/web-platform-tests/css/css-align/animation/row-gap-interpolation.html
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-align/baseline-of-scrollable-1a-expected.html +58 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-align/baseline-of-scrollable-1a-expected.html_sec1
1
<!DOCTYPE html>
2
<html>
3
<head>
4
  <meta charset="UTF-8">
5
  <title>
6
    CSS Reference Case
7
  </title>
8
  <link rel="author" title="Daniel Holbert" href="mailto:dholbert@mozilla.com">
9
  <link rel="author" title="Mozilla" href="https://www.mozilla.org">
10
  <link rel="help" href="https://drafts.csswg.org/css-align/#baseline-export">
11
  <style>
12
    .container {
13
      /* In this reference case, we leave 'overflow' at its initial value. */
14
      height: 50px;
15
      width: 100px;
16
      border-style: solid;
17
      border-width: 2px 3px 4px 5px;
18
      padding: 4px 5px 7px 8px;
19
      margin: 1px 2px 3px 4px;
20
    }
21
    .inline-block {
22
      display: inline-block;
23
    }
24
    .inline-flex {
25
      display: inline-flex;
26
    }
27
    .inline-grid {
28
      display: inline-grid;
29
    }
30
</style>
31
</head>
32
<body>
33
  Test passes if the a/b text aligns with the bottom margin-edge of the "block"
34
  rect and baseline-aligns with the "flex" and "grid" text.
35
  <br><br>
36
37
  <!-- Note: for this first "inline-block" case, we take the inner text out of
38
       flow, to force the inline-block to synthesize its baseline from its
39
       margin box.  (This is how the corresponding piece of the testcase is
40
       supposed to render). -->
41
  a
42
  <div class="container inline-block">
43
    <div style="position: absolute">block</div>
44
  </div>
45
  b
46
  <br>
47
48
  a
49
  <div class="container inline-flex">flex</div>
50
  b
51
  <br>
52
53
  a
54
  <div class="container inline-grid">grid</div>
55
  b
56
57
</body>
58
</html>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-align/baseline-of-scrollable-1a.html +58 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-align/baseline-of-scrollable-1a.html_sec1
1
<!DOCTYPE html>
2
<html>
3
<head>
4
  <meta charset="UTF-8">
5
  <title>
6
    CSS Test: baseline of scrollable element should be taken from its
7
    contents. (Except if the scrollable element is an inline-block, which gets
8
    baseline from its margin-box.)
9
  </title>
10
  <link rel="author" title="Daniel Holbert" href="mailto:dholbert@mozilla.com">
11
  <link rel="author" title="Mozilla" href="https://www.mozilla.org">
12
  <link rel="help" href="https://drafts.csswg.org/css-align/#baseline-export">
13
  <link rel="match" href="reference/baseline-of-scrollable-1-ref.html">
14
  <style>
15
    .container {
16
      overflow: hidden;
17
      height: 50px;
18
      width: 100px;
19
      border-style: solid;
20
      border-width: 2px 3px 4px 5px;
21
      padding: 4px 5px 7px 8px;
22
      margin: 1px 2px 3px 4px;
23
    }
24
    .inline-block {
25
      display: inline-block;
26
    }
27
    .inline-flex {
28
      display: inline-flex;
29
    }
30
    .inline-grid {
31
      display: inline-grid;
32
    }
33
</style>
34
</head>
35
<body>
36
  Test passes if the a/b text aligns with the bottom margin-edge of the "block"
37
  rect and baseline-aligns with the "flex" and "grid" text.
38
  <br><br>
39
40
  <!-- Note: for this first "inline-block" case, the element's baseline is
41
       synthesized from its margin box.  For the other cases, the element's
42
       baseline is taken from its contents, i.e. the text inside of it. -->
43
  a
44
  <div class="container inline-block">block</div>
45
  b
46
  <br>
47
48
  a
49
  <div class="container inline-flex">flex</div>
50
  b
51
  <br>
52
53
  a
54
  <div class="container inline-grid">grid</div>
55
  b
56
57
</body>
58
</html>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-align/baseline-of-scrollable-1b-expected.html +58 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-align/baseline-of-scrollable-1b-expected.html_sec1
1
<!DOCTYPE html>
2
<html>
3
<head>
4
  <meta charset="UTF-8">
5
  <title>
6
    CSS Reference Case
7
  </title>
8
  <link rel="author" title="Daniel Holbert" href="mailto:dholbert@mozilla.com">
9
  <link rel="author" title="Mozilla" href="https://www.mozilla.org">
10
  <link rel="help" href="https://drafts.csswg.org/css-align/#baseline-export">
11
  <style>
12
    .container {
13
      /* In this reference case, we leave 'overflow' at its initial value. */
14
      height: 50px;
15
      width: 100px;
16
      border-style: solid;
17
      border-width: 2px 3px 4px 5px;
18
      padding: 4px 5px 7px 8px;
19
      margin: 1px 2px 3px 4px;
20
    }
21
    .inline-block {
22
      display: inline-block;
23
    }
24
    .inline-flex {
25
      display: inline-flex;
26
    }
27
    .inline-grid {
28
      display: inline-grid;
29
    }
30
</style>
31
</head>
32
<body>
33
  Test passes if the a/b text aligns with the bottom margin-edge of the "block"
34
  rect and baseline-aligns with the "flex" and "grid" text.
35
  <br><br>
36
37
  <!-- Note: for this first "inline-block" case, we take the inner text out of
38
       flow, to force the inline-block to synthesize its baseline from its
39
       margin box.  (This is how the corresponding piece of the testcase is
40
       supposed to render). -->
41
  a
42
  <div class="container inline-block">
43
    <div style="position: absolute">block</div>
44
  </div>
45
  b
46
  <br>
47
48
  a
49
  <div class="container inline-flex">flex</div>
50
  b
51
  <br>
52
53
  a
54
  <div class="container inline-grid">grid</div>
55
  b
56
57
</body>
58
</html>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-align/baseline-of-scrollable-1b.html +67 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-align/baseline-of-scrollable-1b.html_sec1
1
<!DOCTYPE html>
2
<html>
3
<head>
4
  <meta charset="UTF-8">
5
  <title>
6
    CSS Test: baseline of scrollable element (for use by a parent inline-block)
7
    should be taken from its contents. (Except if the scrollable element is a
8
    block, which gets baseline from its margin-box.)
9
  </title>
10
  <link rel="author" title="Daniel Holbert" href="mailto:dholbert@mozilla.com">
11
  <link rel="author" title="Mozilla" href="https://www.mozilla.org">
12
  <link rel="help" href="https://drafts.csswg.org/css-align/#baseline-export">
13
  <link rel="match" href="reference/baseline-of-scrollable-1-ref.html">
14
  <style>
15
    .container {
16
      overflow: hidden;
17
      height: 50px;
18
      width: 100px;
19
      border-style: solid;
20
      border-width: 2px 3px 4px 5px;
21
      padding: 4px 5px 7px 8px;
22
      margin: 1px 2px 3px 4px;
23
    }
24
    .inline-block {
25
      display: inline-block;
26
    }
27
    .block {
28
      display: block;
29
    }
30
    .flex {
31
      display: flex;
32
    }
33
    .grid {
34
      display: grid;
35
    }
36
</style>
37
</head>
38
<body>
39
  Test passes if the a/b text aligns with the bottom margin-edge of the "block"
40
  rect and baseline-aligns with the "flex" and "grid" text.
41
  <br><br>
42
43
  <!-- Note: for this first "inline-block" case, the element's baseline is
44
       synthesized from its margin box.  For the other cases, the element's
45
       baseline is taken from its contents, i.e. the text inside of it. -->
46
  a
47
  <div class="inline-block">
48
    <div class="container block">block</div>
49
  </div>
50
  b
51
  <br>
52
53
  a
54
  <div class="inline-block">
55
    <div class="container flex">flex</div>
56
  </div>
57
  b
58
  <br>
59
60
  a
61
  <div class="inline-block">
62
    <div class="container grid">grid</div>
63
  </div>
64
  b
65
66
</body>
67
</html>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-align/baseline-of-scrollable-2-expected.html +52 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-align/baseline-of-scrollable-2-expected.html_sec1
1
<!DOCTYPE html>
2
<html>
3
<head>
4
  <meta charset="UTF-8">
5
  <title>
6
    CSS Reference Case
7
  </title>
8
  <link rel="author" title="Daniel Holbert" href="mailto:dholbert@mozilla.com">
9
  <link rel="author" title="Mozilla" href="https://www.mozilla.org">
10
  <style>
11
    /* For this reference case, we use an empty block in place of the testcase's
12
       "details" element, because empty blocks derive their baseline from their
13
       margin-box (and that's the behavior that we're expecting from the
14
       "details" elements in our testcase). */
15
    .details-ref {
16
      display: inline-block;
17
      height: 40px;
18
      width: 100px;
19
      border-color: gray;
20
      border-style: solid;
21
      border-width: 2px 3px 4px 5px;
22
      padding: 4px 5px 7px 8px;
23
      margin: 1px 2px 3px 4px;
24
    }
25
</style>
26
</head>
27
<body>
28
  Test passes if the a/b text aligns with the bottom margin-edge of the
29
  gray rects.
30
  <br><br>
31
32
  a
33
  <div class="details-ref"></div>
34
  b
35
  <br>
36
37
  a
38
  <div class="details-ref"></div>
39
  b
40
  <br>
41
42
  a
43
  <div class="details-ref"></div>
44
  b
45
  <br>
46
47
  a
48
  <div class="details-ref"></div>
49
  b
50
51
</body>
52
</html>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-align/baseline-of-scrollable-2.html +70 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-align/baseline-of-scrollable-2.html_sec1
1
<!DOCTYPE html>
2
<html>
3
<head>
4
  <meta charset="UTF-8">
5
  <title>
6
    CSS Test: baseline of scrollable "details" element should be derived
7
    from its margin-box.
8
  </title>
9
  <link rel="author" title="Daniel Holbert" href="mailto:dholbert@mozilla.com">
10
  <link rel="author" title="Mozilla" href="https://www.mozilla.org">
11
  <link rel="help" href="https://drafts.csswg.org/css-align/#baseline-export">
12
  <link rel="match" href="reference/baseline-of-scrollable-2-ref.html">
13
  <style>
14
    .overflow-ib {
15
      overflow: hidden;
16
      display: inline-block;
17
    }
18
19
    details {
20
      height: 40px;
21
      width: 100px;
22
      /* Transparent text & "details-arrow", so that it's easier to make
23
         a simple reference case: */
24
      color: transparent;
25
      border-color: gray;
26
      border-style: solid;
27
      border-width: 2px 3px 4px 5px;
28
      padding: 4px 5px 7px 8px;
29
      margin: 1px 2px 3px 4px;
30
    }
31
</style>
32
</head>
33
<body>
34
  Test passes if the a/b text aligns with the bottom margin-edge of the
35
  gray rects.
36
  <br><br>
37
38
  a
39
  <details class="overflow-ib">
40
    c<br>d<br>e<br>f<br>g
41
  </details>
42
  b
43
  <br>
44
45
  a
46
  <details class="overflow-ib" open>
47
    c<br>d<br>e<br>f<br>g
48
  </details>
49
  b
50
  <br>
51
52
  a
53
  <div class="overflow-ib">
54
    <details>
55
      c<br>d<br>e<br>f<br>g
56
    </details>
57
  </div>
58
  b
59
  <br>
60
61
  a
62
  <div class="overflow-ib">
63
    <details open>
64
      c<br>d<br>e<br>f<br>g
65
    </details>
66
  </div>
67
  b
68
69
</body>
70
</html>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-align/baseline-rules/grid-item-input-type-number-expected.html +62 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-align/baseline-rules/grid-item-input-type-number-expected.html_sec1
1
<!DOCTYPE HTML>
2
<!--
3
     Any copyright is dedicated to the Public Domain.
4
     http://creativecommons.org/publicdomain/zero/1.0/
5
-->
6
<html><head>
7
  <meta charset=utf-8>
8
  <title>Reference baseline alignment of inline-grid with an INPUT type=number item</title>
9
  <link rel="author" title="Mats Palmgren" href="mailto:mats@mozilla.com">
10
  <style>
11
12
.grid {
13
  display: inline-block;
14
  line-height: 0;
15
  border: 5px solid;
16
  padding: 1px 0 3px 0;
17
  margin: 11px 0;
18
}
19
20
input { -webkit-appearance:none; inline-size:4ch; }
21
22
.big {
23
 font-size: 4em;
24
}
25
26
.small {
27
  font-size: 0.2em;
28
}
29
30
.vlr { writing-mode: vertical-lr; }
31
  </style>
32
</head>
33
<body>
34
35
<div>
36
  <span class="big">B</span>
37
  <div class="grid"><input type="number" value="9"></div>
38
  <span class="small">B</span>
39
</div>
40
41
<div>
42
  <span>B</span>
43
  <div class="grid"><input class="big" type="number" value="9"></div>
44
  <span class="small">B</span>
45
</div>
46
47
<div class="vlr">
48
<div>
49
  <span class="big">B</span>
50
  <div class="grid"><input type="number" value="9"></div>
51
  <span class="small">B</span>
52
</div>
53
54
<div>
55
  <span>B</span>
56
  <div class="grid"><input class="big" type="number" value="9"></div>
57
  <span class="small">B</span>
58
</div>
59
</div>
60
61
</body>
62
</html>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-align/baseline-rules/grid-item-input-type-number.html +63 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-align/baseline-rules/grid-item-input-type-number.html_sec1
1
<!DOCTYPE HTML>
2
<!--
3
     Any copyright is dedicated to the Public Domain.
4
     http://creativecommons.org/publicdomain/zero/1.0/
5
-->
6
<html><head>
7
  <meta charset=utf-8>
8
  <title>Test baseline alignment of inline-grid with an INPUT type=number item</title>
9
  <link rel="author" title="Mats Palmgren" href="mailto:mats@mozilla.com">
10
  <link rel="help" href="https://drafts.csswg.org/css-align/">
11
  <link rel="match" href="grid-item-input-type-number-ref.html">
12
  <style>
13
14
.grid {
15
  display: inline-grid;
16
  border: 5px solid;
17
  padding: 1px 0 3px 0;
18
  margin: 11px 0;
19
}
20
21
input { -webkit-appearance:none; inline-size:4ch; }
22
23
.big {
24
 font-size: 4em;
25
}
26
27
.small {
28
  font-size: 0.2em;
29
}
30
31
.vlr { writing-mode: vertical-lr; }
32
  </style>
33
</head>
34
<body>
35
36
<div>
37
  <span class="big">B</span>
38
  <div class="grid"><input type="number" value="9"></div>
39
  <span class="small">B</span>
40
</div>
41
42
<div>
43
  <span>B</span>
44
  <div class="grid"><input class="big" type="number" value="9"></div>
45
  <span class="small">B</span>
46
</div>
47
48
<div class="vlr">
49
<div>
50
  <span class="big">B</span>
51
  <div class="grid"><input type="number" value="9"></div>
52
  <span class="small">B</span>
53
</div>
54
55
<div>
56
  <span>B</span>
57
  <div class="grid"><input class="big" type="number" value="9"></div>
58
  <span class="small">B</span>
59
</div>
60
</div>
61
62
</body>
63
</html>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-align/baseline-rules/grid-item-input-type-text-expected.html +62 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-align/baseline-rules/grid-item-input-type-text-expected.html_sec1
1
<!DOCTYPE HTML>
2
<!--
3
     Any copyright is dedicated to the Public Domain.
4
     http://creativecommons.org/publicdomain/zero/1.0/
5
-->
6
<html><head>
7
  <meta charset=utf-8>
8
  <title>Reference baseline alignment of inline-grid with an INPUT type=text item</title>
9
  <link rel="author" title="Mats Palmgren" href="mailto:mats@mozilla.com">
10
  <style>
11
12
.grid {
13
  display: inline-block;
14
  line-height: 0;
15
  border: 5px solid;
16
  padding: 1px 0 3px 0;
17
  margin: 11px 0;
18
}
19
20
input { -webkit-appearance:none; inline-size:4ch; }
21
22
.big {
23
 font-size: 4em;
24
}
25
26
.small {
27
  font-size: 0.2em;
28
}
29
30
.vlr { writing-mode: vertical-lr; }
31
  </style>
32
</head>
33
<body>
34
35
<div>
36
  <span class="big">B</span>
37
  <div class="grid"><input value="9"></div>
38
  <span class="small">B</span>
39
</div>
40
41
<div>
42
  <span>B</span>
43
  <div class="grid"><input class="big" value="9"></div>
44
  <span class="small">B</span>
45
</div>
46
47
<div class="vlr">
48
<div>
49
  <span class="big">B</span>
50
  <div class="grid"><input value="9"></div>
51
  <span class="small">B</span>
52
</div>
53
54
<div>
55
  <span>B</span>
56
  <div class="grid"><input class="big" value="9"></div>
57
  <span class="small">B</span>
58
</div>
59
</div>
60
61
</body>
62
</html>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-align/baseline-rules/grid-item-input-type-text.html +63 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-align/baseline-rules/grid-item-input-type-text.html_sec1
1
<!DOCTYPE HTML>
2
<!--
3
     Any copyright is dedicated to the Public Domain.
4
     http://creativecommons.org/publicdomain/zero/1.0/
5
-->
6
<html><head>
7
  <meta charset=utf-8>
8
  <title>Test baseline alignment of inline-grid with an INPUT type=text item</title>
9
  <link rel="author" title="Mats Palmgren" href="mailto:mats@mozilla.com">
10
  <link rel="help" href="https://drafts.csswg.org/css-align/">
11
  <link rel="match" href="grid-item-input-type-text-ref.html">
12
  <style>
13
14
.grid {
15
  display: inline-grid;
16
  border: 5px solid;
17
  padding: 1px 0 3px 0;
18
  margin: 11px 0;
19
}
20
21
input { -webkit-appearance:none; inline-size:4ch; }
22
23
.big {
24
 font-size: 4em;
25
}
26
27
.small {
28
  font-size: 0.2em;
29
}
30
31
.vlr { writing-mode: vertical-lr; }
32
  </style>
33
</head>
34
<body>
35
36
<div>
37
  <span class="big">B</span>
38
  <div class="grid"><input value="9"></div>
39
  <span class="small">B</span>
40
</div>
41
42
<div>
43
  <span>B</span>
44
  <div class="grid"><input class="big" value="9"></div>
45
  <span class="small">B</span>
46
</div>
47
48
<div class="vlr">
49
<div>
50
  <span class="big">B</span>
51
  <div class="grid"><input value="9"></div>
52
  <span class="small">B</span>
53
</div>
54
55
<div>
56
  <span>B</span>
57
  <div class="grid"><input class="big" value="9"></div>
58
  <span class="small">B</span>
59
</div>
60
</div>
61
62
</body>
63
</html>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-align/baseline-rules/synthesized-baseline-grid-001.html -1 / +1 lines
Lines 4-10 a/LayoutTests/imported/w3c/web-platform-tests/css/css-align/baseline-rules/synthesized-baseline-grid-001.html_sec1
4
<link rel="author" title="Manuel Rego Casasnovas" href="mailto:rego@igalia.com">
4
<link rel="author" title="Manuel Rego Casasnovas" href="mailto:rego@igalia.com">
5
<link rel="help" href="https://drafts.csswg.org/css-align-3/#baseline-rules">
5
<link rel="help" href="https://drafts.csswg.org/css-align-3/#baseline-rules">
6
<link rel="help" href="https://drafts.csswg.org/css-grid-1/#grid-baselines">
6
<link rel="help" href="https://drafts.csswg.org/css-grid-1/#grid-baselines">
7
<link rel="help" href="https://drafts.csswg.org/css-grid-1/#valdef-align-items-baseline">
7
<link rel="help" href="https://drafts.csswg.org/css-align-3/#align-items-property">
8
<meta name="flags" content="ahem">
8
<meta name="flags" content="ahem">
9
<meta name="assert" content="This test check the synthesized of a grid container if it has no items (it should use the grid container margin box) or if the items have no baseline (in that case it should use the grid item's border box).">
9
<meta name="assert" content="This test check the synthesized of a grid container if it has no items (it should use the grid container margin box) or if the items have no baseline (in that case it should use the grid item's border box).">
10
<style>
10
<style>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-align/baseline-rules/synthesized-baseline-table-cell-001-expected.html +32 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-align/baseline-rules/synthesized-baseline-table-cell-001-expected.html_sec1
1
<!DOCTYPE html>
2
<html>
3
<head>
4
<meta charset="utf-8">
5
<title>CSS Box Alignment Reference: Synthesized baseline table cell</title>
6
<link rel="author" title="Mats Palmgren" href="mailto:mats@mozilla.com">
7
<style>
8
* { vertical-align: baseline; }
9
table { display: inline-table; border: 3px solid; }
10
td { width:10px; background-color:pink; background-clip:content-box; }
11
.p { padding: 0 10px 0 0; height:150px; }
12
.size { height:80px; }
13
.w { background: white; }
14
x { display: block; overflow: hidden; height:50px; background: white; }
15
.xp { height:80px; background-color:pink; }
16
.m50 { margin-top: 50px; }
17
.top { vertical-align:top; }
18
</style>
19
</head>
20
<body>
21
  X
22
  <table border=5><tr><td class="p w"><x></x></td></tr></table>
23
  <table border=5><tr><td class="p w top"></td><td>X</td></tr></table>
24
  <table border=2><tr><td><x style="height:0"></x></td></tr></table>
25
  <table border=5><tr><td class="p w" style="height:230px"><x class="xp m50"></x></td></tr></table>
26
  <table border=5><tr><td class="p w top" style="height:230px"><x class="xp m50"></x></td><td>X</td></tr></table>
27
  <table border=2><tr><td><x class="xp"></x></td></tr></table>
28
  <table border=2><tr><td class="top"><x class="xp" style="height:20px"></x></td><td><x class="xp" style="height:20px"></td></tr></table>
29
  <table border=2><tr><td class="top"><x class="xp" style="height:20px"</td><td rowspan=2></td></tr><tr><td class="top"><x class="xp" style="height:20px"</td></tr></table>
30
  <table border=2><tr><td>X</td><td rowspan=2 class="top"></td></tr><tr><td style="height:20px" class="top"></td></tr></table>
31
</body>
32
</html>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-align/baseline-rules/synthesized-baseline-table-cell-001.html +30 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-align/baseline-rules/synthesized-baseline-table-cell-001.html_sec1
1
<!DOCTYPE html>
2
<html>
3
<head>
4
<meta charset="utf-8">
5
<title>CSS Box Alignment Test: Synthesized baseline table cell</title>
6
<link rel="author" title="Mats Palmgren" href="mailto:mats@mozilla.com">
7
<link rel="help" href="https://drafts.csswg.org/css-align-3/#synthesize-baseline">
8
<link rel="help" href="https://drafts.csswg.org/css-align-3/#baseline-export">
9
<link rel="match" href="synthesized-baseline-table-cell-001-ref.html">
10
<style>
11
* { vertical-align: baseline; }
12
table { display: inline-table; border: 3px solid; }
13
td { width:10px; background-color:pink; background-clip:content-box; }
14
.p { padding: 50px 10px 100px 0; }
15
.size { height:80px; }
16
</style>
17
</head>
18
<body>
19
  X
20
  <table border=5><tr><td class="p"></td></tr></table>
21
  <table border=5><tr><td class="p"></td><td>X</td></tr></table>
22
  <table border=2><tr><td          ></td></tr></table>
23
  <table border=5><tr><td class="p size"></td></tr></table>
24
  <table border=5><tr><td class="p size"></td><td>X</td></tr></table>
25
  <table border=2><tr><td class="size"  ></td></tr></table>
26
  <table border=2><tr><td style="height:10px"></td><td style="height:20px"></td></tr></table>
27
  <table border=2><tr><td style="height:20px"></td><td rowspan=2></td></tr><tr><td style="height:20px"></td></tr></table>
28
  <table border=2><tr><td>X</td><td rowspan=2></td></tr><tr><td style="height:20px"></td></tr></table>
29
</body>
30
</html>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-align/baseline-rules/w3c-import.log +6 lines
Lines 14-19 Property values requiring vendor prefixes: a/LayoutTests/imported/w3c/web-platform-tests/css/css-align/baseline-rules/w3c-import.log_sec1
14
None
14
None
15
------------------------------------------------------------------------
15
------------------------------------------------------------------------
16
List of files:
16
List of files:
17
/LayoutTests/imported/w3c/web-platform-tests/css/css-align/baseline-rules/grid-item-input-type-number-expected.html
18
/LayoutTests/imported/w3c/web-platform-tests/css/css-align/baseline-rules/grid-item-input-type-number.html
19
/LayoutTests/imported/w3c/web-platform-tests/css/css-align/baseline-rules/grid-item-input-type-text-expected.html
20
/LayoutTests/imported/w3c/web-platform-tests/css/css-align/baseline-rules/grid-item-input-type-text.html
17
/LayoutTests/imported/w3c/web-platform-tests/css/css-align/baseline-rules/synthesized-baseline-flexbox-001.html
21
/LayoutTests/imported/w3c/web-platform-tests/css/css-align/baseline-rules/synthesized-baseline-flexbox-001.html
18
/LayoutTests/imported/w3c/web-platform-tests/css/css-align/baseline-rules/synthesized-baseline-grid-001.html
22
/LayoutTests/imported/w3c/web-platform-tests/css/css-align/baseline-rules/synthesized-baseline-grid-001.html
19
/LayoutTests/imported/w3c/web-platform-tests/css/css-align/baseline-rules/synthesized-baseline-inline-block-001.html
23
/LayoutTests/imported/w3c/web-platform-tests/css/css-align/baseline-rules/synthesized-baseline-inline-block-001.html
24
/LayoutTests/imported/w3c/web-platform-tests/css/css-align/baseline-rules/synthesized-baseline-table-cell-001-expected.html
25
/LayoutTests/imported/w3c/web-platform-tests/css/css-align/baseline-rules/synthesized-baseline-table-cell-001.html
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-align/content-distribution/place-content-shorthand-006-expected.txt -10 / +10 lines
Lines 1-5 a/LayoutTests/imported/w3c/web-platform-tests/css/css-align/content-distribution/place-content-shorthand-006-expected.txt_sec1
1
1
2
PASS Checking place-content: normal normal 
2
FAIL Checking place-content: normal normal assert_in_array: place-content resolved value value "normal normal" not in array ["", "normal"]
3
PASS Checking place-content: normal left 
3
PASS Checking place-content: normal left 
4
PASS Checking place-content: normal right 
4
PASS Checking place-content: normal right 
5
PASS Checking place-content: normal start 
5
PASS Checking place-content: normal start 
Lines 14-20 PASS Checking place-content: normal space-evenly a/LayoutTests/imported/w3c/web-platform-tests/css/css-align/content-distribution/place-content-shorthand-006-expected.txt_sec2
14
PASS Checking place-content: start normal 
14
PASS Checking place-content: start normal 
15
PASS Checking place-content: start left 
15
PASS Checking place-content: start left 
16
PASS Checking place-content: start right 
16
PASS Checking place-content: start right 
17
PASS Checking place-content: start start 
17
FAIL Checking place-content: start start assert_in_array: place-content resolved value value "start start" not in array ["", "start"]
18
PASS Checking place-content: start end 
18
PASS Checking place-content: start end 
19
PASS Checking place-content: start center 
19
PASS Checking place-content: start center 
20
PASS Checking place-content: start flex-start 
20
PASS Checking place-content: start flex-start 
Lines 27-33 PASS Checking place-content: end normal a/LayoutTests/imported/w3c/web-platform-tests/css/css-align/content-distribution/place-content-shorthand-006-expected.txt_sec3
27
PASS Checking place-content: end left 
27
PASS Checking place-content: end left 
28
PASS Checking place-content: end right 
28
PASS Checking place-content: end right 
29
PASS Checking place-content: end start 
29
PASS Checking place-content: end start 
30
PASS Checking place-content: end end 
30
FAIL Checking place-content: end end assert_in_array: place-content resolved value value "end end" not in array ["", "end"]
31
PASS Checking place-content: end center 
31
PASS Checking place-content: end center 
32
PASS Checking place-content: end flex-start 
32
PASS Checking place-content: end flex-start 
33
PASS Checking place-content: end flex-end 
33
PASS Checking place-content: end flex-end 
Lines 40-46 PASS Checking place-content: center left a/LayoutTests/imported/w3c/web-platform-tests/css/css-align/content-distribution/place-content-shorthand-006-expected.txt_sec4
40
PASS Checking place-content: center right 
40
PASS Checking place-content: center right 
41
PASS Checking place-content: center start 
41
PASS Checking place-content: center start 
42
PASS Checking place-content: center end 
42
PASS Checking place-content: center end 
43
PASS Checking place-content: center center 
43
FAIL Checking place-content: center center assert_in_array: place-content resolved value value "center center" not in array ["", "center"]
44
PASS Checking place-content: center flex-start 
44
PASS Checking place-content: center flex-start 
45
PASS Checking place-content: center flex-end 
45
PASS Checking place-content: center flex-end 
46
PASS Checking place-content: center stretch 
46
PASS Checking place-content: center stretch 
Lines 53-59 PASS Checking place-content: flex-start right a/LayoutTests/imported/w3c/web-platform-tests/css/css-align/content-distribution/place-content-shorthand-006-expected.txt_sec5
53
PASS Checking place-content: flex-start start 
53
PASS Checking place-content: flex-start start 
54
PASS Checking place-content: flex-start end 
54
PASS Checking place-content: flex-start end 
55
PASS Checking place-content: flex-start center 
55
PASS Checking place-content: flex-start center 
56
PASS Checking place-content: flex-start flex-start 
56
FAIL Checking place-content: flex-start flex-start assert_in_array: place-content resolved value value "flex-start flex-start" not in array ["", "flex-start"]
57
PASS Checking place-content: flex-start flex-end 
57
PASS Checking place-content: flex-start flex-end 
58
PASS Checking place-content: flex-start stretch 
58
PASS Checking place-content: flex-start stretch 
59
PASS Checking place-content: flex-start space-around 
59
PASS Checking place-content: flex-start space-around 
Lines 66-72 PASS Checking place-content: flex-end start a/LayoutTests/imported/w3c/web-platform-tests/css/css-align/content-distribution/place-content-shorthand-006-expected.txt_sec6
66
PASS Checking place-content: flex-end end 
66
PASS Checking place-content: flex-end end 
67
PASS Checking place-content: flex-end center 
67
PASS Checking place-content: flex-end center 
68
PASS Checking place-content: flex-end flex-start 
68
PASS Checking place-content: flex-end flex-start 
69
PASS Checking place-content: flex-end flex-end 
69
FAIL Checking place-content: flex-end flex-end assert_in_array: place-content resolved value value "flex-end flex-end" not in array ["", "flex-end"]
70
PASS Checking place-content: flex-end stretch 
70
PASS Checking place-content: flex-end stretch 
71
PASS Checking place-content: flex-end space-around 
71
PASS Checking place-content: flex-end space-around 
72
PASS Checking place-content: flex-end space-between 
72
PASS Checking place-content: flex-end space-between 
Lines 79-85 PASS Checking place-content: stretch end a/LayoutTests/imported/w3c/web-platform-tests/css/css-align/content-distribution/place-content-shorthand-006-expected.txt_sec7
79
PASS Checking place-content: stretch center 
79
PASS Checking place-content: stretch center 
80
PASS Checking place-content: stretch flex-start 
80
PASS Checking place-content: stretch flex-start 
81
PASS Checking place-content: stretch flex-end 
81
PASS Checking place-content: stretch flex-end 
82
PASS Checking place-content: stretch stretch 
82
FAIL Checking place-content: stretch stretch assert_in_array: place-content resolved value value "stretch stretch" not in array ["", "stretch"]
83
PASS Checking place-content: stretch space-around 
83
PASS Checking place-content: stretch space-around 
84
PASS Checking place-content: stretch space-between 
84
PASS Checking place-content: stretch space-between 
85
PASS Checking place-content: stretch space-evenly 
85
PASS Checking place-content: stretch space-evenly 
Lines 92-98 PASS Checking place-content: space-around center a/LayoutTests/imported/w3c/web-platform-tests/css/css-align/content-distribution/place-content-shorthand-006-expected.txt_sec8
92
PASS Checking place-content: space-around flex-start 
92
PASS Checking place-content: space-around flex-start 
93
PASS Checking place-content: space-around flex-end 
93
PASS Checking place-content: space-around flex-end 
94
PASS Checking place-content: space-around stretch 
94
PASS Checking place-content: space-around stretch 
95
PASS Checking place-content: space-around space-around 
95
FAIL Checking place-content: space-around space-around assert_in_array: place-content resolved value value "space-around space-around" not in array ["", "space-around"]
96
PASS Checking place-content: space-around space-between 
96
PASS Checking place-content: space-around space-between 
97
PASS Checking place-content: space-around space-evenly 
97
PASS Checking place-content: space-around space-evenly 
98
PASS Checking place-content: space-between normal 
98
PASS Checking place-content: space-between normal 
Lines 105-111 PASS Checking place-content: space-between flex-start a/LayoutTests/imported/w3c/web-platform-tests/css/css-align/content-distribution/place-content-shorthand-006-expected.txt_sec9
105
PASS Checking place-content: space-between flex-end 
105
PASS Checking place-content: space-between flex-end 
106
PASS Checking place-content: space-between stretch 
106
PASS Checking place-content: space-between stretch 
107
PASS Checking place-content: space-between space-around 
107
PASS Checking place-content: space-between space-around 
108
PASS Checking place-content: space-between space-between 
108
FAIL Checking place-content: space-between space-between assert_in_array: place-content resolved value value "space-between space-between" not in array ["", "space-between"]
109
PASS Checking place-content: space-between space-evenly 
109
PASS Checking place-content: space-between space-evenly 
110
PASS Checking place-content: space-evenly normal 
110
PASS Checking place-content: space-evenly normal 
111
PASS Checking place-content: space-evenly left 
111
PASS Checking place-content: space-evenly left 
Lines 118-124 PASS Checking place-content: space-evenly flex-end a/LayoutTests/imported/w3c/web-platform-tests/css/css-align/content-distribution/place-content-shorthand-006-expected.txt_sec10
118
PASS Checking place-content: space-evenly stretch 
118
PASS Checking place-content: space-evenly stretch 
119
PASS Checking place-content: space-evenly space-around 
119
PASS Checking place-content: space-evenly space-around 
120
PASS Checking place-content: space-evenly space-between 
120
PASS Checking place-content: space-evenly space-between 
121
PASS Checking place-content: space-evenly space-evenly 
121
FAIL Checking place-content: space-evenly space-evenly assert_in_array: place-content resolved value value "space-evenly space-evenly" not in array ["", "space-evenly"]
122
PASS Checking place-content: baseline normal 
122
PASS Checking place-content: baseline normal 
123
PASS Checking place-content: baseline left 
123
PASS Checking place-content: baseline left 
124
PASS Checking place-content: baseline right 
124
PASS Checking place-content: baseline right 
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-align/content-distribution/place-content-shorthand-007-ref.html -22 lines
Lines 1-22 a/LayoutTests/imported/w3c/web-platform-tests/css/css-align/content-distribution/place-content-shorthand-007-ref.html_sec1
1
<!DOCTYPE html>
2
<meta charset="utf-8">
3
<title>CSS Test Reference</title>
4
<link rel="author" title="Emilio Cobos Álvarez" href="mailto:emilio@crisal.io">
5
<style>
6
div {
7
  width: 400px;
8
  height: 400px;
9
  background: blue;
10
  position: relative;
11
}
12
span {
13
  background: green;
14
  width: 200px;
15
  height: 200px;
16
  position: absolute;
17
  bottom: 0;
18
  left: 100px;
19
}
20
</style>
21
Should see a green square centered and at the bottom of the blue square.
22
<div><span></span></div>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-align/content-distribution/w3c-import.log -1 / +1 lines
Lines 1-7 a/LayoutTests/imported/w3c/web-platform-tests/css/css-align/content-distribution/w3c-import.log_sec1
1
The tests in this directory were imported from the W3C repository.
1
The tests in this directory were imported from the W3C repository.
2
Do NOT modify these tests directly in WebKit.
2
Do NOT modify these tests directly in WebKit.
3
Instead, create a pull request on the WPT github:
3
Instead, create a pull request on the WPT github:
4
	https://github.com/w3c/web-platform-tests
4
	https://github.com/web-platform-tests/wpt
5
5
6
Then run the Tools/Scripts/import-w3c-tests in WebKit to reimport
6
Then run the Tools/Scripts/import-w3c-tests in WebKit to reimport
7
7
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-align/default-alignment/place-items-shorthand-006-expected.txt -14 / +14 lines
Lines 1-7 a/LayoutTests/imported/w3c/web-platform-tests/css/css-align/default-alignment/place-items-shorthand-006-expected.txt_sec1
1
1
2
PASS Checking place-items: normal left 
2
PASS Checking place-items: normal left 
3
PASS Checking place-items: normal right 
3
PASS Checking place-items: normal right 
4
PASS Checking place-items: normal normal 
4
FAIL Checking place-items: normal normal assert_in_array: place-items resolved value value "normal normal" not in array ["", "normal"]
5
PASS Checking place-items: normal stretch 
5
PASS Checking place-items: normal stretch 
6
PASS Checking place-items: normal start 
6
PASS Checking place-items: normal start 
7
PASS Checking place-items: normal end 
7
PASS Checking place-items: normal end 
Lines 16-22 PASS Checking place-items: normal last baseline a/LayoutTests/imported/w3c/web-platform-tests/css/css-align/default-alignment/place-items-shorthand-006-expected.txt_sec2
16
PASS Checking place-items: stretch left 
16
PASS Checking place-items: stretch left 
17
PASS Checking place-items: stretch right 
17
PASS Checking place-items: stretch right 
18
PASS Checking place-items: stretch normal 
18
PASS Checking place-items: stretch normal 
19
PASS Checking place-items: stretch stretch 
19
FAIL Checking place-items: stretch stretch assert_in_array: place-items resolved value value "stretch stretch" not in array ["", "stretch"]
20
PASS Checking place-items: stretch start 
20
PASS Checking place-items: stretch start 
21
PASS Checking place-items: stretch end 
21
PASS Checking place-items: stretch end 
22
PASS Checking place-items: stretch self-start 
22
PASS Checking place-items: stretch self-start 
Lines 31-37 PASS Checking place-items: start left a/LayoutTests/imported/w3c/web-platform-tests/css/css-align/default-alignment/place-items-shorthand-006-expected.txt_sec3
31
PASS Checking place-items: start right 
31
PASS Checking place-items: start right 
32
PASS Checking place-items: start normal 
32
PASS Checking place-items: start normal 
33
PASS Checking place-items: start stretch 
33
PASS Checking place-items: start stretch 
34
PASS Checking place-items: start start 
34
FAIL Checking place-items: start start assert_in_array: place-items resolved value value "start start" not in array ["", "start"]
35
PASS Checking place-items: start end 
35
PASS Checking place-items: start end 
36
PASS Checking place-items: start self-start 
36
PASS Checking place-items: start self-start 
37
PASS Checking place-items: start self-end 
37
PASS Checking place-items: start self-end 
Lines 46-52 PASS Checking place-items: end right a/LayoutTests/imported/w3c/web-platform-tests/css/css-align/default-alignment/place-items-shorthand-006-expected.txt_sec4
46
PASS Checking place-items: end normal 
46
PASS Checking place-items: end normal 
47
PASS Checking place-items: end stretch 
47
PASS Checking place-items: end stretch 
48
PASS Checking place-items: end start 
48
PASS Checking place-items: end start 
49
PASS Checking place-items: end end 
49
FAIL Checking place-items: end end assert_in_array: place-items resolved value value "end end" not in array ["", "end"]
50
PASS Checking place-items: end self-start 
50
PASS Checking place-items: end self-start 
51
PASS Checking place-items: end self-end 
51
PASS Checking place-items: end self-end 
52
PASS Checking place-items: end center 
52
PASS Checking place-items: end center 
Lines 61-67 PASS Checking place-items: self-start normal a/LayoutTests/imported/w3c/web-platform-tests/css/css-align/default-alignment/place-items-shorthand-006-expected.txt_sec5
61
PASS Checking place-items: self-start stretch 
61
PASS Checking place-items: self-start stretch 
62
PASS Checking place-items: self-start start 
62
PASS Checking place-items: self-start start 
63
PASS Checking place-items: self-start end 
63
PASS Checking place-items: self-start end 
64
PASS Checking place-items: self-start self-start 
64
FAIL Checking place-items: self-start self-start assert_in_array: place-items resolved value value "self-start self-start" not in array ["", "self-start"]
65
PASS Checking place-items: self-start self-end 
65
PASS Checking place-items: self-start self-end 
66
PASS Checking place-items: self-start center 
66
PASS Checking place-items: self-start center 
67
PASS Checking place-items: self-start flex-start 
67
PASS Checking place-items: self-start flex-start 
Lines 76-82 PASS Checking place-items: self-end stretch a/LayoutTests/imported/w3c/web-platform-tests/css/css-align/default-alignment/place-items-shorthand-006-expected.txt_sec6
76
PASS Checking place-items: self-end start 
76
PASS Checking place-items: self-end start 
77
PASS Checking place-items: self-end end 
77
PASS Checking place-items: self-end end 
78
PASS Checking place-items: self-end self-start 
78
PASS Checking place-items: self-end self-start 
79
PASS Checking place-items: self-end self-end 
79
FAIL Checking place-items: self-end self-end assert_in_array: place-items resolved value value "self-end self-end" not in array ["", "self-end"]
80
PASS Checking place-items: self-end center 
80
PASS Checking place-items: self-end center 
81
PASS Checking place-items: self-end flex-start 
81
PASS Checking place-items: self-end flex-start 
82
PASS Checking place-items: self-end flex-end 
82
PASS Checking place-items: self-end flex-end 
Lines 91-97 PASS Checking place-items: center start a/LayoutTests/imported/w3c/web-platform-tests/css/css-align/default-alignment/place-items-shorthand-006-expected.txt_sec7
91
PASS Checking place-items: center end 
91
PASS Checking place-items: center end 
92
PASS Checking place-items: center self-start 
92
PASS Checking place-items: center self-start 
93
PASS Checking place-items: center self-end 
93
PASS Checking place-items: center self-end 
94
PASS Checking place-items: center center 
94
FAIL Checking place-items: center center assert_in_array: place-items resolved value value "center center" not in array ["", "center"]
95
PASS Checking place-items: center flex-start 
95
PASS Checking place-items: center flex-start 
96
PASS Checking place-items: center flex-end 
96
PASS Checking place-items: center flex-end 
97
PASS Checking place-items: center baseline 
97
PASS Checking place-items: center baseline 
Lines 106-112 PASS Checking place-items: flex-start end a/LayoutTests/imported/w3c/web-platform-tests/css/css-align/default-alignment/place-items-shorthand-006-expected.txt_sec8
106
PASS Checking place-items: flex-start self-start 
106
PASS Checking place-items: flex-start self-start 
107
PASS Checking place-items: flex-start self-end 
107
PASS Checking place-items: flex-start self-end 
108
PASS Checking place-items: flex-start center 
108
PASS Checking place-items: flex-start center 
109
PASS Checking place-items: flex-start flex-start 
109
FAIL Checking place-items: flex-start flex-start assert_in_array: place-items resolved value value "flex-start flex-start" not in array ["", "flex-start"]
110
PASS Checking place-items: flex-start flex-end 
110
PASS Checking place-items: flex-start flex-end 
111
PASS Checking place-items: flex-start baseline 
111
PASS Checking place-items: flex-start baseline 
112
PASS Checking place-items: flex-start first baseline 
112
PASS Checking place-items: flex-start first baseline 
Lines 121-127 PASS Checking place-items: flex-end self-start a/LayoutTests/imported/w3c/web-platform-tests/css/css-align/default-alignment/place-items-shorthand-006-expected.txt_sec9
121
PASS Checking place-items: flex-end self-end 
121
PASS Checking place-items: flex-end self-end 
122
PASS Checking place-items: flex-end center 
122
PASS Checking place-items: flex-end center 
123
PASS Checking place-items: flex-end flex-start 
123
PASS Checking place-items: flex-end flex-start 
124
PASS Checking place-items: flex-end flex-end 
124
FAIL Checking place-items: flex-end flex-end assert_in_array: place-items resolved value value "flex-end flex-end" not in array ["", "flex-end"]
125
PASS Checking place-items: flex-end baseline 
125
PASS Checking place-items: flex-end baseline 
126
PASS Checking place-items: flex-end first baseline 
126
PASS Checking place-items: flex-end first baseline 
127
PASS Checking place-items: flex-end last baseline 
127
PASS Checking place-items: flex-end last baseline 
Lines 136-143 PASS Checking place-items: baseline self-end a/LayoutTests/imported/w3c/web-platform-tests/css/css-align/default-alignment/place-items-shorthand-006-expected.txt_sec10
136
PASS Checking place-items: baseline center 
136
PASS Checking place-items: baseline center 
137
PASS Checking place-items: baseline flex-start 
137
PASS Checking place-items: baseline flex-start 
138
PASS Checking place-items: baseline flex-end 
138
PASS Checking place-items: baseline flex-end 
139
PASS Checking place-items: baseline baseline 
139
FAIL Checking place-items: baseline baseline assert_in_array: place-items resolved value value "baseline baseline" not in array ["", "baseline"]
140
PASS Checking place-items: baseline first baseline 
140
FAIL Checking place-items: baseline first baseline assert_in_array: place-items resolved value value "baseline baseline" not in array ["", "baseline"]
141
PASS Checking place-items: baseline last baseline 
141
PASS Checking place-items: baseline last baseline 
142
PASS Checking place-items: first baseline left 
142
PASS Checking place-items: first baseline left 
143
PASS Checking place-items: first baseline right 
143
PASS Checking place-items: first baseline right 
Lines 150-157 PASS Checking place-items: first baseline self-end a/LayoutTests/imported/w3c/web-platform-tests/css/css-align/default-alignment/place-items-shorthand-006-expected.txt_sec11
150
PASS Checking place-items: first baseline center 
150
PASS Checking place-items: first baseline center 
151
PASS Checking place-items: first baseline flex-start 
151
PASS Checking place-items: first baseline flex-start 
152
PASS Checking place-items: first baseline flex-end 
152
PASS Checking place-items: first baseline flex-end 
153
PASS Checking place-items: first baseline baseline 
153
FAIL Checking place-items: first baseline baseline assert_in_array: place-items resolved value value "baseline baseline" not in array ["", "baseline"]
154
PASS Checking place-items: first baseline first baseline 
154
FAIL Checking place-items: first baseline first baseline assert_in_array: place-items resolved value value "baseline baseline" not in array ["", "baseline"]
155
PASS Checking place-items: first baseline last baseline 
155
PASS Checking place-items: first baseline last baseline 
156
PASS Checking place-items: last baseline left 
156
PASS Checking place-items: last baseline left 
157
PASS Checking place-items: last baseline right 
157
PASS Checking place-items: last baseline right 
Lines 166-170 PASS Checking place-items: last baseline flex-start a/LayoutTests/imported/w3c/web-platform-tests/css/css-align/default-alignment/place-items-shorthand-006-expected.txt_sec12
166
PASS Checking place-items: last baseline flex-end 
166
PASS Checking place-items: last baseline flex-end 
167
PASS Checking place-items: last baseline baseline 
167
PASS Checking place-items: last baseline baseline 
168
PASS Checking place-items: last baseline first baseline 
168
PASS Checking place-items: last baseline first baseline 
169
PASS Checking place-items: last baseline last baseline 
169
FAIL Checking place-items: last baseline last baseline assert_in_array: place-items resolved value value "last baseline last baseline" not in array ["", "last baseline"]
170
170
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-align/default-alignment/shorthand-serialization-001-expected.txt -2 / +2 lines
Lines 2-14 a/LayoutTests/imported/w3c/web-platform-tests/css/css-align/default-alignment/shorthand-serialization-001-expected.txt_sec1
2
PASS test shorthand serialization {"alignContent":"center","shorthand":"center normal"} 
2
PASS test shorthand serialization {"alignContent":"center","shorthand":"center normal"} 
3
PASS test shorthand serialization {"alignContent":"baseline safe right","shorthand":""} 
3
PASS test shorthand serialization {"alignContent":"baseline safe right","shorthand":""} 
4
PASS test shorthand serialization {"justifyContent":"safe start","shorthand":"normal safe start"} 
4
PASS test shorthand serialization {"justifyContent":"safe start","shorthand":"normal safe start"} 
5
PASS test shorthand serialization {"justifyContent":"unsafe start","shorthand":["normal start","normal unsafe start"]} 
5
PASS test shorthand serialization {"justifyContent":"unsafe start","shorthand":["normal unsafe start"]} 
6
PASS test shorthand serialization {"justifyContent":"space-evenly start","shorthand":""} 
6
PASS test shorthand serialization {"justifyContent":"space-evenly start","shorthand":""} 
7
PASS test shorthand serialization {"alignContent":"start","justifyContent":"end","shorthand":"start end"} 
7
PASS test shorthand serialization {"alignContent":"start","justifyContent":"end","shorthand":"start end"} 
8
PASS test shorthand serialization {"alignItems":"center","shorthand":"center legacy"} 
8
PASS test shorthand serialization {"alignItems":"center","shorthand":"center legacy"} 
9
PASS test shorthand serialization {"alignItems":"baseline","shorthand":"baseline legacy"} 
9
PASS test shorthand serialization {"alignItems":"baseline","shorthand":"baseline legacy"} 
10
PASS test shorthand serialization {"justifyItems":"safe start","shorthand":"normal safe start"} 
10
PASS test shorthand serialization {"justifyItems":"safe start","shorthand":"normal safe start"} 
11
PASS test shorthand serialization {"justifyItems":"unsafe start","shorthand":["normal start","normal unsafe start"]} 
11
PASS test shorthand serialization {"justifyItems":"unsafe start","shorthand":["normal unsafe start"]} 
12
PASS test shorthand serialization {"justifyItems":"stretch","shorthand":"normal stretch"} 
12
PASS test shorthand serialization {"justifyItems":"stretch","shorthand":"normal stretch"} 
13
PASS test shorthand serialization {"justifyItems":"left legacy","shorthand":"normal legacy left"} 
13
PASS test shorthand serialization {"justifyItems":"left legacy","shorthand":"normal legacy left"} 
14
PASS test shorthand serialization {"alignItems":"stretch","justifyItems":"end","shorthand":"stretch end"} 
14
PASS test shorthand serialization {"alignItems":"stretch","justifyItems":"end","shorthand":"stretch end"} 
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-align/default-alignment/shorthand-serialization-001.html -2 / +2 lines
Lines 36-42 var place_content_test_cases = [ a/LayoutTests/imported/w3c/web-platform-tests/css/css-align/default-alignment/shorthand-serialization-001.html_sec1
36
    },
36
    },
37
    {
37
    {
38
        justifyContent: "unsafe start",
38
        justifyContent: "unsafe start",
39
        shorthand: ["normal start", "normal unsafe start"],
39
        shorthand: ["normal unsafe start"],
40
    },
40
    },
41
    {
41
    {
42
        justifyContent: "space-evenly start",
42
        justifyContent: "space-evenly start",
Lines 64-70 var place_items_test_cases = [ a/LayoutTests/imported/w3c/web-platform-tests/css/css-align/default-alignment/shorthand-serialization-001.html_sec2
64
    },
64
    },
65
    {
65
    {
66
        justifyItems: "unsafe start",
66
        justifyItems: "unsafe start",
67
        shorthand: ["normal start", "normal unsafe start"],
67
        shorthand: ["normal unsafe start"],
68
    },
68
    },
69
    {
69
    {
70
        justifyItems: "stretch",
70
        justifyItems: "stretch",
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-align/default-alignment/w3c-import.log -1 / +1 lines
Lines 1-7 a/LayoutTests/imported/w3c/web-platform-tests/css/css-align/default-alignment/w3c-import.log_sec1
1
The tests in this directory were imported from the W3C repository.
1
The tests in this directory were imported from the W3C repository.
2
Do NOT modify these tests directly in WebKit.
2
Do NOT modify these tests directly in WebKit.
3
Instead, create a pull request on the WPT github:
3
Instead, create a pull request on the WPT github:
4
	https://github.com/w3c/web-platform-tests
4
	https://github.com/web-platform-tests/wpt
5
5
6
Then run the Tools/Scripts/import-w3c-tests in WebKit to reimport
6
Then run the Tools/Scripts/import-w3c-tests in WebKit to reimport
7
7
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-align/distribution-values/space-evenly-001.html -12 / +12 lines
Lines 11-32 a/LayoutTests/imported/w3c/web-platform-tests/css/css-align/distribution-values/space-evenly-001.html_sec1
11
  <link rel=help href="https://drafts.csswg.org/css-flexbox-1/#justify-content-property">
11
  <link rel=help href="https://drafts.csswg.org/css-flexbox-1/#justify-content-property">
12
<style>
12
<style>
13
.red {
13
.red {
14
	position: absolute;
14
  position: absolute;
15
	z-index: -1;
15
  z-index: -1;
16
	width: 100px;
16
  width: 100px;
17
	height: 100px;
17
  height: 100px;
18
	background: red;
18
  background: red;
19
}
19
}
20
.container {
20
.container {
21
	margin-left: -100px;
21
  margin-left: -100px;
22
	width: 300px;
22
  width: 300px;
23
	display: flex;
23
  display: flex;
24
	justify-content: space-evenly;
24
  justify-content: space-evenly;
25
}
25
}
26
.container div {
26
.container div {
27
	width: 100px;
27
  width: 100px;
28
	height: 100px;
28
  height: 100px;
29
	background: green;
29
  background: green;
30
}
30
}
31
</style>
31
</style>
32
32
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-align/distribution-values/w3c-import.log -1 / +1 lines
Lines 1-7 a/LayoutTests/imported/w3c/web-platform-tests/css/css-align/distribution-values/w3c-import.log_sec1
1
The tests in this directory were imported from the W3C repository.
1
The tests in this directory were imported from the W3C repository.
2
Do NOT modify these tests directly in WebKit.
2
Do NOT modify these tests directly in WebKit.
3
Instead, create a pull request on the WPT github:
3
Instead, create a pull request on the WPT github:
4
	https://github.com/w3c/web-platform-tests
4
	https://github.com/web-platform-tests/wpt
5
5
6
Then run the Tools/Scripts/import-w3c-tests in WebKit to reimport
6
Then run the Tools/Scripts/import-w3c-tests in WebKit to reimport
7
7
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-align/gaps/column-gap-parsing-001-expected.txt -1 / +1 lines
Lines 5-11 PASS column-gap accepts em a/LayoutTests/imported/w3c/web-platform-tests/css/css-align/gaps/column-gap-parsing-001-expected.txt_sec1
5
PASS column-gap accepts vw 
5
PASS column-gap accepts vw 
6
PASS column-gap accepts percentage 
6
PASS column-gap accepts percentage 
7
PASS column-gap accepts calc() 
7
PASS column-gap accepts calc() 
8
FAIL column-gap accepts calc() mixing fixed and percentage values assert_equals: expected "calc(5px + 10%)" but got "calc(10% + 5px)"
8
PASS column-gap accepts calc() mixing fixed and percentage values 
9
PASS Initial column-gap is 'normal' 
9
PASS Initial column-gap is 'normal' 
10
PASS Initial column-gap is 'normal' 2 
10
PASS Initial column-gap is 'normal' 2 
11
PASS Initial inherited column-gap is 'normal' 
11
PASS Initial inherited column-gap is 'normal' 
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-align/gaps/column-gap-parsing-001.html -1 / +1 lines
Lines 86-92 a/LayoutTests/imported/w3c/web-platform-tests/css/css-align/gaps/column-gap-parsing-001.html_sec1
86
    test(
86
    test(
87
      function(){
87
      function(){
88
        var target = document.getElementById("columnGapCalcFixedPercent");
88
        var target = document.getElementById("columnGapCalcFixedPercent");
89
        assert_equals(getComputedStyle(target).columnGap, "calc(5px + 10%)");
89
        assert_equals(getComputedStyle(target).columnGap, "calc(10% + 5px)");
90
      }, "column-gap accepts calc() mixing fixed and percentage values");
90
      }, "column-gap accepts calc() mixing fixed and percentage values");
91
    test(
91
    test(
92
      function(){
92
      function(){
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-align/gaps/gap-animation-001-expected.txt -1 / +1 lines
Lines 1-3 a/LayoutTests/imported/w3c/web-platform-tests/css/css-align/gaps/gap-animation-001-expected.txt_sec1
1
1
2
PASS gap is interpolable 
2
FAIL gap is interpolable assert_equals: expected "50px" but got "50px 50px"
3
3
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-align/gaps/gap-animation-001.html -1 / +1 lines
Lines 29-35 a/LayoutTests/imported/w3c/web-platform-tests/css/css-align/gaps/gap-animation-001.html_sec1
29
    test(
29
    test(
30
      function(){
30
      function(){
31
        var target = document.getElementById("target");
31
        var target = document.getElementById("target");
32
        assert_equals(getComputedStyle(target).gap, "50px 50px");
32
        assert_equals(getComputedStyle(target).gap, "50px");
33
        assert_equals(getComputedStyle(target).rowGap, "50px");
33
        assert_equals(getComputedStyle(target).rowGap, "50px");
34
        assert_equals(getComputedStyle(target).columnGap, "50px");
34
        assert_equals(getComputedStyle(target).columnGap, "50px");
35
      }, "gap is interpolable");
35
      }, "gap is interpolable");
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-align/gaps/gap-animation-002-expected.txt -1 / +1 lines
Lines 1-3 a/LayoutTests/imported/w3c/web-platform-tests/css/css-align/gaps/gap-animation-002-expected.txt_sec1
1
1
2
PASS gap: normal is not interpolable 
2
FAIL gap: normal is not interpolable assert_equals: expected "100px" but got "100px 100px"
3
3
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-align/gaps/gap-animation-002.html -1 / +1 lines
Lines 28-34 a/LayoutTests/imported/w3c/web-platform-tests/css/css-align/gaps/gap-animation-002.html_sec1
28
    test(
28
    test(
29
      function(){
29
      function(){
30
        var target = document.getElementById("target");
30
        var target = document.getElementById("target");
31
        assert_equals(getComputedStyle(target).gap, "100px 100px");
31
        assert_equals(getComputedStyle(target).gap, "100px");
32
        assert_equals(getComputedStyle(target).rowGap, "100px");
32
        assert_equals(getComputedStyle(target).rowGap, "100px");
33
        assert_equals(getComputedStyle(target).columnGap, "100px");
33
        assert_equals(getComputedStyle(target).columnGap, "100px");
34
      }, "gap: normal is not interpolable");
34
      }, "gap: normal is not interpolable");
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-align/gaps/gap-animation-003-expected.txt -1 / +1 lines
Lines 1-3 a/LayoutTests/imported/w3c/web-platform-tests/css/css-align/gaps/gap-animation-003-expected.txt_sec1
1
1
2
PASS Default gap is not interpolable 
2
FAIL Default gap is not interpolable assert_equals: expected "100px" but got "100px 100px"
3
3
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-align/gaps/gap-animation-003.html -1 / +1 lines
Lines 27-33 a/LayoutTests/imported/w3c/web-platform-tests/css/css-align/gaps/gap-animation-003.html_sec1
27
    test(
27
    test(
28
      function(){
28
      function(){
29
        var target = document.getElementById("target");
29
        var target = document.getElementById("target");
30
        assert_equals(getComputedStyle(target).gap, "100px 100px");
30
        assert_equals(getComputedStyle(target).gap, "100px");
31
        assert_equals(getComputedStyle(target).rowGap, "100px");
31
        assert_equals(getComputedStyle(target).rowGap, "100px");
32
        assert_equals(getComputedStyle(target).columnGap, "100px");
32
        assert_equals(getComputedStyle(target).columnGap, "100px");
33
      }, "Default gap is not interpolable");
33
      }, "Default gap is not interpolable");
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-align/gaps/gap-parsing-001-expected.txt -1 / +1 lines
Lines 10-16 PASS gap accepts vw and vh a/LayoutTests/imported/w3c/web-platform-tests/css/css-align/gaps/gap-parsing-001-expected.txt_sec1
10
PASS gap accepts percentage 
10
PASS gap accepts percentage 
11
PASS gap accepts percentage 2 
11
PASS gap accepts percentage 2 
12
PASS gap accepts calc() 
12
PASS gap accepts calc() 
13
FAIL gap accepts calc() mixing fixed and percentage values assert_equals: expected "calc(5px + 10%)" but got "calc(10% + 5px)"
13
PASS gap accepts calc() mixing fixed and percentage values 
14
PASS gap accepts calc() 2 
14
PASS gap accepts calc() 2 
15
PASS Initial gap is 'normal' 
15
PASS Initial gap is 'normal' 
16
PASS Initial gap is 'normal' 2 
16
PASS Initial gap is 'normal' 2 
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-align/gaps/gap-parsing-001.html -2 / +2 lines
Lines 140-147 a/LayoutTests/imported/w3c/web-platform-tests/css/css-align/gaps/gap-parsing-001.html_sec1
140
    test(
140
    test(
141
      function(){
141
      function(){
142
        var target = document.getElementById("gapCalcFixedPercent");
142
        var target = document.getElementById("gapCalcFixedPercent");
143
        assert_equals(getComputedStyle(target).rowGap, "calc(5px + 10%)");
143
        assert_equals(getComputedStyle(target).rowGap, "calc(10% + 5px)");
144
        assert_equals(getComputedStyle(target).columnGap, "calc(5px + 10%)");
144
        assert_equals(getComputedStyle(target).columnGap, "calc(10% + 5px)");
145
      }, "gap accepts calc() mixing fixed and percentage values");
145
      }, "gap accepts calc() mixing fixed and percentage values");
146
    test(
146
    test(
147
      function(){
147
      function(){
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-align/gaps/grid-column-gap-parsing-001-expected.txt -1 / +1 lines
Lines 5-11 PASS grid-column-gap accepts em a/LayoutTests/imported/w3c/web-platform-tests/css/css-align/gaps/grid-column-gap-parsing-001-expected.txt_sec1
5
PASS grid-column-gap accepts vw 
5
PASS grid-column-gap accepts vw 
6
PASS grid-column-gap accepts percentage 
6
PASS grid-column-gap accepts percentage 
7
PASS grid-column-gap accepts calc() 
7
PASS grid-column-gap accepts calc() 
8
FAIL grid-column-gap accepts calc() mixing fixed and percentage values assert_equals: expected "calc(5px + 10%)" but got "calc(10% + 5px)"
8
PASS grid-column-gap accepts calc() mixing fixed and percentage values 
9
PASS Initial grid-column-gap is 'normal' 
9
PASS Initial grid-column-gap is 'normal' 
10
PASS Initial grid-column-gap is 'normal' 2 
10
PASS Initial grid-column-gap is 'normal' 2 
11
PASS Initial inherited grid-column-gap is 'normal' 
11
PASS Initial inherited grid-column-gap is 'normal' 
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-align/gaps/grid-column-gap-parsing-001.html -1 / +1 lines
Lines 86-92 a/LayoutTests/imported/w3c/web-platform-tests/css/css-align/gaps/grid-column-gap-parsing-001.html_sec1
86
    test(
86
    test(
87
      function(){
87
      function(){
88
        var target = document.getElementById("columnGapCalcFixedPercent");
88
        var target = document.getElementById("columnGapCalcFixedPercent");
89
        assert_equals(getComputedStyle(target).columnGap, "calc(5px + 10%)");
89
        assert_equals(getComputedStyle(target).columnGap, "calc(10% + 5px)");
90
      }, "grid-column-gap accepts calc() mixing fixed and percentage values");
90
      }, "grid-column-gap accepts calc() mixing fixed and percentage values");
91
    test(
91
    test(
92
      function(){
92
      function(){
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-align/gaps/grid-gap-parsing-001-expected.txt -1 / +1 lines
Lines 10-16 PASS grid-gap accepts vw and vh a/LayoutTests/imported/w3c/web-platform-tests/css/css-align/gaps/grid-gap-parsing-001-expected.txt_sec1
10
PASS grid-gap accepts percentage 
10
PASS grid-gap accepts percentage 
11
PASS grid-gap accepts percentage 2 
11
PASS grid-gap accepts percentage 2 
12
PASS grid-gap accepts calc() 
12
PASS grid-gap accepts calc() 
13
FAIL grid-gap accepts calc() mixing fixed and percentage values assert_equals: expected "calc(5px + 10%)" but got "calc(10% + 5px)"
13
PASS grid-gap accepts calc() mixing fixed and percentage values 
14
PASS grid-gap accepts calc() 2 
14
PASS grid-gap accepts calc() 2 
15
PASS Initial grid-gap is 'normal' 
15
PASS Initial grid-gap is 'normal' 
16
PASS Initial grid-gap is 'normal' 2 
16
PASS Initial grid-gap is 'normal' 2 
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-align/gaps/grid-gap-parsing-001.html -2 / +2 lines
Lines 140-147 a/LayoutTests/imported/w3c/web-platform-tests/css/css-align/gaps/grid-gap-parsing-001.html_sec1
140
    test(
140
    test(
141
      function(){
141
      function(){
142
        var target = document.getElementById("gapCalcFixedPercent");
142
        var target = document.getElementById("gapCalcFixedPercent");
143
        assert_equals(getComputedStyle(target).rowGap, "calc(5px + 10%)");
143
        assert_equals(getComputedStyle(target).rowGap, "calc(10% + 5px)");
144
        assert_equals(getComputedStyle(target).columnGap, "calc(5px + 10%)");
144
        assert_equals(getComputedStyle(target).columnGap, "calc(10% + 5px)");
145
      }, "grid-gap accepts calc() mixing fixed and percentage values");
145
      }, "grid-gap accepts calc() mixing fixed and percentage values");
146
    test(
146
    test(
147
      function(){
147
      function(){
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-align/gaps/grid-row-gap-parsing-001-expected.txt -1 / +1 lines
Lines 5-11 PASS grid-row-gap accepts em a/LayoutTests/imported/w3c/web-platform-tests/css/css-align/gaps/grid-row-gap-parsing-001-expected.txt_sec1
5
PASS grid-row-gap accepts vw 
5
PASS grid-row-gap accepts vw 
6
PASS grid-row-gap accepts percentage 
6
PASS grid-row-gap accepts percentage 
7
PASS grid-row-gap accepts calc() 
7
PASS grid-row-gap accepts calc() 
8
FAIL grid-row-gap accepts calc() mixing fixed and percentage values assert_equals: expected "calc(5px + 10%)" but got "calc(10% + 5px)"
8
PASS grid-row-gap accepts calc() mixing fixed and percentage values 
9
PASS Initial grid-row-gap is 'normal' 
9
PASS Initial grid-row-gap is 'normal' 
10
PASS Initial grid-row-gap is 'normal' 2 
10
PASS Initial grid-row-gap is 'normal' 2 
11
PASS Initial inherited grid-row-gap is 'normal' 
11
PASS Initial inherited grid-row-gap is 'normal' 
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-align/gaps/grid-row-gap-parsing-001.html -1 / +1 lines
Lines 86-92 a/LayoutTests/imported/w3c/web-platform-tests/css/css-align/gaps/grid-row-gap-parsing-001.html_sec1
86
    test(
86
    test(
87
      function(){
87
      function(){
88
        var target = document.getElementById("rowGapCalcFixedPercent");
88
        var target = document.getElementById("rowGapCalcFixedPercent");
89
        assert_equals(getComputedStyle(target).rowGap, "calc(5px + 10%)");
89
        assert_equals(getComputedStyle(target).rowGap, "calc(10% + 5px)");
90
      }, "grid-row-gap accepts calc() mixing fixed and percentage values");
90
      }, "grid-row-gap accepts calc() mixing fixed and percentage values");
91
    test(
91
    test(
92
      function(){
92
      function(){
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-align/gaps/row-gap-parsing-001-expected.txt -1 / +1 lines
Lines 5-11 PASS row-gap accepts em a/LayoutTests/imported/w3c/web-platform-tests/css/css-align/gaps/row-gap-parsing-001-expected.txt_sec1
5
PASS row-gap accepts vw 
5
PASS row-gap accepts vw 
6
PASS row-gap accepts percentage 
6
PASS row-gap accepts percentage 
7
PASS row-gap accepts calc() 
7
PASS row-gap accepts calc() 
8
FAIL row-gap accepts calc() mixing fixed and percentage values assert_equals: expected "calc(5px + 10%)" but got "calc(10% + 5px)"
8
PASS row-gap accepts calc() mixing fixed and percentage values 
9
PASS Initial row-gap is 'normal' 
9
PASS Initial row-gap is 'normal' 
10
PASS Initial row-gap is 'normal' 2 
10
PASS Initial row-gap is 'normal' 2 
11
PASS Initial inherited row-gap is 'normal' 
11
PASS Initial inherited row-gap is 'normal' 
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-align/gaps/row-gap-parsing-001.html -1 / +1 lines
Lines 86-92 a/LayoutTests/imported/w3c/web-platform-tests/css/css-align/gaps/row-gap-parsing-001.html_sec1
86
    test(
86
    test(
87
      function(){
87
      function(){
88
        var target = document.getElementById("rowGapCalcFixedPercent");
88
        var target = document.getElementById("rowGapCalcFixedPercent");
89
        assert_equals(getComputedStyle(target).rowGap, "calc(5px + 10%)");
89
        assert_equals(getComputedStyle(target).rowGap, "calc(10% + 5px)");
90
      }, "row-gap accepts calc() mixing fixed and percentage values");
90
      }, "row-gap accepts calc() mixing fixed and percentage values");
91
    test(
91
    test(
92
      function(){
92
      function(){
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-align/gaps/w3c-import.log -1 / +1 lines
Lines 1-7 a/LayoutTests/imported/w3c/web-platform-tests/css/css-align/gaps/w3c-import.log_sec1
1
The tests in this directory were imported from the W3C repository.
1
The tests in this directory were imported from the W3C repository.
2
Do NOT modify these tests directly in WebKit.
2
Do NOT modify these tests directly in WebKit.
3
Instead, create a pull request on the WPT github:
3
Instead, create a pull request on the WPT github:
4
	https://github.com/w3c/web-platform-tests
4
	https://github.com/web-platform-tests/wpt
5
5
6
Then run the Tools/Scripts/import-w3c-tests in WebKit to reimport
6
Then run the Tools/Scripts/import-w3c-tests in WebKit to reimport
7
7
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-align/inheritance-expected.txt +18 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-align/inheritance-expected.txt_sec1
1
2
PASS Property align-content has initial value normal 
3
PASS Property align-content does not inherit 
4
PASS Property align-items has initial value normal 
5
PASS Property align-items does not inherit 
6
PASS Property align-self has initial value auto 
7
PASS Property align-self does not inherit 
8
PASS Property column-gap has initial value normal 
9
PASS Property column-gap does not inherit 
10
PASS Property justify-content has initial value normal 
11
PASS Property justify-content does not inherit 
12
PASS Property justify-items has initial value legacy center 
13
PASS Property justify-items does not inherit 
14
PASS Property justify-self has initial value auto 
15
PASS Property justify-self does not inherit 
16
PASS Property row-gap has initial value normal 
17
PASS Property row-gap does not inherit 
18
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-align/inheritance.html +33 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-align/inheritance.html_sec1
1
<!DOCTYPE html>
2
<html>
3
<head>
4
<meta charset="utf-8">
5
<title>Inheritance of CSS Box Alignment properties</title>
6
<link rel="help" href="https://drafts.csswg.org/css-align-3/#property-index">
7
<meta name="assert" content="Properties inherit or not according to the spec.">
8
<meta name="assert" content="Properties have initial values according to the spec.">
9
<script src="/resources/testharness.js"></script>
10
<script src="/resources/testharnessreport.js"></script>
11
<script src="/css/support/inheritance-testcommon.js"></script>
12
</head>
13
<body>
14
<div id="container">
15
<div id="target"></div>
16
</div>
17
<style>
18
#container {
19
  justify-items: legacy center;
20
}
21
</style>
22
<script>
23
assert_not_inherited('align-content', 'normal', 'last baseline');
24
assert_not_inherited('align-items', 'normal', 'last baseline');
25
assert_not_inherited('align-self', 'auto', 'last baseline');
26
assert_not_inherited('column-gap', 'normal', '10px');
27
assert_not_inherited('justify-content', 'normal', 'space-evenly');
28
assert_not_inherited('justify-items', 'legacy center', 'last baseline');
29
assert_not_inherited('justify-self', 'auto', 'last baseline');
30
assert_not_inherited('row-gap', 'normal', '10px');
31
</script>
32
</body>
33
</html>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-align/parsing/align-content-computed-expected.txt +16 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-align/parsing/align-content-computed-expected.txt_sec1
1
2
PASS Property align-content value 'normal' 
3
PASS Property align-content value 'baseline' 
4
PASS Property align-content value 'last baseline' 
5
PASS Property align-content value 'space-between' 
6
PASS Property align-content value 'space-around' 
7
PASS Property align-content value 'space-evenly' 
8
PASS Property align-content value 'stretch' 
9
PASS Property align-content value 'center' 
10
PASS Property align-content value 'start' 
11
PASS Property align-content value 'end' 
12
PASS Property align-content value 'flex-start' 
13
PASS Property align-content value 'flex-end' 
14
PASS Property align-content value 'unsafe end' 
15
PASS Property align-content value 'safe flex-start' 
16
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-align/parsing/align-content-computed.html +34 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-align/parsing/align-content-computed.html_sec1
1
<!DOCTYPE html>
2
<html>
3
<head>
4
<meta charset="utf-8">
5
<title>CSS Box Alignment Level 3: getComputedStyle().alignContent</title>
6
<link rel="help" href="https://drafts.csswg.org/css-align-3/#propdef-align-content">
7
<meta name="assert" content="align-content computed value is as specified.">
8
<script src="/resources/testharness.js"></script>
9
<script src="/resources/testharnessreport.js"></script>
10
<script src="/css/support/computed-testcommon.js"></script>
11
</head>
12
<body>
13
<div id="target"></div>
14
<script>
15
test_computed_value("align-content", "normal");
16
17
test_computed_value("align-content", "baseline");
18
test_computed_value("align-content", "last baseline");
19
20
test_computed_value("align-content", "space-between");
21
test_computed_value("align-content", "space-around");
22
test_computed_value("align-content", "space-evenly");
23
test_computed_value("align-content", "stretch");
24
25
test_computed_value("align-content", "center");
26
test_computed_value("align-content", "start");
27
test_computed_value("align-content", "end");
28
test_computed_value("align-content", "flex-start");
29
test_computed_value("align-content", "flex-end");
30
test_computed_value("align-content", "unsafe end");
31
test_computed_value("align-content", "safe flex-start");
32
</script>
33
</body>
34
</html>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-align/parsing/align-content-invalid-expected.txt +21 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-align/parsing/align-content-invalid-expected.txt_sec1
1
2
PASS e.style['align-content'] = "auto" should not set the property value 
3
PASS e.style['align-content'] = "baseline last" should not set the property value 
4
PASS e.style['align-content'] = "center baseline" should not set the property value 
5
PASS e.style['align-content'] = "first" should not set the property value 
6
PASS e.style['align-content'] = "flex-start flex-end" should not set the property value 
7
PASS e.style['align-content'] = "last" should not set the property value 
8
PASS e.style['align-content'] = "left" should not set the property value 
9
PASS e.style['align-content'] = "legacy center" should not set the property value 
10
PASS e.style['align-content'] = "legacy left" should not set the property value 
11
PASS e.style['align-content'] = "legacy" should not set the property value 
12
PASS e.style['align-content'] = "normal baseline" should not set the property value 
13
PASS e.style['align-content'] = "right legacy" should not set the property value 
14
PASS e.style['align-content'] = "safe self-end" should not set the property value 
15
PASS e.style['align-content'] = "safe" should not set the property value 
16
PASS e.style['align-content'] = "self-end unsafe" should not set the property value 
17
PASS e.style['align-content'] = "self-start" should not set the property value 
18
PASS e.style['align-content'] = "start safe" should not set the property value 
19
PASS e.style['align-content'] = "unsafe right" should not set the property value 
20
PASS e.style['align-content'] = "unsafe" should not set the property value 
21
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-align/parsing/align-content-invalid.html +35 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-align/parsing/align-content-invalid.html_sec1
1
<!DOCTYPE html>
2
<html>
3
<head>
4
<meta charset="utf-8">
5
<title>CSS Box Alignment Level 3: parsing align-content with invalid values</title>
6
<link rel="help" href="https://drafts.csswg.org/css-align-3/#propdef-align-content">
7
<meta name="assert" content="align-content supports only the grammar 'normal | <baseline-position> | <content-distribution> | <overflow-position>? <content-position>'.">
8
<script src="/resources/testharness.js"></script>
9
<script src="/resources/testharnessreport.js"></script>
10
<script src="/css/support/parsing-testcommon.js"></script>
11
</head>
12
<body>
13
<script>
14
test_invalid_value("align-content", "auto");
15
test_invalid_value("align-content", "baseline last");
16
test_invalid_value("align-content", "center baseline");
17
test_invalid_value("align-content", "first");
18
test_invalid_value("align-content", "flex-start flex-end");
19
test_invalid_value("align-content", "last");
20
test_invalid_value("align-content", "left");
21
test_invalid_value("align-content", "legacy center");
22
test_invalid_value("align-content", "legacy left");
23
test_invalid_value("align-content", "legacy");
24
test_invalid_value("align-content", "normal baseline");
25
test_invalid_value("align-content", "right legacy");
26
test_invalid_value("align-content", "safe self-end");
27
test_invalid_value("align-content", "safe");
28
test_invalid_value("align-content", "self-end unsafe");
29
test_invalid_value("align-content", "self-start");
30
test_invalid_value("align-content", "start safe");
31
test_invalid_value("align-content", "unsafe right");
32
test_invalid_value("align-content", "unsafe");
33
</script>
34
</body>
35
</html>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-align/parsing/align-content-valid-expected.txt +17 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-align/parsing/align-content-valid-expected.txt_sec1
1
2
PASS e.style['align-content'] = "normal" should set the property value 
3
PASS e.style['align-content'] = "baseline" should set the property value 
4
PASS e.style['align-content'] = "first baseline" should set the property value 
5
PASS e.style['align-content'] = "last baseline" should set the property value 
6
PASS e.style['align-content'] = "space-between" should set the property value 
7
PASS e.style['align-content'] = "space-around" should set the property value 
8
PASS e.style['align-content'] = "space-evenly" should set the property value 
9
PASS e.style['align-content'] = "stretch" should set the property value 
10
PASS e.style['align-content'] = "center" should set the property value 
11
PASS e.style['align-content'] = "start" should set the property value 
12
PASS e.style['align-content'] = "end" should set the property value 
13
PASS e.style['align-content'] = "flex-start" should set the property value 
14
PASS e.style['align-content'] = "flex-end" should set the property value 
15
PASS e.style['align-content'] = "unsafe end" should set the property value 
16
PASS e.style['align-content'] = "safe flex-start" should set the property value 
17
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-align/parsing/align-content-valid.html +39 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-align/parsing/align-content-valid.html_sec1
1
<!DOCTYPE html>
2
<html>
3
<head>
4
<meta charset="utf-8">
5
<title>CSS Box Alignment Level 3: parsing align-content with valid values</title>
6
<link rel="help" href="https://drafts.csswg.org/css-align-3/#propdef-align-content">
7
<meta name="assert" content="align-content supports the full grammar 'normal | <baseline-position> | <content-distribution> | <overflow-position>? <content-position>'.">
8
<script src="/resources/testharness.js"></script>
9
<script src="/resources/testharnessreport.js"></script>
10
<script src="/css/support/parsing-testcommon.js"></script>
11
</head>
12
<body>
13
<script>
14
test_valid_value("align-content", "normal");
15
16
// <baseline-position> = [ first | last ]? baseline
17
test_valid_value("align-content", "baseline");
18
test_valid_value("align-content", "first baseline", "baseline");
19
test_valid_value("align-content", "last baseline");
20
21
// <content-distribution> = space-between | space-around | space-evenly | stretch
22
test_valid_value("align-content", "space-between");
23
test_valid_value("align-content", "space-around");
24
test_valid_value("align-content", "space-evenly");
25
test_valid_value("align-content", "stretch");
26
27
// <overflow-position>? <content-position>
28
// <overflow-position> = unsafe | safe
29
// <content-position> = center | start | end | flex-start | flex-end
30
test_valid_value("align-content", "center");
31
test_valid_value("align-content", "start");
32
test_valid_value("align-content", "end");
33
test_valid_value("align-content", "flex-start");
34
test_valid_value("align-content", "flex-end");
35
test_valid_value("align-content", "unsafe end");
36
test_valid_value("align-content", "safe flex-start");
37
</script>
38
</body>
39
</html>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-align/parsing/align-items-computed-expected.txt +15 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-align/parsing/align-items-computed-expected.txt_sec1
1
2
PASS Property align-items value 'normal' 
3
PASS Property align-items value 'stretch' 
4
PASS Property align-items value 'baseline' 
5
PASS Property align-items value 'last baseline' 
6
PASS Property align-items value 'center' 
7
PASS Property align-items value 'start' 
8
PASS Property align-items value 'end' 
9
PASS Property align-items value 'self-start' 
10
PASS Property align-items value 'self-end' 
11
PASS Property align-items value 'flex-start' 
12
PASS Property align-items value 'flex-end' 
13
PASS Property align-items value 'unsafe center' 
14
PASS Property align-items value 'safe self-end' 
15
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-align/parsing/align-items-computed.html +32 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-align/parsing/align-items-computed.html_sec1
1
<!DOCTYPE html>
2
<html>
3
<head>
4
<meta charset="utf-8">
5
<title>CSS Box Alignment Level 3: getComputedStyle().alignItems</title>
6
<link rel="help" href="https://drafts.csswg.org/css-align-3/#propdef-align-items">
7
<meta name="assert" content="align-items computed value is as specified.">
8
<script src="/resources/testharness.js"></script>
9
<script src="/resources/testharnessreport.js"></script>
10
<script src="/css/support/computed-testcommon.js"></script>
11
</head>
12
<body>
13
<div id="target"></div>
14
<script>
15
test_computed_value("align-items", "normal");
16
test_computed_value("align-items", "stretch");
17
18
test_computed_value("align-items", "baseline");
19
test_computed_value("align-items", "last baseline");
20
21
test_computed_value("align-items", "center");
22
test_computed_value("align-items", "start");
23
test_computed_value("align-items", "end");
24
test_computed_value("align-items", "self-start");
25
test_computed_value("align-items", "self-end");
26
test_computed_value("align-items", "flex-start");
27
test_computed_value("align-items", "flex-end");
28
test_computed_value("align-items", "unsafe center");
29
test_computed_value("align-items", "safe self-end");
30
</script>
31
</body>
32
</html>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-align/parsing/align-items-invalid-expected.txt +22 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-align/parsing/align-items-invalid-expected.txt_sec1
1
2
PASS e.style['align-items'] = "auto" should not set the property value 
3
PASS e.style['align-items'] = "baseline last" should not set the property value 
4
PASS e.style['align-items'] = "center baseline" should not set the property value 
5
PASS e.style['align-items'] = "first" should not set the property value 
6
PASS e.style['align-items'] = "flex-start flex-end" should not set the property value 
7
PASS e.style['align-items'] = "last" should not set the property value 
8
PASS e.style['align-items'] = "left" should not set the property value 
9
PASS e.style['align-items'] = "legacy center" should not set the property value 
10
PASS e.style['align-items'] = "legacy left" should not set the property value 
11
PASS e.style['align-items'] = "legacy" should not set the property value 
12
PASS e.style['align-items'] = "normal baseline" should not set the property value 
13
PASS e.style['align-items'] = "right legacy" should not set the property value 
14
PASS e.style['align-items'] = "safe" should not set the property value 
15
PASS e.style['align-items'] = "self-end unsafe" should not set the property value 
16
PASS e.style['align-items'] = "space-around" should not set the property value 
17
PASS e.style['align-items'] = "space-between" should not set the property value 
18
PASS e.style['align-items'] = "space-evenly" should not set the property value 
19
PASS e.style['align-items'] = "start safe" should not set the property value 
20
PASS e.style['align-items'] = "unsafe right" should not set the property value 
21
PASS e.style['align-items'] = "unsafe" should not set the property value 
22
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-align/parsing/align-items-invalid.html +36 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-align/parsing/align-items-invalid.html_sec1
1
<!DOCTYPE html>
2
<html>
3
<head>
4
<meta charset="utf-8">
5
<title>CSS Box Alignment Level 3: parsing align-items with invalid values</title>
6
<link rel="help" href="https://drafts.csswg.org/css-align-3/#propdef-align-items">
7
<meta name="assert" content="align-items supports only the grammar 'normal | stretch | <baseline-position> | [ <overflow-position>? <self-position> ]'.">
8
<script src="/resources/testharness.js"></script>
9
<script src="/resources/testharnessreport.js"></script>
10
<script src="/css/support/parsing-testcommon.js"></script>
11
</head>
12
<body>
13
<script>
14
test_invalid_value("align-items", "auto");
15
test_invalid_value("align-items", "baseline last");
16
test_invalid_value("align-items", "center baseline");
17
test_invalid_value("align-items", "first");
18
test_invalid_value("align-items", "flex-start flex-end");
19
test_invalid_value("align-items", "last");
20
test_invalid_value("align-items", "left");
21
test_invalid_value("align-items", "legacy center");
22
test_invalid_value("align-items", "legacy left");
23
test_invalid_value("align-items", "legacy");
24
test_invalid_value("align-items", "normal baseline");
25
test_invalid_value("align-items", "right legacy");
26
test_invalid_value("align-items", "safe");
27
test_invalid_value("align-items", "self-end unsafe");
28
test_invalid_value("align-items", "space-around");
29
test_invalid_value("align-items", "space-between");
30
test_invalid_value("align-items", "space-evenly");
31
test_invalid_value("align-items", "start safe");
32
test_invalid_value("align-items", "unsafe right");
33
test_invalid_value("align-items", "unsafe");
34
</script>
35
</body>
36
</html>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-align/parsing/align-items-valid-expected.txt +16 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-align/parsing/align-items-valid-expected.txt_sec1
1
2
PASS e.style['align-items'] = "normal" should set the property value 
3
PASS e.style['align-items'] = "stretch" should set the property value 
4
PASS e.style['align-items'] = "baseline" should set the property value 
5
PASS e.style['align-items'] = "first baseline" should set the property value 
6
PASS e.style['align-items'] = "last baseline" should set the property value 
7
PASS e.style['align-items'] = "center" should set the property value 
8
PASS e.style['align-items'] = "start" should set the property value 
9
PASS e.style['align-items'] = "end" should set the property value 
10
PASS e.style['align-items'] = "self-start" should set the property value 
11
PASS e.style['align-items'] = "self-end" should set the property value 
12
PASS e.style['align-items'] = "flex-start" should set the property value 
13
PASS e.style['align-items'] = "flex-end" should set the property value 
14
PASS e.style['align-items'] = "unsafe center" should set the property value 
15
PASS e.style['align-items'] = "safe self-end" should set the property value 
16
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-align/parsing/align-items-valid.html +36 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-align/parsing/align-items-valid.html_sec1
1
<!DOCTYPE html>
2
<html>
3
<head>
4
<meta charset="utf-8">
5
<title>CSS Box Alignment Level 3: parsing align-items with valid values</title>
6
<link rel="help" href="https://drafts.csswg.org/css-align-3/#propdef-align-items">
7
<meta name="assert" content="align-items supports the full grammar 'normal | stretch | <baseline-position> | [ <overflow-position>? <self-position> ]'.">
8
<script src="/resources/testharness.js"></script>
9
<script src="/resources/testharnessreport.js"></script>
10
<script src="/css/support/parsing-testcommon.js"></script>
11
</head>
12
<body>
13
<script>
14
test_valid_value("align-items", "normal");
15
test_valid_value("align-items", "stretch");
16
17
// <baseline-position> = [ first | last ]? baseline
18
test_valid_value("align-items", "baseline");
19
test_valid_value("align-items", "first baseline", "baseline");
20
test_valid_value("align-items", "last baseline");
21
22
// <overflow-position>? <self-position>
23
// <overflow-position> = unsafe | safe
24
// <self-position> = center | start | end | self-start | self-end | flex-start | flex-end
25
test_valid_value("align-items", "center");
26
test_valid_value("align-items", "start");
27
test_valid_value("align-items", "end");
28
test_valid_value("align-items", "self-start");
29
test_valid_value("align-items", "self-end");
30
test_valid_value("align-items", "flex-start");
31
test_valid_value("align-items", "flex-end");
32
test_valid_value("align-items", "unsafe center");
33
test_valid_value("align-items", "safe self-end");
34
</script>
35
</body>
36
</html>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-align/parsing/align-self-computed-expected.txt +16 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-align/parsing/align-self-computed-expected.txt_sec1
1
2
PASS Property align-self value 'auto' 
3
PASS Property align-self value 'normal' 
4
PASS Property align-self value 'stretch' 
5
PASS Property align-self value 'baseline' 
6
PASS Property align-self value 'last baseline' 
7
PASS Property align-self value 'center' 
8
PASS Property align-self value 'start' 
9
PASS Property align-self value 'end' 
10
PASS Property align-self value 'self-start' 
11
PASS Property align-self value 'self-end' 
12
PASS Property align-self value 'flex-start' 
13
PASS Property align-self value 'flex-end' 
14
PASS Property align-self value 'unsafe center' 
15
PASS Property align-self value 'safe self-end' 
16
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-align/parsing/align-self-computed.html +33 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-align/parsing/align-self-computed.html_sec1
1
<!DOCTYPE html>
2
<html>
3
<head>
4
<meta charset="utf-8">
5
<title>CSS Box Alignment Level 3: getComputedStyle().alignSelf</title>
6
<link rel="help" href="https://drafts.csswg.org/css-align-3/#propdef-align-self">
7
<meta name="assert" content="align-self computed value is as specified.">
8
<script src="/resources/testharness.js"></script>
9
<script src="/resources/testharnessreport.js"></script>
10
<script src="/css/support/computed-testcommon.js"></script>
11
</head>
12
<body>
13
<div id="target"></div>
14
<script>
15
test_computed_value("align-self", "auto");
16
test_computed_value("align-self", "normal");
17
test_computed_value("align-self", "stretch");
18
19
test_computed_value("align-self", "baseline");
20
test_computed_value("align-self", "last baseline");
21
22
test_computed_value("align-self", "center");
23
test_computed_value("align-self", "start");
24
test_computed_value("align-self", "end");
25
test_computed_value("align-self", "self-start");
26
test_computed_value("align-self", "self-end");
27
test_computed_value("align-self", "flex-start");
28
test_computed_value("align-self", "flex-end");
29
test_computed_value("align-self", "unsafe center");
30
test_computed_value("align-self", "safe self-end");
31
</script>
32
</body>
33
</html>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-align/parsing/align-self-invalid-expected.txt +21 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-align/parsing/align-self-invalid-expected.txt_sec1
1
2
PASS e.style['align-self'] = "baseline last" should not set the property value 
3
PASS e.style['align-self'] = "center baseline" should not set the property value 
4
PASS e.style['align-self'] = "first" should not set the property value 
5
PASS e.style['align-self'] = "flex-start flex-end" should not set the property value 
6
PASS e.style['align-self'] = "last" should not set the property value 
7
PASS e.style['align-self'] = "left" should not set the property value 
8
PASS e.style['align-self'] = "legacy center" should not set the property value 
9
PASS e.style['align-self'] = "legacy left" should not set the property value 
10
PASS e.style['align-self'] = "legacy" should not set the property value 
11
PASS e.style['align-self'] = "normal baseline" should not set the property value 
12
PASS e.style['align-self'] = "right legacy" should not set the property value 
13
PASS e.style['align-self'] = "safe" should not set the property value 
14
PASS e.style['align-self'] = "self-end unsafe" should not set the property value 
15
PASS e.style['align-self'] = "space-around" should not set the property value 
16
PASS e.style['align-self'] = "space-between" should not set the property value 
17
PASS e.style['align-self'] = "space-evenly" should not set the property value 
18
PASS e.style['align-self'] = "start safe" should not set the property value 
19
PASS e.style['align-self'] = "unsafe right" should not set the property value 
20
PASS e.style['align-self'] = "unsafe" should not set the property value 
21
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-align/parsing/align-self-invalid.html +35 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-align/parsing/align-self-invalid.html_sec1
1
<!DOCTYPE html>
2
<html>
3
<head>
4
<meta charset="utf-8">
5
<title>CSS Box Alignment Level 3: parsing align-self with invalid values</title>
6
<link rel="help" href="https://drafts.csswg.org/css-align-3/#propdef-align-self">
7
<meta name="assert" content="align-self supports only the grammar 'auto | normal | stretch | <baseline-position> | <overflow-position>? <self-position>'.">
8
<script src="/resources/testharness.js"></script>
9
<script src="/resources/testharnessreport.js"></script>
10
<script src="/css/support/parsing-testcommon.js"></script>
11
</head>
12
<body>
13
<script>
14
test_invalid_value("align-self", "baseline last");
15
test_invalid_value("align-self", "center baseline");
16
test_invalid_value("align-self", "first");
17
test_invalid_value("align-self", "flex-start flex-end");
18
test_invalid_value("align-self", "last");
19
test_invalid_value("align-self", "left");
20
test_invalid_value("align-self", "legacy center");
21
test_invalid_value("align-self", "legacy left");
22
test_invalid_value("align-self", "legacy");
23
test_invalid_value("align-self", "normal baseline");
24
test_invalid_value("align-self", "right legacy");
25
test_invalid_value("align-self", "safe");
26
test_invalid_value("align-self", "self-end unsafe");
27
test_invalid_value("align-self", "space-around");
28
test_invalid_value("align-self", "space-between");
29
test_invalid_value("align-self", "space-evenly");
30
test_invalid_value("align-self", "start safe");
31
test_invalid_value("align-self", "unsafe right");
32
test_invalid_value("align-self", "unsafe");
33
</script>
34
</body>
35
</html>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-align/parsing/align-self-valid-expected.txt +17 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-align/parsing/align-self-valid-expected.txt_sec1
1
2
PASS e.style['align-self'] = "auto" should set the property value 
3
PASS e.style['align-self'] = "normal" should set the property value 
4
PASS e.style['align-self'] = "stretch" should set the property value 
5
PASS e.style['align-self'] = "baseline" should set the property value 
6
PASS e.style['align-self'] = "first baseline" should set the property value 
7
PASS e.style['align-self'] = "last baseline" should set the property value 
8
PASS e.style['align-self'] = "center" should set the property value 
9
PASS e.style['align-self'] = "start" should set the property value 
10
PASS e.style['align-self'] = "end" should set the property value 
11
PASS e.style['align-self'] = "self-start" should set the property value 
12
PASS e.style['align-self'] = "self-end" should set the property value 
13
PASS e.style['align-self'] = "flex-start" should set the property value 
14
PASS e.style['align-self'] = "flex-end" should set the property value 
15
PASS e.style['align-self'] = "unsafe center" should set the property value 
16
PASS e.style['align-self'] = "safe self-end" should set the property value 
17
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-align/parsing/align-self-valid.html +37 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-align/parsing/align-self-valid.html_sec1
1
<!DOCTYPE html>
2
<html>
3
<head>
4
<meta charset="utf-8">
5
<title>CSS Box Alignment Level 3: parsing align-self with valid values</title>
6
<link rel="help" href="https://drafts.csswg.org/css-align-3/#propdef-align-self">
7
<meta name="assert" content="align-self supports the full grammar 'auto | normal | stretch | <baseline-position> | <overflow-position>? <self-position>'.">
8
<script src="/resources/testharness.js"></script>
9
<script src="/resources/testharnessreport.js"></script>
10
<script src="/css/support/parsing-testcommon.js"></script>
11
</head>
12
<body>
13
<script>
14
test_valid_value("align-self", "auto");
15
test_valid_value("align-self", "normal");
16
test_valid_value("align-self", "stretch");
17
18
// <baseline-position> = [ first | last ]? baseline
19
test_valid_value("align-self", "baseline");
20
test_valid_value("align-self", "first baseline", "baseline");
21
test_valid_value("align-self", "last baseline");
22
23
// <overflow-position>? <self-position>
24
// <overflow-position> = unsafe | safe
25
// <self-position> = center | start | end | self-start | self-end | flex-start | flex-end
26
test_valid_value("align-self", "center");
27
test_valid_value("align-self", "start");
28
test_valid_value("align-self", "end");
29
test_valid_value("align-self", "self-start");
30
test_valid_value("align-self", "self-end");
31
test_valid_value("align-self", "flex-start");
32
test_valid_value("align-self", "flex-end");
33
test_valid_value("align-self", "unsafe center");
34
test_valid_value("align-self", "safe self-end");
35
</script>
36
</body>
37
</html>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-align/parsing/column-gap-computed-expected.txt +7 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-align/parsing/column-gap-computed-expected.txt_sec1
1
2
PASS Property column-gap value 'normal' 
3
PASS Property column-gap value 'calc(10px + 0.5em)' 
4
PASS Property column-gap value 'calc(10px - 0.5em)' 
5
PASS Property column-gap value '40%' 
6
PASS Property column-gap value 'calc(50% + 60px)' 
7
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-align/parsing/column-gap-computed.html +28 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-align/parsing/column-gap-computed.html_sec1
1
<!DOCTYPE html>
2
<html>
3
<head>
4
<meta charset="utf-8">
5
<title>CSS Box Alignment Level 3: getComputedStyle().columnGap</title>
6
<link rel="help" href="https://drafts.csswg.org/css-align-3/#propdef-column-gap">
7
<meta name="assert" content="column-gap computed value is as specified.">
8
<script src="/resources/testharness.js"></script>
9
<script src="/resources/testharnessreport.js"></script>
10
<script src="/css/support/computed-testcommon.js"></script>
11
</head>
12
<body>
13
<div id="target"></div>
14
<style>
15
  #target {
16
    font-size: 40px;
17
  }
18
</style>
19
<script>
20
test_computed_value("column-gap", "normal");
21
22
test_computed_value("column-gap", "calc(10px + 0.5em)", "30px");
23
test_computed_value("column-gap", "calc(10px - 0.5em)", "0px");
24
test_computed_value("column-gap", "40%");
25
test_computed_value("column-gap", "calc(50% + 60px)");
26
</script>
27
</body>
28
</html>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-align/parsing/column-gap-invalid-expected.txt +7 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-align/parsing/column-gap-invalid-expected.txt_sec1
1
2
PASS e.style['column-gap'] = "auto" should not set the property value 
3
PASS e.style['column-gap'] = "10" should not set the property value 
4
PASS e.style['column-gap'] = "10px 20px" should not set the property value 
5
PASS e.style['column-gap'] = "-1px" should not set the property value 
6
PASS e.style['column-gap'] = "-10%" should not set the property value 
7
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-align/parsing/column-gap-invalid.html +23 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-align/parsing/column-gap-invalid.html_sec1
1
<!DOCTYPE html>
2
<html>
3
<head>
4
<meta charset="utf-8">
5
<title>CSS Box Alignment Level 3: parsing column-gap with invalid values</title>
6
<link rel="help" href="https://drafts.csswg.org/css-align-3/#propdef-column-gap">
7
<meta name="assert" content="column-gap supports only the grammar '<length-percentage> | normal'.">
8
<meta name="assert" content="column-gap rejects negative <length-percentage>.">
9
<script src="/resources/testharness.js"></script>
10
<script src="/resources/testharnessreport.js"></script>
11
<script src="/css/support/parsing-testcommon.js"></script>
12
</head>
13
<body>
14
<script>
15
test_invalid_value("column-gap", "auto");
16
17
test_invalid_value("column-gap", "10");
18
test_invalid_value("column-gap", "10px 20px");
19
test_invalid_value("column-gap", "-1px");
20
test_invalid_value("column-gap", "-10%");
21
</script>
22
</body>
23
</html>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-align/parsing/column-gap-valid-expected.txt +8 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-align/parsing/column-gap-valid-expected.txt_sec1
1
2
PASS e.style['column-gap'] = "normal" should set the property value 
3
PASS e.style['column-gap'] = "0" should set the property value 
4
PASS e.style['column-gap'] = "1px" should set the property value 
5
PASS e.style['column-gap'] = "calc(2em + 3ex)" should set the property value 
6
PASS e.style['column-gap'] = "4%" should set the property value 
7
PASS e.style['column-gap'] = "5vmin" should set the property value 
8
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-align/parsing/column-gap-valid.html +23 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-align/parsing/column-gap-valid.html_sec1
1
<!DOCTYPE html>
2
<html>
3
<head>
4
<meta charset="utf-8">
5
<title>CSS Box Alignment Level 3: parsing column-gap with valid values</title>
6
<link rel="help" href="https://drafts.csswg.org/css-align-3/#propdef-column-gap">
7
<meta name="assert" content="column-gap supports the full grammar '<length-percentage> | normal'.">
8
<script src="/resources/testharness.js"></script>
9
<script src="/resources/testharnessreport.js"></script>
10
<script src="/css/support/parsing-testcommon.js"></script>
11
</head>
12
<body>
13
<script>
14
test_valid_value("column-gap", "normal");
15
16
test_valid_value("column-gap", "0", "0px");
17
test_valid_value("column-gap", "1px");
18
test_valid_value("column-gap", "calc(2em + 3ex)");
19
test_valid_value("column-gap", "4%");
20
test_valid_value("column-gap", "5vmin");
21
</script>
22
</body>
23
</html>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-align/parsing/gap-computed-expected.txt +13 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-align/parsing/gap-computed-expected.txt_sec1
1
2
FAIL Property gap value 'normal' assert_equals: expected "normal" but got "normal normal"
3
FAIL Property gap value '10px' assert_equals: expected "10px" but got "10px 10px"
4
FAIL Property gap value '20%' assert_equals: expected "20%" but got "20% 20%"
5
FAIL Property gap value 'calc(20% + 10px)' assert_equals: expected "calc(20% + 10px)" but got "calc(20% + 10px) calc(20% + 10px)"
6
FAIL Property gap value 'calc(-0.5em + 10px)' assert_equals: expected "0px" but got "0px 0px"
7
FAIL Property gap value 'calc(0.5em + 10px)' assert_equals: expected "30px" but got "30px 30px"
8
PASS Property gap value 'normal 10px' 
9
PASS Property gap value '10px 20%' 
10
PASS Property gap value '20% calc(20% + 10px)' 
11
PASS Property gap value 'calc(20% + 10px) normal' 
12
PASS Property gap value 'calc(-0.5em + 10px) calc(0.5em + 10px)' 
13
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-align/parsing/gap-computed.html +35 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-align/parsing/gap-computed.html_sec1
1
<!DOCTYPE html>
2
<html>
3
<head>
4
<meta charset="utf-8">
5
<title>CSS Box Alignment Level 3: getComputedStyle().gap</title>
6
<link rel="help" href="https://drafts.csswg.org/css-align-3/#propdef-gap">
7
<meta name="assert" content="gap computed value is a pair of keyword or <length-percentage> values.">
8
<script src="/resources/testharness.js"></script>
9
<script src="/resources/testharnessreport.js"></script>
10
<script src="/css/support/computed-testcommon.js"></script>
11
<style>
12
  #target {
13
    font-size: 40px;
14
  }
15
</style>
16
</head>
17
<body>
18
<div id="target"></div>
19
<script>
20
test_computed_value("gap", "normal");
21
test_computed_value("gap", "10px");
22
test_computed_value("gap", "20%");
23
test_computed_value("gap", "calc(20% + 10px)");
24
test_computed_value("gap", "calc(-0.5em + 10px)", "0px");
25
test_computed_value("gap", "calc(0.5em + 10px)", "30px");
26
27
test_computed_value("gap", "normal 10px");
28
test_computed_value("gap", "10px 20%");
29
test_computed_value("gap", "20% calc(20% + 10px)");
30
test_computed_value("gap", "calc(20% + 10px) normal");
31
32
test_computed_value("gap", "calc(-0.5em + 10px) calc(0.5em + 10px)", "0px 30px");
33
</script>
34
</body>
35
</html>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-align/parsing/gap-invalid-expected.txt +6 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-align/parsing/gap-invalid-expected.txt_sec1
1
2
PASS e.style['gap'] = "auto" should not set the property value 
3
PASS e.style['gap'] = "-10px" should not set the property value 
4
PASS e.style['gap'] = "10px 20% 30px" should not set the property value 
5
PASS e.style['gap'] = "normal 10px normal" should not set the property value 
6
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-align/parsing/gap-invalid.html +21 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-align/parsing/gap-invalid.html_sec1
1
<!DOCTYPE html>
2
<html>
3
<head>
4
<meta charset="utf-8">
5
<title>CSS Box Alignment Level 3: parsing gap with invalid values</title>
6
<link rel="help" href="https://drafts.csswg.org/css-align-3/#propdef-gap">
7
<meta name="assert" content="gap supports only the grammar '<row-gap> <column-gap>?'.">
8
<script src="/resources/testharness.js"></script>
9
<script src="/resources/testharnessreport.js"></script>
10
<script src="/css/support/parsing-testcommon.js"></script>
11
</head>
12
<body>
13
<script>
14
test_invalid_value("gap", "auto");
15
test_invalid_value("gap", "-10px");
16
17
test_invalid_value("gap", "10px 20% 30px");
18
test_invalid_value("gap", "normal 10px normal");
19
</script>
20
</body>
21
</html>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-align/parsing/gap-shorthand-expected.txt +14 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-align/parsing/gap-shorthand-expected.txt_sec1
1
2
PASS e.style['gap'] = "normal" should set column-gap 
3
PASS e.style['gap'] = "normal" should set row-gap 
4
PASS e.style['gap'] = "normal" should not set unrelated longhands 
5
PASS e.style['gap'] = "10px 20%" should set column-gap 
6
PASS e.style['gap'] = "10px 20%" should set row-gap 
7
PASS e.style['gap'] = "10px 20%" should not set unrelated longhands 
8
PASS e.style['gap'] = "10px normal" should set column-gap 
9
PASS e.style['gap'] = "10px normal" should set row-gap 
10
PASS e.style['gap'] = "10px normal" should not set unrelated longhands 
11
PASS e.style['gap'] = "normal calc(20% + 10px)" should set column-gap 
12
PASS e.style['gap'] = "normal calc(20% + 10px)" should set row-gap 
13
PASS e.style['gap'] = "normal calc(20% + 10px)" should not set unrelated longhands 
14
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-align/parsing/gap-shorthand.html +35 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-align/parsing/gap-shorthand.html_sec1
1
<!DOCTYPE html>
2
<html>
3
<head>
4
<meta charset="utf-8">
5
<title>CSS Box Alignment Level 3: gap sets longhands</title>
6
<link rel="help" href="https://drafts.csswg.org/css-align-3/#propdef-gap">
7
<meta name="assert" content="row-gap supports the full grammar '<row-gap> <column-gap>?'.">
8
<script src="/resources/testharness.js"></script>
9
<script src="/resources/testharnessreport.js"></script>
10
<script src="/css/support/shorthand-testcommon.js"></script>
11
</head>
12
<body>
13
<script>
14
test_shorthand_value('gap', 'normal', {
15
  'row-gap': 'normal',
16
  'column-gap': 'normal'
17
});
18
19
test_shorthand_value('gap', '10px 20%', {
20
  'row-gap': '10px',
21
  'column-gap': '20%'
22
});
23
24
test_shorthand_value('gap', '10px normal', {
25
  'row-gap': '10px',
26
  'column-gap': 'normal'
27
});
28
29
test_shorthand_value('gap', 'normal calc(20% + 10px)', {
30
  'row-gap': 'normal',
31
  'column-gap': 'calc(20% + 10px)'
32
});
33
</script>
34
</body>
35
</html>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-align/parsing/gap-valid-expected.txt +11 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-align/parsing/gap-valid-expected.txt_sec1
1
2
FAIL e.style['gap'] = "normal normal" should set the property value assert_not_equals: property should be set got disallowed value ""
3
FAIL e.style['gap'] = "10px 10px" should set the property value assert_not_equals: property should be set got disallowed value ""
4
FAIL e.style['gap'] = "20% 20%" should set the property value assert_not_equals: property should be set got disallowed value ""
5
FAIL e.style['gap'] = "calc(20% + 10px) calc(20% + 10px)" should set the property value assert_not_equals: property should be set got disallowed value ""
6
FAIL e.style['gap'] = "normal 10px" should set the property value assert_not_equals: property should be set got disallowed value ""
7
FAIL e.style['gap'] = "10px 20%" should set the property value assert_not_equals: property should be set got disallowed value ""
8
FAIL e.style['gap'] = "20% calc(20% + 10px)" should set the property value assert_not_equals: property should be set got disallowed value ""
9
FAIL e.style['gap'] = "calc(20% + 10px) 0px" should set the property value assert_not_equals: property should be set got disallowed value ""
10
FAIL e.style['gap'] = "0px normal" should set the property value assert_not_equals: property should be set got disallowed value ""
11
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-align/parsing/gap-valid.html +26 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-align/parsing/gap-valid.html_sec1
1
<!DOCTYPE html>
2
<html>
3
<head>
4
<meta charset="utf-8">
5
<title>CSS Box Alignment Level 3: parsing gap with valid values</title>
6
<link rel="help" href="https://drafts.csswg.org/css-align-3/#propdef-gap">
7
<meta name="assert" content="row-gap supports the full grammar '<row-gap> <column-gap>?'.">
8
<script src="/resources/testharness.js"></script>
9
<script src="/resources/testharnessreport.js"></script>
10
<script src="/css/support/parsing-testcommon.js"></script>
11
</head>
12
<body>
13
<script>
14
test_valid_value("gap", "normal normal", "normal");
15
test_valid_value("gap", "10px 10px", "10px");
16
test_valid_value("gap", "20% 20%", "20%");
17
test_valid_value("gap", "calc(20% + 10px) calc(20% + 10px)", "calc(20% + 10px)");
18
19
test_valid_value("gap", "normal 10px");
20
test_valid_value("gap", "10px 20%");
21
test_valid_value("gap", "20% calc(20% + 10px)");
22
test_valid_value("gap", "calc(20% + 10px) 0px");
23
test_valid_value("gap", "0px normal");
24
</script>
25
</body>
26
</html>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-align/parsing/justify-content-computed-expected.txt +16 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-align/parsing/justify-content-computed-expected.txt_sec1
1
2
PASS Property justify-content value 'normal' 
3
PASS Property justify-content value 'space-between' 
4
PASS Property justify-content value 'space-around' 
5
PASS Property justify-content value 'space-evenly' 
6
PASS Property justify-content value 'stretch' 
7
PASS Property justify-content value 'center' 
8
PASS Property justify-content value 'start' 
9
PASS Property justify-content value 'end' 
10
PASS Property justify-content value 'flex-start' 
11
PASS Property justify-content value 'flex-end' 
12
PASS Property justify-content value 'unsafe end' 
13
PASS Property justify-content value 'safe flex-start' 
14
PASS Property justify-content value 'left' 
15
PASS Property justify-content value 'unsafe right' 
16
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-align/parsing/justify-content-computed.html +33 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-align/parsing/justify-content-computed.html_sec1
1
<!DOCTYPE html>
2
<html>
3
<head>
4
<meta charset="utf-8">
5
<title>CSS Box Alignment Level 3: getComputedStyle().justifyContent</title>
6
<link rel="help" href="https://drafts.csswg.org/css-align-3/#propdef-justify-content">
7
<meta name="assert" content="justify-content computed value is as specified.">
8
<script src="/resources/testharness.js"></script>
9
<script src="/resources/testharnessreport.js"></script>
10
<script src="/css/support/computed-testcommon.js"></script>
11
</head>
12
<body>
13
<div id="target"></div>
14
<script>
15
test_computed_value("justify-content", "normal");
16
17
test_computed_value("justify-content", "space-between");
18
test_computed_value("justify-content", "space-around");
19
test_computed_value("justify-content", "space-evenly");
20
test_computed_value("justify-content", "stretch");
21
22
test_computed_value("justify-content", "center");
23
test_computed_value("justify-content", "start");
24
test_computed_value("justify-content", "end");
25
test_computed_value("justify-content", "flex-start");
26
test_computed_value("justify-content", "flex-end");
27
test_computed_value("justify-content", "unsafe end");
28
test_computed_value("justify-content", "safe flex-start");
29
test_computed_value("justify-content", "left");
30
test_computed_value("justify-content", "unsafe right");
31
</script>
32
</body>
33
</html>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-align/parsing/justify-content-invalid-expected.txt +22 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-align/parsing/justify-content-invalid-expected.txt_sec1
1
2
PASS e.style['justify-content'] = "auto" should not set the property value 
3
PASS e.style['justify-content'] = "baseline last" should not set the property value 
4
PASS e.style['justify-content'] = "baseline" should not set the property value 
5
PASS e.style['justify-content'] = "center baseline" should not set the property value 
6
PASS e.style['justify-content'] = "first baseline" should not set the property value 
7
PASS e.style['justify-content'] = "first" should not set the property value 
8
PASS e.style['justify-content'] = "flex-start flex-end" should not set the property value 
9
PASS e.style['justify-content'] = "last baseline" should not set the property value 
10
PASS e.style['justify-content'] = "last" should not set the property value 
11
PASS e.style['justify-content'] = "legacy center" should not set the property value 
12
PASS e.style['justify-content'] = "legacy left" should not set the property value 
13
PASS e.style['justify-content'] = "legacy" should not set the property value 
14
PASS e.style['justify-content'] = "normal baseline" should not set the property value 
15
PASS e.style['justify-content'] = "right legacy" should not set the property value 
16
PASS e.style['justify-content'] = "safe self-end" should not set the property value 
17
PASS e.style['justify-content'] = "safe" should not set the property value 
18
PASS e.style['justify-content'] = "self-end unsafe" should not set the property value 
19
PASS e.style['justify-content'] = "self-start" should not set the property value 
20
PASS e.style['justify-content'] = "start safe" should not set the property value 
21
PASS e.style['justify-content'] = "unsafe" should not set the property value 
22
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-align/parsing/justify-content-invalid.html +36 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-align/parsing/justify-content-invalid.html_sec1
1
<!DOCTYPE html>
2
<html>
3
<head>
4
<meta charset="utf-8">
5
<title>CSS Box Alignment Level 3: parsing justify-content with invalid values</title>
6
<link rel="help" href="https://drafts.csswg.org/css-align-3/#propdef-justify-content">
7
<meta name="assert" content="justify-content supports only the grammar 'normal | <content-distribution> | <overflow-position>? [ <content-position> | left | right ]'.">
8
<script src="/resources/testharness.js"></script>
9
<script src="/resources/testharnessreport.js"></script>
10
<script src="/css/support/parsing-testcommon.js"></script>
11
</head>
12
<body>
13
<script>
14
test_invalid_value("justify-content", "auto");
15
test_invalid_value("justify-content", "baseline last");
16
test_invalid_value("justify-content", "baseline");
17
test_invalid_value("justify-content", "center baseline");
18
test_invalid_value("justify-content", "first baseline");
19
test_invalid_value("justify-content", "first");
20
test_invalid_value("justify-content", "flex-start flex-end");
21
test_invalid_value("justify-content", "last baseline");
22
test_invalid_value("justify-content", "last");
23
test_invalid_value("justify-content", "legacy center");
24
test_invalid_value("justify-content", "legacy left");
25
test_invalid_value("justify-content", "legacy");
26
test_invalid_value("justify-content", "normal baseline");
27
test_invalid_value("justify-content", "right legacy");
28
test_invalid_value("justify-content", "safe self-end");
29
test_invalid_value("justify-content", "safe");
30
test_invalid_value("justify-content", "self-end unsafe");
31
test_invalid_value("justify-content", "self-start");
32
test_invalid_value("justify-content", "start safe");
33
test_invalid_value("justify-content", "unsafe");
34
</script>
35
</body>
36
</html>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-align/parsing/justify-content-valid-expected.txt +16 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-align/parsing/justify-content-valid-expected.txt_sec1
1
2
PASS e.style['justify-content'] = "normal" should set the property value 
3
PASS e.style['justify-content'] = "space-between" should set the property value 
4
PASS e.style['justify-content'] = "space-around" should set the property value 
5
PASS e.style['justify-content'] = "space-evenly" should set the property value 
6
PASS e.style['justify-content'] = "stretch" should set the property value 
7
PASS e.style['justify-content'] = "center" should set the property value 
8
PASS e.style['justify-content'] = "start" should set the property value 
9
PASS e.style['justify-content'] = "end" should set the property value 
10
PASS e.style['justify-content'] = "flex-start" should set the property value 
11
PASS e.style['justify-content'] = "flex-end" should set the property value 
12
PASS e.style['justify-content'] = "unsafe end" should set the property value 
13
PASS e.style['justify-content'] = "safe flex-start" should set the property value 
14
PASS e.style['justify-content'] = "left" should set the property value 
15
PASS e.style['justify-content'] = "unsafe right" should set the property value 
16
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-align/parsing/justify-content-valid.html +36 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-align/parsing/justify-content-valid.html_sec1
1
<!DOCTYPE html>
2
<html>
3
<head>
4
<meta charset="utf-8">
5
<title>CSS Box Alignment Level 3: parsing justify-content with valid values</title>
6
<link rel="help" href="https://drafts.csswg.org/css-align-3/#propdef-justify-content">
7
<meta name="assert" content="justify-content supports the full grammar 'normal | <content-distribution> | <overflow-position>? [ <content-position> | left | right ]'.">
8
<script src="/resources/testharness.js"></script>
9
<script src="/resources/testharnessreport.js"></script>
10
<script src="/css/support/parsing-testcommon.js"></script>
11
</head>
12
<body>
13
<script>
14
test_valid_value("justify-content", "normal");
15
16
// <content-distribution> = space-between | space-around | space-evenly | stretch
17
test_valid_value("justify-content", "space-between");
18
test_valid_value("justify-content", "space-around");
19
test_valid_value("justify-content", "space-evenly");
20
test_valid_value("justify-content", "stretch");
21
22
// <overflow-position>? [ <content-position> | left | right ]
23
// <overflow-position> = unsafe | safe
24
// <content-position> = center | start | end | flex-start | flex-end
25
test_valid_value("justify-content", "center");
26
test_valid_value("justify-content", "start");
27
test_valid_value("justify-content", "end");
28
test_valid_value("justify-content", "flex-start");
29
test_valid_value("justify-content", "flex-end");
30
test_valid_value("justify-content", "unsafe end");
31
test_valid_value("justify-content", "safe flex-start");
32
test_valid_value("justify-content", "left");
33
test_valid_value("justify-content", "unsafe right");
34
</script>
35
</body>
36
</html>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-align/parsing/justify-items-computed-expected.txt +22 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-align/parsing/justify-items-computed-expected.txt_sec1
1
2
PASS Property justify-items value 'normal' 
3
PASS Property justify-items value 'stretch' 
4
PASS Property justify-items value 'baseline' 
5
PASS Property justify-items value 'last baseline' 
6
PASS Property justify-items value 'center' 
7
PASS Property justify-items value 'start' 
8
PASS Property justify-items value 'end' 
9
PASS Property justify-items value 'self-start' 
10
PASS Property justify-items value 'self-end' 
11
PASS Property justify-items value 'flex-start' 
12
PASS Property justify-items value 'flex-end' 
13
PASS Property justify-items value 'unsafe center' 
14
PASS Property justify-items value 'safe self-end' 
15
PASS Property justify-items value 'right' 
16
PASS Property justify-items value 'safe left' 
17
PASS Property justify-items value 'legacy' 
18
PASS Property justify-items value 'legacy left' 
19
PASS Property justify-items value 'legacy right' 
20
PASS Property justify-items value 'legacy center' 
21
PASS justify-items legacy depends on inherited value 
22
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-align/parsing/justify-items-computed.html +56 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-align/parsing/justify-items-computed.html_sec1
1
<!DOCTYPE html>
2
<html>
3
<head>
4
<meta charset="utf-8">
5
<title>CSS Box Alignment Level 3: getComputedStyle().justifyItems</title>
6
<link rel="help" href="https://drafts.csswg.org/css-align-3/#propdef-justify-items">
7
<meta name="assert" content="justify-items computed value is as specified.">
8
<meta name="assert" content="justify-items legacy depends on inherited value.">
9
<script src="/resources/testharness.js"></script>
10
<script src="/resources/testharnessreport.js"></script>
11
<script src="/css/support/computed-testcommon.js"></script>
12
</head>
13
<body>
14
<div id="container">
15
  <div id="target"></div>
16
</div>
17
<script>
18
test_computed_value("justify-items", "normal");
19
test_computed_value("justify-items", "stretch");
20
21
test_computed_value("justify-items", "baseline");
22
test_computed_value("justify-items", "last baseline");
23
24
test_computed_value("justify-items", "center");
25
test_computed_value("justify-items", "start");
26
test_computed_value("justify-items", "end");
27
test_computed_value("justify-items", "self-start");
28
test_computed_value("justify-items", "self-end");
29
test_computed_value("justify-items", "flex-start");
30
test_computed_value("justify-items", "flex-end");
31
test_computed_value("justify-items", "unsafe center");
32
test_computed_value("justify-items", "safe self-end");
33
test_computed_value("justify-items", "right");
34
test_computed_value("justify-items", "safe left");
35
36
test_computed_value("justify-items", "legacy", "normal");
37
test_computed_value("justify-items", "legacy left");
38
test_computed_value("justify-items", "legacy right");
39
test_computed_value("justify-items", "legacy center");
40
41
test(() => {
42
  const container = document.getElementById('container');
43
  const target = document.getElementById('target');
44
  target.style.justifyItems = 'legacy';
45
  container.style.justifyItems = 'legacy left';
46
  assert_equals(getComputedStyle(target).justifyItems, 'legacy left');
47
  container.style.justifyItems = 'legacy right';
48
  assert_equals(getComputedStyle(target).justifyItems, 'legacy right');
49
  container.style.justifyItems = 'legacy center';
50
  assert_equals(getComputedStyle(target).justifyItems, 'legacy center');
51
  container.style.justifyItems = 'flex-end';
52
  assert_equals(getComputedStyle(target).justifyItems, 'normal');
53
}, 'justify-items legacy depends on inherited value');
54
</script>
55
</body>
56
</html>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-align/parsing/justify-items-invalid-expected.txt +16 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-align/parsing/justify-items-invalid-expected.txt_sec1
1
2
PASS e.style['justify-items'] = "auto" should not set the property value 
3
PASS e.style['justify-items'] = "baseline last" should not set the property value 
4
PASS e.style['justify-items'] = "center baseline" should not set the property value 
5
PASS e.style['justify-items'] = "first" should not set the property value 
6
PASS e.style['justify-items'] = "flex-start flex-end" should not set the property value 
7
PASS e.style['justify-items'] = "last" should not set the property value 
8
PASS e.style['justify-items'] = "normal baseline" should not set the property value 
9
PASS e.style['justify-items'] = "safe" should not set the property value 
10
PASS e.style['justify-items'] = "self-end unsafe" should not set the property value 
11
PASS e.style['justify-items'] = "space-around" should not set the property value 
12
PASS e.style['justify-items'] = "space-between" should not set the property value 
13
PASS e.style['justify-items'] = "space-evenly" should not set the property value 
14
PASS e.style['justify-items'] = "start safe" should not set the property value 
15
PASS e.style['justify-items'] = "unsafe" should not set the property value 
16
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-align/parsing/justify-items-invalid.html +30 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-align/parsing/justify-items-invalid.html_sec1
1
<!DOCTYPE html>
2
<html>
3
<head>
4
<meta charset="utf-8">
5
<title>CSS Box Alignment Level 3: parsing justify-items with invalid values</title>
6
<link rel="help" href="https://drafts.csswg.org/css-align-3/#propdef-justify-items">
7
<meta name="assert" content="justify-items supports only the grammar 'normal | stretch | <baseline-position> | <overflow-position>? [ <self-position> | left | right ] | legacy | legacy && [ left | right | center ]'.">
8
<script src="/resources/testharness.js"></script>
9
<script src="/resources/testharnessreport.js"></script>
10
<script src="/css/support/parsing-testcommon.js"></script>
11
</head>
12
<body>
13
<script>
14
test_invalid_value("justify-items", "auto");
15
test_invalid_value("justify-items", "baseline last");
16
test_invalid_value("justify-items", "center baseline");
17
test_invalid_value("justify-items", "first");
18
test_invalid_value("justify-items", "flex-start flex-end");
19
test_invalid_value("justify-items", "last");
20
test_invalid_value("justify-items", "normal baseline");
21
test_invalid_value("justify-items", "safe");
22
test_invalid_value("justify-items", "self-end unsafe");
23
test_invalid_value("justify-items", "space-around");
24
test_invalid_value("justify-items", "space-between");
25
test_invalid_value("justify-items", "space-evenly");
26
test_invalid_value("justify-items", "start safe");
27
test_invalid_value("justify-items", "unsafe");
28
</script>
29
</body>
30
</html>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-align/parsing/justify-items-valid-expected.txt +22 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-align/parsing/justify-items-valid-expected.txt_sec1
1
2
PASS e.style['justify-items'] = "normal" should set the property value 
3
PASS e.style['justify-items'] = "stretch" should set the property value 
4
PASS e.style['justify-items'] = "baseline" should set the property value 
5
PASS e.style['justify-items'] = "first baseline" should set the property value 
6
PASS e.style['justify-items'] = "last baseline" should set the property value 
7
PASS e.style['justify-items'] = "center" should set the property value 
8
PASS e.style['justify-items'] = "start" should set the property value 
9
PASS e.style['justify-items'] = "end" should set the property value 
10
PASS e.style['justify-items'] = "self-start" should set the property value 
11
PASS e.style['justify-items'] = "self-end" should set the property value 
12
PASS e.style['justify-items'] = "flex-start" should set the property value 
13
PASS e.style['justify-items'] = "flex-end" should set the property value 
14
PASS e.style['justify-items'] = "unsafe center" should set the property value 
15
PASS e.style['justify-items'] = "safe self-end" should set the property value 
16
PASS e.style['justify-items'] = "right" should set the property value 
17
PASS e.style['justify-items'] = "safe left" should set the property value 
18
PASS e.style['justify-items'] = "legacy" should set the property value 
19
PASS e.style['justify-items'] = "left legacy" should set the property value 
20
PASS e.style['justify-items'] = "right legacy" should set the property value 
21
PASS e.style['justify-items'] = "center legacy" should set the property value 
22
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-align/parsing/justify-items-valid.html +44 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-align/parsing/justify-items-valid.html_sec1
1
<!DOCTYPE html>
2
<html>
3
<head>
4
<meta charset="utf-8">
5
<title>CSS Box Alignment Level 3: parsing justify-items with valid values</title>
6
<link rel="help" href="https://drafts.csswg.org/css-align-3/#propdef-justify-items">
7
<meta name="assert" content="justify-items supports the full grammar 'normal | stretch | <baseline-position> | <overflow-position>? [ <self-position> | left | right ] | legacy | legacy && [ left | right | center ]'.">
8
<script src="/resources/testharness.js"></script>
9
<script src="/resources/testharnessreport.js"></script>
10
<script src="/css/support/parsing-testcommon.js"></script>
11
</head>
12
<body>
13
<script>
14
test_valid_value("justify-items", "normal");
15
test_valid_value("justify-items", "stretch");
16
17
// <baseline-position> = [ first | last ]? baseline
18
test_valid_value("justify-items", "baseline");
19
test_valid_value("justify-items", "first baseline", "baseline");
20
test_valid_value("justify-items", "last baseline");
21
22
// <overflow-position>? [ <self-position> | left | right ]
23
// <overflow-position> = unsafe | safe
24
// <self-position> = center | start | end | self-start | self-end | flex-start | flex-end
25
test_valid_value("justify-items", "center");
26
test_valid_value("justify-items", "start");
27
test_valid_value("justify-items", "end");
28
test_valid_value("justify-items", "self-start");
29
test_valid_value("justify-items", "self-end");
30
test_valid_value("justify-items", "flex-start");
31
test_valid_value("justify-items", "flex-end");
32
test_valid_value("justify-items", "unsafe center");
33
test_valid_value("justify-items", "safe self-end");
34
test_valid_value("justify-items", "right");
35
test_valid_value("justify-items", "safe left");
36
37
// legacy | legacy && [ left | right | center ]
38
test_valid_value("justify-items", "legacy");
39
test_valid_value("justify-items", "left legacy", "legacy left");
40
test_valid_value("justify-items", "right legacy", "legacy right");
41
test_valid_value("justify-items", "center legacy", "legacy center");
42
</script>
43
</body>
44
</html>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-align/parsing/justify-self-computed-expected.txt +18 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-align/parsing/justify-self-computed-expected.txt_sec1
1
2
PASS Property justify-self value 'auto' 
3
PASS Property justify-self value 'normal' 
4
PASS Property justify-self value 'stretch' 
5
PASS Property justify-self value 'baseline' 
6
PASS Property justify-self value 'last baseline' 
7
PASS Property justify-self value 'center' 
8
PASS Property justify-self value 'start' 
9
PASS Property justify-self value 'end' 
10
PASS Property justify-self value 'self-start' 
11
PASS Property justify-self value 'self-end' 
12
PASS Property justify-self value 'flex-start' 
13
PASS Property justify-self value 'flex-end' 
14
PASS Property justify-self value 'unsafe center' 
15
PASS Property justify-self value 'safe self-end' 
16
PASS Property justify-self value 'left' 
17
PASS Property justify-self value 'unsafe right' 
18
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-align/parsing/justify-self-computed.html +35 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-align/parsing/justify-self-computed.html_sec1
1
<!DOCTYPE html>
2
<html>
3
<head>
4
<meta charset="utf-8">
5
<title>CSS Box Alignment Level 3: getComputedStyle().justifySelf</title>
6
<link rel="help" href="https://drafts.csswg.org/css-align-3/#propdef-justify-self">
7
<meta name="assert" content="justify-self computed value is as specified.">
8
<script src="/resources/testharness.js"></script>
9
<script src="/resources/testharnessreport.js"></script>
10
<script src="/css/support/computed-testcommon.js"></script>
11
</head>
12
<body>
13
<div id="target"></div>
14
<script>
15
test_computed_value("justify-self", "auto");
16
test_computed_value("justify-self", "normal");
17
test_computed_value("justify-self", "stretch");
18
19
test_computed_value("justify-self", "baseline");
20
test_computed_value("justify-self", "last baseline");
21
22
test_computed_value("justify-self", "center");
23
test_computed_value("justify-self", "start");
24
test_computed_value("justify-self", "end");
25
test_computed_value("justify-self", "self-start");
26
test_computed_value("justify-self", "self-end");
27
test_computed_value("justify-self", "flex-start");
28
test_computed_value("justify-self", "flex-end");
29
test_computed_value("justify-self", "unsafe center");
30
test_computed_value("justify-self", "safe self-end");
31
test_computed_value("justify-self", "left");
32
test_computed_value("justify-self", "unsafe right");
33
</script>
34
</body>
35
</html>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-align/parsing/justify-self-invalid-expected.txt +19 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-align/parsing/justify-self-invalid-expected.txt_sec1
1
2
PASS e.style['justify-self'] = "baseline last" should not set the property value 
3
PASS e.style['justify-self'] = "center baseline" should not set the property value 
4
PASS e.style['justify-self'] = "first" should not set the property value 
5
PASS e.style['justify-self'] = "flex-start flex-end" should not set the property value 
6
PASS e.style['justify-self'] = "last" should not set the property value 
7
PASS e.style['justify-self'] = "legacy center" should not set the property value 
8
PASS e.style['justify-self'] = "legacy left" should not set the property value 
9
PASS e.style['justify-self'] = "legacy" should not set the property value 
10
PASS e.style['justify-self'] = "normal baseline" should not set the property value 
11
PASS e.style['justify-self'] = "right legacy" should not set the property value 
12
PASS e.style['justify-self'] = "safe" should not set the property value 
13
PASS e.style['justify-self'] = "self-end unsafe" should not set the property value 
14
PASS e.style['justify-self'] = "space-around" should not set the property value 
15
PASS e.style['justify-self'] = "space-between" should not set the property value 
16
PASS e.style['justify-self'] = "space-evenly" should not set the property value 
17
PASS e.style['justify-self'] = "start safe" should not set the property value 
18
PASS e.style['justify-self'] = "unsafe" should not set the property value 
19
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-align/parsing/justify-self-invalid.html +33 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-align/parsing/justify-self-invalid.html_sec1
1
<!DOCTYPE html>
2
<html>
3
<head>
4
<meta charset="utf-8">
5
<title>CSS Box Alignment Level 3: parsing justify-self with invalid values</title>
6
<link rel="help" href="https://drafts.csswg.org/css-align-3/#propdef-justify-self">
7
<meta name="assert" content="justify-self supports only the grammar 'auto | normal | stretch | <baseline-position> | <overflow-position>? [ <self-position> | left | right ]'.">
8
<script src="/resources/testharness.js"></script>
9
<script src="/resources/testharnessreport.js"></script>
10
<script src="/css/support/parsing-testcommon.js"></script>
11
</head>
12
<body>
13
<script>
14
test_invalid_value("justify-self", "baseline last");
15
test_invalid_value("justify-self", "center baseline");
16
test_invalid_value("justify-self", "first");
17
test_invalid_value("justify-self", "flex-start flex-end");
18
test_invalid_value("justify-self", "last");
19
test_invalid_value("justify-self", "legacy center");
20
test_invalid_value("justify-self", "legacy left");
21
test_invalid_value("justify-self", "legacy");
22
test_invalid_value("justify-self", "normal baseline");
23
test_invalid_value("justify-self", "right legacy");
24
test_invalid_value("justify-self", "safe");
25
test_invalid_value("justify-self", "self-end unsafe");
26
test_invalid_value("justify-self", "space-around");
27
test_invalid_value("justify-self", "space-between");
28
test_invalid_value("justify-self", "space-evenly");
29
test_invalid_value("justify-self", "start safe");
30
test_invalid_value("justify-self", "unsafe");
31
</script>
32
</body>
33
</html>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-align/parsing/justify-self-valid-expected.txt +19 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-align/parsing/justify-self-valid-expected.txt_sec1
1
2
PASS e.style['justify-self'] = "auto" should set the property value 
3
PASS e.style['justify-self'] = "normal" should set the property value 
4
PASS e.style['justify-self'] = "stretch" should set the property value 
5
PASS e.style['justify-self'] = "baseline" should set the property value 
6
PASS e.style['justify-self'] = "first baseline" should set the property value 
7
PASS e.style['justify-self'] = "last baseline" should set the property value 
8
PASS e.style['justify-self'] = "center" should set the property value 
9
PASS e.style['justify-self'] = "start" should set the property value 
10
PASS e.style['justify-self'] = "end" should set the property value 
11
PASS e.style['justify-self'] = "self-start" should set the property value 
12
PASS e.style['justify-self'] = "self-end" should set the property value 
13
PASS e.style['justify-self'] = "flex-start" should set the property value 
14
PASS e.style['justify-self'] = "flex-end" should set the property value 
15
PASS e.style['justify-self'] = "unsafe center" should set the property value 
16
PASS e.style['justify-self'] = "safe self-end" should set the property value 
17
PASS e.style['justify-self'] = "left" should set the property value 
18
PASS e.style['justify-self'] = "unsafe right" should set the property value 
19
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-align/parsing/justify-self-valid.html +39 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-align/parsing/justify-self-valid.html_sec1
1
<!DOCTYPE html>
2
<html>
3
<head>
4
<meta charset="utf-8">
5
<title>CSS Box Alignment Level 3: parsing justify-self with valid values</title>
6
<link rel="help" href="https://drafts.csswg.org/css-align-3/#propdef-justify-self">
7
<meta name="assert" content="justify-self supports the full grammar 'auto | normal | stretch | <baseline-position> | <overflow-position>? [ <self-position> | left | right ]'.">
8
<script src="/resources/testharness.js"></script>
9
<script src="/resources/testharnessreport.js"></script>
10
<script src="/css/support/parsing-testcommon.js"></script>
11
</head>
12
<body>
13
<script>
14
test_valid_value("justify-self", "auto");
15
test_valid_value("justify-self", "normal");
16
test_valid_value("justify-self", "stretch");
17
18
// <baseline-position> = [ first | last ]? baseline
19
test_valid_value("justify-self", "baseline");
20
test_valid_value("justify-self", "first baseline", "baseline");
21
test_valid_value("justify-self", "last baseline");
22
23
// <overflow-position>? [ <self-position> | left | right ]
24
// <overflow-position> = unsafe | safe
25
// <self-position> = center | start | end | self-start | self-end | flex-start | flex-end
26
test_valid_value("justify-self", "center");
27
test_valid_value("justify-self", "start");
28
test_valid_value("justify-self", "end");
29
test_valid_value("justify-self", "self-start");
30
test_valid_value("justify-self", "self-end");
31
test_valid_value("justify-self", "flex-start");
32
test_valid_value("justify-self", "flex-end");
33
test_valid_value("justify-self", "unsafe center");
34
test_valid_value("justify-self", "safe self-end");
35
test_valid_value("justify-self", "left");
36
test_valid_value("justify-self", "unsafe right");
37
</script>
38
</body>
39
</html>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-align/parsing/place-content-computed-expected.txt +25 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-align/parsing/place-content-computed-expected.txt_sec1
1
2
FAIL Property place-content value 'normal normal' assert_equals: expected "normal" but got "normal normal"
3
FAIL Property place-content value 'first baseline' assert_true: 'first baseline' is a supported value for place-content. expected true got false
4
FAIL Property place-content value 'baseline' assert_true: 'baseline' is a supported value for place-content. expected true got false
5
PASS Property place-content value 'first baseline start' 
6
FAIL Property place-content value 'last baseline' assert_true: 'last baseline' is a supported value for place-content. expected true got false
7
PASS Property place-content value 'first baseline stretch' 
8
PASS Property place-content value 'last baseline flex-start' 
9
PASS Property place-content value 'baseline stretch' 
10
FAIL Property place-content value 'space-between' assert_equals: expected "space-between" but got "space-between space-between"
11
FAIL Property place-content value 'space-around' assert_equals: expected "space-around" but got "space-around space-around"
12
FAIL Property place-content value 'space-evenly' assert_equals: expected "space-evenly" but got "space-evenly space-evenly"
13
FAIL Property place-content value 'stretch' assert_equals: expected "stretch" but got "stretch stretch"
14
FAIL Property place-content value 'center' assert_equals: expected "center" but got "center center"
15
FAIL Property place-content value 'end' assert_equals: expected "end" but got "end end"
16
FAIL Property place-content value 'flex-start flex-start' assert_equals: expected "flex-start" but got "flex-start flex-start"
17
FAIL Property place-content value 'unsafe end unsafe end' assert_equals: expected "unsafe end" but got "unsafe end unsafe end"
18
FAIL Property place-content value 'safe flex-start' assert_equals: expected "safe flex-start" but got "safe flex-start safe flex-start"
19
PASS Property place-content value 'normal stretch' 
20
PASS Property place-content value 'baseline space-around' 
21
PASS Property place-content value 'space-evenly unsafe end' 
22
PASS Property place-content value 'center normal' 
23
PASS Property place-content value 'normal right' 
24
PASS Property place-content value 'baseline unsafe left' 
25
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-align/parsing/place-content-computed.html +46 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-align/parsing/place-content-computed.html_sec1
1
<!DOCTYPE html>
2
<html>
3
<head>
4
<meta charset="utf-8">
5
<title>CSS Box Alignment Level 3: getComputedStyle().placeContent</title>
6
<link rel="help" href="https://drafts.csswg.org/css-align-3/#propdef-place-content">
7
<meta name="assert" content="place-content computed value is as specified.">
8
<script src="/resources/testharness.js"></script>
9
<script src="/resources/testharnessreport.js"></script>
10
<script src="/css/support/computed-testcommon.js"></script>
11
</head>
12
<body>
13
<div id="target"></div>
14
<script>
15
test_computed_value("place-content", "normal normal", "normal");
16
17
test_computed_value("place-content", "first baseline", "baseline start");
18
test_computed_value("place-content", "baseline", "baseline start");
19
test_computed_value("place-content", "first baseline start", "baseline start");
20
test_computed_value("place-content", "last baseline", "last baseline start");
21
test_computed_value("place-content", "first baseline stretch", "baseline stretch");
22
test_computed_value("place-content", "last baseline flex-start");
23
24
test_computed_value("place-content", "baseline stretch");
25
26
test_computed_value("place-content", "space-between");
27
test_computed_value("place-content", "space-around");
28
test_computed_value("place-content", "space-evenly");
29
test_computed_value("place-content", "stretch");
30
31
test_computed_value("place-content", "center");
32
test_computed_value("place-content", "end");
33
test_computed_value("place-content", "flex-start flex-start", "flex-start");
34
test_computed_value("place-content", "unsafe end unsafe end", "unsafe end");
35
test_computed_value("place-content", "safe flex-start");
36
37
test_computed_value("place-content", "normal stretch");
38
test_computed_value("place-content", "baseline space-around");
39
test_computed_value("place-content", "space-evenly unsafe end");
40
test_computed_value("place-content", "center normal");
41
42
test_computed_value("place-content", "normal right");
43
test_computed_value("place-content", "baseline unsafe left");
44
</script>
45
</body>
46
</html>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-align/parsing/place-content-invalid-expected.txt +12 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-align/parsing/place-content-invalid-expected.txt_sec1
1
2
PASS e.style['place-content'] = "auto" should not set the property value 
3
PASS e.style['place-content'] = "self-end unsafe" should not set the property value 
4
PASS e.style['place-content'] = "self-start" should not set the property value 
5
PASS e.style['place-content'] = "left" should not set the property value 
6
PASS e.style['place-content'] = "unsafe right" should not set the property value 
7
PASS e.style['place-content'] = "left normal" should not set the property value 
8
PASS e.style['place-content'] = "unsafe right stretch" should not set the property value 
9
PASS e.style['place-content'] = "normal flex-start baseline" should not set the property value 
10
PASS e.style['place-content'] = "first baseline first baseline" should not set the property value 
11
PASS e.style['place-content'] = "baseline safe" should not set the property value 
12
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-align/parsing/place-content-invalid.html +30 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-align/parsing/place-content-invalid.html_sec1
1
<!DOCTYPE html>
2
<html>
3
<head>
4
<meta charset="utf-8">
5
<title>CSS Box Alignment Level 3: parsing place-content with invalid values</title>
6
<link rel="help" href="https://drafts.csswg.org/css-align-3/#propdef-place-content">
7
<meta name="assert" content="place-content supports only the grammar '<align-content> <justify-content>?'.">
8
<script src="/resources/testharness.js"></script>
9
<script src="/resources/testharnessreport.js"></script>
10
<script src="/css/support/parsing-testcommon.js"></script>
11
</head>
12
<body>
13
<script>
14
test_invalid_value("place-content", "auto");
15
16
test_invalid_value("place-content", "self-end unsafe");
17
test_invalid_value("place-content", "self-start");
18
19
test_invalid_value("place-content", "left");
20
test_invalid_value("place-content", "unsafe right");
21
test_invalid_value("place-content", "left normal");
22
test_invalid_value("place-content", "unsafe right stretch");
23
24
test_invalid_value("place-content", "normal flex-start baseline");
25
test_invalid_value("place-content", "first baseline first baseline");
26
27
test_invalid_value("place-content", "baseline safe");
28
</script>
29
</body>
30
</html>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-align/parsing/place-content-shorthand-expected.txt +17 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-align/parsing/place-content-shorthand-expected.txt_sec1
1
2
PASS e.style['place-content'] = "normal" should set align-content 
3
PASS e.style['place-content'] = "normal" should set justify-content 
4
PASS e.style['place-content'] = "normal" should not set unrelated longhands 
5
FAIL e.style['place-content'] = "first baseline" should set align-content assert_equals: align-content should be canonical expected "baseline" but got ""
6
FAIL e.style['place-content'] = "first baseline" should set justify-content assert_equals: justify-content should be canonical expected "start" but got ""
7
FAIL e.style['place-content'] = "first baseline" should not set unrelated longhands assert_true: expected true got false
8
PASS e.style['place-content'] = "last baseline flex-start" should set align-content 
9
PASS e.style['place-content'] = "last baseline flex-start" should set justify-content 
10
PASS e.style['place-content'] = "last baseline flex-start" should not set unrelated longhands 
11
PASS e.style['place-content'] = "space-around" should set align-content 
12
PASS e.style['place-content'] = "space-around" should set justify-content 
13
PASS e.style['place-content'] = "space-around" should not set unrelated longhands 
14
PASS e.style['place-content'] = "space-evenly unsafe end" should set align-content 
15
PASS e.style['place-content'] = "space-evenly unsafe end" should set justify-content 
16
PASS e.style['place-content'] = "space-evenly unsafe end" should not set unrelated longhands 
17
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-align/parsing/place-content-shorthand.html +40 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-align/parsing/place-content-shorthand.html_sec1
1
<!DOCTYPE html>
2
<html>
3
<head>
4
<meta charset="utf-8">
5
<title>CSS Box Alignment Level 3: place-content sets longhands</title>
6
<link rel="help" href="https://drafts.csswg.org/css-align-3/#propdef-place-content">
7
<meta name="assert" content="place-content supports the full grammar '<align-content> <justify-content>?'.">
8
<script src="/resources/testharness.js"></script>
9
<script src="/resources/testharnessreport.js"></script>
10
<script src="/css/support/shorthand-testcommon.js"></script>
11
</head>
12
<body>
13
<script>
14
test_shorthand_value('place-content', 'normal', {
15
  'align-content': 'normal',
16
  'justify-content': 'normal'
17
});
18
19
test_shorthand_value('place-content', 'first baseline', {
20
  'align-content': 'baseline',
21
  'justify-content': 'start'
22
});
23
24
test_shorthand_value('place-content', 'last baseline flex-start', {
25
  'align-content': 'last baseline',
26
  'justify-content': 'flex-start'
27
});
28
29
test_shorthand_value('place-content', 'space-around', {
30
  'align-content': 'space-around',
31
  'justify-content': 'space-around'
32
});
33
34
test_shorthand_value('place-content', 'space-evenly unsafe end', {
35
  'align-content': 'space-evenly',
36
  'justify-content': 'unsafe end'
37
});
38
</script>
39
</body>
40
</html>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-align/parsing/place-content-valid-expected.txt +25 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-align/parsing/place-content-valid-expected.txt_sec1
1
2
PASS e.style['place-content'] = "normal normal" should set the property value 
3
FAIL e.style['place-content'] = "first baseline" should set the property value assert_not_equals: property should be set got disallowed value ""
4
FAIL e.style['place-content'] = "baseline" should set the property value assert_not_equals: property should be set got disallowed value ""
5
PASS e.style['place-content'] = "first baseline start" should set the property value 
6
FAIL e.style['place-content'] = "last baseline" should set the property value assert_not_equals: property should be set got disallowed value ""
7
PASS e.style['place-content'] = "first baseline stretch" should set the property value 
8
PASS e.style['place-content'] = "last baseline flex-start" should set the property value 
9
PASS e.style['place-content'] = "baseline stretch" should set the property value 
10
PASS e.style['place-content'] = "space-between" should set the property value 
11
PASS e.style['place-content'] = "space-around" should set the property value 
12
PASS e.style['place-content'] = "space-evenly" should set the property value 
13
PASS e.style['place-content'] = "stretch" should set the property value 
14
PASS e.style['place-content'] = "center" should set the property value 
15
PASS e.style['place-content'] = "end" should set the property value 
16
PASS e.style['place-content'] = "flex-start flex-start" should set the property value 
17
PASS e.style['place-content'] = "unsafe end unsafe end" should set the property value 
18
PASS e.style['place-content'] = "safe flex-start" should set the property value 
19
PASS e.style['place-content'] = "normal stretch" should set the property value 
20
PASS e.style['place-content'] = "baseline space-around" should set the property value 
21
PASS e.style['place-content'] = "space-evenly unsafe end" should set the property value 
22
PASS e.style['place-content'] = "center normal" should set the property value 
23
PASS e.style['place-content'] = "normal right" should set the property value 
24
PASS e.style['place-content'] = "baseline unsafe left" should set the property value 
25
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-align/parsing/place-content-valid.html +46 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-align/parsing/place-content-valid.html_sec1
1
<!DOCTYPE html>
2
<html>
3
<head>
4
<meta charset="utf-8">
5
<title>CSS Box Alignment Level 3: parsing place-content with valid values</title>
6
<link rel="help" href="https://drafts.csswg.org/css-align-3/#propdef-place-content">
7
<meta name="assert" content="place-content supports the full grammar '<align-content> <justify-content>?'.">
8
<meta name="assert" content="<baseline-position> and <baseline-position> start are equivalent.">
9
<script src="/resources/testharness.js"></script>
10
<script src="/resources/testharnessreport.js"></script>
11
<script src="/css/support/parsing-testcommon.js"></script>
12
</head>
13
<body>
14
<script>
15
test_valid_value("place-content", "normal normal", "normal");
16
17
test_valid_value("place-content", "first baseline", "baseline start");
18
test_valid_value("place-content", "baseline", "baseline start");
19
test_valid_value("place-content", "first baseline start", "baseline start");
20
test_valid_value("place-content", "last baseline", "last baseline start");
21
test_valid_value("place-content", "first baseline stretch", "baseline stretch");
22
test_valid_value("place-content", "last baseline flex-start");
23
24
test_valid_value("place-content", "baseline stretch");
25
26
test_valid_value("place-content", "space-between");
27
test_valid_value("place-content", "space-around");
28
test_valid_value("place-content", "space-evenly");
29
test_valid_value("place-content", "stretch");
30
31
test_valid_value("place-content", "center");
32
test_valid_value("place-content", "end");
33
test_valid_value("place-content", "flex-start flex-start", "flex-start");
34
test_valid_value("place-content", "unsafe end unsafe end", "unsafe end");
35
test_valid_value("place-content", "safe flex-start");
36
37
test_valid_value("place-content", "normal stretch");
38
test_valid_value("place-content", "baseline space-around");
39
test_valid_value("place-content", "space-evenly unsafe end");
40
test_valid_value("place-content", "center normal");
41
42
test_valid_value("place-content", "normal right");
43
test_valid_value("place-content", "baseline unsafe left");
44
</script>
45
</body>
46
</html>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-align/parsing/place-items-computed-expected.txt +20 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-align/parsing/place-items-computed-expected.txt_sec1
1
2
FAIL Property place-items value 'normal' assert_equals: expected "normal" but got "normal normal"
3
FAIL Property place-items value 'stretch stretch' assert_equals: expected "stretch" but got "stretch stretch"
4
FAIL Property place-items value 'first baseline' assert_equals: expected "baseline" but got "baseline baseline"
5
FAIL Property place-items value 'last baseline last baseline' assert_equals: expected "last baseline" but got "last baseline last baseline"
6
FAIL Property place-items value 'center' assert_equals: expected "center" but got "center center"
7
FAIL Property place-items value 'end end' assert_equals: expected "end" but got "end end"
8
FAIL Property place-items value 'self-start' assert_equals: expected "self-start" but got "self-start self-start"
9
FAIL Property place-items value 'flex-end' assert_equals: expected "flex-end" but got "flex-end flex-end"
10
FAIL Property place-items value 'unsafe center unsafe center' assert_equals: expected "unsafe center" but got "unsafe center unsafe center"
11
FAIL Property place-items value 'safe self-end' assert_equals: expected "safe self-end" but got "safe self-end safe self-end"
12
PASS Property place-items value 'stretch baseline' 
13
PASS Property place-items value 'last baseline center' 
14
PASS Property place-items value 'safe self-end normal' 
15
PASS Property place-items value 'normal right' 
16
PASS Property place-items value 'baseline unsafe left' 
17
PASS Property place-items value 'flex-end legacy' 
18
PASS Property place-items value 'stretch legacy left' 
19
PASS Property place-items value 'first baseline right legacy' 
20
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-align/parsing/place-items-computed.html +52 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-align/parsing/place-items-computed.html_sec1
1
<!DOCTYPE html>
2
<html>
3
<head>
4
<meta charset="utf-8">
5
<title>CSS Box Alignment Level 3: getComputedStyle().placeItems</title>
6
<link rel="help" href="https://drafts.csswg.org/css-align-3/#propdef-place-items">
7
<meta name="assert" content="place-items computed value is as specified.">
8
<script src="/resources/testharness.js"></script>
9
<script src="/resources/testharnessreport.js"></script>
10
<script src="/css/support/computed-testcommon.js"></script>
11
<style>
12
  #grandparent {
13
    justify-items: legacy center;
14
  }
15
  #parent {
16
    justify-items: legacy;
17
  }
18
</style>
19
</head>
20
<body>
21
<div id="grandparent">
22
  <div id="parent">
23
    <div id="target"></div>
24
  </div>
25
<script>
26
test_computed_value("place-items", "normal");
27
test_computed_value("place-items", "stretch stretch", "stretch");
28
29
test_computed_value("place-items", "first baseline", "baseline");
30
test_computed_value("place-items", "last baseline last baseline", "last baseline");
31
32
test_computed_value("place-items", "center");
33
test_computed_value("place-items", "end end", "end");
34
test_computed_value("place-items", "self-start");
35
test_computed_value("place-items", "flex-end");
36
test_computed_value("place-items", "unsafe center unsafe center", "unsafe center");
37
test_computed_value("place-items", "safe self-end");
38
39
test_computed_value("place-items", "stretch baseline");
40
test_computed_value("place-items", "last baseline center");
41
test_computed_value("place-items", "safe self-end normal");
42
43
test_computed_value("place-items", "normal right");
44
test_computed_value("place-items", "baseline unsafe left");
45
46
// When specified justify-items is legacy, computed value depends on inherited value.
47
test_computed_value("place-items", "flex-end legacy", "flex-end legacy center");
48
test_computed_value("place-items", "stretch legacy left");
49
test_computed_value("place-items", "first baseline right legacy", "baseline legacy right");
50
</script>
51
</body>
52
</html>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-align/parsing/place-items-invalid-expected.txt +17 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-align/parsing/place-items-invalid-expected.txt_sec1
1
2
PASS e.style['place-items'] = "auto" should not set the property value 
3
PASS e.style['place-items'] = "space-around" should not set the property value 
4
PASS e.style['place-items'] = "space-between" should not set the property value 
5
PASS e.style['place-items'] = "space-evenly" should not set the property value 
6
PASS e.style['place-items'] = "left" should not set the property value 
7
PASS e.style['place-items'] = "unsafe right" should not set the property value 
8
PASS e.style['place-items'] = "left baseline" should not set the property value 
9
PASS e.style['place-items'] = "unsafe right flex-end" should not set the property value 
10
PASS e.style['place-items'] = "legacy center" should not set the property value 
11
PASS e.style['place-items'] = "legacy left" should not set the property value 
12
PASS e.style['place-items'] = "legacy" should not set the property value 
13
PASS e.style['place-items'] = "legacy right flex-start" should not set the property value 
14
PASS e.style['place-items'] = "legacy normal" should not set the property value 
15
PASS e.style['place-items'] = "normal flex-start baseline" should not set the property value 
16
PASS e.style['place-items'] = "baseline safe" should not set the property value 
17
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-align/parsing/place-items-invalid.html +36 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-align/parsing/place-items-invalid.html_sec1
1
<!DOCTYPE html>
2
<html>
3
<head>
4
<meta charset="utf-8">
5
<title>CSS Box Alignment Level 3: parsing place-items with invalid values</title>
6
<link rel="help" href="https://drafts.csswg.org/css-align-3/#propdef-place-items">
7
<meta name="assert" content="place-items supports only the grammar '<align-items> <justify-items>?'.">
8
<script src="/resources/testharness.js"></script>
9
<script src="/resources/testharnessreport.js"></script>
10
<script src="/css/support/parsing-testcommon.js"></script>
11
</head>
12
<body>
13
<script>
14
test_invalid_value("place-items", "auto");
15
16
test_invalid_value("place-items", "space-around");
17
test_invalid_value("place-items", "space-between");
18
test_invalid_value("place-items", "space-evenly");
19
20
test_invalid_value("place-items", "left");
21
test_invalid_value("place-items", "unsafe right");
22
test_invalid_value("place-items", "left baseline");
23
test_invalid_value("place-items", "unsafe right flex-end");
24
25
test_invalid_value("place-items", "legacy center");
26
test_invalid_value("place-items", "legacy left");
27
test_invalid_value("place-items", "legacy");
28
test_invalid_value("place-items", "legacy right flex-start");
29
test_invalid_value("place-items", "legacy normal");
30
31
test_invalid_value("place-items", "normal flex-start baseline");
32
33
test_invalid_value("place-items", "baseline safe");
34
</script>
35
</body>
36
</html>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-align/parsing/place-items-shorthand-expected.txt +14 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-align/parsing/place-items-shorthand-expected.txt_sec1
1
2
PASS e.style['place-items'] = "normal" should set align-items 
3
PASS e.style['place-items'] = "normal" should set justify-items 
4
PASS e.style['place-items'] = "normal" should not set unrelated longhands 
5
PASS e.style['place-items'] = "first baseline" should set align-items 
6
PASS e.style['place-items'] = "first baseline" should set justify-items 
7
PASS e.style['place-items'] = "first baseline" should not set unrelated longhands 
8
PASS e.style['place-items'] = "last baseline flex-start" should set align-items 
9
PASS e.style['place-items'] = "last baseline flex-start" should set justify-items 
10
PASS e.style['place-items'] = "last baseline flex-start" should not set unrelated longhands 
11
PASS e.style['place-items'] = "stretch right legacy" should set align-items 
12
PASS e.style['place-items'] = "stretch right legacy" should set justify-items 
13
PASS e.style['place-items'] = "stretch right legacy" should not set unrelated longhands 
14
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-align/parsing/place-items-shorthand.html +35 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-align/parsing/place-items-shorthand.html_sec1
1
<!DOCTYPE html>
2
<html>
3
<head>
4
<meta charset="utf-8">
5
<title>CSS Box Alignment Level 3: place-items sets longhands</title>
6
<link rel="help" href="https://drafts.csswg.org/css-align-3/#propdef-place-items">
7
<meta name="assert" content="place-items supports the full grammar '<align-items> <justify-items>?'.">
8
<script src="/resources/testharness.js"></script>
9
<script src="/resources/testharnessreport.js"></script>
10
<script src="/css/support/shorthand-testcommon.js"></script>
11
</head>
12
<body>
13
<script>
14
test_shorthand_value('place-items', 'normal', {
15
  'align-items': 'normal',
16
  'justify-items': 'normal'
17
});
18
19
test_shorthand_value('place-items', 'first baseline', {
20
  'align-items': 'baseline',
21
  'justify-items': 'baseline'
22
});
23
24
test_shorthand_value('place-items', 'last baseline flex-start', {
25
  'align-items': 'last baseline',
26
  'justify-items': 'flex-start'
27
});
28
29
test_shorthand_value('place-items', 'stretch right legacy', {
30
  'align-items': 'stretch',
31
  'justify-items': 'legacy right'
32
});
33
</script>
34
</body>
35
</html>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-align/parsing/place-items-valid-expected.txt +20 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-align/parsing/place-items-valid-expected.txt_sec1
1
2
PASS e.style['place-items'] = "normal" should set the property value 
3
PASS e.style['place-items'] = "stretch stretch" should set the property value 
4
PASS e.style['place-items'] = "first baseline" should set the property value 
5
PASS e.style['place-items'] = "last baseline last baseline" should set the property value 
6
PASS e.style['place-items'] = "center" should set the property value 
7
PASS e.style['place-items'] = "end end" should set the property value 
8
PASS e.style['place-items'] = "self-start" should set the property value 
9
PASS e.style['place-items'] = "flex-end" should set the property value 
10
PASS e.style['place-items'] = "unsafe center unsafe center" should set the property value 
11
PASS e.style['place-items'] = "safe self-end" should set the property value 
12
PASS e.style['place-items'] = "stretch baseline" should set the property value 
13
PASS e.style['place-items'] = "last baseline center" should set the property value 
14
PASS e.style['place-items'] = "safe self-end normal" should set the property value 
15
PASS e.style['place-items'] = "normal right" should set the property value 
16
PASS e.style['place-items'] = "baseline unsafe left" should set the property value 
17
PASS e.style['place-items'] = "flex-end legacy" should set the property value 
18
PASS e.style['place-items'] = "stretch legacy left" should set the property value 
19
PASS e.style['place-items'] = "first baseline right legacy" should set the property value 
20
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-align/parsing/place-items-valid.html +39 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-align/parsing/place-items-valid.html_sec1
1
<!DOCTYPE html>
2
<html>
3
<head>
4
<meta charset="utf-8">
5
<title>CSS Box Alignment Level 3: parsing place-items with valid values</title>
6
<link rel="help" href="https://drafts.csswg.org/css-align-3/#propdef-place-items">
7
<meta name="assert" content="place-items supports the full grammar '<align-items> <justify-items>?'.">
8
<script src="/resources/testharness.js"></script>
9
<script src="/resources/testharnessreport.js"></script>
10
<script src="/css/support/parsing-testcommon.js"></script>
11
</head>
12
<body>
13
<script>
14
test_valid_value("place-items", "normal");
15
test_valid_value("place-items", "stretch stretch", "stretch");
16
17
test_valid_value("place-items", "first baseline", "baseline");
18
test_valid_value("place-items", "last baseline last baseline", "last baseline");
19
20
test_valid_value("place-items", "center");
21
test_valid_value("place-items", "end end", "end");
22
test_valid_value("place-items", "self-start");
23
test_valid_value("place-items", "flex-end");
24
test_valid_value("place-items", "unsafe center unsafe center", "unsafe center");
25
test_valid_value("place-items", "safe self-end");
26
27
test_valid_value("place-items", "stretch baseline");
28
test_valid_value("place-items", "last baseline center");
29
test_valid_value("place-items", "safe self-end normal");
30
31
test_valid_value("place-items", "normal right");
32
test_valid_value("place-items", "baseline unsafe left");
33
34
test_valid_value("place-items", "flex-end legacy");
35
test_valid_value("place-items", "stretch legacy left");
36
test_valid_value("place-items", "first baseline right legacy", "baseline legacy right");
37
</script>
38
</body>
39
</html>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-align/parsing/place-self-computed-expected.txt +18 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-align/parsing/place-self-computed-expected.txt_sec1
1
2
FAIL Property place-self value 'auto auto' assert_equals: expected "auto" but got "auto auto"
3
FAIL Property place-self value 'normal' assert_equals: expected "normal" but got "normal normal"
4
FAIL Property place-self value 'stretch' assert_equals: expected "stretch" but got "stretch stretch"
5
FAIL Property place-self value 'first baseline' assert_equals: expected "baseline" but got "baseline baseline"
6
FAIL Property place-self value 'last baseline last baseline' assert_equals: expected "last baseline" but got "last baseline last baseline"
7
FAIL Property place-self value 'center center' assert_equals: expected "center" but got "center center"
8
FAIL Property place-self value 'start' assert_equals: expected "start" but got "start start"
9
FAIL Property place-self value 'self-start' assert_equals: expected "self-start" but got "self-start self-start"
10
FAIL Property place-self value 'flex-end' assert_equals: expected "flex-end" but got "flex-end flex-end"
11
FAIL Property place-self value 'unsafe center' assert_equals: expected "unsafe center" but got "unsafe center unsafe center"
12
FAIL Property place-self value 'safe self-end safe self-end' assert_equals: expected "safe self-end" but got "safe self-end safe self-end"
13
PASS Property place-self value 'auto last baseline' 
14
PASS Property place-self value 'baseline flex-end' 
15
PASS Property place-self value 'unsafe center stretch' 
16
PASS Property place-self value 'normal right' 
17
PASS Property place-self value 'baseline unsafe left' 
18
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-align/parsing/place-self-computed.html +37 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-align/parsing/place-self-computed.html_sec1
1
<!DOCTYPE html>
2
<html>
3
<head>
4
<meta charset="utf-8">
5
<title>CSS Box Alignment Level 3: getComputedStyle().placeSelf</title>
6
<link rel="help" href="https://drafts.csswg.org/css-align-3/#propdef-place-self">
7
<meta name="assert" content="place-self computed value is as specified.">
8
<script src="/resources/testharness.js"></script>
9
<script src="/resources/testharnessreport.js"></script>
10
<script src="/css/support/computed-testcommon.js"></script>
11
</head>
12
<body>
13
<div id="target"></div>
14
<script>
15
test_computed_value("place-self", "auto auto", "auto");
16
test_computed_value("place-self", "normal");
17
test_computed_value("place-self", "stretch");
18
19
test_computed_value("place-self", "first baseline", "baseline");
20
test_computed_value("place-self", "last baseline last baseline", "last baseline");
21
22
test_computed_value("place-self", "center center", "center");
23
test_computed_value("place-self", "start");
24
test_computed_value("place-self", "self-start");
25
test_computed_value("place-self", "flex-end");
26
test_computed_value("place-self", "unsafe center");
27
test_computed_value("place-self", "safe self-end safe self-end", "safe self-end");
28
29
test_computed_value("place-self", "auto last baseline");
30
test_computed_value("place-self", "baseline flex-end");
31
test_computed_value("place-self", "unsafe center stretch");
32
33
test_computed_value("place-self", "normal right");
34
test_computed_value("place-self", "baseline unsafe left");
35
</script>
36
</body>
37
</html>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-align/parsing/place-self-invalid-expected.txt +11 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-align/parsing/place-self-invalid-expected.txt_sec1
1
2
PASS e.style['place-self'] = "space-around" should not set the property value 
3
PASS e.style['place-self'] = "space-between" should not set the property value 
4
PASS e.style['place-self'] = "space-evenly" should not set the property value 
5
PASS e.style['place-self'] = "right" should not set the property value 
6
PASS e.style['place-self'] = "unsafe left" should not set the property value 
7
PASS e.style['place-self'] = "right start" should not set the property value 
8
PASS e.style['place-self'] = "unsafe left stretch" should not set the property value 
9
PASS e.style['place-self'] = "normal flex-start baseline" should not set the property value 
10
PASS e.style['place-self'] = "baseline safe" should not set the property value 
11
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-align/parsing/place-self-invalid.html +28 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-align/parsing/place-self-invalid.html_sec1
1
<!DOCTYPE html>
2
<html>
3
<head>
4
<meta charset="utf-8">
5
<title>CSS Box Alignment Level 3: parsing place-self with invalid values</title>
6
<link rel="help" href="https://drafts.csswg.org/css-align-3/#propdef-place-self">
7
<meta name="assert" content="place-self supports only the grammar '<align-self> <justify-self>?'.">
8
<script src="/resources/testharness.js"></script>
9
<script src="/resources/testharnessreport.js"></script>
10
<script src="/css/support/parsing-testcommon.js"></script>
11
</head>
12
<body>
13
<script>
14
test_invalid_value("place-self", "space-around");
15
test_invalid_value("place-self", "space-between");
16
test_invalid_value("place-self", "space-evenly");
17
18
test_invalid_value("place-self", "right");
19
test_invalid_value("place-self", "unsafe left");
20
test_invalid_value("place-self", "right start");
21
test_invalid_value("place-self", "unsafe left stretch");
22
23
test_invalid_value("place-self", "normal flex-start baseline");
24
25
test_invalid_value("place-self", "baseline safe");
26
</script>
27
</body>
28
</html>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-align/parsing/place-self-shorthand-expected.txt +14 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-align/parsing/place-self-shorthand-expected.txt_sec1
1
2
PASS e.style['place-self'] = "normal" should set align-self 
3
PASS e.style['place-self'] = "normal" should set justify-self 
4
PASS e.style['place-self'] = "normal" should not set unrelated longhands 
5
PASS e.style['place-self'] = "first baseline" should set align-self 
6
PASS e.style['place-self'] = "first baseline" should set justify-self 
7
PASS e.style['place-self'] = "first baseline" should not set unrelated longhands 
8
PASS e.style['place-self'] = "last baseline flex-start" should set align-self 
9
PASS e.style['place-self'] = "last baseline flex-start" should set justify-self 
10
PASS e.style['place-self'] = "last baseline flex-start" should not set unrelated longhands 
11
PASS e.style['place-self'] = "unsafe self-start stretch" should set align-self 
12
PASS e.style['place-self'] = "unsafe self-start stretch" should set justify-self 
13
PASS e.style['place-self'] = "unsafe self-start stretch" should not set unrelated longhands 
14
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-align/parsing/place-self-shorthand.html +36 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-align/parsing/place-self-shorthand.html_sec1
1
<!DOCTYPE html>
2
<html>
3
<head>
4
<meta charset="utf-8">
5
<title>CSS Box Alignment Level 3: place-self sets longhands</title>
6
<link rel="help" href="https://drafts.csswg.org/css-align-3/#propdef-place-self">
7
<meta name="assert" content="place-self supports the full grammar '<align-self> <justify-self>?'.">
8
<meta name="assert" content="<baseline-position> and <baseline-position> start are equivalent.">
9
<script src="/resources/testharness.js"></script>
10
<script src="/resources/testharnessreport.js"></script>
11
<script src="/css/support/shorthand-testcommon.js"></script>
12
</head>
13
<body>
14
<script>
15
test_shorthand_value('place-self', 'normal', {
16
  'align-self': 'normal',
17
  'justify-self': 'normal'
18
});
19
20
test_shorthand_value('place-self', 'first baseline', {
21
  'align-self': 'baseline',
22
  'justify-self': 'baseline'
23
});
24
25
test_shorthand_value('place-self', 'last baseline flex-start', {
26
  'align-self': 'last baseline',
27
  'justify-self': 'flex-start'
28
});
29
30
test_shorthand_value('place-self', 'unsafe self-start stretch', {
31
  'align-self': 'unsafe self-start',
32
  'justify-self': 'stretch'
33
});
34
</script>
35
</body>
36
</html>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-align/parsing/place-self-valid-expected.txt +18 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-align/parsing/place-self-valid-expected.txt_sec1
1
2
PASS e.style['place-self'] = "auto auto" should set the property value 
3
PASS e.style['place-self'] = "normal" should set the property value 
4
PASS e.style['place-self'] = "stretch" should set the property value 
5
PASS e.style['place-self'] = "first baseline" should set the property value 
6
PASS e.style['place-self'] = "last baseline last baseline" should set the property value 
7
PASS e.style['place-self'] = "center center" should set the property value 
8
PASS e.style['place-self'] = "start" should set the property value 
9
PASS e.style['place-self'] = "self-start" should set the property value 
10
PASS e.style['place-self'] = "flex-end" should set the property value 
11
PASS e.style['place-self'] = "unsafe center" should set the property value 
12
PASS e.style['place-self'] = "safe self-end safe self-end" should set the property value 
13
PASS e.style['place-self'] = "auto last baseline" should set the property value 
14
PASS e.style['place-self'] = "baseline flex-end" should set the property value 
15
PASS e.style['place-self'] = "unsafe center stretch" should set the property value 
16
PASS e.style['place-self'] = "normal right" should set the property value 
17
PASS e.style['place-self'] = "baseline unsafe left" should set the property value 
18
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-align/parsing/place-self-valid.html +36 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-align/parsing/place-self-valid.html_sec1
1
<!DOCTYPE html>
2
<html>
3
<head>
4
<meta charset="utf-8">
5
<title>CSS Box Alignment Level 3: parsing place-self with valid values</title>
6
<link rel="help" href="https://drafts.csswg.org/css-align-3/#propdef-place-self">
7
<meta name="assert" content="place-self supports the full grammar '<align-self> <justify-self>?'.">
8
<script src="/resources/testharness.js"></script>
9
<script src="/resources/testharnessreport.js"></script>
10
<script src="/css/support/parsing-testcommon.js"></script>
11
</head>
12
<body>
13
<script>
14
test_valid_value("place-self", "auto auto", "auto");
15
test_valid_value("place-self", "normal");
16
test_valid_value("place-self", "stretch");
17
18
test_valid_value("place-self", "first baseline", "baseline");
19
test_valid_value("place-self", "last baseline last baseline", "last baseline");
20
21
test_valid_value("place-self", "center center", "center");
22
test_valid_value("place-self", "start");
23
test_valid_value("place-self", "self-start");
24
test_valid_value("place-self", "flex-end");
25
test_valid_value("place-self", "unsafe center");
26
test_valid_value("place-self", "safe self-end safe self-end", "safe self-end");
27
28
test_valid_value("place-self", "auto last baseline");
29
test_valid_value("place-self", "baseline flex-end");
30
test_valid_value("place-self", "unsafe center stretch");
31
32
test_valid_value("place-self", "normal right");
33
test_valid_value("place-self", "baseline unsafe left");
34
</script>
35
</body>
36
</html>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-align/parsing/row-gap-computed-expected.txt +8 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-align/parsing/row-gap-computed-expected.txt_sec1
1
2
PASS Property row-gap value 'normal' 
3
PASS Property row-gap value '10px' 
4
PASS Property row-gap value '20%' 
5
PASS Property row-gap value 'calc(20% + 10px)' 
6
PASS Property row-gap value 'calc(-0.5em + 10px)' 
7
PASS Property row-gap value 'calc(0.5em + 10px)' 
8
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-align/parsing/row-gap-computed.html +30 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-align/parsing/row-gap-computed.html_sec1
1
<!DOCTYPE html>
2
<html>
3
<head>
4
<meta charset="utf-8">
5
<title>CSS Box Alignment Level 3: getComputedStyle().rowGap</title>
6
<link rel="help" href="https://drafts.csswg.org/css-align-3/#propdef-row-gap">
7
<meta name="assert" content="row-gap computed value is a specified keyword or a computed <length-percentage>.">
8
<script src="/resources/testharness.js"></script>
9
<script src="/resources/testharnessreport.js"></script>
10
<script src="/css/support/computed-testcommon.js"></script>
11
<style>
12
  #target {
13
    font-size: 40px;
14
  }
15
</style>
16
</head>
17
<body>
18
<div id="target"></div>
19
<script>
20
test_computed_value("row-gap", "normal");
21
22
test_computed_value("row-gap", "10px");
23
test_computed_value("row-gap", "20%");
24
test_computed_value("row-gap", "calc(20% + 10px)");
25
26
test_computed_value("row-gap", "calc(-0.5em + 10px)", "0px");
27
test_computed_value("row-gap", "calc(0.5em + 10px)", "30px");
28
</script>
29
</body>
30
</html>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-align/parsing/row-gap-invalid-expected.txt +6 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-align/parsing/row-gap-invalid-expected.txt_sec1
1
2
PASS e.style['row-gap'] = "auto" should not set the property value 
3
PASS e.style['row-gap'] = "-10px" should not set the property value 
4
PASS e.style['row-gap'] = "10px 20%" should not set the property value 
5
PASS e.style['row-gap'] = "normal 10px" should not set the property value 
6
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-align/parsing/row-gap-invalid.html +21 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-align/parsing/row-gap-invalid.html_sec1
1
<!DOCTYPE html>
2
<html>
3
<head>
4
<meta charset="utf-8">
5
<title>CSS Box Alignment Level 3: parsing row-gap with invalid values</title>
6
<link rel="help" href="https://drafts.csswg.org/css-align-3/#propdef-row-gap">
7
<meta name="assert" content="row-gap supports only the grammar 'normal | <length-percentage>'.">
8
<script src="/resources/testharness.js"></script>
9
<script src="/resources/testharnessreport.js"></script>
10
<script src="/css/support/parsing-testcommon.js"></script>
11
</head>
12
<body>
13
<script>
14
test_invalid_value("row-gap", "auto");
15
test_invalid_value("row-gap", "-10px");
16
17
test_invalid_value("row-gap", "10px 20%");
18
test_invalid_value("row-gap", "normal 10px");
19
</script>
20
</body>
21
</html>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-align/parsing/row-gap-valid-expected.txt +7 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-align/parsing/row-gap-valid-expected.txt_sec1
1
2
PASS e.style['row-gap'] = "normal" should set the property value 
3
PASS e.style['row-gap'] = "10px" should set the property value 
4
PASS e.style['row-gap'] = "20%" should set the property value 
5
PASS e.style['row-gap'] = "calc(20% + 10px)" should set the property value 
6
PASS e.style['row-gap'] = "0" should set the property value 
7
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-align/parsing/row-gap-valid.html +22 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-align/parsing/row-gap-valid.html_sec1
1
<!DOCTYPE html>
2
<html>
3
<head>
4
<meta charset="utf-8">
5
<title>CSS Box Alignment Level 3: parsing row-gap with valid values</title>
6
<link rel="help" href="https://drafts.csswg.org/css-align-3/#propdef-row-gap">
7
<meta name="assert" content="row-gap supports the full grammar 'normal | <length-percentage>'.">
8
<script src="/resources/testharness.js"></script>
9
<script src="/resources/testharnessreport.js"></script>
10
<script src="/css/support/parsing-testcommon.js"></script>
11
</head>
12
<body>
13
<script>
14
test_valid_value("row-gap", "normal");
15
16
test_valid_value("row-gap", "10px");
17
test_valid_value("row-gap", "20%");
18
test_valid_value("row-gap", "calc(20% + 10px)");
19
test_valid_value("row-gap", "0", "0px");
20
</script>
21
</body>
22
</html>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-align/parsing/w3c-import.log +56 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-align/parsing/w3c-import.log_sec1
1
The tests in this directory were imported from the W3C repository.
2
Do NOT modify these tests directly in WebKit.
3
Instead, create a pull request on the WPT github:
4
	https://github.com/web-platform-tests/wpt
5
6
Then run the Tools/Scripts/import-w3c-tests in WebKit to reimport
7
8
Do NOT modify or remove this file.
9
10
------------------------------------------------------------------------
11
Properties requiring vendor prefixes:
12
None
13
Property values requiring vendor prefixes:
14
None
15
------------------------------------------------------------------------
16
List of files:
17
/LayoutTests/imported/w3c/web-platform-tests/css/css-align/parsing/align-content-computed.html
18
/LayoutTests/imported/w3c/web-platform-tests/css/css-align/parsing/align-content-invalid.html
19
/LayoutTests/imported/w3c/web-platform-tests/css/css-align/parsing/align-content-valid.html
20
/LayoutTests/imported/w3c/web-platform-tests/css/css-align/parsing/align-items-computed.html
21
/LayoutTests/imported/w3c/web-platform-tests/css/css-align/parsing/align-items-invalid.html
22
/LayoutTests/imported/w3c/web-platform-tests/css/css-align/parsing/align-items-valid.html
23
/LayoutTests/imported/w3c/web-platform-tests/css/css-align/parsing/align-self-computed.html
24
/LayoutTests/imported/w3c/web-platform-tests/css/css-align/parsing/align-self-invalid.html
25
/LayoutTests/imported/w3c/web-platform-tests/css/css-align/parsing/align-self-valid.html
26
/LayoutTests/imported/w3c/web-platform-tests/css/css-align/parsing/column-gap-computed.html
27
/LayoutTests/imported/w3c/web-platform-tests/css/css-align/parsing/column-gap-invalid.html
28
/LayoutTests/imported/w3c/web-platform-tests/css/css-align/parsing/column-gap-valid.html
29
/LayoutTests/imported/w3c/web-platform-tests/css/css-align/parsing/gap-computed.html
30
/LayoutTests/imported/w3c/web-platform-tests/css/css-align/parsing/gap-invalid.html
31
/LayoutTests/imported/w3c/web-platform-tests/css/css-align/parsing/gap-shorthand.html
32
/LayoutTests/imported/w3c/web-platform-tests/css/css-align/parsing/gap-valid.html
33
/LayoutTests/imported/w3c/web-platform-tests/css/css-align/parsing/justify-content-computed.html
34
/LayoutTests/imported/w3c/web-platform-tests/css/css-align/parsing/justify-content-invalid.html
35
/LayoutTests/imported/w3c/web-platform-tests/css/css-align/parsing/justify-content-valid.html
36
/LayoutTests/imported/w3c/web-platform-tests/css/css-align/parsing/justify-items-computed.html
37
/LayoutTests/imported/w3c/web-platform-tests/css/css-align/parsing/justify-items-invalid.html
38
/LayoutTests/imported/w3c/web-platform-tests/css/css-align/parsing/justify-items-valid.html
39
/LayoutTests/imported/w3c/web-platform-tests/css/css-align/parsing/justify-self-computed.html
40
/LayoutTests/imported/w3c/web-platform-tests/css/css-align/parsing/justify-self-invalid.html
41
/LayoutTests/imported/w3c/web-platform-tests/css/css-align/parsing/justify-self-valid.html
42
/LayoutTests/imported/w3c/web-platform-tests/css/css-align/parsing/place-content-computed.html
43
/LayoutTests/imported/w3c/web-platform-tests/css/css-align/parsing/place-content-invalid.html
44
/LayoutTests/imported/w3c/web-platform-tests/css/css-align/parsing/place-content-shorthand.html
45
/LayoutTests/imported/w3c/web-platform-tests/css/css-align/parsing/place-content-valid.html
46
/LayoutTests/imported/w3c/web-platform-tests/css/css-align/parsing/place-items-computed.html
47
/LayoutTests/imported/w3c/web-platform-tests/css/css-align/parsing/place-items-invalid.html
48
/LayoutTests/imported/w3c/web-platform-tests/css/css-align/parsing/place-items-shorthand.html
49
/LayoutTests/imported/w3c/web-platform-tests/css/css-align/parsing/place-items-valid.html
50
/LayoutTests/imported/w3c/web-platform-tests/css/css-align/parsing/place-self-computed.html
51
/LayoutTests/imported/w3c/web-platform-tests/css/css-align/parsing/place-self-invalid.html
52
/LayoutTests/imported/w3c/web-platform-tests/css/css-align/parsing/place-self-shorthand.html
53
/LayoutTests/imported/w3c/web-platform-tests/css/css-align/parsing/place-self-valid.html
54
/LayoutTests/imported/w3c/web-platform-tests/css/css-align/parsing/row-gap-computed.html
55
/LayoutTests/imported/w3c/web-platform-tests/css/css-align/parsing/row-gap-invalid.html
56
/LayoutTests/imported/w3c/web-platform-tests/css/css-align/parsing/row-gap-valid.html
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-align/resources/alignment-parsing-utils.js +2 lines
Lines 36-41 function checkPlaceShorhand(shorthand, shorthandValue, alignValue, justifyValue) a/LayoutTests/imported/w3c/web-platform-tests/css/css-align/resources/alignment-parsing-utils.js_sec1
36
36
37
    var resolvedValue = getComputedStyle(div).getPropertyValue(shorthand);
37
    var resolvedValue = getComputedStyle(div).getPropertyValue(shorthand);
38
    var expectedResolvedValue = (alignValue + " " + justifyValue).trim();
38
    var expectedResolvedValue = (alignValue + " " + justifyValue).trim();
39
    if (alignValue === justifyValue)
40
        expectedResolvedValue = alignValue;
39
41
40
    assert_equals(div.style[shorthand], specifiedValue, shorthandValue + " specified value");
42
    assert_equals(div.style[shorthand], specifiedValue, shorthandValue + " specified value");
41
    // FIXME: We need https://github.com/w3c/csswg-drafts/issues/1041 to clarify which
43
    // FIXME: We need https://github.com/w3c/csswg-drafts/issues/1041 to clarify which
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-align/resources/w3c-import.log -1 / +1 lines
Lines 1-7 a/LayoutTests/imported/w3c/web-platform-tests/css/css-align/resources/w3c-import.log_sec1
1
The tests in this directory were imported from the W3C repository.
1
The tests in this directory were imported from the W3C repository.
2
Do NOT modify these tests directly in WebKit.
2
Do NOT modify these tests directly in WebKit.
3
Instead, create a pull request on the WPT github:
3
Instead, create a pull request on the WPT github:
4
	https://github.com/w3c/web-platform-tests
4
	https://github.com/web-platform-tests/wpt
5
5
6
Then run the Tools/Scripts/import-w3c-tests in WebKit to reimport
6
Then run the Tools/Scripts/import-w3c-tests in WebKit to reimport
7
7
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-align/self-alignment/place-self-shorthand-006-expected.txt -15 / +15 lines
Lines 1-7 a/LayoutTests/imported/w3c/web-platform-tests/css/css-align/self-alignment/place-self-shorthand-006-expected.txt_sec1
1
1
2
PASS Checking place-self: auto left 
2
PASS Checking place-self: auto left 
3
PASS Checking place-self: auto right 
3
PASS Checking place-self: auto right 
4
PASS Checking place-self: auto auto 
4
FAIL Checking place-self: auto auto assert_in_array: place-self resolved value value "auto auto" not in array ["", "auto"]
5
PASS Checking place-self: auto normal 
5
PASS Checking place-self: auto normal 
6
PASS Checking place-self: auto stretch 
6
PASS Checking place-self: auto stretch 
7
PASS Checking place-self: auto start 
7
PASS Checking place-self: auto start 
Lines 17-23 PASS Checking place-self: auto last baseline a/LayoutTests/imported/w3c/web-platform-tests/css/css-align/self-alignment/place-self-shorthand-006-expected.txt_sec2
17
PASS Checking place-self: normal left 
17
PASS Checking place-self: normal left 
18
PASS Checking place-self: normal right 
18
PASS Checking place-self: normal right 
19
PASS Checking place-self: normal auto 
19
PASS Checking place-self: normal auto 
20
PASS Checking place-self: normal normal 
20
FAIL Checking place-self: normal normal assert_in_array: place-self resolved value value "normal normal" not in array ["", "normal"]
21
PASS Checking place-self: normal stretch 
21
PASS Checking place-self: normal stretch 
22
PASS Checking place-self: normal start 
22
PASS Checking place-self: normal start 
23
PASS Checking place-self: normal end 
23
PASS Checking place-self: normal end 
Lines 33-39 PASS Checking place-self: stretch left a/LayoutTests/imported/w3c/web-platform-tests/css/css-align/self-alignment/place-self-shorthand-006-expected.txt_sec3
33
PASS Checking place-self: stretch right 
33
PASS Checking place-self: stretch right 
34
PASS Checking place-self: stretch auto 
34
PASS Checking place-self: stretch auto 
35
PASS Checking place-self: stretch normal 
35
PASS Checking place-self: stretch normal 
36
PASS Checking place-self: stretch stretch 
36
FAIL Checking place-self: stretch stretch assert_in_array: place-self resolved value value "stretch stretch" not in array ["", "stretch"]
37
PASS Checking place-self: stretch start 
37
PASS Checking place-self: stretch start 
38
PASS Checking place-self: stretch end 
38
PASS Checking place-self: stretch end 
39
PASS Checking place-self: stretch self-start 
39
PASS Checking place-self: stretch self-start 
Lines 49-55 PASS Checking place-self: start right a/LayoutTests/imported/w3c/web-platform-tests/css/css-align/self-alignment/place-self-shorthand-006-expected.txt_sec4
49
PASS Checking place-self: start auto 
49
PASS Checking place-self: start auto 
50
PASS Checking place-self: start normal 
50
PASS Checking place-self: start normal 
51
PASS Checking place-self: start stretch 
51
PASS Checking place-self: start stretch 
52
PASS Checking place-self: start start 
52
FAIL Checking place-self: start start assert_in_array: place-self resolved value value "start start" not in array ["", "start"]
53
PASS Checking place-self: start end 
53
PASS Checking place-self: start end 
54
PASS Checking place-self: start self-start 
54
PASS Checking place-self: start self-start 
55
PASS Checking place-self: start self-end 
55
PASS Checking place-self: start self-end 
Lines 65-71 PASS Checking place-self: end auto a/LayoutTests/imported/w3c/web-platform-tests/css/css-align/self-alignment/place-self-shorthand-006-expected.txt_sec5
65
PASS Checking place-self: end normal 
65
PASS Checking place-self: end normal 
66
PASS Checking place-self: end stretch 
66
PASS Checking place-self: end stretch 
67
PASS Checking place-self: end start 
67
PASS Checking place-self: end start 
68
PASS Checking place-self: end end 
68
FAIL Checking place-self: end end assert_in_array: place-self resolved value value "end end" not in array ["", "end"]
69
PASS Checking place-self: end self-start 
69
PASS Checking place-self: end self-start 
70
PASS Checking place-self: end self-end 
70
PASS Checking place-self: end self-end 
71
PASS Checking place-self: end center 
71
PASS Checking place-self: end center 
Lines 81-87 PASS Checking place-self: self-start normal a/LayoutTests/imported/w3c/web-platform-tests/css/css-align/self-alignment/place-self-shorthand-006-expected.txt_sec6
81
PASS Checking place-self: self-start stretch 
81
PASS Checking place-self: self-start stretch 
82
PASS Checking place-self: self-start start 
82
PASS Checking place-self: self-start start 
83
PASS Checking place-self: self-start end 
83
PASS Checking place-self: self-start end 
84
PASS Checking place-self: self-start self-start 
84
FAIL Checking place-self: self-start self-start assert_in_array: place-self resolved value value "self-start self-start" not in array ["", "self-start"]
85
PASS Checking place-self: self-start self-end 
85
PASS Checking place-self: self-start self-end 
86
PASS Checking place-self: self-start center 
86
PASS Checking place-self: self-start center 
87
PASS Checking place-self: self-start flex-start 
87
PASS Checking place-self: self-start flex-start 
Lines 97-103 PASS Checking place-self: self-end stretch a/LayoutTests/imported/w3c/web-platform-tests/css/css-align/self-alignment/place-self-shorthand-006-expected.txt_sec7
97
PASS Checking place-self: self-end start 
97
PASS Checking place-self: self-end start 
98
PASS Checking place-self: self-end end 
98
PASS Checking place-self: self-end end 
99
PASS Checking place-self: self-end self-start 
99
PASS Checking place-self: self-end self-start 
100
PASS Checking place-self: self-end self-end 
100
FAIL Checking place-self: self-end self-end assert_in_array: place-self resolved value value "self-end self-end" not in array ["", "self-end"]
101
PASS Checking place-self: self-end center 
101
PASS Checking place-self: self-end center 
102
PASS Checking place-self: self-end flex-start 
102
PASS Checking place-self: self-end flex-start 
103
PASS Checking place-self: self-end flex-end 
103
PASS Checking place-self: self-end flex-end 
Lines 113-119 PASS Checking place-self: center start a/LayoutTests/imported/w3c/web-platform-tests/css/css-align/self-alignment/place-self-shorthand-006-expected.txt_sec8
113
PASS Checking place-self: center end 
113
PASS Checking place-self: center end 
114
PASS Checking place-self: center self-start 
114
PASS Checking place-self: center self-start 
115
PASS Checking place-self: center self-end 
115
PASS Checking place-self: center self-end 
116
PASS Checking place-self: center center 
116
FAIL Checking place-self: center center assert_in_array: place-self resolved value value "center center" not in array ["", "center"]
117
PASS Checking place-self: center flex-start 
117
PASS Checking place-self: center flex-start 
118
PASS Checking place-self: center flex-end 
118
PASS Checking place-self: center flex-end 
119
PASS Checking place-self: center baseline 
119
PASS Checking place-self: center baseline 
Lines 129-135 PASS Checking place-self: flex-start end a/LayoutTests/imported/w3c/web-platform-tests/css/css-align/self-alignment/place-self-shorthand-006-expected.txt_sec9
129
PASS Checking place-self: flex-start self-start 
129
PASS Checking place-self: flex-start self-start 
130
PASS Checking place-self: flex-start self-end 
130
PASS Checking place-self: flex-start self-end 
131
PASS Checking place-self: flex-start center 
131
PASS Checking place-self: flex-start center 
132
PASS Checking place-self: flex-start flex-start 
132
FAIL Checking place-self: flex-start flex-start assert_in_array: place-self resolved value value "flex-start flex-start" not in array ["", "flex-start"]
133
PASS Checking place-self: flex-start flex-end 
133
PASS Checking place-self: flex-start flex-end 
134
PASS Checking place-self: flex-start baseline 
134
PASS Checking place-self: flex-start baseline 
135
PASS Checking place-self: flex-start first baseline 
135
PASS Checking place-self: flex-start first baseline 
Lines 145-151 PASS Checking place-self: flex-end self-start a/LayoutTests/imported/w3c/web-platform-tests/css/css-align/self-alignment/place-self-shorthand-006-expected.txt_sec10
145
PASS Checking place-self: flex-end self-end 
145
PASS Checking place-self: flex-end self-end 
146
PASS Checking place-self: flex-end center 
146
PASS Checking place-self: flex-end center 
147
PASS Checking place-self: flex-end flex-start 
147
PASS Checking place-self: flex-end flex-start 
148
PASS Checking place-self: flex-end flex-end 
148
FAIL Checking place-self: flex-end flex-end assert_in_array: place-self resolved value value "flex-end flex-end" not in array ["", "flex-end"]
149
PASS Checking place-self: flex-end baseline 
149
PASS Checking place-self: flex-end baseline 
150
PASS Checking place-self: flex-end first baseline 
150
PASS Checking place-self: flex-end first baseline 
151
PASS Checking place-self: flex-end last baseline 
151
PASS Checking place-self: flex-end last baseline 
Lines 161-168 PASS Checking place-self: baseline self-end a/LayoutTests/imported/w3c/web-platform-tests/css/css-align/self-alignment/place-self-shorthand-006-expected.txt_sec11
161
PASS Checking place-self: baseline center 
161
PASS Checking place-self: baseline center 
162
PASS Checking place-self: baseline flex-start 
162
PASS Checking place-self: baseline flex-start 
163
PASS Checking place-self: baseline flex-end 
163
PASS Checking place-self: baseline flex-end 
164
PASS Checking place-self: baseline baseline 
164
FAIL Checking place-self: baseline baseline assert_in_array: place-self resolved value value "baseline baseline" not in array ["", "baseline"]
165
PASS Checking place-self: baseline first baseline 
165
FAIL Checking place-self: baseline first baseline assert_in_array: place-self resolved value value "baseline baseline" not in array ["", "baseline"]
166
PASS Checking place-self: baseline last baseline 
166
PASS Checking place-self: baseline last baseline 
167
PASS Checking place-self: first baseline left 
167
PASS Checking place-self: first baseline left 
168
PASS Checking place-self: first baseline right 
168
PASS Checking place-self: first baseline right 
Lines 176-183 PASS Checking place-self: first baseline self-end a/LayoutTests/imported/w3c/web-platform-tests/css/css-align/self-alignment/place-self-shorthand-006-expected.txt_sec12
176
PASS Checking place-self: first baseline center 
176
PASS Checking place-self: first baseline center 
177
PASS Checking place-self: first baseline flex-start 
177
PASS Checking place-self: first baseline flex-start 
178
PASS Checking place-self: first baseline flex-end 
178
PASS Checking place-self: first baseline flex-end 
179
PASS Checking place-self: first baseline baseline 
179
FAIL Checking place-self: first baseline baseline assert_in_array: place-self resolved value value "baseline baseline" not in array ["", "baseline"]
180
PASS Checking place-self: first baseline first baseline 
180
FAIL Checking place-self: first baseline first baseline assert_in_array: place-self resolved value value "baseline baseline" not in array ["", "baseline"]
181
PASS Checking place-self: first baseline last baseline 
181
PASS Checking place-self: first baseline last baseline 
182
PASS Checking place-self: last baseline left 
182
PASS Checking place-self: last baseline left 
183
PASS Checking place-self: last baseline right 
183
PASS Checking place-self: last baseline right 
Lines 193-197 PASS Checking place-self: last baseline flex-start a/LayoutTests/imported/w3c/web-platform-tests/css/css-align/self-alignment/place-self-shorthand-006-expected.txt_sec13
193
PASS Checking place-self: last baseline flex-end 
193
PASS Checking place-self: last baseline flex-end 
194
PASS Checking place-self: last baseline baseline 
194
PASS Checking place-self: last baseline baseline 
195
PASS Checking place-self: last baseline first baseline 
195
PASS Checking place-self: last baseline first baseline 
196
PASS Checking place-self: last baseline last baseline 
196
FAIL Checking place-self: last baseline last baseline assert_in_array: place-self resolved value value "last baseline last baseline" not in array ["", "last baseline"]
197
197
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-align/self-alignment/w3c-import.log -1 / +1 lines
Lines 1-7 a/LayoutTests/imported/w3c/web-platform-tests/css/css-align/self-alignment/w3c-import.log_sec1
1
The tests in this directory were imported from the W3C repository.
1
The tests in this directory were imported from the W3C repository.
2
Do NOT modify these tests directly in WebKit.
2
Do NOT modify these tests directly in WebKit.
3
Instead, create a pull request on the WPT github:
3
Instead, create a pull request on the WPT github:
4
	https://github.com/w3c/web-platform-tests
4
	https://github.com/web-platform-tests/wpt
5
5
6
Then run the Tools/Scripts/import-w3c-tests in WebKit to reimport
6
Then run the Tools/Scripts/import-w3c-tests in WebKit to reimport
7
7
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-align/w3c-import.log -2 / +9 lines
Lines 1-7 a/LayoutTests/imported/w3c/web-platform-tests/css/css-align/w3c-import.log_sec1
1
The tests in this directory were imported from the W3C repository.
1
The tests in this directory were imported from the W3C repository.
2
Do NOT modify these tests directly in WebKit.
2
Do NOT modify these tests directly in WebKit.
3
Instead, create a pull request on the WPT github:
3
Instead, create a pull request on the WPT github:
4
	https://github.com/w3c/web-platform-tests
4
	https://github.com/web-platform-tests/wpt
5
5
6
Then run the Tools/Scripts/import-w3c-tests in WebKit to reimport
6
Then run the Tools/Scripts/import-w3c-tests in WebKit to reimport
7
7
Lines 14-17 Property values requiring vendor prefixes: a/LayoutTests/imported/w3c/web-platform-tests/css/css-align/w3c-import.log_sec2
14
None
14
None
15
------------------------------------------------------------------------
15
------------------------------------------------------------------------
16
List of files:
16
List of files:
17
/LayoutTests/imported/w3c/web-platform-tests/css/css-align/OWNERS
17
/LayoutTests/imported/w3c/web-platform-tests/css/css-align/META.yml
18
/LayoutTests/imported/w3c/web-platform-tests/css/css-align/baseline-of-scrollable-1a-expected.html
19
/LayoutTests/imported/w3c/web-platform-tests/css/css-align/baseline-of-scrollable-1a.html
20
/LayoutTests/imported/w3c/web-platform-tests/css/css-align/baseline-of-scrollable-1b-expected.html
21
/LayoutTests/imported/w3c/web-platform-tests/css/css-align/baseline-of-scrollable-1b.html
22
/LayoutTests/imported/w3c/web-platform-tests/css/css-align/baseline-of-scrollable-2-expected.html
23
/LayoutTests/imported/w3c/web-platform-tests/css/css-align/baseline-of-scrollable-2.html
24
/LayoutTests/imported/w3c/web-platform-tests/css/css-align/inheritance.html
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-animations/Document-getAnimations.tentative-expected.txt +1 lines
Lines 14-19 PASS Finished but not filling CSS Animations are not returned a/LayoutTests/imported/w3c/web-platform-tests/css/css-animations/Document-getAnimations.tentative-expected.txt_sec1
14
PASS Yet-to-start CSS Animations are returned 
14
PASS Yet-to-start CSS Animations are returned 
15
PASS CSS Animations canceled via the API are not returned 
15
PASS CSS Animations canceled via the API are not returned 
16
PASS CSS Animations canceled and restarted via the API are returned 
16
PASS CSS Animations canceled and restarted via the API are returned 
17
PASS pseudo element with replaced target does not affect animation ordering 
17
PASS CSS Animations targetting (pseudo-)elements should have correct order after sorting 
18
PASS CSS Animations targetting (pseudo-)elements should have correct order after sorting 
18
FAIL CSS Animations targetting (pseudo-)elements should have correct order after sorting (::marker) assert_equals: CSS animations on both pseudo-elements and elements are returned expected 5 but got 4
19
FAIL CSS Animations targetting (pseudo-)elements should have correct order after sorting (::marker) assert_equals: CSS animations on both pseudo-elements and elements are returned expected 5 but got 4
19
20
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-animations/Document-getAnimations.tentative.html -35 / +93 lines
Lines 18-23 a/LayoutTests/imported/w3c/web-platform-tests/css/css-animations/Document-getAnimations.tentative.html_sec1
18
@keyframes animRight {
18
@keyframes animRight {
19
  to { right: 100px }
19
  to { right: 100px }
20
}
20
}
21
22
@keyframes anim1 {
23
  to { left: 100px }
24
}
25
@keyframes anim2 {
26
  to { top: 100px }
27
}
28
@keyframes anim3 {
29
  to { bottom: 100px }
30
}
31
@keyframes anim4 {
32
  to { right: 100px }
33
}
34
21
</style>
35
</style>
22
<div id="log"></div>
36
<div id="log"></div>
23
<script>
37
<script>
Lines 285-290 test(t => { a/LayoutTests/imported/w3c/web-platform-tests/css/css-animations/Document-getAnimations.tentative.html_sec2
285
                'returned');
299
                'returned');
286
}, 'CSS Animations canceled and restarted via the API are returned');
300
}, 'CSS Animations canceled and restarted via the API are returned');
287
301
302
test(t => {
303
  addStyle(t, {
304
      '#parent::after': "content: ''; animation: anim1 100s ; ",
305
      '#parent::before': "content: ''; animation: anim2 100s;",
306
      '#child::after': "content: ''; animation: anim3 100s;",
307
      '#child::before': "content: ''; animation: anim4 100s;",
308
    });
309
  const parent = addDiv(t, { id: 'parent' });
310
  const child = addDiv(t, { id: 'child'});
311
  parent.appendChild(child);
312
  var animations = document.getAnimations();
313
  var expectedAnimations = [
314
      [parent, '::before', 'anim2'],
315
      [parent, '::after', 'anim1'],
316
      [child, '::before', 'anim4'],
317
      [child, '::after', 'anim3'],
318
    ];
319
  pseudoAnimCompare(animations, expectedAnimations)
320
321
  // Swap animation1 and aimation3's effect
322
  var anim1 = animations[0];
323
  var anim3 = animations[2];
324
  const temp = anim1.effect;
325
  anim1.effect = anim3.effect;
326
  anim3.effect = temp;
327
328
  animations = document.getAnimations();
329
  expectedAnimations = [
330
      [child, '::before', 'anim2'],
331
      [parent, '::after', 'anim1'],
332
      [parent, '::before', 'anim4'],
333
      [child, '::after', 'anim3'],
334
    ];
335
  pseudoAnimCompare(animations, expectedAnimations)
336
}, 'pseudo element with replaced target does not affect animation ordering');
337
338
function pseudoAnimCompare(animations, expectedAnimations) {
339
  assert_equals(
340
      animations.length,
341
      expectedAnimations.length,
342
      'CSS animations on both pseudo-elements and elements are returned'
343
    );
344
  for (const [index, expected] of expectedAnimations.entries()) {
345
      const [element, pseudo, name] = expected;
346
      const actual = animations[index];
347
      if (pseudo) {
348
        assert_equals(
349
          actual.effect.target,
350
          element,
351
          `Animation #${index + 1} has the expected target`
352
        );
353
        assert_equals(
354
          actual.effect.pseudoElement,
355
          pseudo,
356
          `Animation #${index + 1} has the expected pseudo type`
357
        );
358
        if (name) {
359
          assert_equals(
360
            actual.animationName,
361
            name,
362
            `Animation #${index + 1} has the expected name`
363
          );
364
        }
365
      } else {
366
        assert_equals(
367
          actual.effect.target,
368
          element,
369
          `Animation #${index + 1} has the expected target`
370
        );
371
        assert_equals(
372
          actual.effect.pseudoElement,
373
          null,
374
          `Animation #${index + 1} has a null pseudo type`
375
        );
376
      }
377
    }
378
}
379
288
function pseudoTest(description, testMarkerPseudos) {
380
function pseudoTest(description, testMarkerPseudos) {
289
  test(t => {
381
  test(t => {
290
    // Create two divs with the following arrangement:
382
    // Create two divs with the following arrangement:
Lines 327-366 function pseudoTest(description, testMarkerPseudos) { a/LayoutTests/imported/w3c/web-platform-tests/css/css-animations/Document-getAnimations.tentative.html_sec3
327
    }
419
    }
328
420
329
    const animations = document.getAnimations();
421
    const animations = document.getAnimations();
330
    assert_equals(
422
    pseudoAnimCompare(animations, expectedAnimations)
331
      animations.length,
332
      expectedAnimations.length,
333
      'CSS animations on both pseudo-elements and elements are returned'
334
    );
335
336
    for (const [index, expected] of expectedAnimations.entries()) {
337
      const [element, pseudo] = expected;
338
      const actual = animations[index];
339
340
      if (pseudo) {
341
        assert_equals(
342
          actual.effect.target,
343
          element,
344
          `Animation #${index + 1} has expected target`
345
        );
346
        assert_equals(
347
          actual.effect.pseudoElement,
348
          pseudo,
349
          `Animation #${index + 1} has expected pseudo type`
350
        );
351
      } else {
352
        assert_equals(
353
          actual.effect.target,
354
          element,
355
          `Animation #${index + 1} has expected target`
356
        );
357
        assert_equals(
358
          actual.effect.pseudoElement,
359
          null,
360
          `Animation #${index + 1} has null pseudo type`
361
        );
362
      }
363
    }
364
  }, description);
423
  }, description);
365
}
424
}
366
425
Lines 368-372 pseudoTest('CSS Animations targetting (pseudo-)elements should have correct ' a/LayoutTests/imported/w3c/web-platform-tests/css/css-animations/Document-getAnimations.tentative.html_sec4
368
     + 'order after sorting', false);
427
     + 'order after sorting', false);
369
pseudoTest('CSS Animations targetting (pseudo-)elements should have correct '
428
pseudoTest('CSS Animations targetting (pseudo-)elements should have correct '
370
     + 'order after sorting (::marker)', true);
429
     + 'order after sorting (::marker)', true);
371
372
</script>
430
</script>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-animations/animation-iteration-count-009-expected.txt +6 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-animations/animation-iteration-count-009-expected.txt_sec1
1
2
PASS Basic floating point iteration count 
3
PASS Floating point iteration count after multiple iterations 
4
PASS Floating point iteration count during first iteration 
5
PASS Floating point iteration count with alternating directions 
6
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-animations/animation-iteration-count-009.html +46 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-animations/animation-iteration-count-009.html_sec1
1
<!doctype html>
2
<meta charset=utf-8>
3
<title>CSS Animation Test: fractional animation-iteration-count</title>
4
<link rel="help" href="https://drafts.csswg.org/css-animations/#animation-iteration-count">
5
<link rel="author" title="Martin Robinson" href="mailto:mrobinson@igalia.com">
6
<script src="/resources/testharness.js"></script>
7
<script src="/resources/testharnessreport.js"></script>
8
<script src="support/testcommon.js"></script>
9
<style>
10
@keyframes margin-animation {
11
  from {
12
    margin-left: 0px;
13
  }
14
  to {
15
    margin-left: 100px;
16
  }
17
}
18
</style>
19
<div id="log"></div>
20
<script>
21
'use strict';
22
23
promise_test(async t => {
24
  const div = addDiv(t);
25
  div.style.animation = 'margin-animation 1s -10s linear 1.5 normal forwards paused';
26
  assert_equals(getComputedStyle(div).marginLeft, '50px');
27
}, 'Basic floating point iteration count');
28
29
promise_test(async t => {
30
  const div = addDiv(t);
31
  div.style.animation = 'margin-animation 1s -10s linear 3.25 normal forwards paused';
32
  assert_equals(getComputedStyle(div).marginLeft, '25px');
33
}, 'Floating point iteration count after multiple iterations');
34
35
promise_test(async t => {
36
  const div = addDiv(t);
37
  div.style.animation = 'margin-animation 1s -10s linear 0.75 normal forwards paused';
38
  assert_equals(getComputedStyle(div).marginLeft, '75px');
39
}, 'Floating point iteration count during first iteration');
40
41
promise_test(async t => {
42
  const div = addDiv(t);
43
  div.style.animation = 'margin-animation 1s -10s linear 1.75 alternate forwards paused';
44
  assert_equals(getComputedStyle(div).marginLeft, '25px');
45
}, 'Floating point iteration count with alternating directions');
46
</script>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-animations/cancel-animation-shadow-slot-invalidation-expected.html +11 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-animations/cancel-animation-shadow-slot-invalidation-expected.html_sec1
1
<!doctype html>
2
<html>
3
<head>
4
   <title>Reference rendering - passes if there is the word "PASS" below</title>
5
   <link rel="author" title="Opera" href="https://www.opera.com/">
6
</head>
7
<body>
8
   <p>Test passes if there is the word "PASS" below.</p>
9
   <div>PASS</div>
10
</body>
11
</html>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-animations/cancel-animation-shadow-slot-invalidation.html +27 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-animations/cancel-animation-shadow-slot-invalidation.html_sec1
1
<!doctype html>
2
<html class="reftest-wait">
3
<title>CSS Animations Test: Cancel animation for target moving out of flat tree and style invalidation</title>
4
<link rel="help" href="https://drafts.csswg.org/css-animations/#eventdef-animationevent-animationcancel">
5
<link rel="help" href="https://crbug.com/1093747">
6
<link rel="match" href="../reference/pass_if_pass_below.html">
7
<script src="/common/reftest-wait.js"></script>
8
<style>
9
  @keyframes anim {
10
    from { color: red; }
11
    to { color: green; }
12
  }
13
  #anim { animation: anim 100s; }
14
  .none { display: none; }
15
</style>
16
<p>Test passes if there is the word "PASS" below.</p>
17
<div id="host"><span id="anim">FAIL</span></div>
18
<div id="dirty" class="none">PASS</div>
19
<script>
20
  const root = host.attachShadow({mode:"open"});
21
  root.innerHTML = "<slot />";
22
  requestAnimationFrame(() => {
23
    root.firstChild.name = "skip-slot";
24
    dirty.className = "";
25
    takeScreenshot();
26
  });
27
</script>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-animations/idlharness.html +1 lines
Lines 4-9 a/LayoutTests/imported/w3c/web-platform-tests/css/css-animations/idlharness.html_sec1
4
<head>
4
<head>
5
  <meta charset="utf-8">
5
  <meta charset="utf-8">
6
  <title>css-animations IDL tests</title>
6
  <title>css-animations IDL tests</title>
7
  <meta name="timeout" content="long">
7
  <link rel="help" href="https://drafts.csswg.org/css-animations/">
8
  <link rel="help" href="https://drafts.csswg.org/css-animations/">
8
  <script src="/resources/testharness.js"></script>
9
  <script src="/resources/testharness.js"></script>
9
  <script src="/resources/testharnessreport.js"></script>
10
  <script src="/resources/testharnessreport.js"></script>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-animations/support/testcommon.js -1 / +2 lines
Lines 48-54 function assert_frames_equal(actual, expected, name) { a/LayoutTests/imported/w3c/web-platform-tests/css/css-animations/support/testcommon.js_sec1
48
    `properties on ${name} should match`
48
    `properties on ${name} should match`
49
  );
49
  );
50
50
51
  for (const prop in actual) {
51
  // Iterates sorted keys to ensure stable failures.
52
  for (const prop of Object.keys(actual).sort()) {
52
    if (
53
    if (
53
      // 'offset' can be null
54
      // 'offset' can be null
54
      (prop === 'offset' && typeof actual[prop] === 'number') ||
55
      (prop === 'offset' && typeof actual[prop] === 'number') ||
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-animations/w3c-import.log +4 lines
Lines 50-55 List of files: a/LayoutTests/imported/w3c/web-platform-tests/css/css-animations/w3c-import.log_sec1
50
/LayoutTests/imported/w3c/web-platform-tests/css/css-animations/animation-important-001.html
50
/LayoutTests/imported/w3c/web-platform-tests/css/css-animations/animation-important-001.html
51
/LayoutTests/imported/w3c/web-platform-tests/css/css-animations/animation-important-002-expected.html
51
/LayoutTests/imported/w3c/web-platform-tests/css/css-animations/animation-important-002-expected.html
52
/LayoutTests/imported/w3c/web-platform-tests/css/css-animations/animation-important-002.html
52
/LayoutTests/imported/w3c/web-platform-tests/css/css-animations/animation-important-002.html
53
/LayoutTests/imported/w3c/web-platform-tests/css/css-animations/animation-iteration-count-009.html
53
/LayoutTests/imported/w3c/web-platform-tests/css/css-animations/animation-iteration-count-calc.html
54
/LayoutTests/imported/w3c/web-platform-tests/css/css-animations/animation-iteration-count-calc.html
54
/LayoutTests/imported/w3c/web-platform-tests/css/css-animations/animation-opacity-pause-and-set-time-expected.html
55
/LayoutTests/imported/w3c/web-platform-tests/css/css-animations/animation-opacity-pause-and-set-time-expected.html
55
/LayoutTests/imported/w3c/web-platform-tests/css/css-animations/animation-opacity-pause-and-set-time.html
56
/LayoutTests/imported/w3c/web-platform-tests/css/css-animations/animation-opacity-pause-and-set-time.html
Lines 62-67 List of files: a/LayoutTests/imported/w3c/web-platform-tests/css/css-animations/w3c-import.log_sec2
62
/LayoutTests/imported/w3c/web-platform-tests/css/css-animations/animationevent-marker-pseudoelement.html
63
/LayoutTests/imported/w3c/web-platform-tests/css/css-animations/animationevent-marker-pseudoelement.html
63
/LayoutTests/imported/w3c/web-platform-tests/css/css-animations/animationevent-pseudoelement.html
64
/LayoutTests/imported/w3c/web-platform-tests/css/css-animations/animationevent-pseudoelement.html
64
/LayoutTests/imported/w3c/web-platform-tests/css/css-animations/animationevent-types.html
65
/LayoutTests/imported/w3c/web-platform-tests/css/css-animations/animationevent-types.html
66
/LayoutTests/imported/w3c/web-platform-tests/css/css-animations/cancel-animation-shadow-slot-invalidation-expected.html
67
/LayoutTests/imported/w3c/web-platform-tests/css/css-animations/cancel-animation-shadow-slot-invalidation.html
65
/LayoutTests/imported/w3c/web-platform-tests/css/css-animations/computed-style-animation-parsing.html
68
/LayoutTests/imported/w3c/web-platform-tests/css/css-animations/computed-style-animation-parsing.html
66
/LayoutTests/imported/w3c/web-platform-tests/css/css-animations/event-dispatch.tentative.html
69
/LayoutTests/imported/w3c/web-platform-tests/css/css-animations/event-dispatch.tentative.html
67
/LayoutTests/imported/w3c/web-platform-tests/css/css-animations/event-order.tentative.html
70
/LayoutTests/imported/w3c/web-platform-tests/css/css-animations/event-order.tentative.html
Lines 71-73 List of files: a/LayoutTests/imported/w3c/web-platform-tests/css/css-animations/w3c-import.log_sec3
71
/LayoutTests/imported/w3c/web-platform-tests/css/css-animations/keyframes-remove-documentElement-crash.html
74
/LayoutTests/imported/w3c/web-platform-tests/css/css-animations/keyframes-remove-documentElement-crash.html
72
/LayoutTests/imported/w3c/web-platform-tests/css/css-animations/pending-style-changes-001.html
75
/LayoutTests/imported/w3c/web-platform-tests/css/css-animations/pending-style-changes-001.html
73
/LayoutTests/imported/w3c/web-platform-tests/css/css-animations/style-animation-parsing.html
76
/LayoutTests/imported/w3c/web-platform-tests/css/css-animations/style-animation-parsing.html
77
/LayoutTests/imported/w3c/web-platform-tests/css/css-animations/webkit-writing-mode-crash.html
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-animations/webkit-writing-mode-crash-expected.txt +6 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-animations/webkit-writing-mode-crash-expected.txt_sec1
1
layer at (0,0) size 800x600
2
  RenderView at (0,0) size 800x600
3
layer at (0,0) size 800x8
4
  RenderBlock {HTML} at (0,0) size 800x8
5
    RenderBody {BODY} at (8,8) size 784x0
6
      RenderBlock {DIV} at (0,0) size 784x0
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-animations/webkit-writing-mode-crash.html +20 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-animations/webkit-writing-mode-crash.html_sec1
1
<!doctype html>
2
<html class="test-wait">
3
<link rel="help" href="https://crbug.com/1077501">
4
<style>
5
  @keyframes test {
6
    from { -webkit-writing-mode: var(--x) }
7
    to { -webkit-writing-mode: var(--y) }
8
  }
9
  div {
10
    animation: test 1s;
11
  }
12
</style>
13
<div id=div></div>
14
<script>
15
window.onload = () => {
16
  div.offsetTop;
17
  document.documentElement.classList.remove('test-wait');
18
};
19
</script>
20
</html>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/animations/box-shadow-composition-expected.txt +42 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/animations/box-shadow-composition-expected.txt_sec1
1
2
PASS Compositing: property <box-shadow> underlying [undefined] from replace [rgb(100, 100, 100) 10px 20px 30px 40px] to add [rgb(200, 200, 200) 20px 40px 60px 80px] at (-0.3) should be [rgb(70, 70, 70 ) 7px 14px 21px 28px] 
3
PASS Compositing: property <box-shadow> underlying [undefined] from replace [rgb(100, 100, 100) 10px 20px 30px 40px] to add [rgb(200, 200, 200) 20px 40px 60px 80px] at (0) should be [rgb(100, 100, 100) 10px 20px 30px 40px] 
4
PASS Compositing: property <box-shadow> underlying [undefined] from replace [rgb(100, 100, 100) 10px 20px 30px 40px] to add [rgb(200, 200, 200) 20px 40px 60px 80px] at (0.5) should be [rgb(150, 150, 150) 15px 30px 45px 60px] 
5
PASS Compositing: property <box-shadow> underlying [undefined] from replace [rgb(100, 100, 100) 10px 20px 30px 40px] to add [rgb(200, 200, 200) 20px 40px 60px 80px] at (1) should be [rgb(200, 200, 200) 20px 40px 60px 80px] 
6
PASS Compositing: property <box-shadow> underlying [undefined] from replace [rgb(100, 100, 100) 10px 20px 30px 40px] to add [rgb(200, 200, 200) 20px 40px 60px 80px] at (1.5) should be [rgb(250, 250, 250) 25px 50px 75px 100px] 
7
FAIL Compositing: property <box-shadow> underlying [rgb(10, 20, 30) 1px 2px 3px 4px] from add [rgb(100, 100, 100) 10px 20px 30px 40px] to add [rgb(200, 200, 200) 20px 40px 60px 80px] at (-0.3) should be [rgb(10, 20, 30) 1px 2px 3px 4px, rgb(70, 70, 70) 7px 14px 21px 28px] assert_equals: expected "rgb ( 10 , 20 , 30 ) 1px 2px 3px 4px , rgb ( 70 , 70 , 70 ) 7px 14px 21px 28px " but got "rgb ( 70 , 70 , 70 ) 7px 14px 21px 28px "
8
FAIL Compositing: property <box-shadow> underlying [rgb(10, 20, 30) 1px 2px 3px 4px] from add [rgb(100, 100, 100) 10px 20px 30px 40px] to add [rgb(200, 200, 200) 20px 40px 60px 80px] at (0) should be [rgb(10, 20, 30) 1px 2px 3px 4px, rgb(100, 100, 100) 10px 20px 30px 40px] assert_equals: expected "rgb ( 10 , 20 , 30 ) 1px 2px 3px 4px , rgb ( 100 , 100 , 100 ) 10px 20px 30px 40px " but got "rgb ( 100 , 100 , 100 ) 10px 20px 30px 40px "
9
FAIL Compositing: property <box-shadow> underlying [rgb(10, 20, 30) 1px 2px 3px 4px] from add [rgb(100, 100, 100) 10px 20px 30px 40px] to add [rgb(200, 200, 200) 20px 40px 60px 80px] at (0.5) should be [rgb(10, 20, 30) 1px 2px 3px 4px, rgb(150, 150, 150) 15px 30px 45px 60px] assert_equals: expected "rgb ( 10 , 20 , 30 ) 1px 2px 3px 4px , rgb ( 150 , 150 , 150 ) 15px 30px 45px 60px " but got "rgb ( 150 , 150 , 150 ) 15px 30px 45px 60px "
10
FAIL Compositing: property <box-shadow> underlying [rgb(10, 20, 30) 1px 2px 3px 4px] from add [rgb(100, 100, 100) 10px 20px 30px 40px] to add [rgb(200, 200, 200) 20px 40px 60px 80px] at (1) should be [rgb(10, 20, 30) 1px 2px 3px 4px, rgb(200, 200, 200) 20px 40px 60px 80px] assert_equals: expected "rgb ( 10 , 20 , 30 ) 1px 2px 3px 4px , rgb ( 200 , 200 , 200 ) 20px 40px 60px 80px " but got "rgb ( 200 , 200 , 200 ) 20px 40px 60px 80px "
11
FAIL Compositing: property <box-shadow> underlying [rgb(10, 20, 30) 1px 2px 3px 4px] from add [rgb(100, 100, 100) 10px 20px 30px 40px] to add [rgb(200, 200, 200) 20px 40px 60px 80px] at (1.5) should be [rgb(10, 20, 30) 1px 2px 3px 4px, rgb(250, 250, 250) 25px 50px 75px 100px] assert_equals: expected "rgb ( 10 , 20 , 30 ) 1px 2px 3px 4px , rgb ( 250 , 250 , 250 ) 25px 50px 75px 100px " but got "rgb ( 250 , 250 , 250 ) 25px 50px 75px 100px "
12
FAIL Compositing: property <box-shadow> underlying [rgb(10, 20, 30) 1px 2px 3px 4px] from add [rgb(100, 100, 100) 10px 20px 30px 40px inset] to add [rgb(200, 200, 200) 20px 40px 60px 80px inset] at (-0.3) should be [rgb(10, 20, 30) 1px 2px 3px 4px, rgb(70, 70, 70) 7px 14px 21px 28px inset] assert_equals: expected "rgb ( 10 , 20 , 30 ) 1px 2px 3px 4px , rgb ( 70 , 70 , 70 ) 7px 14px 21px 28px inset " but got "rgb ( 70 , 70 , 70 ) 7px 14px 21px 28px inset "
13
FAIL Compositing: property <box-shadow> underlying [rgb(10, 20, 30) 1px 2px 3px 4px] from add [rgb(100, 100, 100) 10px 20px 30px 40px inset] to add [rgb(200, 200, 200) 20px 40px 60px 80px inset] at (0) should be [rgb(10, 20, 30) 1px 2px 3px 4px, rgb(100, 100, 100) 10px 20px 30px 40px inset] assert_equals: expected "rgb ( 10 , 20 , 30 ) 1px 2px 3px 4px , rgb ( 100 , 100 , 100 ) 10px 20px 30px 40px inset " but got "rgb ( 100 , 100 , 100 ) 10px 20px 30px 40px inset "
14
FAIL Compositing: property <box-shadow> underlying [rgb(10, 20, 30) 1px 2px 3px 4px] from add [rgb(100, 100, 100) 10px 20px 30px 40px inset] to add [rgb(200, 200, 200) 20px 40px 60px 80px inset] at (0.5) should be [rgb(10, 20, 30) 1px 2px 3px 4px, rgb(150, 150, 150) 15px 30px 45px 60px inset] assert_equals: expected "rgb ( 10 , 20 , 30 ) 1px 2px 3px 4px , rgb ( 150 , 150 , 150 ) 15px 30px 45px 60px inset " but got "rgb ( 150 , 150 , 150 ) 15px 30px 45px 60px inset "
15
FAIL Compositing: property <box-shadow> underlying [rgb(10, 20, 30) 1px 2px 3px 4px] from add [rgb(100, 100, 100) 10px 20px 30px 40px inset] to add [rgb(200, 200, 200) 20px 40px 60px 80px inset] at (1) should be [rgb(10, 20, 30) 1px 2px 3px 4px, rgb(200, 200, 200) 20px 40px 60px 80px inset] assert_equals: expected "rgb ( 10 , 20 , 30 ) 1px 2px 3px 4px , rgb ( 200 , 200 , 200 ) 20px 40px 60px 80px inset " but got "rgb ( 200 , 200 , 200 ) 20px 40px 60px 80px inset "
16
FAIL Compositing: property <box-shadow> underlying [rgb(10, 20, 30) 1px 2px 3px 4px] from add [rgb(100, 100, 100) 10px 20px 30px 40px inset] to add [rgb(200, 200, 200) 20px 40px 60px 80px inset] at (1.5) should be [rgb(10, 20, 30) 1px 2px 3px 4px, rgb(250, 250, 250) 25px 50px 75px 100px inset] assert_equals: expected "rgb ( 10 , 20 , 30 ) 1px 2px 3px 4px , rgb ( 250 , 250 , 250 ) 25px 50px 75px 100px inset " but got "rgb ( 250 , 250 , 250 ) 25px 50px 75px 100px inset "
17
FAIL Compositing: property <box-shadow> underlying [rgb(10, 20, 30) 1px 2px 3px 4px, rgb(20, 40, 60) 2px 4px 6px 8px] from add [rgb(100, 100, 100) 10px 20px 30px 40px] to add [rgb(200, 200, 200) 20px 40px 60px 80px] at (-0.3) should be [rgb(10, 20, 30) 1px 2px 3px 4px, rgb(20, 40, 60) 2px 4px 6px 8px, rgb(70, 70, 70) 7px 14px 21px 28px] assert_equals: expected "rgb ( 10 , 20 , 30 ) 1px 2px 3px 4px , rgb ( 20 , 40 , 60 ) 2px 4px 6px 8px , rgb ( 70 , 70 , 70 ) 7px 14px 21px 28px " but got "rgb ( 70 , 70 , 70 ) 7px 14px 21px 28px "
18
FAIL Compositing: property <box-shadow> underlying [rgb(10, 20, 30) 1px 2px 3px 4px, rgb(20, 40, 60) 2px 4px 6px 8px] from add [rgb(100, 100, 100) 10px 20px 30px 40px] to add [rgb(200, 200, 200) 20px 40px 60px 80px] at (0) should be [rgb(10, 20, 30) 1px 2px 3px 4px, rgb(20, 40, 60) 2px 4px 6px 8px, rgb(100, 100, 100) 10px 20px 30px 40px] assert_equals: expected "rgb ( 10 , 20 , 30 ) 1px 2px 3px 4px , rgb ( 20 , 40 , 60 ) 2px 4px 6px 8px , rgb ( 100 , 100 , 100 ) 10px 20px 30px 40px " but got "rgb ( 100 , 100 , 100 ) 10px 20px 30px 40px "
19
FAIL Compositing: property <box-shadow> underlying [rgb(10, 20, 30) 1px 2px 3px 4px, rgb(20, 40, 60) 2px 4px 6px 8px] from add [rgb(100, 100, 100) 10px 20px 30px 40px] to add [rgb(200, 200, 200) 20px 40px 60px 80px] at (0.5) should be [rgb(10, 20, 30) 1px 2px 3px 4px, rgb(20, 40, 60) 2px 4px 6px 8px, rgb(150, 150, 150) 15px 30px 45px 60px] assert_equals: expected "rgb ( 10 , 20 , 30 ) 1px 2px 3px 4px , rgb ( 20 , 40 , 60 ) 2px 4px 6px 8px , rgb ( 150 , 150 , 150 ) 15px 30px 45px 60px " but got "rgb ( 150 , 150 , 150 ) 15px 30px 45px 60px "
20
FAIL Compositing: property <box-shadow> underlying [rgb(10, 20, 30) 1px 2px 3px 4px, rgb(20, 40, 60) 2px 4px 6px 8px] from add [rgb(100, 100, 100) 10px 20px 30px 40px] to add [rgb(200, 200, 200) 20px 40px 60px 80px] at (1) should be [rgb(10, 20, 30) 1px 2px 3px 4px, rgb(20, 40, 60) 2px 4px 6px 8px, rgb(200, 200, 200) 20px 40px 60px 80px] assert_equals: expected "rgb ( 10 , 20 , 30 ) 1px 2px 3px 4px , rgb ( 20 , 40 , 60 ) 2px 4px 6px 8px , rgb ( 200 , 200 , 200 ) 20px 40px 60px 80px " but got "rgb ( 200 , 200 , 200 ) 20px 40px 60px 80px "
21
FAIL Compositing: property <box-shadow> underlying [rgb(10, 20, 30) 1px 2px 3px 4px, rgb(20, 40, 60) 2px 4px 6px 8px] from add [rgb(100, 100, 100) 10px 20px 30px 40px] to add [rgb(200, 200, 200) 20px 40px 60px 80px] at (1.5) should be [rgb(10, 20, 30) 1px 2px 3px 4px, rgb(20, 40, 60) 2px 4px 6px 8px, rgb(250, 250, 250) 25px 50px 75px 100px] assert_equals: expected "rgb ( 10 , 20 , 30 ) 1px 2px 3px 4px , rgb ( 20 , 40 , 60 ) 2px 4px 6px 8px , rgb ( 250 , 250 , 250 ) 25px 50px 75px 100px " but got "rgb ( 250 , 250 , 250 ) 25px 50px 75px 100px "
22
FAIL Compositing: property <box-shadow> underlying [rgb(10, 20, 30) 1px 2px 3px 4px] from add [rgb(100, 100, 100) 10px 20px 30px 40px, rgb(100, 100, 100) 10px 20px 30px 40px inset] to add [rgb(200, 200, 200) 20px 40px 60px 80px, rgb(200, 200, 200) 20px 40px 60px 80px inset] at (-0.3) should be [rgb(10, 20, 30) 1px 2px 3px 4px, rgb(70, 70, 70) 7px 14px 21px 28px, rgb(70, 70, 70) 7px 14px 21px 28px inset] assert_equals: expected "rgb ( 10 , 20 , 30 ) 1px 2px 3px 4px , rgb ( 70 , 70 , 70 ) 7px 14px 21px 28px , rgb ( 70 , 70 , 70 ) 7px 14px 21px 28px inset " but got "rgb ( 70 , 70 , 70 ) 7px 14px 21px 28px , rgb ( 70 , 70 , 70 ) 7px 14px 21px 28px inset "
23
FAIL Compositing: property <box-shadow> underlying [rgb(10, 20, 30) 1px 2px 3px 4px] from add [rgb(100, 100, 100) 10px 20px 30px 40px, rgb(100, 100, 100) 10px 20px 30px 40px inset] to add [rgb(200, 200, 200) 20px 40px 60px 80px, rgb(200, 200, 200) 20px 40px 60px 80px inset] at (0) should be [rgb(10, 20, 30) 1px 2px 3px 4px, rgb(100, 100, 100) 10px 20px 30px 40px, rgb(100, 100, 100) 10px 20px 30px 40px inset] assert_equals: expected "rgb ( 10 , 20 , 30 ) 1px 2px 3px 4px , rgb ( 100 , 100 , 100 ) 10px 20px 30px 40px , rgb ( 100 , 100 , 100 ) 10px 20px 30px 40px inset " but got "rgb ( 100 , 100 , 100 ) 10px 20px 30px 40px , rgb ( 100 , 100 , 100 ) 10px 20px 30px 40px inset "
24
FAIL Compositing: property <box-shadow> underlying [rgb(10, 20, 30) 1px 2px 3px 4px] from add [rgb(100, 100, 100) 10px 20px 30px 40px, rgb(100, 100, 100) 10px 20px 30px 40px inset] to add [rgb(200, 200, 200) 20px 40px 60px 80px, rgb(200, 200, 200) 20px 40px 60px 80px inset] at (0.5) should be [rgb(10, 20, 30) 1px 2px 3px 4px, rgb(150, 150, 150) 15px 30px 45px 60px, rgb(150, 150, 150) 15px 30px 45px 60px inset] assert_equals: expected "rgb ( 10 , 20 , 30 ) 1px 2px 3px 4px , rgb ( 150 , 150 , 150 ) 15px 30px 45px 60px , rgb ( 150 , 150 , 150 ) 15px 30px 45px 60px inset " but got "rgb ( 150 , 150 , 150 ) 15px 30px 45px 60px , rgb ( 150 , 150 , 150 ) 15px 30px 45px 60px inset "
25
FAIL Compositing: property <box-shadow> underlying [rgb(10, 20, 30) 1px 2px 3px 4px] from add [rgb(100, 100, 100) 10px 20px 30px 40px, rgb(100, 100, 100) 10px 20px 30px 40px inset] to add [rgb(200, 200, 200) 20px 40px 60px 80px, rgb(200, 200, 200) 20px 40px 60px 80px inset] at (1) should be [rgb(10, 20, 30) 1px 2px 3px 4px, rgb(200, 200, 200) 20px 40px 60px 80px, rgb(200, 200, 200) 20px 40px 60px 80px inset] assert_equals: expected "rgb ( 10 , 20 , 30 ) 1px 2px 3px 4px , rgb ( 200 , 200 , 200 ) 20px 40px 60px 80px , rgb ( 200 , 200 , 200 ) 20px 40px 60px 80px inset " but got "rgb ( 200 , 200 , 200 ) 20px 40px 60px 80px , rgb ( 200 , 200 , 200 ) 20px 40px 60px 80px inset "
26
FAIL Compositing: property <box-shadow> underlying [rgb(10, 20, 30) 1px 2px 3px 4px] from add [rgb(100, 100, 100) 10px 20px 30px 40px, rgb(100, 100, 100) 10px 20px 30px 40px inset] to add [rgb(200, 200, 200) 20px 40px 60px 80px, rgb(200, 200, 200) 20px 40px 60px 80px inset] at (1.5) should be [rgb(10, 20, 30) 1px 2px 3px 4px, rgb(250, 250, 250) 25px 50px 75px 100px, rgb(250, 250, 250) 25px 50px 75px 100px inset] assert_equals: expected "rgb ( 10 , 20 , 30 ) 1px 2px 3px 4px , rgb ( 250 , 250 , 250 ) 25px 50px 75px 100px , rgb ( 250 , 250 , 250 ) 25px 50px 75px 100px inset " but got "rgb ( 250 , 250 , 250 ) 25px 50px 75px 100px , rgb ( 250 , 250 , 250 ) 25px 50px 75px 100px inset "
27
FAIL Compositing: property <box-shadow> underlying [rgb(10, 20, 30) 1px 2px 3px 4px, rgb(20, 40, 60) 2px 4px 6px 8px] from add [rgb(100, 100, 100) 10px 20px 30px 40px] to replace [rgb(200, 200, 200) 20px 40px 60px 80px] at (-0.3) should be [rgb(0, 0, 0) -4.7px -9.4px 0px -18.8px, rgb(26, 52, 78) 2.6px 5.2px 7.8px 10.4px, rgb(130, 130, 130) 13px 26px 39px 52px] assert_equals: expected "rgb ( 0 , 0 , 0 ) - 4.69px - 9.39px 0px - 18.8px , rgb ( 26 , 52 , 78 ) 2.59px 5.19px 7px 10.39px , rgb ( 130 , 130 , 130 ) 13px 26px 39px 52px " but got "rgb ( 70 , 70 , 70 ) 7px 14px 21px 28px "
28
FAIL Compositing: property <box-shadow> underlying [rgb(10, 20, 30) 1px 2px 3px 4px, rgb(20, 40, 60) 2px 4px 6px 8px] from add [rgb(100, 100, 100) 10px 20px 30px 40px] to replace [rgb(200, 200, 200) 20px 40px 60px 80px] at (0) should be [rgb(10, 20, 30) 1px 2px 3px 4px, rgb(20, 40, 60) 2px 4px 6px 8px, rgb(100, 100, 100) 10px 20px 30px 40px] assert_equals: expected "rgb ( 10 , 20 , 30 ) 1px 2px 3px 4px , rgb ( 20 , 40 , 60 ) 2px 4px 6px 8px , rgb ( 100 , 100 , 100 ) 10px 20px 30px 40px " but got "rgb ( 100 , 100 , 100 ) 10px 20px 30px 40px "
29
FAIL Compositing: property <box-shadow> underlying [rgb(10, 20, 30) 1px 2px 3px 4px, rgb(20, 40, 60) 2px 4px 6px 8px] from add [rgb(100, 100, 100) 10px 20px 30px 40px] to replace [rgb(200, 200, 200) 20px 40px 60px 80px] at (0.5) should be [rgb(105, 110, 115) 10.5px 21px 31.5px 42px, rgba(20, 40, 60, 0.5) 1px 2px 3px 4px, rgba(100, 100, 100, 0.5) 5px 10px 15px 20px] assert_equals: expected "rgb ( 105 , 110 , 115 ) 10.5px 21px 31px 42px , rgba ( 20 , 40 , 60 , 0.5 ) 1px 2px 3px 4px , rgba ( 100 , 100 , 100 , 0.5 ) 5px 10px 15px 20px " but got "rgb ( 150 , 150 , 150 ) 15px 30px 45px 60px "
30
PASS Compositing: property <box-shadow> underlying [rgb(10, 20, 30) 1px 2px 3px 4px, rgb(20, 40, 60) 2px 4px 6px 8px] from add [rgb(100, 100, 100) 10px 20px 30px 40px] to replace [rgb(200, 200, 200) 20px 40px 60px 80px] at (1) should be [rgb(200, 200, 200) 20px 40px 60px 80px] 
31
FAIL Compositing: property <box-shadow> underlying [rgb(10, 20, 30) 1px 2px 3px 4px, rgb(20, 40, 60) 2px 4px 6px 8px] from add [rgb(100, 100, 100) 10px 20px 30px 40px] to replace [rgb(200, 200, 200) 20px 40px 60px 80px] at (1.5) should be [rgb(255, 255, 255) 29.5px 59px 88.5px 118px, rgba(0, 0, 0, 0) -1px -2px 0px -4px, rgba(0, 0, 0, 0) -5px -10px 0px -20px] assert_equals: expected "rgb ( 255 , 255 , 255 ) 29.5px 59px 88px 118px , rgba ( 0 , 0 , 0 , 0 ) - 1px - 2px 0px - 4px , rgba ( 0 , 0 , 0 , 0 ) - 5px - 10px 0px - 20px " but got "rgb ( 250 , 250 , 250 ) 25px 50px 75px 100px "
32
FAIL Compositing: property <box-shadow> underlying [rgb(10, 20, 30) 1px 2px 3px 4px, rgb(20, 40, 60) 2px 4px 6px 8px] from replace [rgb(100, 100, 100) 10px 20px 30px 40px] to add [rgb(200, 200, 200) 20px 40px 60px 80px] at (-0.3) should be [rgb(127, 124, 121) 12.7px 25.4px 38.1px 50.8px, rgba(0, 0, 0, 0) -0.6px -1.2px 0px -2.4px, rgba(0, 0, 0, 0) -6px -12px 0px -24px] assert_equals: expected "rgb ( 127 , 124 , 121 ) 12.69px 25.39px 38px 50.8px , rgba ( 0 , 0 , 0 , 0 ) - 0.59px - 1.19px 0px - 2.39px , rgba ( 0 , 0 , 0 , 0 ) - 6px - 12px 0px - 24px " but got "rgb ( 70 , 70 , 70 ) 7px 14px 21px 28px "
33
PASS Compositing: property <box-shadow> underlying [rgb(10, 20, 30) 1px 2px 3px 4px, rgb(20, 40, 60) 2px 4px 6px 8px] from replace [rgb(100, 100, 100) 10px 20px 30px 40px] to add [rgb(200, 200, 200) 20px 40px 60px 80px] at (0) should be [rgb(100, 100, 100) 10px 20px 30px 40px] 
34
FAIL Compositing: property <box-shadow> underlying [rgb(10, 20, 30) 1px 2px 3px 4px, rgb(20, 40, 60) 2px 4px 6px 8px] from replace [rgb(100, 100, 100) 10px 20px 30px 40px] to add [rgb(200, 200, 200) 20px 40px 60px 80px] at (0.5) should be [rgb(55, 60, 65) 5.5px 11px 16.5px 22px, rgba(20, 40, 60, 0.5) 1px 2px 3px 4px, rgba(200, 200, 200, 0.5) 10px 20px 30px 40px] assert_equals: expected "rgb ( 55 , 60 , 65 ) 5.5px 11px 16px 22px , rgba ( 20 , 40 , 60 , 0.5 ) 1px 2px 3px 4px , rgba ( 200 , 200 , 200 , 0.5 ) 10px 20px 30px 40px " but got "rgb ( 150 , 150 , 150 ) 15px 30px 45px 60px "
35
FAIL Compositing: property <box-shadow> underlying [rgb(10, 20, 30) 1px 2px 3px 4px, rgb(20, 40, 60) 2px 4px 6px 8px] from replace [rgb(100, 100, 100) 10px 20px 30px 40px] to add [rgb(200, 200, 200) 20px 40px 60px 80px] at (1) should be [rgb(10, 20, 30) 1px 2px 3px 4px, rgb(20, 40, 60) 2px 4px 6px 8px, rgb(200, 200, 200) 20px 40px 60px 80px] assert_equals: expected "rgb ( 10 , 20 , 30 ) 1px 2px 3px 4px , rgb ( 20 , 40 , 60 ) 2px 4px 6px 8px , rgb ( 200 , 200 , 200 ) 20px 40px 60px 80px " but got "rgb ( 200 , 200 , 200 ) 20px 40px 60px 80px "
36
FAIL Compositing: property <box-shadow> underlying [rgb(10, 20, 30) 1px 2px 3px 4px, rgb(20, 40, 60) 2px 4px 6px 8px] from replace [rgb(100, 100, 100) 10px 20px 30px 40px] to add [rgb(200, 200, 200) 20px 40px 60px 80px] at (1.5) should be [rgb(0, 0, 0) -3.5px -7px 0px -14px, rgb(30, 60, 90) 3px 6px 9px 12px, rgb(255, 255, 255) 30px 60px 90px 120px] assert_equals: expected "rgb ( 0 , 0 , 0 ) - 3.5px - 7px 0px - 14px , rgb ( 30 , 60 , 90 ) 3px 6px 9px 12px , rgb ( 255 , 255 , 255 ) 30px 60px 90px 120px " but got "rgb ( 250 , 250 , 250 ) 25px 50px 75px 100px "
37
FAIL Compositing: property <box-shadow> underlying [rgb(10, 20, 30) 1px 2px 3px 4px, rgb(20, 40, 60) 2px 4px 6px 8px, rgb(40, 80, 120) 4px 8px 12px 16px] from add [rgb(100, 100, 100) 10px 20px 30px 40px, rgb(200, 200, 200) 20px 40px 60px 80px] to replace [rgb(200, 200, 200) 20px 40px 60px 80px] at (-0.3) should be [rgb(0, 0, 0) -4.7px -9.4px 0px -18.8px, rgb(26, 52, 78) 2.6px 5.2px 7.8px 10.4px, rgb(52, 104, 156) 5.2px 10.4px 15.6px 20.8px, rgb(130, 130, 130) 13px 26px 39px 52px, rgb(255, 255, 255) 26px 52px 78px 104px] assert_equals: expected "rgb ( 0 , 0 , 0 ) - 4.69px - 9.39px 0px - 18.8px , rgb ( 26 , 52 , 78 ) 2.59px 5.19px 7px 10.39px , rgb ( 52 , 104 , 156 ) 5.19px 10.39px 15px 20.8px , rgb ( 130 , 130 , 130 ) 13px 26px 39px 52px , rgb ( 255 , 255 , 255 ) 26px 52px 78px 104px " but got "rgb ( 70 , 70 , 70 ) 7px 14px 21px 28px , rgb ( 255 , 255 , 255 ) 26px 52px 78px 104px "
38
FAIL Compositing: property <box-shadow> underlying [rgb(10, 20, 30) 1px 2px 3px 4px, rgb(20, 40, 60) 2px 4px 6px 8px, rgb(40, 80, 120) 4px 8px 12px 16px] from add [rgb(100, 100, 100) 10px 20px 30px 40px, rgb(200, 200, 200) 20px 40px 60px 80px] to replace [rgb(200, 200, 200) 20px 40px 60px 80px] at (0) should be [rgb(10, 20, 30) 1px 2px 3px 4px, rgb(20, 40, 60) 2px 4px 6px 8px, rgb(40, 80, 120) 4px 8px 12px 16px, rgb(100, 100, 100) 10px 20px 30px 40px, rgb(200, 200, 200) 20px 40px 60px 80px] assert_equals: expected "rgb ( 10 , 20 , 30 ) 1px 2px 3px 4px , rgb ( 20 , 40 , 60 ) 2px 4px 6px 8px , rgb ( 40 , 80 , 120 ) 4px 8px 12px 16px , rgb ( 100 , 100 , 100 ) 10px 20px 30px 40px , rgb ( 200 , 200 , 200 ) 20px 40px 60px 80px " but got "rgb ( 100 , 100 , 100 ) 10px 20px 30px 40px , rgb ( 200 , 200 , 200 ) 20px 40px 60px 80px "
39
FAIL Compositing: property <box-shadow> underlying [rgb(10, 20, 30) 1px 2px 3px 4px, rgb(20, 40, 60) 2px 4px 6px 8px, rgb(40, 80, 120) 4px 8px 12px 16px] from add [rgb(100, 100, 100) 10px 20px 30px 40px, rgb(200, 200, 200) 20px 40px 60px 80px] to replace [rgb(200, 200, 200) 20px 40px 60px 80px] at (0.5) should be [rgb(105, 110, 115) 10.5px 21px 31.5px 42px, rgba(20, 40, 60, 0.5) 1px 2px 3px 4px, rgba(40, 80, 120, 0.5) 2px 4px 6px 8px, rgba(100, 100, 100, 0.5) 5px 10px 15px 20px, rgba(200, 200, 200, 0.5) 10px 20px 30px 40px] assert_equals: expected "rgb ( 105 , 110 , 115 ) 10.5px 21px 31px 42px , rgba ( 20 , 40 , 60 , 0.5 ) 1px 2px 3px 4px , rgba ( 40 , 80 , 120 , 0.5 ) 2px 4px 6px 8px , rgba ( 100 , 100 , 100 , 0.5 ) 5px 10px 15px 20px , rgba ( 200 , 200 , 200 , 0.5 ) 10px 20px 30px 40px " but got "rgb ( 150 , 150 , 150 ) 15px 30px 45px 60px , rgba ( 200 , 200 , 200 , 0.5 ) 10px 20px 30px 40px "
40
FAIL Compositing: property <box-shadow> underlying [rgb(10, 20, 30) 1px 2px 3px 4px, rgb(20, 40, 60) 2px 4px 6px 8px, rgb(40, 80, 120) 4px 8px 12px 16px] from add [rgb(100, 100, 100) 10px 20px 30px 40px, rgb(200, 200, 200) 20px 40px 60px 80px] to replace [rgb(200, 200, 200) 20px 40px 60px 80px] at (1) should be [rgb(200, 200, 200) 20px 40px 60px 80px] assert_equals: expected "rgb ( 200 , 200 , 200 ) 20px 40px 60px 80px " but got "rgb ( 200 , 200 , 200 ) 20px 40px 60px 80px , rgba ( 0 , 0 , 0 , 0 ) 0px 0px 0px 0px "
41
FAIL Compositing: property <box-shadow> underlying [rgb(10, 20, 30) 1px 2px 3px 4px, rgb(20, 40, 60) 2px 4px 6px 8px, rgb(40, 80, 120) 4px 8px 12px 16px] from add [rgb(100, 100, 100) 10px 20px 30px 40px, rgb(200, 200, 200) 20px 40px 60px 80px] to replace [rgb(200, 200, 200) 20px 40px 60px 80px] at (1.5) should be [rgb(255, 255, 255) 29.5px 59px 88.5px 118px, rgba(0, 0, 0, 0) -1px -2px 0px -4px, rgba(0, 0, 0, 0) -2px -4px 0px -8px, rgba(0, 0, 0, 0) -5px -10px 0px -20px, rgba(0, 0, 0, 0) -10px -20px 0px -40px] assert_equals: expected "rgb ( 255 , 255 , 255 ) 29.5px 59px 88px 118px , rgba ( 0 , 0 , 0 , 0 ) - 1px - 2px 0px - 4px , rgba ( 0 , 0 , 0 , 0 ) - 2px - 4px 0px - 8px , rgba ( 0 , 0 , 0 , 0 ) - 5px - 10px 0px - 20px , rgba ( 0 , 0 , 0 , 0 ) - 10px - 20px 0px - 40px " but got "rgb ( 250 , 250 , 250 ) 25px 50px 75px 100px , rgba ( 0 , 0 , 0 , 0 ) - 10px - 20px - 30px - 40px "
42
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/animations/box-shadow-composition.html +118 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/animations/box-shadow-composition.html_sec1
1
<!DOCTYPE html>
2
<meta charset="UTF-8">
3
<title>box-shadow composition</title>
4
<link rel="help" href="https://drafts.csswg.org/css-backgrounds-3/#box-shadow">
5
<meta name="test" content="box-shadow supports animation">
6
<script src="/resources/testharness.js"></script>
7
<script src="/resources/testharnessreport.js"></script>
8
<script src="/css/support/interpolation-testcommon.js"></script>
9
<style>
10
.target {
11
  width: 40px;
12
  height: 40px;
13
  background-color: black;
14
}
15
.expected {
16
  background-color: green;
17
}
18
</style>
19
<body>
20
<script>
21
test_composition({
22
  property: 'box-shadow',
23
  replaceFrom: 'rgb(100, 100, 100) 10px 20px 30px 40px',
24
  addTo: 'rgb(200, 200, 200) 20px 40px 60px 80px',
25
}, [
26
  {at: -0.3, expect: 'rgb(70, 70, 70 ) 7px 14px 21px 28px'},
27
  {at: 0, expect: 'rgb(100, 100, 100) 10px 20px 30px 40px'},
28
  {at: 0.5, expect: 'rgb(150, 150, 150) 15px 30px 45px 60px'},
29
  {at: 1, expect: 'rgb(200, 200, 200) 20px 40px 60px 80px'},
30
  {at: 1.5, expect: 'rgb(250, 250, 250) 25px 50px 75px 100px'},
31
]);
32
33
test_composition({
34
  property: 'box-shadow',
35
  underlying: 'rgb(10, 20, 30) 1px 2px 3px 4px',
36
  addFrom: 'rgb(100, 100, 100) 10px 20px 30px 40px',
37
  addTo: 'rgb(200, 200, 200) 20px 40px 60px 80px',
38
}, [
39
  {at: -0.3, expect: 'rgb(10, 20, 30) 1px 2px 3px 4px, rgb(70, 70, 70) 7px 14px 21px 28px'},
40
  {at: 0, expect: 'rgb(10, 20, 30) 1px 2px 3px 4px, rgb(100, 100, 100) 10px 20px 30px 40px'},
41
  {at: 0.5, expect: 'rgb(10, 20, 30) 1px 2px 3px 4px, rgb(150, 150, 150) 15px 30px 45px 60px'},
42
  {at: 1, expect: 'rgb(10, 20, 30) 1px 2px 3px 4px, rgb(200, 200, 200) 20px 40px 60px 80px'},
43
  {at: 1.5, expect: 'rgb(10, 20, 30) 1px 2px 3px 4px, rgb(250, 250, 250) 25px 50px 75px 100px'},
44
]);
45
test_composition({
46
  property: 'box-shadow',
47
  underlying: 'rgb(10, 20, 30) 1px 2px 3px 4px',
48
  addFrom: 'rgb(100, 100, 100) 10px 20px 30px 40px inset',
49
  addTo: 'rgb(200, 200, 200) 20px 40px 60px 80px inset',
50
}, [
51
  {at: -0.3, expect: 'rgb(10, 20, 30) 1px 2px 3px 4px, rgb(70, 70, 70) 7px 14px 21px 28px inset'},
52
  {at: 0, expect: 'rgb(10, 20, 30) 1px 2px 3px 4px, rgb(100, 100, 100) 10px 20px 30px 40px inset'},
53
  {at: 0.5, expect: 'rgb(10, 20, 30) 1px 2px 3px 4px, rgb(150, 150, 150) 15px 30px 45px 60px inset'},
54
  {at: 1, expect: 'rgb(10, 20, 30) 1px 2px 3px 4px, rgb(200, 200, 200) 20px 40px 60px 80px inset'},
55
  {at: 1.5, expect: 'rgb(10, 20, 30) 1px 2px 3px 4px, rgb(250, 250, 250) 25px 50px 75px 100px inset'},
56
]);
57
test_composition({
58
  property: 'box-shadow',
59
  underlying: 'rgb(10, 20, 30) 1px 2px 3px 4px, rgb(20, 40, 60) 2px 4px 6px 8px',
60
  addFrom: 'rgb(100, 100, 100) 10px 20px 30px 40px',
61
  addTo: 'rgb(200, 200, 200) 20px 40px 60px 80px',
62
}, [
63
  {at: -0.3, expect: 'rgb(10, 20, 30) 1px 2px 3px 4px, rgb(20, 40, 60) 2px 4px 6px 8px, rgb(70, 70, 70) 7px 14px 21px 28px'},
64
  {at: 0, expect: 'rgb(10, 20, 30) 1px 2px 3px 4px, rgb(20, 40, 60) 2px 4px 6px 8px, rgb(100, 100, 100) 10px 20px 30px 40px'},
65
  {at: 0.5, expect: 'rgb(10, 20, 30) 1px 2px 3px 4px, rgb(20, 40, 60) 2px 4px 6px 8px, rgb(150, 150, 150) 15px 30px 45px 60px'},
66
  {at: 1, expect: 'rgb(10, 20, 30) 1px 2px 3px 4px, rgb(20, 40, 60) 2px 4px 6px 8px, rgb(200, 200, 200) 20px 40px 60px 80px'},
67
  {at: 1.5, expect: 'rgb(10, 20, 30) 1px 2px 3px 4px, rgb(20, 40, 60) 2px 4px 6px 8px, rgb(250, 250, 250) 25px 50px 75px 100px'},
68
]);
69
test_composition({
70
  property: 'box-shadow',
71
  underlying: 'rgb(10, 20, 30) 1px 2px 3px 4px',
72
  addFrom: 'rgb(100, 100, 100) 10px 20px 30px 40px, rgb(100, 100, 100) 10px 20px 30px 40px inset',
73
  addTo: 'rgb(200, 200, 200) 20px 40px 60px 80px, rgb(200, 200, 200) 20px 40px 60px 80px inset',
74
}, [
75
  {at: -0.3, expect: 'rgb(10, 20, 30) 1px 2px 3px 4px, rgb(70, 70, 70) 7px 14px 21px 28px, rgb(70, 70, 70) 7px 14px 21px 28px inset'},
76
  {at: 0, expect: 'rgb(10, 20, 30) 1px 2px 3px 4px, rgb(100, 100, 100) 10px 20px 30px 40px, rgb(100, 100, 100) 10px 20px 30px 40px inset'},
77
  {at: 0.5, expect: 'rgb(10, 20, 30) 1px 2px 3px 4px, rgb(150, 150, 150) 15px 30px 45px 60px, rgb(150, 150, 150) 15px 30px 45px 60px inset'},
78
  {at: 1, expect: 'rgb(10, 20, 30) 1px 2px 3px 4px, rgb(200, 200, 200) 20px 40px 60px 80px, rgb(200, 200, 200) 20px 40px 60px 80px inset'},
79
  {at: 1.5, expect: 'rgb(10, 20, 30) 1px 2px 3px 4px, rgb(250, 250, 250) 25px 50px 75px 100px, rgb(250, 250, 250) 25px 50px 75px 100px inset'},
80
]);
81
test_composition({
82
  property: 'box-shadow',
83
  underlying: 'rgb(10, 20, 30) 1px 2px 3px 4px, rgb(20, 40, 60) 2px 4px 6px 8px',
84
  addFrom: 'rgb(100, 100, 100) 10px 20px 30px 40px',
85
  replaceTo: 'rgb(200, 200, 200) 20px 40px 60px 80px',
86
}, [
87
  {at: -0.3, expect: 'rgb(0, 0, 0) -4.7px -9.4px 0px -18.8px, rgb(26, 52, 78) 2.6px 5.2px 7.8px 10.4px, rgb(130, 130, 130) 13px 26px 39px 52px'},
88
  {at: 0, expect: 'rgb(10, 20, 30) 1px 2px 3px 4px, rgb(20, 40, 60) 2px 4px 6px 8px, rgb(100, 100, 100) 10px 20px 30px 40px'},
89
  {at: 0.5, expect: 'rgb(105, 110, 115) 10.5px 21px 31.5px 42px, rgba(20, 40, 60, 0.5) 1px 2px 3px 4px, rgba(100, 100, 100, 0.5) 5px 10px 15px 20px'},
90
  {at: 1, expect: 'rgb(200, 200, 200) 20px 40px 60px 80px'},
91
  {at: 1.5, expect: 'rgb(255, 255, 255) 29.5px 59px 88.5px 118px, rgba(0, 0, 0, 0) -1px -2px 0px -4px, rgba(0, 0, 0, 0) -5px -10px 0px -20px'},
92
]);
93
test_composition({
94
  property: 'box-shadow',
95
  underlying: 'rgb(10, 20, 30) 1px 2px 3px 4px, rgb(20, 40, 60) 2px 4px 6px 8px',
96
  replaceFrom: 'rgb(100, 100, 100) 10px 20px 30px 40px',
97
  addTo: 'rgb(200, 200, 200) 20px 40px 60px 80px',
98
}, [
99
  {at: -0.3, expect: 'rgb(127, 124, 121) 12.7px 25.4px 38.1px 50.8px, rgba(0, 0, 0, 0) -0.6px -1.2px 0px -2.4px, rgba(0, 0, 0, 0) -6px -12px 0px -24px'},
100
  {at: 0, expect: 'rgb(100, 100, 100) 10px 20px 30px 40px'},
101
  {at: 0.5, expect: 'rgb(55, 60, 65) 5.5px 11px 16.5px 22px, rgba(20, 40, 60, 0.5) 1px 2px 3px 4px, rgba(200, 200, 200, 0.5) 10px 20px 30px 40px'},
102
  {at: 1, expect: 'rgb(10, 20, 30) 1px 2px 3px 4px, rgb(20, 40, 60) 2px 4px 6px 8px, rgb(200, 200, 200) 20px 40px 60px 80px'},
103
  {at: 1.5, expect: 'rgb(0, 0, 0) -3.5px -7px 0px -14px, rgb(30, 60, 90) 3px 6px 9px 12px, rgb(255, 255, 255) 30px 60px 90px 120px'},
104
]);
105
test_composition({
106
  property: 'box-shadow',
107
  underlying: 'rgb(10, 20, 30) 1px 2px 3px 4px, rgb(20, 40, 60) 2px 4px 6px 8px, rgb(40, 80, 120) 4px 8px 12px 16px',
108
  addFrom: 'rgb(100, 100, 100) 10px 20px 30px 40px, rgb(200, 200, 200) 20px 40px 60px 80px',
109
  replaceTo: 'rgb(200, 200, 200) 20px 40px 60px 80px',
110
}, [
111
  {at: -0.3, expect: 'rgb(0, 0, 0) -4.7px -9.4px 0px -18.8px, rgb(26, 52, 78) 2.6px 5.2px 7.8px 10.4px, rgb(52, 104, 156) 5.2px 10.4px 15.6px 20.8px, rgb(130, 130, 130) 13px 26px 39px 52px, rgb(255, 255, 255) 26px 52px 78px 104px'},
112
  {at: 0, expect: 'rgb(10, 20, 30) 1px 2px 3px 4px, rgb(20, 40, 60) 2px 4px 6px 8px, rgb(40, 80, 120) 4px 8px 12px 16px, rgb(100, 100, 100) 10px 20px 30px 40px, rgb(200, 200, 200) 20px 40px 60px 80px'},
113
  {at: 0.5, expect: 'rgb(105, 110, 115) 10.5px 21px 31.5px 42px, rgba(20, 40, 60, 0.5) 1px 2px 3px 4px, rgba(40, 80, 120, 0.5) 2px 4px 6px 8px, rgba(100, 100, 100, 0.5) 5px 10px 15px 20px, rgba(200, 200, 200, 0.5) 10px 20px 30px 40px'},
114
  {at: 1, expect: 'rgb(200, 200, 200) 20px 40px 60px 80px'},
115
  {at: 1.5, expect: 'rgb(255, 255, 255) 29.5px 59px 88.5px 118px, rgba(0, 0, 0, 0) -1px -2px 0px -4px, rgba(0, 0, 0, 0) -2px -4px 0px -8px, rgba(0, 0, 0, 0) -5px -10px 0px -20px, rgba(0, 0, 0, 0) -10px -20px 0px -40px'},
116
]);
117
</script>
118
</body>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/animations/w3c-import.log +1 lines
Lines 40-43 List of files: a/LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/animations/w3c-import.log_sec1
40
/LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/animations/border-top-right-radius-composition.html
40
/LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/animations/border-top-right-radius-composition.html
41
/LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/animations/border-top-width-composition.html
41
/LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/animations/border-top-width-composition.html
42
/LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/animations/border-width-interpolation.html
42
/LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/animations/border-width-interpolation.html
43
/LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/animations/box-shadow-composition.html
43
/LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/animations/box-shadow-interpolation.html
44
/LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/animations/box-shadow-interpolation.html
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/background-attachment-350-expected.xht +18 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/background-attachment-350-expected.xht_sec1
1
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
2
3
<html xmlns="http://www.w3.org/1999/xhtml">
4
5
 <head>
6
7
  <title>CSS Reftest Reference</title>
8
9
  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
10
11
 </head>
12
13
 <body>
14
15
  <p>Test passes if there is <strong>no red</strong>.</p>
16
17
 </body>
18
</html>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/background-attachment-350.html +63 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/background-attachment-350.html_sec1
1
<!DOCTYPE html>
2
3
  <meta charset="UTF-8">
4
5
  <title>CSS Background and Borders Test: 'background-attachment: local' and 'overflow: hidden'</title>
6
7
  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/">
8
  <link rel="help" href="http://www.w3.org/TR/css3-background/#the-background-attachment">
9
  <link rel="match" href="reference/ref-if-there-is-no-red.xht">
10
11
  <!--
12
13
  More info:
14
15
  Re: [css3-background] background-attachment: local
16
  http://lists.w3.org/Archives/Public/www-style/2013May/0542.html
17
18
  -->
19
20
  <meta content="" name="flags">
21
  <meta content="This test checks that when an element has 'background-attachment: local', then the background image is fixed with regard to what is the element's scrollable area and not to its viewport. In this test, what would be the scrollable area for the div element is where the red square is and such area is clipped due to 'overflow: hidden'." name="assert">
22
23
  <style>
24
  div
25
    {
26
      background-attachment: local;
27
      background-image: url("support/100x100-red.png");
28
      background-position: bottom right;
29
      background-repeat: no-repeat;
30
      font-size: 100px;
31
      line-height: 1;
32
      height: 100px;
33
      overflow: hidden;
34
      width: 100px;
35
    }
36
  </style>
37
38
  <body>
39
40
  <p>Test passes if there is <strong>no red</strong>.
41
42
  <div id="target">&nbsp;&nbsp;<br>&nbsp;&nbsp;</div>
43
44
  <!--
45
46
  +-----------------------+
47
  |+----------+           |
48
  || +------+ |           |
49
  || |  red | |           | <-- bottom right of scrolling box
50
  || |square| |           |     when background-image dimensions
51
  || |      | |           |     are the same as the element's
52
  || +------+ |           |     viewport dimensions
53
   +----------+           |
54
  |                       |
55
  |                       |
56
  |               +------+|
57
  |               |  red || <-- bottom right of scrollable area
58
  |               |square||     which is outside of the viewport
59
  |               |      ||     area and which is clipped due
60
  |               +------+|     to 'overflow: hidden'
61
  +-----------------------+
62
63
  -->
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/background-attachment-margin-root-001-expected.html +14 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/background-attachment-margin-root-001-expected.html_sec1
1
<!doctype HTML>
2
<style>
3
  div {
4
    background: linear-gradient(rgba(0,255,0,0.5), rgba(0,0,255,0.5)), linear-gradient(rgba(0,0,0,1), rgba(0,0,0,1));
5
    background-size: 100px 100px, 100px 100px;
6
    background-position: 50px 50px, 0 0;
7
    position: absolute;
8
    top: 0;
9
    left: 0;
10
    right: 0;
11
    bottom: 0;
12
  }
13
</style>
14
<div></div>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/background-attachment-margin-root-001.html +15 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/background-attachment-margin-root-001.html_sec1
1
<!doctype HTML>
2
<title>Background-attachment: scroll should be positioned relative to the root element and should extend to cover the entire canvas in the presence of fixed backgrounds</title>
3
<link rel="author" title="Philip Rogers" href="mailto:pdr@chromium.org">
4
<link rel="help" href="https://www.w3.org/TR/css-backgrounds-3/#root-background">
5
<link rel="help" href="https://drafts.csswg.org/css-backgrounds-3/#the-background-attachment">
6
<link rel="match" href="background-attachment-margin-root-001-ref.html">
7
<style>
8
  html {
9
    background: linear-gradient(rgba(0,255,0,0.5), rgba(0,0,255,0.5)), linear-gradient(rgba(0,0,0,1), rgba(0,0,0,1));
10
    background-attachment: scroll, fixed;
11
    background-size: 100px 100px, 100px 100px;
12
    height: 300px;
13
    margin: 50px;
14
  }
15
</style>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/background-attachment-margin-root-002-expected.html +14 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/background-attachment-margin-root-002-expected.html_sec1
1
<!doctype HTML>
2
<style>
3
  div {
4
    background: linear-gradient(rgba(0,255,0,0.5), rgba(0,0,255,0.5)), linear-gradient(rgba(0,0,0,1), rgba(0,0,0,1));
5
    background-size: 100px 100px, 100px 100px;
6
    background-position: 0 0, 0 0;
7
    position: absolute;
8
    top: 0;
9
    left: 0;
10
    right: 0;
11
    bottom: 0;
12
  }
13
</style>
14
<div></div>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/background-attachment-margin-root-002.html +15 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/background-attachment-margin-root-002.html_sec1
1
<!doctype HTML>
2
<title>Background-attachment: fixed should be positioned relative to the view and should extend to cover the entire canvas in the presence of scroll backgrounds</title>
3
<link rel="author" title="Philip Rogers" href="mailto:pdr@chromium.org">
4
<link rel="help" href="https://www.w3.org/TR/css-backgrounds-3/#root-background">
5
<link rel="help" href="https://drafts.csswg.org/css-backgrounds-3/#the-background-attachment">
6
<link rel="match" href="background-attachment-margin-root-002-ref.html">
7
<style>
8
  html {
9
    background: linear-gradient(rgba(0,255,0,0.5), rgba(0,0,255,0.5)), linear-gradient(rgba(0,0,0,1), rgba(0,0,0,1));
10
    background-attachment: fixed, scroll;
11
    background-size: 100px 100px, 100px 100px;
12
    height: 300px;
13
    margin: 50px;
14
  }
15
</style>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/background-border-collapsed-gradient-expected.html -19 lines
Lines 1-19 a/LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/background-border-collapsed-gradient-expected.html_sec1
1
<!DOCTYPE html>
2
<html>
3
<head>
4
    <title>CSS Background Test Reference</title>
5
    <link rel="author" title="schenney" href="mailto:schenney@chromium.org">
6
    <style>
7
      div {
8
        background: linear-gradient(to bottom,#222,#666);
9
        float: left;
10
        padding: 32px 64px;
11
        color: white;
12
        border-collapse: collapse;
13
      }
14
    </style>
15
</head>
16
<body>
17
    <div style="height:18px;width:23px;"></div>
18
</body>
19
</html>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/background-border-collapsed-gradient.html -22 lines
Lines 1-22 a/LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/background-border-collapsed-gradient.html_sec1
1
<!DOCTYPE html>
2
<html>
3
<head>
4
    <title>CSS Background Test: There should be no gap between border-collapsed backgrounds</title>
5
    <link rel="author" title="schenney" href="mailto:schenney@chromium.org">
6
    <link rel="help" href="http://www.w3.org/TR/css3-background">
7
    <link rel="match" href="reference/background-border-collapsed-gradient-ref.html">
8
    <style>
9
      div {
10
        background: linear-gradient(to bottom,#222,#666);
11
        float: left;
12
        padding: 32px;
13
        color: white;
14
        border-collapse: collapse;
15
      }
16
    </style>
17
</head>
18
<body>
19
    <div style="height:18px;width:11.5625px;"></div>
20
    <div style="height:18px;width:11.4375px;"></div>
21
</body>
22
</html>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/background-gradient-subpixel-fills-area.html -1 / +1 lines
Lines 3-9 a/LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/background-gradient-subpixel-fills-area.html_sec1
3
<head>
3
<head>
4
  <title>CSS Background Test: Gradient backgrounds should fill the positioning area</title>
4
  <title>CSS Background Test: Gradient backgrounds should fill the positioning area</title>
5
  <link rel="author" title="schenney" href="mailto:schenney@chromium.org">
5
  <link rel="author" title="schenney" href="mailto:schenney@chromium.org">
6
  <link rel="help" href="http://www.w3.org/TR/css3-background">
6
  <link rel="help" href="https://www.w3.org/TR/css-backgrounds-3/#the-background-origin">
7
  <link rel="match" href="reference/background-gradient-subpixel-fills-area-ref.html">
7
  <link rel="match" href="reference/background-gradient-subpixel-fills-area-ref.html">
8
  <style>
8
  <style>
9
    ul {
9
    ul {
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/background-image-007-expected.html -13 lines
Lines 1-13 a/LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/background-image-007-expected.html_sec1
1
<!DOCTYPE html>
2
<title>background-image referance</title>
3
<link rel="author" title="Justin Hill" href="http://www.justin-hill.com">
4
<style>
5
  .green {
6
    top:50px;
7
    left:50px;
8
  }
9
</style>
10
<body>
11
    <p> Test passes if green image shows and no red visable.</p>
12
    <img class="green" src="support/green.png">
13
</body>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/background-image-007-expected.xht +19 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/background-image-007-expected.xht_sec1
1
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
2
<html xmlns="http://www.w3.org/1999/xhtml">
3
 <head>
4
  <title>CSS Reftest Reference</title>
5
  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
6
  <style type="text/css"><![CDATA[
7
  div
8
  {
9
  background-color: green;
10
  height: 100px;
11
  width: 100px;
12
  }
13
  ]]></style>
14
 </head>
15
 <body>
16
  <p>Test passes if there is a filled green square and <strong>no red</strong>.</p>
17
  <div></div>
18
 </body>
19
</html>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/background-image-007.html -26 / +38 lines
Lines 1-31 a/LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/background-image-007.html_sec1
1
<!DOCTYPE html>
1
<!DOCTYPE html>
2
<title>CSS Backgrounds: background-image :first-letter layered images</title>
2
3
<link rel="author" title="Justin Hill" href="http://www.justin-hill.com">
3
  <meta charset="UTF-8">
4
<link rel="help" href="http://www.w3.org/TR/css3-background/#the-background-image">
4
5
<link rel="match" href="reference/background-image-001-ref.html">
5
  <title>CSS Backgrounds and Borders Test: ::first-letter with multiple background images</title>
6
<meta name="assert" content="Test checks that background-image displays multiple images in correct order on :first-letter selector.">
6
7
<style>
7
  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/">
8
    .container {
8
  <link rel="author" title="Justin Hill" href="http://www.justin-hill.com">
9
      top:50px;
9
  <link rel="help" href="http://www.w3.org/TR/css3-background/#the-background-image">
10
      left:50px;
10
  <link rel="help" href="https://www.w3.org/TR/css-pseudo-4/#first-letter-styling">
11
      width: 100px;
11
  <link rel="match" href="../reference/ref-filled-green-100px-square.xht">
12
      height: 100px;
12
  <link rel="stylesheet" type="text/css" href="/fonts/ahem.css">
13
14
  <!--
15
16
  More information:
17
18
  https://github.com/web-platform-tests/wpt/issues/22261
19
20
  -->
21
22
  <meta name="assert" content="This test checks that 'background-image' applies to ::first-letter pseudo-element and that, in case of multiple background images, the first specified one must be on top (closest to the user).">
23
24
  <style>
25
  div
26
    {
27
      color: transparent;
28
      /* So that background shines through both "A" and "Z" glyphs */
29
      line-height: 1;
13
    }
30
    }
14
31
15
    .container p:first-letter {
32
  div::first-letter
16
      width:100px;
33
    {
17
      height:100px;
18
      color:transparent;
19
      font-size: 50px;
20
      background-image: url("support/green.png"), url("support/red.png");
21
      background-color: red;
34
      background-color: red;
22
      display: block;
35
      background-image: url("support/1x1-green.png"), url("../support/60x60-red.png");
23
      margin: 0px;
36
      font-family: Ahem;
37
      font-size: 100px;
24
    }
38
    }
25
</style>
39
  </style>
26
<body>
40
27
    <p> Test passes if green image shows and no red visable.</p>
41
  <p>Test passes if there is a filled green square and <strong>no red</strong>.
28
    <div class="container">
42
29
      <p>x</p>
43
  <div>AZ</div>
30
    </div>
31
</body>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/background-image-centered-with-border-radius.html -1 / +1 lines
Lines 3-9 a/LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/background-image-centered-with-border-radius.html_sec1
3
<head>
3
<head>
4
  <title>CSS Background Test: Centered background image with border radius</title>
4
  <title>CSS Background Test: Centered background image with border radius</title>
5
  <link rel="author" title="schenney" href="mailto:schenney@chromium.org">
5
  <link rel="author" title="schenney" href="mailto:schenney@chromium.org">
6
  <link rel="help" href="http://www.w3.org/TR/css3-background">
6
  <link rel="help" href="https://www.w3.org/TR/css-backgrounds-3/#the-background-position">
7
  <link rel="match" href="reference/background-image-centered-with-border-radius-ref.html">
7
  <link rel="match" href="reference/background-image-centered-with-border-radius-ref.html">
8
  <style>
8
  <style>
9
    span {
9
    span {
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/background-image-centered.html -1 / +1 lines
Lines 2-8 a/LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/background-image-centered.html_sec1
2
<meta charset="utf-8">
2
<meta charset="utf-8">
3
<title>Centered Background Gradient</title>
3
<title>Centered Background Gradient</title>
4
<link rel="match" href="background-image-centered-ref.html">
4
<link rel="match" href="background-image-centered-ref.html">
5
<link rel="help" href="http://www.w3.org/TR/css3-background/">
5
<link rel="help" href="https://www.w3.org/TR/css-backgrounds-3/#the-background-position">
6
<style>
6
<style>
7
    #a {
7
    #a {
8
        width: 200px;
8
        width: 200px;
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/background-image-cover-zoomed-1.html -1 / +1 lines
Lines 3-9 a/LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/background-image-cover-zoomed-1.html_sec1
3
<head>
3
<head>
4
    <title>CSS Background Test: background-size:cover should cover at zoom</title>
4
    <title>CSS Background Test: background-size:cover should cover at zoom</title>
5
    <link rel="author" title="schenney" href="mailto:schenney@chromium.org">
5
    <link rel="author" title="schenney" href="mailto:schenney@chromium.org">
6
    <link rel="help" href="http://www.w3.org/TR/css3-background">
6
    <link rel="help" href="https://www.w3.org/TR/css-backgrounds-3/#the-background-size">
7
    <link rel="match" href="reference/background-image-cover-zoomed-1-ref.html">
7
    <link rel="match" href="reference/background-image-cover-zoomed-1-ref.html">
8
    <style>
8
    <style>
9
      body {
9
      body {
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/background-image-large-with-auto.html -1 / +1 lines
Lines 3-9 a/LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/background-image-large-with-auto.html_sec1
3
<head>
3
<head>
4
  <title>CSS Background Test: Large images with one auto size are correctly sized</title>
4
  <title>CSS Background Test: Large images with one auto size are correctly sized</title>
5
  <link rel="author" title="schenney" href="mailto:schenney@chromium.org">
5
  <link rel="author" title="schenney" href="mailto:schenney@chromium.org">
6
  <link rel="help" href="http://www.w3.org/TR/css3-background">
6
  <link rel="help" href="https://www.w3.org/TR/css-backgrounds-3/#the-background-image">
7
  <link rel="match" href="reference/background-image-large-with-auto-ref.html">
7
  <link rel="match" href="reference/background-image-large-with-auto-ref.html">
8
  <style>
8
  <style>
9
    .wide-div {
9
    .wide-div {
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/background-image-table-cells-zoomed.html -1 / +1 lines
Lines 3-9 a/LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/background-image-table-cells-zoomed.html_sec1
3
<head>
3
<head>
4
    <title>CSS Background Test: A background image on table cells with collapsed borders should fill the table</title>
4
    <title>CSS Background Test: A background image on table cells with collapsed borders should fill the table</title>
5
    <link rel="author" title="schenney" href="mailto:schenney@chromium.org">
5
    <link rel="author" title="schenney" href="mailto:schenney@chromium.org">
6
    <link rel="help" href="http://www.w3.org/TR/css3-background">
6
    <link rel="help" href="https://www.w3.org/TR/css-backgrounds-3/#the-background-image">
7
    <link rel="match" href="reference/background-image-table-cells-zoomed-ref.html">
7
    <link rel="match" href="reference/background-image-table-cells-zoomed-ref.html">
8
    <style>
8
    <style>
9
      body {
9
      body {
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/background-margin-iframe-root-expected.html +16 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/background-margin-iframe-root-expected.html_sec1
1
<!doctype HTML>
2
<iframe srcdoc="
3
<!doctype HTML>
4
<style>
5
  div {
6
    background: linear-gradient(lightblue, yellow);
7
    background-size: 300px 300px;
8
    background-position: 50px 50px;
9
    position: absolute;
10
    top: 0;
11
    left: 0;
12
    right: 0;
13
    bottom: 0;
14
  }
15
</style>
16
<div></div>"></iframe>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/background-margin-iframe-root.html +15 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/background-margin-iframe-root.html_sec1
1
<!doctype HTML>
2
<title>Backgrounds on the root element of an iframe should extend to cover the entire canvas of the iframe in the presence of margin</title>
3
<link rel="author" title="Philip Rogers" href="mailto:pdr@chromium.org">
4
<link rel="help" href="https://www.w3.org/TR/css-backgrounds-3/#root-background">
5
<link rel="match" href="background-margin-iframe-root-ref.html">
6
<iframe srcdoc="
7
<!doctype HTML>
8
<style>
9
  html {
10
    background: linear-gradient(lightblue, yellow);
11
    height: 300px;
12
    margin: 50px;
13
    overflow: hidden;
14
  }
15
</style>"></iframe>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/background-margin-root-expected.html +14 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/background-margin-root-expected.html_sec1
1
<!doctype HTML>
2
<style>
3
  div {
4
    background: linear-gradient(lightblue, yellow);
5
    background-size: 300px 300px;
6
    background-position: 50px 50px;
7
    position: absolute;
8
    top: 0;
9
    left: 0;
10
    right: 0;
11
    bottom: 0;
12
  }
13
</style>
14
<div></div>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/background-margin-root.html +12 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/background-margin-root.html_sec1
1
<!doctype HTML>
2
<title>Backgrounds on the root element should extend to cover the entire canvas in the presence of margin</title>
3
<link rel="author" title="Philip Rogers" href="mailto:pdr@chromium.org">
4
<link rel="help" href="https://www.w3.org/TR/css-backgrounds-3/#root-background">
5
<link rel="match" href="background-margin-root-ref.html">
6
<style>
7
  html {
8
    background: linear-gradient(lightblue, yellow);
9
    height: 300px;
10
    margin: 50px;
11
  }
12
</style>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/background-margin-transformed-root-expected.html +14 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/background-margin-transformed-root-expected.html_sec1
1
<!doctype HTML>
2
<style>
3
  div {
4
    background: linear-gradient(lightblue, yellow);
5
    background-size: 300px 300px;
6
    background-position: 50px 50px;
7
    position: absolute;
8
    top: 0;
9
    left: 0;
10
    right: 0;
11
    bottom: 0;
12
  }
13
</style>
14
<div></div>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/background-margin-transformed-root.html +13 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/background-margin-transformed-root.html_sec1
1
<!doctype HTML>
2
<title>Backgrounds on the root element should extend to cover the entire canvas in the presence of margin and transform</title>
3
<link rel="author" title="Philip Rogers" href="mailto:pdr@chromium.org">
4
<link rel="help" href="https://www.w3.org/TR/css-backgrounds-3/#root-background">
5
<link rel="match" href="background-margin-transformed-root-ref.html">
6
<style>
7
  html {
8
    background: linear-gradient(lightblue, yellow);
9
    height: 300px;
10
    margin: 50px;
11
    transform: rotateZ(0deg);
12
  }
13
</style>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/background-margin-will-change-root-expected.html +14 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/background-margin-will-change-root-expected.html_sec1
1
<!doctype HTML>
2
<style>
3
  div {
4
    background: linear-gradient(lightblue, yellow);
5
    background-size: 300px 300px;
6
    background-position: 50px 50px;
7
    position: absolute;
8
    top: 0;
9
    left: 0;
10
    right: 0;
11
    bottom: 0;
12
  }
13
</style>
14
<div></div>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/background-margin-will-change-root.html +13 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/background-margin-will-change-root.html_sec1
1
<!doctype HTML>
2
<title>Backgrounds on the root element should extend to cover the entire canvas in the presence of margin and will-change: transform</title>
3
<link rel="author" title="Philip Rogers" href="mailto:pdr@chromium.org">
4
<link rel="help" href="https://www.w3.org/TR/css-backgrounds-3/#root-background">
5
<link rel="match" href="background-margin-will-change-root-ref.html">
6
<style>
7
  html {
8
    background: linear-gradient(lightblue, yellow);
9
    height: 300px;
10
    margin: 50px;
11
    will-change: transform;
12
  }
13
</style>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/background-origin-007.html -1 / +1 lines
Lines 22-28 a/LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/background-origin-007.html_sec1
22
        }
22
        }
23
        #test-overlapped-red {
23
        #test-overlapped-red {
24
            background-clip: padding-box;
24
            background-clip: padding-box;
25
            background-image: url(support/60x60-red.png);
25
            background-image: url(/css/support/60x60-red.png);
26
            background-origin: border-box;
26
            background-origin: border-box;
27
            background-position: top left;
27
            background-position: top left;
28
            background-repeat: no-repeat;
28
            background-repeat: no-repeat;
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/background-position-subpixel-at-border.tentative-expected.html +87 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/background-position-subpixel-at-border.tentative-expected.html_sec1
1
<!DOCTYPE html>
2
<html>
3
<head>
4
    <title>CSS Backgrounds: Subpixel positions adjacent to the borders reference</title>
5
    <link rel="author" title="Stephen Chenney" href="mailto:schenney@chromium.org">
6
    <style>
7
        #no-repeat-y-bottom {
8
            position: absolute;
9
            top: 201px;
10
            left: 8px;
11
            width: 150px;
12
            height: 37px;
13
            border-width: 0px 0px 1px;
14
            border-style: solid;
15
            border-color: rgba(0,0,0,0.5);
16
            border-bottom-color: transparent;
17
            box-sizing: border-box;
18
            background-color: lightgrey;
19
            background-image: url("resources/green50x1.png");
20
            background-position: bottom -1px left 0px;
21
            background-repeat: repeat-x;
22
            padding: 3px 3px 1px 3px;
23
        }
24
        #no-repeat-y-top {
25
            position: absolute;
26
            top: 160px;
27
            left: 8px;
28
            width: 150px;
29
            height: 38px;
30
            border-width: 1px 0px 0px 0px;
31
            border-style: solid;
32
            border-color: rgba(0,0,0,0.5);
33
            border-top-color: transparent;
34
            box-sizing: border-box;
35
            background-color: lightgrey;
36
            background-image: url("resources/green50x1.png");
37
            background-position: top -1px left 0px;
38
            background-repeat: repeat-x;
39
            padding: 1px 3px 3px 3px;
40
        }
41
        #no-repeat-x-right {
42
            position: absolute;
43
            top: 8px;
44
            left: 201px;
45
            width: 37px;
46
            height: 150px;
47
            border-width: 0px 1px 0px 0px;
48
            border-style: solid;
49
            border-color: rgba(0,0,0,0.5);
50
            border-right-color: transparent;
51
            box-sizing: border-box;
52
            background-color: lightgrey;
53
            background-image: url("resources/green1x50.png");
54
            background-position: right -1px top 0px;
55
            background-repeat: repeat-y;
56
            padding: 3px 1px 3px 3px;
57
        }
58
        #no-repeat-x-left {
59
            position: absolute;
60
            top: 8px;
61
            left: 160px;
62
            width: 38px;
63
            height: 150px;
64
            border-width: 0px 0px 0px 1px;
65
            border-style: solid;
66
            border-color: rgba(0,0,0,0.5);
67
            border-left-color: transparent;
68
            box-sizing: border-box;
69
            background-color: lightgrey;
70
            background-image: url("resources/green1x50.png");
71
            background-position: left -1px top 0px;
72
            background-repeat: repeat-y;
73
            padding: 3px 3px 3px 1px;
74
        }
75
    </style>
76
</head>
77
<body>
78
        <div id="no-repeat-y-top">
79
        </div>
80
        <div id="no-repeat-y-bottom">
81
        </div>
82
        <div id="no-repeat-x-right">
83
        </div>
84
        <div id="no-repeat-x-left">
85
        </div>
86
</body>
87
</html>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/background-position-subpixel-at-border.tentative.html +89 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/background-position-subpixel-at-border.tentative.html_sec1
1
<!DOCTYPE html>
2
<html>
3
<head>
4
    <title>CSS Backgrounds: Subpixel positions adjacent to the borders</title>
5
    <link rel="author" title="Stephen Chenney" href="mailto:schenney@chromium.org">
6
    <link rel="help" href="https://www.w3.org/TR/css-backgrounds-3/#background-position">
7
    <link rel="match" href="reference/background-position-subpixel-at-border-ref.tentative.html">
8
    <style>
9
        #no-repeat-y-bottom {
10
            position: absolute;
11
            top: 200.5px;
12
            left: 8px;
13
            width: 150px;
14
            height: 37.5px;
15
            border-width: 0px 0px 1.25px;
16
            border-style: solid;
17
            border-color: rgba(0,0,0,0.5);
18
            border-bottom-color: transparent;
19
            box-sizing: border-box;
20
            background-color: lightgrey;
21
            background-image: url("resources/green50x1.png");
22
            background-position: bottom -1.25px left 0px;
23
            background-repeat: repeat-x;
24
            padding: 2.5px 2.5px 1.25px 2.5px;
25
        }
26
        #no-repeat-y-top {
27
            position: absolute;
28
            top: 160.25px;
29
            left: 8px;
30
            width: 150px;
31
            height: 37.5px;
32
            border-width: 1.25px 0px 0px 0px;
33
            border-style: solid;
34
            border-color: rgba(0,0,0,0.5);
35
            border-top-color: transparent;
36
            box-sizing: border-box;
37
            background-color: lightgrey;
38
            background-image: url("resources/green50x1.png");
39
            background-position: top -1.25px left 0px;
40
            background-repeat: repeat-x;
41
            padding: 1.25px 2.5px 2.5px 2.5px;
42
        }
43
        #no-repeat-x-right {
44
            position: absolute;
45
            top: 8px;
46
            left: 200.5px;
47
            width: 37.5px;
48
            height: 150px;
49
            border-width: 0px 1.25px 0px 0px;
50
            border-style: solid;
51
            border-color: rgba(0,0,0,0.5);
52
            border-right-color: transparent;
53
            box-sizing: border-box;
54
            background-color: lightgrey;
55
            background-image: url("resources/green1x50.png");
56
            background-position: right -1.25px top 0px;
57
            background-repeat: repeat-y;
58
            padding: 2.5px 1.25px 2.5px 2.5px;
59
        }
60
        #no-repeat-x-left {
61
            position: absolute;
62
            top: 8px;
63
            left: 160.25px;
64
            width: 37.5px;
65
            height: 150px;
66
            border-width: 0px 0px 0px 1.25px;
67
            border-style: solid;
68
            border-color: rgba(0,0,0,0.5);
69
            border-left-color: transparent;
70
            box-sizing: border-box;
71
            background-color: lightgrey;
72
            background-image: url("resources/green1x50.png");
73
            background-position: left -1.25px top 0px;
74
            background-repeat: repeat-y;
75
            padding: 2.5px 2.5px 2.5px 1.25px;
76
        }
77
    </style>
78
</head>
79
<body>
80
        <div id="no-repeat-y-top">
81
        </div>
82
        <div id="no-repeat-y-bottom">
83
        </div>
84
        <div id="no-repeat-x-right">
85
        </div>
86
        <div id="no-repeat-x-left">
87
        </div>
88
</body>
89
</html>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/background-position-three-four-values-expected.html +37 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/background-position-three-four-values-expected.html_sec1
1
<!DOCTYPE html>
2
<html xmlns="http://www.w3.org/1999/xhtml">
3
<head>
4
5
<style type="text/css">
6
div {
7
  width: 200px;
8
  height: 200px;
9
  border: 2px solid black;
10
  background-image: url("support/blue_color.png");
11
  background-repeat: no-repeat;
12
  display: inline-block;
13
}
14
.test1  {
15
  background-position: 50px 50%;
16
}
17
.test2 {
18
  background-position: 75% 75%;
19
}
20
.test3 {
21
  background-position: 25px 25%;
22
}
23
.test4 {
24
  background-position: 75% 75%;
25
}
26
</style>
27
28
</head>
29
<body>
30
31
<div class="test1"></div>
32
<div class="test2"></div>
33
<div class="test3"></div>
34
<div class="test4"></div>
35
36
</body>
37
</html>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/background-position-three-four-values.html +41 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/background-position-three-four-values.html_sec1
1
<!DOCTYPE html>
2
<html xmlns="http://www.w3.org/1999/xhtml">
3
<head>
4
5
<title>CSS Test: 'Background-position' with three and four values</title>
6
<link rel="help" href="http://www.w3.org/TR/css3-background/#background-position" />
7
<meta name="assert" content="If three or four values are given to 'background-position', then each percentage or length value represents an offset from the edge specified by the preceeding keyword." />
8
<link rel="match" href="reference/background-position-three-four-values-ref.html">
9
<style type="text/css">
10
div {
11
  width: 200px;
12
  height: 200px;
13
  border: 2px solid black;
14
  background-image: url("support/blue_color.png");
15
  background-repeat: no-repeat;
16
  display: inline-block;
17
}
18
.test1  {
19
  background-position: left 50px center;
20
}
21
.test2 {
22
  background-position: right 25px top 75%;
23
}
24
.test3 {
25
  background-position: left 25px bottom 75%;
26
}
27
.test4 {
28
  background-position: right 25px bottom 25%;
29
}
30
</style>
31
32
</head>
33
<body>
34
35
<div class="test1"></div>
36
<div class="test2"></div>
37
<div class="test3"></div>
38
<div class="test4"></div>
39
40
</body>
41
</html>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/background-position-xy-three-four-values-passthru-expected.html +37 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/background-position-xy-three-four-values-passthru-expected.html_sec1
1
<!DOCTYPE html>
2
<html xmlns="http://www.w3.org/1999/xhtml">
3
<head>
4
5
<style type="text/css">
6
div {
7
  width: 200px;
8
  height: 200px;
9
  border: 2px solid black;
10
  background-image: url("support/blue_color.png");
11
  background-repeat: no-repeat;
12
  display: inline-block;
13
}
14
.test1  {
15
  background-position: 50px 50%;
16
}
17
.test2 {
18
  background-position: 75% 75%;
19
}
20
.test3 {
21
  background-position: 25px 25%;
22
}
23
.test4 {
24
  background-position: 75% 75%;
25
}
26
</style>
27
28
</head>
29
<body>
30
31
<div class="test1"></div>
32
<div class="test2"></div>
33
<div class="test3"></div>
34
<div class="test4"></div>
35
36
</body>
37
</html>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/background-position-xy-three-four-values-passthru.html +51 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/background-position-xy-three-four-values-passthru.html_sec1
1
<!DOCTYPE html>
2
<html xmlns="http://www.w3.org/1999/xhtml">
3
<head>
4
5
<title>CSS Test: 'Background-position' with three and four values</title>
6
<link rel="help" href="http://www.w3.org/TR/css3-background/#background-position" />
7
<meta name="assert" content="background-position-x/y will round-trip serialized values even if the new three/four value syntax is used for background-position." />
8
<link rel="match" href="reference/background-position-three-four-values-ref.html">
9
<style type="text/css">
10
div {
11
  width: 200px;
12
  height: 200px;
13
  border: 2px solid black;
14
  background-image: url("support/blue_color.png");
15
  background-repeat: no-repeat;
16
  display: inline-block;
17
}
18
#test1  {
19
  background-position: left 50px center;
20
}
21
#test2 {
22
  background-position: right 25px top 75%;
23
}
24
#test3 {
25
  background-position: left 25px bottom 75%;
26
}
27
#test4 {
28
  background-position: right 25px bottom 25%;
29
}
30
</style>
31
32
</head>
33
<body>
34
35
<div id="test1"></div>
36
<div id="test2"></div>
37
<div id="test3"></div>
38
<div id="test4"></div>
39
40
<script>
41
for (let id of ['test1','test2','test3','test4']) {
42
  let d = document.getElementById(id);
43
  let x = getComputedStyle(d).backgroundPositionX;
44
  let y = getComputedStyle(d).backgroundPositionY;
45
  d.style.backgroundPositionX = x;
46
  d.style.backgroundPositionY = y;
47
}
48
</script>
49
50
</body>
51
</html>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/background-position/subpixel-position-center.tentative-expected.html +32 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/background-position/subpixel-position-center.tentative-expected.html_sec1
1
<!DOCTYPE html>
2
<html>
3
<head>
4
  <title>CSS Backgrounds: Subpixel position center is centered, reference</title>
5
  <link rel="author" title="Stephen Chenney" href="mailto:schenney@chromium.org">
6
  <style>
7
    .first{
8
      outline: 2px solid green;
9
      position: absolute;
10
      width: 87.5px;
11
      height: 87.5px;
12
      left: 43.75px;
13
      top: 43.75px;
14
    }
15
    .second {
16
      background-image: url("../resources/green-100.png");
17
      background-repeat: no-repeat;
18
      background-position: center center;
19
      background-size: 38.5px 35px;
20
      position: absolute;
21
      width: 140px;
22
      height: 140px;
23
      left: 17.5px;
24
      top: 17.5px;
25
    }
26
  </style>
27
</head>
28
<body>
29
<div class="first"></div>
30
<div class="second"></div>
31
</body>
32
</html>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/background-position/subpixel-position-center.tentative.html +38 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/background-position/subpixel-position-center.tentative.html_sec1
1
<!DOCTYPE html>
2
<html>
3
<head>
4
  <title>CSS Backgrounds: Subpixel position center is centered</title>
5
  <link rel="author" title="Stephen Chenney" href="mailto:schenney@chromium.org">
6
  <link rel="help" href="https://www.w3.org/TR/css-backgrounds-3/#background-position">
7
  <link rel="match" href="reference/subpixel-position-center-ref.tentative.html">
8
  <style>
9
    .first{
10
      outline: 2px solid green;
11
      background-image: url("../../css-images/support/swatch-red.png");
12
      background-repeat: no-repeat;
13
      background-position: center center;
14
      background-size: 38.5px 35px;
15
      position: absolute;
16
      width: 87.5px;
17
      height: 87.5px;
18
      left: 43.75px;
19
      top: 43.75px;
20
    }
21
    .second {
22
      background-image: url("../resources/green-100.png");
23
      background-repeat: no-repeat;
24
      background-position: center center;
25
      background-size: 38.5px 35px;
26
      position: absolute;
27
      width: 140px;
28
      height: 140px;
29
      left: 17.5px;
30
      top: 17.5px;
31
    }
32
  </style>
33
</head>
34
<body>
35
<div class="first"></div>
36
<div class="second"></div>
37
</body>
38
</html>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/background-position/w3c-import.log +18 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/background-position/w3c-import.log_sec1
1
The tests in this directory were imported from the W3C repository.
2
Do NOT modify these tests directly in WebKit.
3
Instead, create a pull request on the WPT github:
4
	https://github.com/web-platform-tests/wpt
5
6
Then run the Tools/Scripts/import-w3c-tests in WebKit to reimport
7
8
Do NOT modify or remove this file.
9
10
------------------------------------------------------------------------
11
Properties requiring vendor prefixes:
12
None
13
Property values requiring vendor prefixes:
14
None
15
------------------------------------------------------------------------
16
List of files:
17
/LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/background-position/subpixel-position-center.tentative-expected.html
18
/LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/background-position/subpixel-position-center.tentative.html
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/background-repeat/background-repeat-no-repeat-expected.xht -2 / +2 lines
Lines 14-23 a/LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/background-repeat/background-repeat-no-repeat-expected.xht_sec1
14
    </style>
14
    </style>
15
  </head>
15
  </head>
16
  <body>
16
  <body>
17
    <p><img src="supporectangle-96x60.png" alt="Image download support must be enabled"/></p>
17
    <p><img src="support/rectangle-96x60.png" alt="Image download support must be enabled"/></p>
18
    <p>Test passes if the above image appears once in the below rectangle. There should be a grey area to the right and bottom of the image.</p>
18
    <p>Test passes if the above image appears once in the below rectangle. There should be a grey area to the right and bottom of the image.</p>
19
    <div>
19
    <div>
20
      <img src="supporectangle-96x60.png" alt="Image download support must be enabled"/>
20
      <img src="support/rectangle-96x60.png" alt="Image download support must be enabled"/>
21
    </div>
21
    </div>
22
  </body>
22
  </body>
23
</html>
23
</html>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/background-repeat/background-repeat-repeat-x-expected.xht -4 / +4 lines
Lines 29-40 a/LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/background-repeat/background-repeat-repeat-x-expected.xht_sec1
29
    </style>
29
    </style>
30
  </head>
30
  </head>
31
  <body>
31
  <body>
32
    <p><img src="supporectangle-96x60.png" alt="Image download support must be enabled"/></p>
32
    <p><img src="support/rectangle-96x60.png" alt="Image download support must be enabled"/></p>
33
    <p>Test passes if the above image repeats horizontally in the below rectangle 2&frac12; times exactly. There should be a grey area below the images, but not to their right.</p>
33
    <p>Test passes if the above image repeats horizontally in the below rectangle 2&frac12; times exactly. There should be a grey area below the images, but not to their right.</p>
34
    <div>
34
    <div>
35
      <img src="supporectangle-96x60.png" alt="Image download support must be enabled" class="first"/>
35
      <img src="support/rectangle-96x60.png" alt="Image download support must be enabled" class="first"/>
36
      <img src="supporectangle-96x60.png" alt="Image download support must be enabled" class="second"/>
36
      <img src="support/rectangle-96x60.png" alt="Image download support must be enabled" class="second"/>
37
      <img src="supporectangle-96x60.png" alt="Image download support must be enabled" class="third"/>
37
      <img src="support/rectangle-96x60.png" alt="Image download support must be enabled" class="third"/>
38
    </div>
38
    </div>
39
  </body>
39
  </body>
40
</html>
40
</html>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/background-repeat/background-repeat-repeat-y-expected.xht -4 / +4 lines
Lines 29-40 a/LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/background-repeat/background-repeat-repeat-y-expected.xht_sec1
29
    </style>
29
    </style>
30
  </head>
30
  </head>
31
  <body>
31
  <body>
32
    <p><img src="supporectangle-96x60.png" alt="Image download support must be enabled"/></p>
32
    <p><img src="support/rectangle-96x60.png" alt="Image download support must be enabled"/></p>
33
    <p>Test passes if the above image repeats vertically in the below rectangle 2&frac12; times exactly. There should be a grey area to the right of the images, but not below them.</p>
33
    <p>Test passes if the above image repeats vertically in the below rectangle 2&frac12; times exactly. There should be a grey area to the right of the images, but not below them.</p>
34
    <div>
34
    <div>
35
      <img src="supporectangle-96x60.png" alt="Image download support must be enabled" class="first"/>
35
      <img src="support/rectangle-96x60.png" alt="Image download support must be enabled" class="first"/>
36
      <img src="supporectangle-96x60.png" alt="Image download support must be enabled" class="second"/>
36
      <img src="support/rectangle-96x60.png" alt="Image download support must be enabled" class="second"/>
37
      <img src="supporectangle-96x60.png" alt="Image download support must be enabled" class="third"/>
37
      <img src="support/rectangle-96x60.png" alt="Image download support must be enabled" class="third"/>
38
    </div>
38
    </div>
39
  </body>
39
  </body>
40
</html>
40
</html>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/background-repeat/background-repeat-round-expected.xht -7 / +7 lines
Lines 18-33 a/LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/background-repeat/background-repeat-round-expected.xht_sec1
18
    </style>
18
    </style>
19
  </head>
19
  </head>
20
  <body>
20
  <body>
21
    <p><img src="supporectangle-96x60.png" alt="Image download support must be enabled"/></p>
21
    <p><img src="support/rectangle-96x60.png" alt="Image download support must be enabled"/></p>
22
    <p>Test passes if the above image repeats in the below rectangle 6 times exactly: 2 columns, 3 rows. The top border of the containing rectangle should be orange, the right border yellow, the bottom border green, and the left border blue.</p>
22
    <p>Test passes if the above image repeats in the below rectangle 6 times exactly: 2 columns, 3 rows. The top border of the containing rectangle should be orange, the right border yellow, the bottom border green, and the left border blue.</p>
23
    <p>Test fails if the above image repeats in below rectangle more than 6 times, with partial images lining the right and the bottom.</p>
23
    <p>Test fails if the above image repeats in below rectangle more than 6 times, with partial images lining the right and the bottom.</p>
24
    <div>
24
    <div>
25
      <img src="supporectangle-96x60.png" alt="Image download support must be enabled"/>
25
      <img src="support/rectangle-96x60.png" alt="Image download support must be enabled"/>
26
      <img src="supporectangle-96x60.png" alt="Image download support must be enabled"/>
26
      <img src="support/rectangle-96x60.png" alt="Image download support must be enabled"/>
27
      <img src="supporectangle-96x60.png" alt="Image download support must be enabled"/>
27
      <img src="support/rectangle-96x60.png" alt="Image download support must be enabled"/>
28
      <img src="supporectangle-96x60.png" alt="Image download support must be enabled"/>
28
      <img src="support/rectangle-96x60.png" alt="Image download support must be enabled"/>
29
      <img src="supporectangle-96x60.png" alt="Image download support must be enabled"/>
29
      <img src="support/rectangle-96x60.png" alt="Image download support must be enabled"/>
30
      <img src="supporectangle-96x60.png" alt="Image download support must be enabled"/>
30
      <img src="support/rectangle-96x60.png" alt="Image download support must be enabled"/>
31
    </div>
31
    </div>
32
  </body>
32
  </body>
33
</html>
33
</html>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/background-repeat/background-repeat-round-roundup-expected.xht -13 / +13 lines
Lines 18-39 a/LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/background-repeat/background-repeat-round-roundup-expected.xht_sec1
18
    </style>
18
    </style>
19
  </head>
19
  </head>
20
  <body>
20
  <body>
21
    <p><img src="supporectangle-96x60.png" alt="Image download support must be enabled"/></p>
21
    <p><img src="support/rectangle-96x60.png" alt="Image download support must be enabled"/></p>
22
    <p>Test passes if the above image repeats in the below rectangle 12 times exactly: 3 columns, 4 rows. The top border of the containing rectangle should be orange, the right border yellow, the bottom border green, and the left border blue.</p>
22
    <p>Test passes if the above image repeats in the below rectangle 12 times exactly: 3 columns, 4 rows. The top border of the containing rectangle should be orange, the right border yellow, the bottom border green, and the left border blue.</p>
23
    <p>Test fails if the above image repeats in below rectangle less than 12 times, with partial images lining the right and the bottom.</p>
23
    <p>Test fails if the above image repeats in below rectangle less than 12 times, with partial images lining the right and the bottom.</p>
24
    <div>
24
    <div>
25
      <img src="supporectangle-96x60.png" alt="Image download support must be enabled"/>
25
      <img src="support/rectangle-96x60.png" alt="Image download support must be enabled"/>
26
      <img src="supporectangle-96x60.png" alt="Image download support must be enabled"/>
26
      <img src="support/rectangle-96x60.png" alt="Image download support must be enabled"/>
27
      <img src="supporectangle-96x60.png" alt="Image download support must be enabled"/>
27
      <img src="support/rectangle-96x60.png" alt="Image download support must be enabled"/>
28
      <img src="supporectangle-96x60.png" alt="Image download support must be enabled"/>
28
      <img src="support/rectangle-96x60.png" alt="Image download support must be enabled"/>
29
      <img src="supporectangle-96x60.png" alt="Image download support must be enabled"/>
29
      <img src="support/rectangle-96x60.png" alt="Image download support must be enabled"/>
30
      <img src="supporectangle-96x60.png" alt="Image download support must be enabled"/>
30
      <img src="support/rectangle-96x60.png" alt="Image download support must be enabled"/>
31
      <img src="supporectangle-96x60.png" alt="Image download support must be enabled"/>
31
      <img src="support/rectangle-96x60.png" alt="Image download support must be enabled"/>
32
      <img src="supporectangle-96x60.png" alt="Image download support must be enabled"/>
32
      <img src="support/rectangle-96x60.png" alt="Image download support must be enabled"/>
33
      <img src="supporectangle-96x60.png" alt="Image download support must be enabled"/>
33
      <img src="support/rectangle-96x60.png" alt="Image download support must be enabled"/>
34
      <img src="supporectangle-96x60.png" alt="Image download support must be enabled"/>
34
      <img src="support/rectangle-96x60.png" alt="Image download support must be enabled"/>
35
      <img src="supporectangle-96x60.png" alt="Image download support must be enabled"/>
35
      <img src="support/rectangle-96x60.png" alt="Image download support must be enabled"/>
36
      <img src="supporectangle-96x60.png" alt="Image download support must be enabled"/>
36
      <img src="support/rectangle-96x60.png" alt="Image download support must be enabled"/>
37
    </div>
37
    </div>
38
  </body>
38
  </body>
39
</html>
39
</html>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/background-repeat/background-repeat-space-expected.xht -7 / +7 lines
Lines 25-40 a/LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/background-repeat/background-repeat-space-expected.xht_sec1
25
    </style>
25
    </style>
26
  </head>
26
  </head>
27
  <body>
27
  <body>
28
    <p><img src="supporectangle-96x60.png" alt="Image download support must be enabled"/></p>
28
    <p><img src="support/rectangle-96x60.png" alt="Image download support must be enabled"/></p>
29
    <p>Test passes if the above image repeats in the below grey rectangle 6 times exactly: 2 columns, 3 rows. The images should appear at exactly the same size as the image above and be sitting at the edges of the grey rectangle.</p>
29
    <p>Test passes if the above image repeats in the below grey rectangle 6 times exactly: 2 columns, 3 rows. The images should appear at exactly the same size as the image above and be sitting at the edges of the grey rectangle.</p>
30
    <p>Test fails if the above image repeats in the below rectangle more than 6 times, with partial images lining the right and the bottom.</p>
30
    <p>Test fails if the above image repeats in the below rectangle more than 6 times, with partial images lining the right and the bottom.</p>
31
    <div>
31
    <div>
32
      <img src="supporectangle-96x60.png" alt="Image download support must be enabled" />
32
      <img src="support/rectangle-96x60.png" alt="Image download support must be enabled" />
33
      <img src="supporectangle-96x60.png" class="second" alt="Image download support must be enabled"/>
33
      <img src="support/rectangle-96x60.png" class="second" alt="Image download support must be enabled"/>
34
      <img src="supporectangle-96x60.png" alt="Image download support must be enabled"/>
34
      <img src="support/rectangle-96x60.png" alt="Image download support must be enabled"/>
35
      <img src="supporectangle-96x60.png" class="second" alt="Image download support must be enabled"/>
35
      <img src="support/rectangle-96x60.png" class="second" alt="Image download support must be enabled"/>
36
      <img src="supporectangle-96x60.png" class="bottom" alt="Image download support must be enabled"/>
36
      <img src="support/rectangle-96x60.png" class="bottom" alt="Image download support must be enabled"/>
37
      <img src="supporectangle-96x60.png" class="bottom second" alt="Image download support must be enabled"/>
37
      <img src="support/rectangle-96x60.png" class="bottom second" alt="Image download support must be enabled"/>
38
    </div>
38
    </div>
39
  </body>
39
  </body>
40
</html>
40
</html>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/background-size-007-expected.xht -11 / +10 lines
Lines 1-19 a/LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/background-size-007-expected.xht_sec1
1
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
1
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
2
2
<html xmlns="http://www.w3.org/1999/xhtml">
3
<html xmlns="http://www.w3.org/1999/xhtml">
4
3
 <head>
5
 <head>
6
4
  <title>CSS Reftest Reference</title>
7
  <title>CSS Reftest Reference</title>
8
5
  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
9
  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
6
  <style type="text/css"><![CDATA[
10
7
  div
8
  {
9
  background-color: green;
10
  height: 100px;
11
  width: 100px;
12
  }
13
  ]]></style>
14
 </head>
11
 </head>
12
15
 <body>
13
 <body>
16
  <p>Test passes if there is a filled green square and <strong>no red</strong>.</p>
14
17
  <div></div>
15
  <p>Test passes if there is nothing below.</p>
16
18
 </body>
17
 </body>
19
</html>
18
</html>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/background-size-007.html -15 / +6 lines
Lines 4-34 a/LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/background-size-007.html_sec1
4
    <meta charset="utf-8">
4
    <meta charset="utf-8">
5
    <title>CSS Backgrounds and Borders Test: background-size - one &lt;length&gt; value at minimum</title>
5
    <title>CSS Backgrounds and Borders Test: background-size - one &lt;length&gt; value at minimum</title>
6
    <link rel="author" title="Intel" href="http://www.intel.com">
6
    <link rel="author" title="Intel" href="http://www.intel.com">
7
    <link rel="reviewer" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/"> <!-- 2012-11-09 -->
7
    <link rel="reviewer" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/"> <!-- 2012-11-09 and 2020-03-13 -->
8
    <link rel="help" href="http://www.w3.org/TR/css3-background/#the-background-size" title="3.9. Sizing Images: the 'background-size' property">
8
    <link rel="help" href="http://www.w3.org/TR/css3-background/#the-background-size" title="3.9. Sizing Images: the 'background-size' property">
9
    <link rel="match" href="../reference/ref-filled-green-100px-square.xht">
9
    <link rel="match" href="../reference/ref-nothing-below.xht">
10
    <meta name="flags" content="image">
10
    <meta name="flags" content="image">
11
    <meta name="assert" content="Check if 'background-size' is '0px', minimum width of the positioning area in length, then such value is the width of the corresponding image and therefore the background image is not to be displayed.">
11
    <meta name="assert" content="Check if 'background-size' is '0px', minimum width of the positioning area in length, then such value is the width of the corresponding image and therefore the background image is not to be displayed.">
12
    <style>
12
    <style>
13
        div {
13
        div {
14
            background-image: url(/css/support/60x60-red.png);
15
            background-size: 0px;
14
            height: 100px;
16
            height: 100px;
15
            width: 100px;
17
            width: 100px;
16
        }
18
        }
17
        #ref-overlapped-green {
18
            background-color: green;
19
        }
20
        #test-overlapped-red {
21
            background-image: url(support/60x60-red.png);
22
            background-repeat: no-repeat;
23
            background-size: 0px;
24
            bottom: 100px;
25
            position: relative;
26
        }
27
    </style>
19
    </style>
28
  </head>
20
  </head>
29
  <body>
21
  <body>
30
    <p>Test passes if there is a filled green square and <strong>no red</strong>.</p>
22
    <p>Test passes if there is nothing below.
31
    <div id="ref-overlapped-green"></div>
23
    <div></div>
32
    <div id="test-overlapped-red"></div>
33
  </body>
24
  </body>
34
</html>
25
</html>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/background-size-010-expected.xht -11 / +10 lines
Lines 1-19 a/LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/background-size-010-expected.xht_sec1
1
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
1
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
2
2
<html xmlns="http://www.w3.org/1999/xhtml">
3
<html xmlns="http://www.w3.org/1999/xhtml">
4
3
 <head>
5
 <head>
6
4
  <title>CSS Reftest Reference</title>
7
  <title>CSS Reftest Reference</title>
8
5
  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
9
  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
6
  <style type="text/css"><![CDATA[
10
7
  div
8
  {
9
  background-color: green;
10
  height: 100px;
11
  width: 100px;
12
  }
13
  ]]></style>
14
 </head>
11
 </head>
12
15
 <body>
13
 <body>
16
  <p>Test passes if there is a filled green square and <strong>no red</strong>.</p>
14
17
  <div></div>
15
  <p>Test passes if there is nothing below.</p>
16
18
 </body>
17
 </body>
19
</html>
18
</html>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/background-size-010.html -15 / +6 lines
Lines 4-34 a/LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/background-size-010.html_sec1
4
    <meta charset="utf-8">
4
    <meta charset="utf-8">
5
    <title>CSS Backgrounds and Borders Test: background-size - one &lt;percentage&gt; value at minimum</title>
5
    <title>CSS Backgrounds and Borders Test: background-size - one &lt;percentage&gt; value at minimum</title>
6
    <link rel="author" title="Intel" href="http://www.intel.com">
6
    <link rel="author" title="Intel" href="http://www.intel.com">
7
    <link rel="reviewer" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/"> <!-- 2012-11-09 -->
7
    <link rel="reviewer" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/"> <!-- 2012-11-09 and 2020-03-13 -->
8
    <link rel="help" href="http://www.w3.org/TR/css3-background/#the-background-size" title="3.9. Sizing Images: the 'background-size' property">
8
    <link rel="help" href="http://www.w3.org/TR/css3-background/#the-background-size" title="3.9. Sizing Images: the 'background-size' property">
9
    <link rel="match" href="../reference/ref-filled-green-100px-square.xht">
9
    <link rel="match" href="../reference/ref-nothing-below.xht">
10
    <meta name="flags" content="image">
10
    <meta name="flags" content="image">
11
    <meta name="assert" content="Check if 'background-size' is '0%', minimum width of the positioning area in percentage, then such value is the width of the corresponding image and therefore the background image is not to be displayed.">
11
    <meta name="assert" content="Check if 'background-size' is '0%', minimum width of the positioning area in percentage, then such value is the width of the corresponding image and therefore the background image is not to be displayed.">
12
    <style>
12
    <style>
13
        div {
13
        div {
14
            background-image: url(/css/support/60x60-red.png);
15
            background-size: 0%;
14
            height: 100px;
16
            height: 100px;
15
            width: 100px;
17
            width: 100px;
16
        }
18
        }
17
        #ref-overlapped-green {
18
            background-color: green;
19
        }
20
        #test-overlapped-red {
21
            background-image: url(support/60x60-red.png);
22
            background-repeat: no-repeat;
23
            background-size: 0%;
24
            bottom: 100px;
25
            position: relative;
26
        }
27
    </style>
19
    </style>
28
  </head>
20
  </head>
29
  <body>
21
  <body>
30
    <p>Test passes if there is a filled green square and <strong>no red</strong>.</p>
22
    <p>Test passes if there is nothing below.
31
    <div id="ref-overlapped-green"></div>
23
    <div></div>
32
    <div id="test-overlapped-red"></div>
33
  </body>
24
  </body>
34
</html>
25
</html>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/background-size/background-size-contain-expected.xht -3 / +3 lines
Lines 28-39 a/LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/background-size/background-size-contain-expected.xht_sec1
28
    </style>
28
    </style>
29
  </head>
29
  </head>
30
  <body>
30
  <body>
31
    <p><img src="supporectangle-96x60.png" alt="Image download support must be enabled"/></p>
31
    <p><img src="support/rectangle-96x60.png" alt="Image download support must be enabled"/></p>
32
    <p>Test passes if the above image appears, scaled and repeating vertically, inside the below square.</p>
32
    <p>Test passes if the above image appears, scaled and repeating vertically, inside the below square.</p>
33
    <p>Test fails if any red area is seen outside of the image.</p>
33
    <p>Test fails if any red area is seen outside of the image.</p>
34
    <div>
34
    <div>
35
      <img src="supporectangle-96x60.png" alt="Image download support must be enabled" class="first"/>
35
      <img src="support/rectangle-96x60.png" alt="Image download support must be enabled" class="first"/>
36
      <img src="supporectangle-96x60.png" alt="Image download support must be enabled" class="second"/>
36
      <img src="support/rectangle-96x60.png" alt="Image download support must be enabled" class="second"/>
37
    </div>
37
    </div>
38
  </body>
38
  </body>
39
</html>
39
</html>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/background-size/background-size-cover-expected.xht -2 / +2 lines
Lines 19-29 a/LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/background-size/background-size-cover-expected.xht_sec1
19
    </style>
19
    </style>
20
  </head>
20
  </head>
21
  <body>
21
  <body>
22
    <p><img src="supporectangle-96x60.png" alt="Image download support must be enabled"/></p>
22
    <p><img src="support/rectangle-96x60.png" alt="Image download support must be enabled"/></p>
23
    <p>Test passes if a scaled portion of above image appears inside the below square.</p>
23
    <p>Test passes if a scaled portion of above image appears inside the below square.</p>
24
    <p>Test fails if any red area is seen outside of the image.</p>
24
    <p>Test fails if any red area is seen outside of the image.</p>
25
    <div>
25
    <div>
26
      <img src="supporectangle-96x60.png" alt="Image download support must be enabled"/>
26
      <img src="support/rectangle-96x60.png" alt="Image download support must be enabled"/>
27
    </div>
27
    </div>
28
  </body>
28
  </body>
29
</html>
29
</html>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/background-size/background-size-cover-svg.html -1 / +1 lines
Lines 3-9 a/LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/background-size/background-size-cover-svg.html_sec1
3
<head>
3
<head>
4
  <title>CSS Background Test: A SVG background should fully cover the positioning area</title>
4
  <title>CSS Background Test: A SVG background should fully cover the positioning area</title>
5
  <link rel="author" title="schenney" href="mailto:schenney@chromium.org">
5
  <link rel="author" title="schenney" href="mailto:schenney@chromium.org">
6
  <link rel="help" href="http://www.w3.org/TR/css3-background">
6
  <link rel="help" href="https://www.w3.org/TR/css-backgrounds-3/#the-background-size">
7
  <link rel="match" href="reference/background-size-cover-svg-ref.html">
7
  <link rel="match" href="reference/background-size-cover-svg-ref.html">
8
  <style>
8
  <style>
9
    div {
9
    div {
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/background-size/background-size-near-zero-color-expected.html +2 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/background-size/background-size-near-zero-color-expected.html_sec1
1
<!DOCTYPE html>
2
<div style="width: 100px; height: 100px; background: green"></div>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/background-size/background-size-near-zero-color.html +7 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/background-size/background-size-near-zero-color.html_sec1
1
<!DOCTYPE html>
2
<title>Color background with near-zero background-size</title>
3
<link rel="help" href="https://drafts.csswg.org/css-backgrounds-3/#background-size">
4
<link rel="match" href="reference/background-size-near-zero-ref.html">
5
<div style="background-color: green;
6
            width: 100px; height: 100px; background-size: 0.2px 0.2px">
7
</div>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/background-size/background-size-near-zero-gradient-expected.html +2 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/background-size/background-size-near-zero-gradient-expected.html_sec1
1
<!DOCTYPE html>
2
<div style="width: 100px; height: 100px; background: green"></div>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/background-size/background-size-near-zero-gradient.html +8 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/background-size/background-size-near-zero-gradient.html_sec1
1
<!DOCTYPE html>
2
<title>Gradient background with near-zero background-size</title>
3
<link rel="help" href="https://drafts.csswg.org/css-backgrounds-3/#background-size">
4
<link rel="help" href="https://drafts.csswg.org/css-backgrounds-3/#background-image">
5
<link rel="match" href="reference/background-size-near-zero-ref.html">
6
<div style="background-image: linear-gradient(green, green);
7
            width: 100px; height: 100px; background-size: 0.2px 0.2px">
8
</div>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/background-size/background-size-near-zero-png-expected.html +2 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/background-size/background-size-near-zero-png-expected.html_sec1
1
<!DOCTYPE html>
2
<div style="width: 100px; height: 100px; background: green"></div>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/background-size/background-size-near-zero-png.html +8 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/background-size/background-size-near-zero-png.html_sec1
1
<!DOCTYPE html>
2
<title>PNG background with near-zero background-size</title>
3
<link rel="help" href="https://drafts.csswg.org/css-backgrounds-3/#background-size">
4
<link rel="help" href="https://drafts.csswg.org/css-backgrounds-3/#background-image">
5
<link rel="match" href="reference/background-size-near-zero-ref.html">
6
<div style="background-image: url(support/50x50-green.png);
7
            width: 100px; height: 100px; background-size: 0.2px 0.2px">
8
</div>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/background-size/background-size-near-zero-svg-expected.html +2 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/background-size/background-size-near-zero-svg-expected.html_sec1
1
<!DOCTYPE html>
2
<div style="width: 100px; height: 100px; background: green"></div>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/background-size/background-size-near-zero-svg.html +8 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/background-size/background-size-near-zero-svg.html_sec1
1
<!DOCTYPE html>
2
<title>SVG background with near-zero background-size</title>
3
<link rel="help" href="https://drafts.csswg.org/css-backgrounds-3/#background-size">
4
<link rel="help" href="https://drafts.csswg.org/css-backgrounds-3/#background-image">
5
<link rel="match" href="reference/background-size-near-zero-ref.html">
6
<div style="background-image: url(support/50x50-green.svg);
7
            width: 100px; height: 100px; background-size: 0.2px 0.2px">
8
</div>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/background-size/support/50x50-green.svg +3 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/background-size/support/50x50-green.svg_sec1
1
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 50 50">
2
    <rect fill="green" width="50" height="50"/>
3
</svg>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/background-size/support/w3c-import.log +1 lines
Lines 16-20 None a/LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/background-size/support/w3c-import.log_sec1
16
List of files:
16
List of files:
17
/LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/background-size/support/200x200-red.png
17
/LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/background-size/support/200x200-red.png
18
/LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/background-size/support/50x50-green.png
18
/LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/background-size/support/50x50-green.png
19
/LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/background-size/support/50x50-green.svg
19
/LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/background-size/support/rectangle-2560x208.svg
20
/LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/background-size/support/rectangle-2560x208.svg
20
/LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/background-size/support/rectangle-96x60.png
21
/LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/background-size/support/rectangle-96x60.png
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/background-size/w3c-import.log +8 lines
Lines 24-26 List of files: a/LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/background-size/w3c-import.log_sec1
24
/LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/background-size/background-size-cover-svg-expected.html
24
/LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/background-size/background-size-cover-svg-expected.html
25
/LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/background-size/background-size-cover-svg.html
25
/LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/background-size/background-size-cover-svg.html
26
/LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/background-size/background-size-cover.xht
26
/LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/background-size/background-size-cover.xht
27
/LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/background-size/background-size-near-zero-color-expected.html
28
/LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/background-size/background-size-near-zero-color.html
29
/LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/background-size/background-size-near-zero-gradient-expected.html
30
/LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/background-size/background-size-near-zero-gradient.html
31
/LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/background-size/background-size-near-zero-png-expected.html
32
/LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/background-size/background-size-near-zero-png.html
33
/LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/background-size/background-size-near-zero-svg-expected.html
34
/LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/background-size/background-size-near-zero-svg.html
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/background_position_three_four_values.htm -39 lines
Lines 1-39 a/LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/background_position_three_four_values.htm_sec1
1
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
2
<html xmlns="http://www.w3.org/1999/xhtml">
3
    <head>
4
        <title>CSS Test: 'Background-position' with three and four values</title>
5
        <link rel="author" title="Microsoft" href="http://www.microsoft.com/" />
6
        <link rel="help" href="http://www.w3.org/TR/css3-background/#background-position" />
7
        <meta name="flags" content="" />
8
        <meta name="assert" content="If three or four values are given to 'background-position', then each percentage or length value represents an offset from the edge specified by the keyword." />
9
        <style type="text/css">
10
            div
11
            {
12
                width: 3in;
13
                height: 2in;
14
                border: thick solid black;
15
                margin: 10px;
16
                background-image: url("support/blue_color.png");
17
                background-repeat: no-repeat;
18
            }
19
            .reference
20
            {
21
                background-position: right center;
22
            }
23
            .test1
24
            {
25
                background-position: left 2in center;
26
            }
27
            .test2
28
            {
29
                background-position: left 2in top 50%;
30
            }
31
        </style>
32
    </head>
33
    <body>
34
        <p>Test passes if the content of the three black boxes is identical.</p>
35
        <div class="reference"></div>
36
        <div class="test1"></div>
37
        <div class="test2"></div>
38
    </body>
39
</html>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/border-image-image-type-003-expected.html +31 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/border-image-image-type-003-expected.html_sec1
1
<!DOCTYPE html>
2
3
  <meta charset="UTF-8">
4
5
  <title>CSS Reference Test</title>
6
7
  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/">
8
9
  <style>
10
  div#outer
11
    {
12
      background-image: linear-gradient(to top, blue, orange);
13
      height: 140px;
14
      margin: 10px;
15
      width: 140px;
16
    }
17
18
  div#inner
19
    {
20
      background-color: white;
21
      height: 80px;
22
      left: 30px;
23
      position: relative;
24
      top: 30px;
25
      width: 80px;
26
    }
27
  </style>
28
29
  <p>Test passes if there is no red visible on the page.
30
31
  <div id="outer"><div id="inner"></div></div>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/border-image-shorthand-001-expected.html +28 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/border-image-shorthand-001-expected.html_sec1
1
<!DOCTYPE html>
2
3
  <meta charset="UTF-8">
4
5
  <title>CSS Reference Test</title>
6
7
  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/">
8
9
  <style>
10
  div
11
    {
12
      border: 10px double red;
13
      border-image-outset: 2;
14
      border-image-repeat: round stretch;
15
      border-image-slice: 30;
16
      border-image-source: url("support/blue-and-red-diamonds-81x81.png");
17
      border-image-width: 4;
18
      height: 150px;
19
      margin: 50px 0px 100px 50px;
20
      width: 150px;
21
    }
22
  </style>
23
24
  <p>Test passes if there are <strong>2 identical images.</strong>
25
26
  <div></div>
27
28
  <div></div>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/border-top-left-radius-values-001.htm -1 / +1 lines
Lines 3-9 a/LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/border-top-left-radius-values-001.htm_sec1
3
    <head>
3
    <head>
4
        <title>CSS Test: 'Border-top-left-radius' with two values.</title>
4
        <title>CSS Test: 'Border-top-left-radius' with two values.</title>
5
        <link rel="author" title="Microsoft" href="http://www.microsoft.com/" />
5
        <link rel="author" title="Microsoft" href="http://www.microsoft.com/" />
6
        <link rel="help" href="http://www.w3.org/TR/css3-background/#border-top-left-radius" />
6
        <link rel="help" href="https://www.w3.org/TR/css-backgrounds-3/#the-border-radius" />
7
        <meta name="flags" content="" />
7
        <meta name="flags" content="" />
8
        <meta name="assert" content="The first value of the 'border-top-left-radius' is the horizontal radius of the rounded corner and the second value is its vertical radius." />
8
        <meta name="assert" content="The first value of the 'border-top-left-radius' is the horizontal radius of the rounded corner and the second value is its vertical radius." />
9
        <style type="text/css">
9
        <style type="text/css">
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/border-top-left-radius-values-002.htm -1 / +1 lines
Lines 3-9 a/LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/border-top-left-radius-values-002.htm_sec1
3
    <head>
3
    <head>
4
        <title>CSS Test: 'Border-top-left-radius' with one value.</title>
4
        <title>CSS Test: 'Border-top-left-radius' with one value.</title>
5
        <link rel="author" title="Microsoft" href="http://www.microsoft.com/" />
5
        <link rel="author" title="Microsoft" href="http://www.microsoft.com/" />
6
        <link rel="help" href="http://www.w3.org/TR/css3-background/#border-top-left-radius" />
6
        <link rel="help" href="https://www.w3.org/TR/css-backgrounds-3/#the-border-radius" />
7
        <meta name="flags" content="" />
7
        <meta name="flags" content="" />
8
        <meta name="assert" content="'Border-top-left-radius' with an omitted second value has the vertical radius of the rounded corner equal to its horizontal radius." />
8
        <meta name="assert" content="'Border-top-left-radius' with an omitted second value has the vertical radius of the rounded corner equal to its horizontal radius." />
9
        <style type="text/css">
9
        <style type="text/css">
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/border-top-left-radius-values-003.htm -1 / +1 lines
Lines 3-9 a/LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/border-top-left-radius-values-003.htm_sec1
3
    <head>
3
    <head>
4
        <title>CSS Test: 'Border-top-left-radius' with one value as 0.</title>
4
        <title>CSS Test: 'Border-top-left-radius' with one value as 0.</title>
5
        <link rel="author" title="Microsoft" href="http://www.microsoft.com/" />
5
        <link rel="author" title="Microsoft" href="http://www.microsoft.com/" />
6
        <link rel="help" href="http://www.w3.org/TR/css3-background/#border-top-left-radius" />
6
        <link rel="help" href="https://www.w3.org/TR/css-backgrounds-3/#the-border-radius" />
7
        <meta name="flags" content="" />
7
        <meta name="flags" content="" />
8
        <meta name="assert" content="If either value of 'border-top-left-radius' is 0 then the corner is a square." />
8
        <meta name="assert" content="If either value of 'border-top-left-radius' is 0 then the corner is a square." />
9
        <style type="text/css">
9
        <style type="text/css">
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/border-width-pixel-snapping-001-a-expected.html +5 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/border-width-pixel-snapping-001-a-expected.html_sec1
1
<!DOCTYPE html>
2
<meta charset="utf-8">
3
<title>CSS Backgrounds and Borders Reference Test: border-width pixel snapping</title>
4
<link rel="author" title="Manuel Rego Casasnovas" href="mailto:rego@igalia.com">
5
<div style="border: 2px solid black; width: 100px; height: 100px;"></div>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/border-width-pixel-snapping-001-a.html +8 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/border-width-pixel-snapping-001-a.html_sec1
1
<!DOCTYPE html>
2
<meta charset="utf-8">
3
<title>CSS Backgrounds and Borders Test: border-width pixel snapping</title>
4
<link rel="author" title="Manuel Rego Casasnovas" href="mailto:rego@igalia.com">
5
<link rel="help" href="https://drafts.csswg.org/css-ui/#outline-width">
6
<link rel="mismatch" href="reference/border-width-pixel-snapping-001-ref.html">
7
<meta name="assert" content="Test checks that outline-width is floored down when it needs to do pixel snapping (so 1.9px are not the same than 2px).">
8
<div style="border: 1.9px solid black; width: 100.2px; height: 100.2px;"></div>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/border-width-pixel-snapping-001-b-expected.html +5 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/border-width-pixel-snapping-001-b-expected.html_sec1
1
<!DOCTYPE html>
2
<meta charset="utf-8">
3
<title>CSS Backgrounds and Borders Reference Test: border-width pixel snapping</title>
4
<link rel="author" title="Manuel Rego Casasnovas" href="mailto:rego@igalia.com">
5
<div style="border: 2px solid black; width: 100px; height: 100px;"></div>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/border-width-pixel-snapping-001-b.html +8 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/border-width-pixel-snapping-001-b.html_sec1
1
<!DOCTYPE html>
2
<meta charset="utf-8">
3
<title>CSS Backgrounds and Borders Test: border-width pixel snapping</title>
4
<link rel="author" title="Manuel Rego Casasnovas" href="mailto:rego@igalia.com">
5
<link rel="help" href="https://drafts.csswg.org/css-ui/#outline-width">
6
<link rel="match" href="reference/border-width-pixel-snapping-001-ref.html">
7
<meta name="assert" content="Test checks that outline-width is floored down when it needs to do pixel snapping (so 2.1px are the same than 2px).">
8
<div style="border: 2.1px solid black; width: 99.8px; height: 99.8px;"></div>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/box-shadow-table-border-collapse-001-expected.html +22 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/box-shadow-table-border-collapse-001-expected.html_sec1
1
<!DOCTYPE html>
2
3
  <meta charset="UTF-8">
4
5
  <title>CSS Reference Test</title>
6
7
  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/">
8
9
  <style>
10
  div
11
    {
12
      background-color: orange;
13
      border: blue solid 30px;
14
      box-shadow: 20px 20px darkgray;
15
      height: 100px;
16
      width: 100px;
17
    }
18
  </style>
19
20
    <p>Test passes if there is a filled orange square with a thick blue border and if such square has a gray outer shadow at its bottom and at its right side.
21
22
  <div></div>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/box-shadow-table-border-collapse-001.html +73 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/box-shadow-table-border-collapse-001.html_sec1
1
<!DOCTYPE html>
2
3
  <meta charset="UTF-8">
4
5
  <title>CSS Box-shadow Test: an HTML &lt;table&gt; with 'border-collapse: collapse'</title>
6
7
  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/">
8
  <link rel="help" href="https://www.w3.org/TR/css-backgrounds-3/#shadow-layers">
9
  <link rel="match" href="reference/box-shadow-table-border-collapse-001-ref.html">
10
  <link rel="stylesheet" type="text/css" href="/fonts/ahem.css">
11
12
  <!--
13
14
  created: 2017
15
  modified: May 23rd 2020
16
17
  Bug 1050297: Box-shadow of a table disappears when its border-collapse is set to collapse
18
  https://connect.microsoft.com/IE/Feedback/Details/1050297
19
20
  Sky6t user page at wikipedia
21
  https://en.wikipedia.org/wiki/User:Sky6t/sandbox#Tables
22
23
  -->
24
25
  <meta content="" name="flags">
26
  <meta content="This test checks that 'box-shadow' applies to table element with 'border-collapse' set to 'collapse' as long as row borders do not have different border thicknesses. In this test, the left border of both table rows have the same thickness (30px) and the right border of both table rows have the same thickness (30px)." name="assert">
27
28
  <style>
29
  table
30
    {
31
      border: red solid 29px;
32
      border-collapse: collapse;
33
      box-shadow: 20px 20px darkgray;
34
      color: orange;
35
      font-family: Ahem;
36
      font-size: 50px;
37
      line-height: 1;
38
      table-layout: fixed;
39
      width: 160px;
40
    }
41
42
  tr
43
    {
44
      border-color: blue;
45
      border-style: solid;
46
    }
47
48
  tr#top-row
49
    {
50
51
      border-width: 30px 30px 0px;
52
    }
53
54
  tr#bottom-row
55
    {
56
      border-width: 0px 30px 30px;
57
    }
58
59
  td
60
    {
61
      padding: 0;
62
    }
63
  </style>
64
65
  <p>Test passes if there is a filled orange square with a thick blue border and if such square has a gray outer shadow at its bottom and at its right side.
66
67
  <table>
68
69
    <tr id="top-row"><td>1<td>2
70
71
    <tr id="bottom-row"><td>3<td>4
72
73
  </table>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/css-border-radius-001.html -3 / +1 lines
Lines 5-12 a/LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/css-border-radius-001.html_sec1
5
    <link rel="author" title="tmd" href="mailto:weisong4413@126.com">
5
    <link rel="author" title="tmd" href="mailto:weisong4413@126.com">
6
    <link rel="help" href="http://www.w3.org/TR/css3-background/#the-border-radius">
6
    <link rel="help" href="http://www.w3.org/TR/css3-background/#the-border-radius">
7
    <link rel="match" href="reference/css-border-radius-ref-001.html">
7
    <link rel="match" href="reference/css-border-radius-ref-001.html">
8
    <meta name="assert" content="">
9
    <meta name="flag" content="border-radius">
10
    <style type="text/css">
8
    <style type="text/css">
11
		.redSquare{
9
		.redSquare{
12
            position: absolute;
10
            position: absolute;
Lines 39-42 a/LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/css-border-radius-001.html_sec2
39
		<div id="green" class="greenSquare"></div>
37
		<div id="green" class="greenSquare"></div>
40
    </div>
38
    </div>
41
</body>
39
</body>
42
</html>
40
</html>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/css-border-radius-002-expected.html -34 lines
Lines 1-34 a/LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/css-border-radius-002-expected.html_sec1
1
<!DOCTYPE html>
2
<html>
3
<head>
4
    <title>CSS border-radius Test</title>
5
    <style type="text/css">
6
        .redSquare {
7
            position: absolute;
8
			left:50px;
9
            width: 100px;
10
            height: 100px;
11
			background-image:url(support/yyy.png);
12
        }
13
		.greenSquare {
14
            position: absolute;
15
			left:50px;
16
            width: 100px;
17
            height: 100px;
18
			background-image:url(support/yy.png);
19
        }
20
        .container {
21
            position: absolute;
22
        }
23
    </style>
24
</head>
25
<body>
26
    <p>The test passes if there is one graph with one color.</p>
27
    <div class="container">
28
        <!-- This is the graph that should not be visible if the test passes -->
29
		<div id="green" class="greenSquare"></div>
30
		<!-- This is the square being tested with the radius-->
31
		<div id="red" class="redSquare">
32
    </div>
33
</body>
34
</html>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/css-border-radius-002.html -88 lines
Lines 1-88 a/LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/css-border-radius-002.html_sec1
1
<!DOCTYPE html>
2
<html>
3
<head>
4
    <title>CSS border-radius Test</title>
5
    <link rel="author" title="tmd" href="mailto:weisong4413@126.com">
6
    <link rel="help" href="http://www.w3.org/TR/css3-background/#the-border-radius">
7
    <link rel="match" href="reference/css-border-radius-ref-002.html">
8
    <meta name="assert" content="if there is more then one graph and one color">
9
    <meta name="flag" content="border-radius">
10
    <style type="text/css">
11
        .redSquare {
12
            position: absolute;
13
			left:50px;
14
            width: 100px;
15
            height: 100px;
16
			border-bottom-left-radius:100% 100%;
17
			border-top-left-radius:100% 100%;
18
			border-bottom-right-radius: 100% 100%;
19
			border-top-right-radius: 100% 100%;
20
			background-color:rgba(255, 0, 0, 0.5);
21
        }
22
		.greenSquare {
23
            position: absolute;
24
			left:50px;
25
            width: 100px;
26
            height: 100px;
27
			background-image:url(support/yy.png);
28
        }
29
        .container {
30
            position: absolute;
31
        }
32
    </style>
33
</head>
34
<body>
35
    <p>The test passes if there is one graph with one color.</p>
36
    <div class="container">
37
        <!-- This is the graph that should not be visible if the test passes -->
38
		<div id="green" class="greenSquare"></div>
39
		<!-- This is the square being tested with the radius-->
40
		<div id="red" class="redSquare">
41
	</div><br><br><br><br><br>
42
    <p>you can change the value of all radius to change the graph.</p>
43
    	Top--- Left- X<input id="rangeTL1" type="range" value="100" onchange="setRadius('TL1')">% Y<input id="rangeTL2" type="range" value="100" onchange="setRadius('TL2')">%
44
<br>	Top--- Right X<input id="rangeTR1" type="range" value="100" onchange="setRadius('TR1')">% Y<input id="rangeTR2" type="range" value="100" onchange="setRadius('TR2')">%
45
<br>	Bottom Left- X<input id="rangeBL1" type="range" value="100" onchange="setRadius('BL1')">% Y<input id="rangeBL2" type="range" value="100" onchange="setRadius('BL2')">%
46
<br>	Bottom Right X<input id="rangeBR1" type="range" value="100" onchange="setRadius('BR1')">% Y<input id="rangeBR2" type="range" value="100" onchange="setRadius('BR2')">%
47
		<script>
48
		var red = document.getElementById("red");
49
		var rangeTL1 = document.getElementById("rangeTL1");
50
		var rangeTR1 = document.getElementById("rangeTR1");
51
		var rangeBL1 = document.getElementById("rangeBL1");
52
		var rangeBR1 = document.getElementById("rangeBR1");
53
		var rangeTL2 = document.getElementById("rangeTL2");
54
		var rangeTR2 = document.getElementById("rangeTR2");
55
		var rangeBL2 = document.getElementById("rangeBL2");
56
		var rangeBR2 = document.getElementById("rangeBR2");
57
		function setRadius(str){
58
			rangeTL1.setAttribute("title",rangeTL1.value);
59
			rangeTR1.setAttribute("title",rangeTR1.value);
60
			rangeBL1.setAttribute("title",rangeBL1.value);
61
			rangeBR1.setAttribute("title",rangeBR1.value);
62
			rangeTL2.setAttribute("title",rangeTL2.value);
63
			rangeTR2.setAttribute("title",rangeTR2.value);
64
			rangeBL2.setAttribute("title",rangeBL2.value);
65
			rangeBR2.setAttribute("title",rangeBR2.value);
66
			switch(str){
67
				case 'TL1':
68
				case 'TL2':
69
					red.style.borderTopLeftRadius = rangeTL1.value+'% '+rangeTL2.value+'%';
70
					break;
71
				case 'TR1':
72
				case 'TR2':
73
					red.style.borderTopRightRadius = rangeTR1.value+'% '+rangeTR2.value+'%';
74
					break;
75
				case 'BL1':
76
				case 'BL2':
77
					red.style.borderBottomLeftRadius = rangeBL1.value+'% '+rangeBL2.value+'%';
78
					break;
79
				case 'BR1':
80
				case 'BR2':
81
					red.style.borderBottomRightRadius = rangeBR1.value+'% '+rangeBR2.value+'%';
82
					break;
83
			}
84
		}
85
		</script>
86
    </div>
87
</body>
88
</html>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/css-box-shadow-001.html -2 lines
Lines 6-13 a/LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/css-box-shadow-001.html_sec1
6
    <link rel="help" href="http://www.w3.org/TR/css3-background/#the-box-shadow">
6
    <link rel="help" href="http://www.w3.org/TR/css3-background/#the-box-shadow">
7
    <link rel="help" href="http://www.w3.org/TR/css3-background/#the-border-radius">
7
    <link rel="help" href="http://www.w3.org/TR/css3-background/#the-border-radius">
8
    <link rel="match" href="reference/css-box-shadow-ref-001.html">
8
    <link rel="match" href="reference/css-box-shadow-ref-001.html">
9
    <meta name="assert" content="">
10
    <meta name="flag" content="box-shadow">
11
    <style type="text/css">
9
    <style type="text/css">
12
		.greenSquare-shadow{
10
		.greenSquare-shadow{
13
            position: absolute;
11
            position: absolute;
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/inset-box-shadow-scroll-expected.html +18 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/inset-box-shadow-scroll-expected.html_sec1
1
<!DOCTYPE html>
2
<style>
3
#target {
4
  width: 220px;
5
  height: 120px;
6
  overflow: scroll;
7
}
8
#inner {
9
  padding: 10px;
10
  box-shadow: 10px 10px green inset;
11
  height: 120px;
12
}
13
</style>
14
<div id="target">
15
  <div id="inner">
16
    Passes if green inset shadow is visible.
17
  </div>
18
</div>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/inset-box-shadow-scroll.html +21 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/inset-box-shadow-scroll.html_sec1
1
<!DOCTYPE html>
2
<link rel="help" href="http://www.w3.org/TR/css3-background/#the-box-shadow">
3
<link rel="match" href="inset-box-shadow-scroll-ref.html"/>
4
<style>
5
#target {
6
  width: 200px;
7
  height: 100px;
8
  overflow: scroll;
9
  background-color: white;
10
  box-shadow: 10px 10px green inset;
11
  padding: 10px;
12
}
13
#inner {
14
  height: 120px;
15
}
16
</style>
17
<div id="target">
18
  <div id="inner">
19
    Passes if green inset shadow is visible.
20
  </div>
21
</div>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/inset-box-shadow-stacking-context-scroll-expected.html +18 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/inset-box-shadow-stacking-context-scroll-expected.html_sec1
1
<!DOCTYPE html>
2
<style>
3
#target {
4
  width: 220px;
5
  height: 120px;
6
  overflow: scroll;
7
}
8
#inner {
9
  padding: 10px;
10
  box-shadow: 10px 10px green inset;
11
  height: 120px;
12
}
13
</style>
14
<div id="target">
15
  <div id="inner">
16
    Passes if green inset shadow is visible.
17
  </div>
18
</div>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/inset-box-shadow-stacking-context-scroll.html +23 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/inset-box-shadow-stacking-context-scroll.html_sec1
1
<!DOCTYPE html>
2
<link rel="help" href="http://www.w3.org/TR/css3-background/#the-box-shadow">
3
<link rel="match" href="inset-box-shadow-scroll-ref.html"/>
4
<style>
5
#target {
6
  position: absolute;
7
  z-index: 1;
8
  width: 200px;
9
  height: 100px;
10
  overflow: scroll;
11
  background-color: white;
12
  box-shadow: 10px 10px green inset;
13
  padding: 10px;
14
}
15
#inner {
16
  height: 120px;
17
}
18
</style>
19
<div id="target">
20
  <div id="inner">
21
    Passes if green inset shadow is visible.
22
  </div>
23
</div>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/parsing/background-image-computed.sub-expected.txt +22 lines
Lines 3-10 PASS Property background-image value 'none' a/LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/parsing/background-image-computed.sub-expected.txt_sec1
3
PASS Property background-image value 'url("http://localhost/")' 
3
PASS Property background-image value 'url("http://localhost/")' 
4
PASS Property background-image value 'none, url("http://localhost/")' 
4
PASS Property background-image value 'none, url("http://localhost/")' 
5
FAIL Property background-image value 'linear-gradient(to left bottom, red, blue)' assert_equals: expected "linear-gradient(to left bottom, rgb(255, 0, 0), rgb(0, 0, 255))" but got "linear-gradient(to left bottom, red, blue)"
5
FAIL Property background-image value 'linear-gradient(to left bottom, red, blue)' assert_equals: expected "linear-gradient(to left bottom, rgb(255, 0, 0), rgb(0, 0, 255))" but got "linear-gradient(to left bottom, red, blue)"
6
PASS Property background-image value 'radial-gradient(rgb(255, 0, 0), rgb(0, 0, 255))' 
7
FAIL Property background-image value 'radial-gradient(at center, red, blue)' assert_equals: expected "radial-gradient(rgb(255, 0, 0), rgb(0, 0, 255))" but got "radial-gradient(at center center, red, blue)"
8
FAIL Property background-image value 'radial-gradient(at 50%, red, blue)' assert_equals: expected "radial-gradient(rgb(255, 0, 0), rgb(0, 0, 255))" but got "radial-gradient(at 50% center, red, blue)"
9
PASS Property background-image value 'radial-gradient(at 10px 10px, rgb(255, 0, 0), rgb(0, 0, 255))' 
10
PASS Property background-image value 'radial-gradient(farthest-side, rgb(255, 0, 0), rgb(0, 0, 255))' 
11
PASS Property background-image value 'radial-gradient(farthest-side at 10px 10px, rgb(255, 0, 0), rgb(0, 0, 255))' 
12
FAIL Property background-image value 'radial-gradient(farthest-corner, red, blue)' assert_equals: expected "radial-gradient(rgb(255, 0, 0), rgb(0, 0, 255))" but got "radial-gradient(red, blue)"
13
FAIL Property background-image value 'radial-gradient(farthest-corner at center, red, blue)' assert_equals: expected "radial-gradient(rgb(255, 0, 0), rgb(0, 0, 255))" but got "radial-gradient(at center center, red, blue)"
14
FAIL Property background-image value 'radial-gradient(farthest-corner at 50%, red, blue)' assert_equals: expected "radial-gradient(rgb(255, 0, 0), rgb(0, 0, 255))" but got "radial-gradient(at 50% center, red, blue)"
15
FAIL Property background-image value 'radial-gradient(farthest-corner at 10px 10px, red, blue)' assert_equals: expected "radial-gradient(at 10px 10px, rgb(255, 0, 0), rgb(0, 0, 255))" but got "radial-gradient(at 10px 10px, red, blue)"
6
PASS Property background-image value 'radial-gradient(10px at 20px 30px, rgb(255, 0, 0), rgb(0, 0, 255))' 
16
PASS Property background-image value 'radial-gradient(10px at 20px 30px, rgb(255, 0, 0), rgb(0, 0, 255))' 
7
FAIL Property background-image value 'radial-gradient(circle calc(-0.5em + 10px) at calc(-1em + 10px) calc(-2em + 10px), red, blue)' assert_equals: expected "radial-gradient(0px at -30px -70px, rgb(255, 0, 0), rgb(0, 0, 255))" but got "radial-gradient(calc(-0.5em + 10px) at calc(-1em + 10px) calc(-2em + 10px), red, blue)"
17
FAIL Property background-image value 'radial-gradient(circle calc(-0.5em + 10px) at calc(-1em + 10px) calc(-2em + 10px), red, blue)' assert_equals: expected "radial-gradient(0px at -30px -70px, rgb(255, 0, 0), rgb(0, 0, 255))" but got "radial-gradient(calc(-0.5em + 10px) at calc(-1em + 10px) calc(-2em + 10px), red, blue)"
8
FAIL Property background-image value 'radial-gradient(ellipse calc(-0.5em + 10px) calc(0.5em + 10px) at 20px 30px, red, blue)' assert_equals: expected "radial-gradient(0px 30px at 20px 30px, rgb(255, 0, 0), rgb(0, 0, 255))" but got "radial-gradient(calc(-0.5em + 10px) calc(0.5em + 10px) at 20px 30px, red, blue)"
18
FAIL Property background-image value 'radial-gradient(ellipse calc(-0.5em + 10px) calc(0.5em + 10px) at 20px 30px, red, blue)' assert_equals: expected "radial-gradient(0px 30px at 20px 30px, rgb(255, 0, 0), rgb(0, 0, 255))" but got "radial-gradient(calc(-0.5em + 10px) calc(0.5em + 10px) at 20px 30px, red, blue)"
9
FAIL Property background-image value 'radial-gradient(ellipse calc(0.5em + 10px) calc(-0.5em + 10px) at 20px 30px, red, blue)' assert_equals: expected "radial-gradient(30px 0px at 20px 30px, rgb(255, 0, 0), rgb(0, 0, 255))" but got "radial-gradient(calc(0.5em + 10px) calc(-0.5em + 10px) at 20px 30px, red, blue)"
19
FAIL Property background-image value 'radial-gradient(ellipse calc(0.5em + 10px) calc(-0.5em + 10px) at 20px 30px, red, blue)' assert_equals: expected "radial-gradient(30px 0px at 20px 30px, rgb(255, 0, 0), rgb(0, 0, 255))" but got "radial-gradient(calc(0.5em + 10px) calc(-0.5em + 10px) at 20px 30px, red, blue)"
20
PASS Property background-image value 'conic-gradient(rgb(255, 0, 0), rgb(0, 0, 255))' 
21
FAIL Property background-image value 'conic-gradient(at center, red, blue)' assert_equals: expected "conic-gradient(rgb(255, 0, 0), rgb(0, 0, 255))" but got "conic-gradient(at center center, red, blue)"
22
FAIL Property background-image value 'conic-gradient(at 50%, red, blue)' assert_equals: expected "conic-gradient(rgb(255, 0, 0), rgb(0, 0, 255))" but got "conic-gradient(at 50% center, red, blue)"
23
PASS Property background-image value 'conic-gradient(at 10px 10px, rgb(255, 0, 0), rgb(0, 0, 255))' 
24
FAIL Property background-image value 'conic-gradient(from 0deg, red, blue)' assert_equals: expected "conic-gradient(rgb(255, 0, 0), rgb(0, 0, 255))" but got "conic-gradient(from 0deg, red, blue)"
25
FAIL Property background-image value 'conic-gradient(from 0deg at center, red, blue)' assert_equals: expected "conic-gradient(rgb(255, 0, 0), rgb(0, 0, 255))" but got "conic-gradient(from 0deg at center center, red, blue)"
26
FAIL Property background-image value 'conic-gradient(from 0deg at 50%, red, blue)' assert_equals: expected "conic-gradient(rgb(255, 0, 0), rgb(0, 0, 255))" but got "conic-gradient(from 0deg at 50% center, red, blue)"
27
FAIL Property background-image value 'conic-gradient(from 0deg at 10px 10px, red, blue)' assert_equals: expected "conic-gradient(at 10px 10px, rgb(255, 0, 0), rgb(0, 0, 255))" but got "conic-gradient(from 0deg at 10px 10px, red, blue)"
28
PASS Property background-image value 'conic-gradient(from 45deg, rgb(255, 0, 0), rgb(0, 0, 255))' 
29
FAIL Property background-image value 'conic-gradient(from 45deg at center, red, blue)' assert_equals: expected "conic-gradient(from 45deg, rgb(255, 0, 0), rgb(0, 0, 255))" but got "conic-gradient(from 45deg at center center, red, blue)"
30
FAIL Property background-image value 'conic-gradient(from 45deg at 50%, red, blue)' assert_equals: expected "conic-gradient(from 45deg, rgb(255, 0, 0), rgb(0, 0, 255))" but got "conic-gradient(from 45deg at 50% center, red, blue)"
31
FAIL Property background-image value 'conic-gradient(from 45deg at 10px 10px, red, blue)' assert_equals: expected "conic-gradient(from 45deg at 10px 10px, rgb(255, 0, 0), rgb(0, 0, 255))" but got "conic-gradient(from 45deg at 10px 10px, red, blue)"
10
32
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/parsing/background-image-computed.sub.html +24 lines
Lines 26-35 test_computed_value("background-image", 'none, url("http://{{host}}/")'); a/LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/parsing/background-image-computed.sub.html_sec1
26
26
27
test_computed_value('background-image', 'linear-gradient(to left bottom, red, blue)', 'linear-gradient(to left bottom, rgb(255, 0, 0), rgb(0, 0, 255))');
27
test_computed_value('background-image', 'linear-gradient(to left bottom, red, blue)', 'linear-gradient(to left bottom, rgb(255, 0, 0), rgb(0, 0, 255))');
28
28
29
test_computed_value('background-image', 'radial-gradient(rgb(255, 0, 0), rgb(0, 0, 255))');
30
test_computed_value('background-image', 'radial-gradient(at center, red, blue)', 'radial-gradient(rgb(255, 0, 0), rgb(0, 0, 255))');
31
test_computed_value('background-image', 'radial-gradient(at 50%, red, blue)', 'radial-gradient(rgb(255, 0, 0), rgb(0, 0, 255))');
32
test_computed_value('background-image', 'radial-gradient(at 10px 10px, rgb(255, 0, 0), rgb(0, 0, 255))');
33
test_computed_value('background-image', 'radial-gradient(farthest-side, rgb(255, 0, 0), rgb(0, 0, 255))');
34
test_computed_value('background-image', 'radial-gradient(farthest-side at 10px 10px, rgb(255, 0, 0), rgb(0, 0, 255))');
35
test_computed_value('background-image', 'radial-gradient(farthest-corner, red, blue)', 'radial-gradient(rgb(255, 0, 0), rgb(0, 0, 255))');
36
test_computed_value('background-image', 'radial-gradient(farthest-corner at center, red, blue)', 'radial-gradient(rgb(255, 0, 0), rgb(0, 0, 255))');
37
test_computed_value('background-image', 'radial-gradient(farthest-corner at 50%, red, blue)', 'radial-gradient(rgb(255, 0, 0), rgb(0, 0, 255))');
38
test_computed_value('background-image', 'radial-gradient(farthest-corner at 10px 10px, red, blue)', 'radial-gradient(at 10px 10px, rgb(255, 0, 0), rgb(0, 0, 255))');
39
29
test_computed_value('background-image', 'radial-gradient(10px at 20px 30px, rgb(255, 0, 0), rgb(0, 0, 255))');
40
test_computed_value('background-image', 'radial-gradient(10px at 20px 30px, rgb(255, 0, 0), rgb(0, 0, 255))');
30
test_computed_value('background-image', 'radial-gradient(circle calc(-0.5em + 10px) at calc(-1em + 10px) calc(-2em + 10px), red, blue)', 'radial-gradient(0px at -30px -70px, rgb(255, 0, 0), rgb(0, 0, 255))');
41
test_computed_value('background-image', 'radial-gradient(circle calc(-0.5em + 10px) at calc(-1em + 10px) calc(-2em + 10px), red, blue)', 'radial-gradient(0px at -30px -70px, rgb(255, 0, 0), rgb(0, 0, 255))');
31
test_computed_value('background-image', 'radial-gradient(ellipse calc(-0.5em + 10px) calc(0.5em + 10px) at 20px 30px, red, blue)', 'radial-gradient(0px 30px at 20px 30px, rgb(255, 0, 0), rgb(0, 0, 255))');
42
test_computed_value('background-image', 'radial-gradient(ellipse calc(-0.5em + 10px) calc(0.5em + 10px) at 20px 30px, red, blue)', 'radial-gradient(0px 30px at 20px 30px, rgb(255, 0, 0), rgb(0, 0, 255))');
32
test_computed_value('background-image', 'radial-gradient(ellipse calc(0.5em + 10px) calc(-0.5em + 10px) at 20px 30px, red, blue)', 'radial-gradient(30px 0px at 20px 30px, rgb(255, 0, 0), rgb(0, 0, 255))');
43
test_computed_value('background-image', 'radial-gradient(ellipse calc(0.5em + 10px) calc(-0.5em + 10px) at 20px 30px, red, blue)', 'radial-gradient(30px 0px at 20px 30px, rgb(255, 0, 0), rgb(0, 0, 255))');
44
45
test_computed_value('background-image', 'conic-gradient(rgb(255, 0, 0), rgb(0, 0, 255))');
46
test_computed_value('background-image', 'conic-gradient(at center, red, blue)', 'conic-gradient(rgb(255, 0, 0), rgb(0, 0, 255))');
47
test_computed_value('background-image', 'conic-gradient(at 50%, red, blue)', 'conic-gradient(rgb(255, 0, 0), rgb(0, 0, 255))');
48
test_computed_value('background-image', 'conic-gradient(at 10px 10px, rgb(255, 0, 0), rgb(0, 0, 255))');
49
test_computed_value('background-image', 'conic-gradient(from 0deg, red, blue)', 'conic-gradient(rgb(255, 0, 0), rgb(0, 0, 255))');
50
test_computed_value('background-image', 'conic-gradient(from 0deg at center, red, blue)', 'conic-gradient(rgb(255, 0, 0), rgb(0, 0, 255))');
51
test_computed_value('background-image', 'conic-gradient(from 0deg at 50%, red, blue)', 'conic-gradient(rgb(255, 0, 0), rgb(0, 0, 255))');
52
test_computed_value('background-image', 'conic-gradient(from 0deg at 10px 10px, red, blue)', 'conic-gradient(at 10px 10px, rgb(255, 0, 0), rgb(0, 0, 255))');
53
test_computed_value('background-image', 'conic-gradient(from 45deg, rgb(255, 0, 0), rgb(0, 0, 255))');
54
test_computed_value('background-image', 'conic-gradient(from 45deg at center, red, blue)', 'conic-gradient(from 45deg, rgb(255, 0, 0), rgb(0, 0, 255))');
55
test_computed_value('background-image', 'conic-gradient(from 45deg at 50%, red, blue)', 'conic-gradient(from 45deg, rgb(255, 0, 0), rgb(0, 0, 255))');
56
test_computed_value('background-image', 'conic-gradient(from 45deg at 10px 10px, red, blue)', 'conic-gradient(from 45deg at 10px 10px, rgb(255, 0, 0), rgb(0, 0, 255))');
33
</script>
57
</script>
34
</body>
58
</body>
35
</html>
59
</html>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/resources/w3c-import.log +4 lines
Lines 16-19 None a/LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/resources/w3c-import.log_sec1
16
List of files:
16
List of files:
17
/LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/resources/blue-100.png
17
/LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/resources/blue-100.png
18
/LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/resources/green-100.png
18
/LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/resources/green-100.png
19
/LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/resources/green-bottom.png
20
/LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/resources/green-right.png
21
/LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/resources/green1x50.png
22
/LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/resources/green50x1.png
19
/LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/resources/stripes-100.png
23
/LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/resources/stripes-100.png
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/scroll-positioned-multiple-background-images.html -1 / +1 lines
Lines 19-25 and the element is scrolled to (0, 60px), only the second image is shown." /> a/LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/scroll-positioned-multiple-background-images.html_sec1
19
#element-with-attachment-scroll {
19
#element-with-attachment-scroll {
20
    width: 500px;
20
    width: 500px;
21
    height: 500px;
21
    height: 500px;
22
    background-image: url('support/60x60-red.png'), url('support/60x60-green.png');
22
    background-image: url('/css/support/60x60-red.png'), url('support/60x60-green.png');
23
    background-position: 0 0, 0 60px;
23
    background-position: 0 0, 0 60px;
24
    background-repeat: no-repeat;
24
    background-repeat: no-repeat;
25
}
25
}
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/subpixel-repeat-no-repeat-mix-expected.html +35 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/subpixel-repeat-no-repeat-mix-expected.html_sec1
1
<!DOCTYPE html>
2
<html>
3
<head>
4
  <title>CSS Background Test: Mixing background-repeat: repeat and no-repeat, subpixel sizes, Reference</title>
5
  <link rel="author" title="schenney" href="mailto:schenney@chromium.org">
6
  <style>
7
    div.x {
8
      position: absolute;
9
      left: 20px;
10
      top: 10px;
11
      width: 117px;
12
      height: 10px;
13
      background-image: url("resources/green-right.png");
14
      background-position-x: right;
15
      background-repeat: repeat-y;
16
      background-size: 117px 1px;
17
    }
18
    div.y {
19
      position: absolute;
20
      left: 10px;
21
      top: 20px;
22
      width: 10px;
23
      height: 117px;
24
      background-image: url("resources/green-bottom.png");
25
      background-position-y: bottom;
26
      background-repeat: repeat-x;
27
      background-size: 1px 117px;
28
    }
29
  </style>
30
</head>
31
<body>
32
  <div class="y"></div>
33
  <div class="x"></div>
34
</body>
35
</html>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/subpixel-repeat-no-repeat-mix.html +37 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/subpixel-repeat-no-repeat-mix.html_sec1
1
<!DOCTYPE html>
2
<html>
3
<head>
4
  <title>CSS Background Test: Mixing background-repeat: repeat and no-repeat, subpixel sizes</title>
5
  <link rel="author" title="schenney" href="mailto:schenney@chromium.org">
6
  <link rel="help" href="http://www.w3.org/TR/css3-background/#the-background-size">
7
  <link rel="match" href="reference/subpixel-repeat-no-repeat-mix-ref.html">
8
  <style>
9
    div.x {
10
      position: absolute;
11
      left: 20px;
12
      top: 10px;
13
      width: 116.8px;
14
      height: 10px;
15
      background-image: url("resources/green-right.png");
16
      background-position-x: right;
17
      background-repeat: repeat-y;
18
      background-size: 116.8px 0.8px;
19
    }
20
    div.y {
21
      position: absolute;
22
      left: 10px;
23
      top: 20px;
24
      width: 10px;
25
      height: 116.8px;
26
      background-image: url("resources/green-bottom.png");
27
      background-position-y: bottom;
28
      background-repeat: repeat-x;
29
      background-size: 0.8px 116.8px;
30
    }
31
  </style>
32
</head>
33
<body>
34
  <div class="y"></div>
35
  <div class="x"></div>
36
</body>
37
</html>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/support/w3c-import.log -4 / +2 lines
Lines 15-20 None a/LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/support/w3c-import.log_sec1
15
------------------------------------------------------------------------
15
------------------------------------------------------------------------
16
List of files:
16
List of files:
17
/LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/support/100x100-blue-and-orange.png
17
/LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/support/100x100-blue-and-orange.png
18
/LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/support/100x100-red.png
18
/LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/support/1x1-green.png
19
/LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/support/1x1-green.png
19
/LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/support/1x1-lime.png
20
/LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/support/1x1-lime.png
20
/LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/support/1x1-maroon.png
21
/LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/support/1x1-maroon.png
Lines 25-31 List of files: a/LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/support/w3c-import.log_sec2
25
/LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/support/50x50-green.png
26
/LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/support/50x50-green.png
26
/LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/support/60x60-gg-rr.png
27
/LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/support/60x60-gg-rr.png
27
/LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/support/60x60-green.png
28
/LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/support/60x60-green.png
28
/LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/support/60x60-red.png
29
/LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/support/a-green.css
29
/LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/support/a-green.css
30
/LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/support/aqua_color.png
30
/LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/support/aqua_color.png
31
/LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/support/b-green.css
31
/LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/support/b-green.css
Lines 33-38 List of files: a/LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/support/w3c-import.log_sec3
33
/LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/support/bg_flower.gif
33
/LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/support/bg_flower.gif
34
/LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/support/black96x96.png
34
/LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/support/black96x96.png
35
/LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/support/black_color.png
35
/LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/support/black_color.png
36
/LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/support/blue-and-red-diamonds-81x81.png
36
/LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/support/blue-diamond.png
37
/LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/support/blue-diamond.png
37
/LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/support/blue96x96.png
38
/LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/support/blue96x96.png
38
/LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/support/blue_color.png
39
/LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/support/blue_color.png
Lines 85-90 List of files: a/LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/support/w3c-import.log_sec4
85
/LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/support/test-tl.png
86
/LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/support/test-tl.png
86
/LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/support/test-tr.png
87
/LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/support/test-tr.png
87
/LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/support/white_color.png
88
/LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/support/white_color.png
88
/LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/support/y.png
89
/LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/support/yy.png
90
/LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/support/yyy.png
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/w3c-import.log -6 / +35 lines
Lines 22-30 List of files: a/LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/w3c-import.log_sec1
22
/LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/background-334.html
22
/LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/background-334.html
23
/LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/background-335.html
23
/LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/background-335.html
24
/LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/background-336.html
24
/LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/background-336.html
25
/LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/background-attachment-350-expected.xht
26
/LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/background-attachment-350.html
25
/LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/background-attachment-local-scrolling.htm
27
/LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/background-attachment-local-scrolling.htm
26
/LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/background-border-collapsed-gradient-expected.html
28
/LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/background-attachment-margin-root-001-expected.html
27
/LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/background-border-collapsed-gradient.html
29
/LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/background-attachment-margin-root-001.html
30
/LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/background-attachment-margin-root-002-expected.html
31
/LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/background-attachment-margin-root-002.html
28
/LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/background-clip-001.html
32
/LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/background-clip-001.html
29
/LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/background-clip-002-expected.html
33
/LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/background-clip-002-expected.html
30
/LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/background-clip-002.html
34
/LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/background-clip-002.html
Lines 91-97 List of files: a/LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/w3c-import.log_sec2
91
/LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/background-image-005.html
95
/LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/background-image-005.html
92
/LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/background-image-006-expected.html
96
/LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/background-image-006-expected.html
93
/LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/background-image-006.html
97
/LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/background-image-006.html
94
/LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/background-image-007-expected.html
98
/LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/background-image-007-expected.xht
95
/LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/background-image-007.html
99
/LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/background-image-007.html
96
/LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/background-image-centered-expected.html
100
/LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/background-image-centered-expected.html
97
/LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/background-image-centered-with-border-radius-expected.html
101
/LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/background-image-centered-with-border-radius-expected.html
Lines 109-114 List of files: a/LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/w3c-import.log_sec3
109
/LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/background-image-none-gradient-repaint.html
113
/LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/background-image-none-gradient-repaint.html
110
/LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/background-image-table-cells-zoomed-expected.html
114
/LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/background-image-table-cells-zoomed-expected.html
111
/LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/background-image-table-cells-zoomed.html
115
/LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/background-image-table-cells-zoomed.html
116
/LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/background-margin-iframe-root-expected.html
117
/LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/background-margin-iframe-root.html
118
/LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/background-margin-root-expected.html
119
/LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/background-margin-root.html
120
/LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/background-margin-transformed-root-expected.html
121
/LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/background-margin-transformed-root.html
122
/LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/background-margin-will-change-root-expected.html
123
/LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/background-margin-will-change-root.html
112
/LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/background-origin-001.html
124
/LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/background-origin-001.html
113
/LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/background-origin-002-expected.html
125
/LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/background-origin-002-expected.html
114
/LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/background-origin-002.html
126
/LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/background-origin-002.html
Lines 128-133 List of files: a/LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/w3c-import.log_sec4
128
/LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/background-paint-order-001.html
140
/LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/background-paint-order-001.html
129
/LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/background-position-negative-percentage-comparison-expected.html
141
/LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/background-position-negative-percentage-comparison-expected.html
130
/LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/background-position-negative-percentage-comparison.html
142
/LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/background-position-negative-percentage-comparison.html
143
/LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/background-position-subpixel-at-border.tentative-expected.html
144
/LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/background-position-subpixel-at-border.tentative.html
145
/LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/background-position-three-four-values-expected.html
146
/LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/background-position-three-four-values.html
147
/LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/background-position-xy-three-four-values-passthru-expected.html
148
/LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/background-position-xy-three-four-values-passthru.html
131
/LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/background-repeat-round-001.html
149
/LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/background-repeat-round-001.html
132
/LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/background-repeat-round-002.html
150
/LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/background-repeat-round-002.html
133
/LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/background-repeat-space-padding-box.htm
151
/LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/background-repeat-space-padding-box.htm
Lines 209-215 List of files: a/LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/w3c-import.log_sec5
209
/LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/background-size-with-negative-value-expected.html
227
/LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/background-size-with-negative-value-expected.html
210
/LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/background-size-with-negative-value.html
228
/LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/background-size-with-negative-value.html
211
/LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/background_color_padding_box.htm
229
/LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/background_color_padding_box.htm
212
/LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/background_position_three_four_values.htm
213
/LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/background_properties_greater_than_images.htm
230
/LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/background_properties_greater_than_images.htm
214
/LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/background_repeat_space_border_box.htm
231
/LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/background_repeat_space_border_box.htm
215
/LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/background_repeat_space_content_box.htm
232
/LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/background_repeat_space_content_box.htm
Lines 272-277 List of files: a/LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/w3c-import.log_sec6
272
/LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/border-image-calc.html
289
/LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/border-image-calc.html
273
/LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/border-image-image-type-001.htm
290
/LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/border-image-image-type-001.htm
274
/LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/border-image-image-type-002.htm
291
/LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/border-image-image-type-002.htm
292
/LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/border-image-image-type-003-expected.html
275
/LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/border-image-image-type-003.htm
293
/LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/border-image-image-type-003.htm
276
/LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/border-image-outset-001.htm
294
/LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/border-image-outset-001.htm
277
/LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/border-image-outset-002.htm
295
/LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/border-image-outset-002.htm
Lines 288-293 List of files: a/LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/w3c-import.log_sec7
288
/LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/border-image-repeat_repeatnegx_none_50px.html
306
/LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/border-image-repeat_repeatnegx_none_50px.html
289
/LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/border-image-round-and-stretch-expected.html
307
/LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/border-image-round-and-stretch-expected.html
290
/LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/border-image-round-and-stretch.html
308
/LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/border-image-round-and-stretch.html
309
/LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/border-image-shorthand-001-expected.html
291
/LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/border-image-shorthand-001.htm
310
/LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/border-image-shorthand-001.htm
292
/LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/border-image-shorthand-002.htm
311
/LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/border-image-shorthand-002.htm
293
/LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/border-image-shorthand-003.htm
312
/LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/border-image-shorthand-003.htm
Lines 418-423 List of files: a/LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/w3c-import.log_sec8
418
/LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/border-top-right-radius-014-expected.xht
437
/LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/border-top-right-radius-014-expected.xht
419
/LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/border-top-right-radius-014.xht
438
/LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/border-top-right-radius-014.xht
420
/LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/border-top-right-radius-values-004.htm
439
/LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/border-top-right-radius-values-004.htm
440
/LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/border-width-pixel-snapping-001-a-expected.html
441
/LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/border-width-pixel-snapping-001-a.html
442
/LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/border-width-pixel-snapping-001-b-expected.html
443
/LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/border-width-pixel-snapping-001-b.html
421
/LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/box-shadow-001.htm
444
/LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/box-shadow-001.htm
422
/LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/box-shadow-002.htm
445
/LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/box-shadow-002.htm
423
/LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/box-shadow-003.htm
446
/LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/box-shadow-003.htm
Lines 434-446 List of files: a/LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/w3c-import.log_sec9
434
/LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/box-shadow-outset-spread-without-border-radius.html
457
/LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/box-shadow-outset-spread-without-border-radius.html
435
/LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/box-shadow-outset-without-border-radius-expected.html
458
/LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/box-shadow-outset-without-border-radius-expected.html
436
/LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/box-shadow-outset-without-border-radius.html
459
/LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/box-shadow-outset-without-border-radius.html
460
/LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/box-shadow-table-border-collapse-001-expected.html
461
/LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/box-shadow-table-border-collapse-001.html
437
/LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/child-move-reveals-parent-background-expected.html
462
/LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/child-move-reveals-parent-background-expected.html
438
/LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/child-move-reveals-parent-background.html
463
/LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/child-move-reveals-parent-background.html
439
/LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/color-behind-images.htm
464
/LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/color-behind-images.htm
440
/LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/css-border-radius-001-expected.html
465
/LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/css-border-radius-001-expected.html
441
/LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/css-border-radius-001.html
466
/LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/css-border-radius-001.html
442
/LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/css-border-radius-002-expected.html
443
/LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/css-border-radius-002.html
444
/LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/css-box-shadow-001-expected.html
467
/LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/css-box-shadow-001-expected.html
445
/LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/css-box-shadow-001.html
468
/LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/css-box-shadow-001.html
446
/LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/css3-background-clip-border-box-expected.html
469
/LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/css3-background-clip-border-box-expected.html
Lines 474-484 List of files: a/LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/w3c-import.log_sec10
474
/LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/first-letter-space-not-selected-expected.html
497
/LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/first-letter-space-not-selected-expected.html
475
/LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/first-letter-space-not-selected.html
498
/LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/first-letter-space-not-selected.html
476
/LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/inheritance.sub.html
499
/LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/inheritance.sub.html
500
/LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/inset-box-shadow-scroll-expected.html
501
/LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/inset-box-shadow-scroll.html
502
/LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/inset-box-shadow-stacking-context-scroll-expected.html
503
/LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/inset-box-shadow-stacking-context-scroll.html
477
/LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/justfortest.html
504
/LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/justfortest.html
478
/LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/none-as-image-layer.htm
505
/LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/none-as-image-layer.htm
479
/LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/order-of-images.htm
506
/LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/order-of-images.htm
480
/LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/scroll-positioned-multiple-background-images-expected.html
507
/LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/scroll-positioned-multiple-background-images-expected.html
481
/LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/scroll-positioned-multiple-background-images.html
508
/LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/scroll-positioned-multiple-background-images.html
509
/LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/subpixel-repeat-no-repeat-mix-expected.html
510
/LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/subpixel-repeat-no-repeat-mix.html
482
/LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/table-cell-background-local-expected.html
511
/LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/table-cell-background-local-expected.html
483
/LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/table-cell-background-local.html
512
/LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/table-cell-background-local.html
484
/LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/ttwf-css3background-border-color-shorthand-missing-bottom.htm
513
/LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/ttwf-css3background-border-color-shorthand-missing-bottom.htm
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-box/animation/margin-bottom-composition-expected.txt +27 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-box/animation/margin-bottom-composition-expected.txt_sec1
1
2
FAIL Compositing: property <margin-bottom> underlying [50px] from add [100px] to add [200px] at (-0.3) should be [120px] assert_equals: expected "120px " but got "70px "
3
FAIL Compositing: property <margin-bottom> underlying [50px] from add [100px] to add [200px] at (0) should be [150px] assert_equals: expected "150px " but got "100px "
4
FAIL Compositing: property <margin-bottom> underlying [50px] from add [100px] to add [200px] at (0.5) should be [200px] assert_equals: expected "200px " but got "150px "
5
FAIL Compositing: property <margin-bottom> underlying [50px] from add [100px] to add [200px] at (1) should be [250px] assert_equals: expected "250px " but got "200px "
6
FAIL Compositing: property <margin-bottom> underlying [50px] from add [100px] to add [200px] at (1.5) should be [300px] assert_equals: expected "300px " but got "250px "
7
FAIL Compositing: property <margin-bottom> underlying [100px] from add [10px] to add [2px] at (-0.5) should be [114px] assert_equals: expected "114px " but got "14px "
8
FAIL Compositing: property <margin-bottom> underlying [100px] from add [10px] to add [2px] at (0) should be [110px] assert_equals: expected "110px " but got "10px "
9
FAIL Compositing: property <margin-bottom> underlying [100px] from add [10px] to add [2px] at (0.5) should be [106px] assert_equals: expected "106px " but got "6px "
10
FAIL Compositing: property <margin-bottom> underlying [100px] from add [10px] to add [2px] at (1) should be [102px] assert_equals: expected "102px " but got "2px "
11
FAIL Compositing: property <margin-bottom> underlying [100px] from add [10px] to add [2px] at (1.5) should be [98px] assert_equals: expected "98px " but got "- 2px "
12
FAIL Compositing: property <margin-bottom> underlying [10%] from add [100px] to add [20%] at (-0.3) should be [calc(130px + 4%)] assert_equals: expected "161.36px " but got "100px "
13
FAIL Compositing: property <margin-bottom> underlying [10%] from add [100px] to add [20%] at (0) should be [calc(100px + 10%)] assert_equals: expected "178.39px " but got "100px "
14
FAIL Compositing: property <margin-bottom> underlying [10%] from add [100px] to add [20%] at (0.5) should be [calc(50px + 20%)] assert_equals: expected "206.8px " but got "128.39px "
15
FAIL Compositing: property <margin-bottom> underlying [10%] from add [100px] to add [20%] at (1) should be [30%] assert_equals: expected "235.19px " but got "156.8px "
16
FAIL Compositing: property <margin-bottom> underlying [10%] from add [100px] to add [20%] at (1.5) should be [calc(-50px + 40%)] assert_equals: expected "263.59px " but got "156.8px "
17
FAIL Compositing: property <margin-bottom> underlying [50px] from add [100px] to replace [200px] at (-0.3) should be [135px] assert_equals: expected "135px " but got "70px "
18
FAIL Compositing: property <margin-bottom> underlying [50px] from add [100px] to replace [200px] at (0) should be [150px] assert_equals: expected "150px " but got "100px "
19
FAIL Compositing: property <margin-bottom> underlying [50px] from add [100px] to replace [200px] at (0.5) should be [175px] assert_equals: expected "175px " but got "150px "
20
PASS Compositing: property <margin-bottom> underlying [50px] from add [100px] to replace [200px] at (1) should be [200px] 
21
FAIL Compositing: property <margin-bottom> underlying [50px] from add [100px] to replace [200px] at (1.5) should be [225px] assert_equals: expected "225px " but got "250px "
22
FAIL Compositing: property <margin-bottom> underlying [100px] from add [100px] to add [auto] at (-0.3) should be [200px] assert_equals: expected "200px " but got "100px "
23
FAIL Compositing: property <margin-bottom> underlying [100px] from add [100px] to add [auto] at (0) should be [200px] assert_equals: expected "200px " but got "100px "
24
PASS Compositing: property <margin-bottom> underlying [100px] from add [100px] to add [auto] at (0.5) should be [auto] 
25
PASS Compositing: property <margin-bottom> underlying [100px] from add [100px] to add [auto] at (1) should be [auto] 
26
PASS Compositing: property <margin-bottom> underlying [100px] from add [100px] to add [auto] at (1.5) should be [auto] 
27
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-box/animation/margin-bottom-composition.html +78 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-box/animation/margin-bottom-composition.html_sec1
1
<!DOCTYPE html>
2
<meta charset="UTF-8">
3
<title>margin-bottom composition</title>
4
<link rel="help" href="https://www.w3.org/TR/CSS2/box.html#margin-properties">
5
<meta name="assert" content="margin-bottom supports animation">
6
7
<script src="/resources/testharness.js"></script>
8
<script src="/resources/testharnessreport.js"></script>
9
<script src="/css/support/interpolation-testcommon.js"></script>
10
11
<body>
12
<script>
13
test_composition({
14
  property: 'margin-bottom',
15
  underlying: '50px',
16
  addFrom: '100px',
17
  addTo: '200px',
18
}, [
19
  {at: -0.3, expect: '120px'},
20
  {at: 0, expect: '150px'},
21
  {at: 0.5, expect: '200px'},
22
  {at: 1, expect: '250px'},
23
  {at: 1.5, expect: '300px'},
24
]);
25
26
test_composition({
27
  property: 'margin-bottom',
28
  underlying: '100px',
29
  addFrom: '10px',
30
  addTo: '2px',
31
}, [
32
  {at: -0.5, expect: '114px'},
33
  {at: 0, expect: '110px'},
34
  {at: 0.5, expect: '106px'},
35
  {at: 1, expect: '102px'},
36
  {at: 1.5, expect: '98px'},
37
]);
38
39
test_composition({
40
  property: 'margin-bottom',
41
  underlying: '10%',
42
  addFrom: '100px',
43
  addTo: '20%',
44
}, [
45
  {at: -0.3, expect: 'calc(130px + 4%)'},
46
  {at: 0, expect: 'calc(100px + 10%)'},
47
  {at: 0.5, expect: 'calc(50px + 20%)'},
48
  {at: 1, expect: '30%'},
49
  {at: 1.5, expect: 'calc(-50px + 40%)'},
50
]);
51
52
test_composition({
53
  property: 'margin-bottom',
54
  underlying: '50px',
55
  addFrom: '100px',
56
  replaceTo: '200px',
57
}, [
58
  {at: -0.3, expect: '135px'},
59
  {at: 0, expect: '150px'},
60
  {at: 0.5, expect: '175px'},
61
  {at: 1, expect: '200px'},
62
  {at: 1.5, expect: '225px'},
63
]);
64
65
test_composition({
66
  property: 'margin-bottom',
67
  underlying: '100px',
68
  addFrom: '100px',
69
  addTo: 'auto',
70
}, [
71
  {at: -0.3, expect: '200px'},
72
  {at: 0, expect: '200px'},
73
  {at: 0.5, expect: 'auto'},
74
  {at: 1, expect: 'auto'},
75
  {at: 1.5, expect: 'auto'},
76
]);
77
</script>
78
</body>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-box/animation/margin-left-composition-expected.txt +27 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-box/animation/margin-left-composition-expected.txt_sec1
1
2
FAIL Compositing: property <margin-left> underlying [50px] from add [100px] to add [200px] at (-0.3) should be [120px] assert_equals: expected "120px " but got "70px "
3
FAIL Compositing: property <margin-left> underlying [50px] from add [100px] to add [200px] at (0) should be [150px] assert_equals: expected "150px " but got "100px "
4
FAIL Compositing: property <margin-left> underlying [50px] from add [100px] to add [200px] at (0.5) should be [200px] assert_equals: expected "200px " but got "150px "
5
FAIL Compositing: property <margin-left> underlying [50px] from add [100px] to add [200px] at (1) should be [250px] assert_equals: expected "250px " but got "200px "
6
FAIL Compositing: property <margin-left> underlying [50px] from add [100px] to add [200px] at (1.5) should be [300px] assert_equals: expected "300px " but got "250px "
7
FAIL Compositing: property <margin-left> underlying [100px] from add [10px] to add [2px] at (-0.5) should be [114px] assert_equals: expected "114px " but got "14px "
8
FAIL Compositing: property <margin-left> underlying [100px] from add [10px] to add [2px] at (0) should be [110px] assert_equals: expected "110px " but got "10px "
9
FAIL Compositing: property <margin-left> underlying [100px] from add [10px] to add [2px] at (0.5) should be [106px] assert_equals: expected "106px " but got "6px "
10
FAIL Compositing: property <margin-left> underlying [100px] from add [10px] to add [2px] at (1) should be [102px] assert_equals: expected "102px " but got "2px "
11
FAIL Compositing: property <margin-left> underlying [100px] from add [10px] to add [2px] at (1.5) should be [98px] assert_equals: expected "98px " but got "- 2px "
12
FAIL Compositing: property <margin-left> underlying [10%] from add [100px] to add [20%] at (-0.3) should be [calc(130px + 4%)] assert_equals: expected "161.36px " but got "100px "
13
FAIL Compositing: property <margin-left> underlying [10%] from add [100px] to add [20%] at (0) should be [calc(100px + 10%)] assert_equals: expected "178.39px " but got "100px "
14
FAIL Compositing: property <margin-left> underlying [10%] from add [100px] to add [20%] at (0.5) should be [calc(50px + 20%)] assert_equals: expected "206.8px " but got "128.39px "
15
FAIL Compositing: property <margin-left> underlying [10%] from add [100px] to add [20%] at (1) should be [30%] assert_equals: expected "235.19px " but got "156.8px "
16
FAIL Compositing: property <margin-left> underlying [10%] from add [100px] to add [20%] at (1.5) should be [calc(-50px + 40%)] assert_equals: expected "263.59px " but got "156.8px "
17
FAIL Compositing: property <margin-left> underlying [50px] from add [100px] to replace [200px] at (-0.3) should be [135px] assert_equals: expected "135px " but got "70px "
18
FAIL Compositing: property <margin-left> underlying [50px] from add [100px] to replace [200px] at (0) should be [150px] assert_equals: expected "150px " but got "100px "
19
FAIL Compositing: property <margin-left> underlying [50px] from add [100px] to replace [200px] at (0.5) should be [175px] assert_equals: expected "175px " but got "150px "
20
PASS Compositing: property <margin-left> underlying [50px] from add [100px] to replace [200px] at (1) should be [200px] 
21
FAIL Compositing: property <margin-left> underlying [50px] from add [100px] to replace [200px] at (1.5) should be [225px] assert_equals: expected "225px " but got "250px "
22
FAIL Compositing: property <margin-left> underlying [100px] from add [100px] to add [auto] at (-0.3) should be [200px] assert_equals: expected "200px " but got "100px "
23
FAIL Compositing: property <margin-left> underlying [100px] from add [100px] to add [auto] at (0) should be [200px] assert_equals: expected "200px " but got "100px "
24
PASS Compositing: property <margin-left> underlying [100px] from add [100px] to add [auto] at (0.5) should be [auto] 
25
PASS Compositing: property <margin-left> underlying [100px] from add [100px] to add [auto] at (1) should be [auto] 
26
PASS Compositing: property <margin-left> underlying [100px] from add [100px] to add [auto] at (1.5) should be [auto] 
27
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-box/animation/margin-left-composition.html +78 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-box/animation/margin-left-composition.html_sec1
1
<!DOCTYPE html>
2
<meta charset="UTF-8">
3
<title>margin-left composition</title>
4
<link rel="help" href="https://www.w3.org/TR/CSS2/box.html#margin-properties">
5
<meta name="assert" content="margin-left supports animation">
6
7
<script src="/resources/testharness.js"></script>
8
<script src="/resources/testharnessreport.js"></script>
9
<script src="/css/support/interpolation-testcommon.js"></script>
10
11
<body>
12
<script>
13
test_composition({
14
  property: 'margin-left',
15
  underlying: '50px',
16
  addFrom: '100px',
17
  addTo: '200px',
18
}, [
19
  {at: -0.3, expect: '120px'},
20
  {at: 0, expect: '150px'},
21
  {at: 0.5, expect: '200px'},
22
  {at: 1, expect: '250px'},
23
  {at: 1.5, expect: '300px'},
24
]);
25
26
test_composition({
27
  property: 'margin-left',
28
  underlying: '100px',
29
  addFrom: '10px',
30
  addTo: '2px',
31
}, [
32
  {at: -0.5, expect: '114px'},
33
  {at: 0, expect: '110px'},
34
  {at: 0.5, expect: '106px'},
35
  {at: 1, expect: '102px'},
36
  {at: 1.5, expect: '98px'},
37
]);
38
39
test_composition({
40
  property: 'margin-left',
41
  underlying: '10%',
42
  addFrom: '100px',
43
  addTo: '20%',
44
}, [
45
  {at: -0.3, expect: 'calc(130px + 4%)'},
46
  {at: 0, expect: 'calc(100px + 10%)'},
47
  {at: 0.5, expect: 'calc(50px + 20%)'},
48
  {at: 1, expect: '30%'},
49
  {at: 1.5, expect: 'calc(-50px + 40%)'},
50
]);
51
52
test_composition({
53
  property: 'margin-left',
54
  underlying: '50px',
55
  addFrom: '100px',
56
  replaceTo: '200px',
57
}, [
58
  {at: -0.3, expect: '135px'},
59
  {at: 0, expect: '150px'},
60
  {at: 0.5, expect: '175px'},
61
  {at: 1, expect: '200px'},
62
  {at: 1.5, expect: '225px'},
63
]);
64
65
test_composition({
66
  property: 'margin-left',
67
  underlying: '100px',
68
  addFrom: '100px',
69
  addTo: 'auto',
70
}, [
71
  {at: -0.3, expect: '200px'},
72
  {at: 0, expect: '200px'},
73
  {at: 0.5, expect: 'auto'},
74
  {at: 1, expect: 'auto'},
75
  {at: 1.5, expect: 'auto'},
76
]);
77
</script>
78
</body>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-box/animation/margin-right-composition-expected.txt +27 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-box/animation/margin-right-composition-expected.txt_sec1
1
2
FAIL Compositing: property <margin-right> underlying [50px] from add [100px] to add [200px] at (-0.3) should be [120px] assert_equals: expected "120px " but got "70px "
3
FAIL Compositing: property <margin-right> underlying [50px] from add [100px] to add [200px] at (0) should be [150px] assert_equals: expected "150px " but got "100px "
4
FAIL Compositing: property <margin-right> underlying [50px] from add [100px] to add [200px] at (0.5) should be [200px] assert_equals: expected "200px " but got "150px "
5
FAIL Compositing: property <margin-right> underlying [50px] from add [100px] to add [200px] at (1) should be [250px] assert_equals: expected "250px " but got "200px "
6
FAIL Compositing: property <margin-right> underlying [50px] from add [100px] to add [200px] at (1.5) should be [300px] assert_equals: expected "300px " but got "250px "
7
FAIL Compositing: property <margin-right> underlying [100px] from add [10px] to add [2px] at (-0.5) should be [114px] assert_equals: expected "114px " but got "14px "
8
FAIL Compositing: property <margin-right> underlying [100px] from add [10px] to add [2px] at (0) should be [110px] assert_equals: expected "110px " but got "10px "
9
FAIL Compositing: property <margin-right> underlying [100px] from add [10px] to add [2px] at (0.5) should be [106px] assert_equals: expected "106px " but got "6px "
10
FAIL Compositing: property <margin-right> underlying [100px] from add [10px] to add [2px] at (1) should be [102px] assert_equals: expected "102px " but got "2px "
11
FAIL Compositing: property <margin-right> underlying [100px] from add [10px] to add [2px] at (1.5) should be [98px] assert_equals: expected "98px " but got "- 2px "
12
FAIL Compositing: property <margin-right> underlying [10%] from add [100px] to add [20%] at (-0.3) should be [calc(130px + 4%)] assert_equals: expected "161.36px " but got "100px "
13
FAIL Compositing: property <margin-right> underlying [10%] from add [100px] to add [20%] at (0) should be [calc(100px + 10%)] assert_equals: expected "178.39px " but got "100px "
14
FAIL Compositing: property <margin-right> underlying [10%] from add [100px] to add [20%] at (0.5) should be [calc(50px + 20%)] assert_equals: expected "206.8px " but got "128.39px "
15
FAIL Compositing: property <margin-right> underlying [10%] from add [100px] to add [20%] at (1) should be [30%] assert_equals: expected "235.19px " but got "156.8px "
16
FAIL Compositing: property <margin-right> underlying [10%] from add [100px] to add [20%] at (1.5) should be [calc(-50px + 40%)] assert_equals: expected "263.59px " but got "156.8px "
17
FAIL Compositing: property <margin-right> underlying [50px] from add [100px] to replace [200px] at (-0.3) should be [135px] assert_equals: expected "135px " but got "70px "
18
FAIL Compositing: property <margin-right> underlying [50px] from add [100px] to replace [200px] at (0) should be [150px] assert_equals: expected "150px " but got "100px "
19
FAIL Compositing: property <margin-right> underlying [50px] from add [100px] to replace [200px] at (0.5) should be [175px] assert_equals: expected "175px " but got "150px "
20
PASS Compositing: property <margin-right> underlying [50px] from add [100px] to replace [200px] at (1) should be [200px] 
21
FAIL Compositing: property <margin-right> underlying [50px] from add [100px] to replace [200px] at (1.5) should be [225px] assert_equals: expected "225px " but got "250px "
22
FAIL Compositing: property <margin-right> underlying [100px] from add [100px] to add [auto] at (-0.3) should be [200px] assert_equals: expected "200px " but got "100px "
23
FAIL Compositing: property <margin-right> underlying [100px] from add [100px] to add [auto] at (0) should be [200px] assert_equals: expected "200px " but got "100px "
24
PASS Compositing: property <margin-right> underlying [100px] from add [100px] to add [auto] at (0.5) should be [auto] 
25
PASS Compositing: property <margin-right> underlying [100px] from add [100px] to add [auto] at (1) should be [auto] 
26
PASS Compositing: property <margin-right> underlying [100px] from add [100px] to add [auto] at (1.5) should be [auto] 
27
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-box/animation/margin-right-composition.html +78 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-box/animation/margin-right-composition.html_sec1
1
<!DOCTYPE html>
2
<meta charset="UTF-8">
3
<title>margin-right composition</title>
4
<link rel="help" href="https://www.w3.org/TR/CSS2/box.html#margin-properties">
5
<meta name="assert" content="margin-right supports animation">
6
7
<script src="/resources/testharness.js"></script>
8
<script src="/resources/testharnessreport.js"></script>
9
<script src="/css/support/interpolation-testcommon.js"></script>
10
11
<body>
12
<script>
13
test_composition({
14
  property: 'margin-right',
15
  underlying: '50px',
16
  addFrom: '100px',
17
  addTo: '200px',
18
}, [
19
  {at: -0.3, expect: '120px'},
20
  {at: 0, expect: '150px'},
21
  {at: 0.5, expect: '200px'},
22
  {at: 1, expect: '250px'},
23
  {at: 1.5, expect: '300px'},
24
]);
25
26
test_composition({
27
  property: 'margin-right',
28
  underlying: '100px',
29
  addFrom: '10px',
30
  addTo: '2px',
31
}, [
32
  {at: -0.5, expect: '114px'},
33
  {at: 0, expect: '110px'},
34
  {at: 0.5, expect: '106px'},
35
  {at: 1, expect: '102px'},
36
  {at: 1.5, expect: '98px'},
37
]);
38
39
test_composition({
40
  property: 'margin-right',
41
  underlying: '10%',
42
  addFrom: '100px',
43
  addTo: '20%',
44
}, [
45
  {at: -0.3, expect: 'calc(130px + 4%)'},
46
  {at: 0, expect: 'calc(100px + 10%)'},
47
  {at: 0.5, expect: 'calc(50px + 20%)'},
48
  {at: 1, expect: '30%'},
49
  {at: 1.5, expect: 'calc(-50px + 40%)'},
50
]);
51
52
test_composition({
53
  property: 'margin-right',
54
  underlying: '50px',
55
  addFrom: '100px',
56
  replaceTo: '200px',
57
}, [
58
  {at: -0.3, expect: '135px'},
59
  {at: 0, expect: '150px'},
60
  {at: 0.5, expect: '175px'},
61
  {at: 1, expect: '200px'},
62
  {at: 1.5, expect: '225px'},
63
]);
64
65
test_composition({
66
  property: 'margin-right',
67
  underlying: '100px',
68
  addFrom: '100px',
69
  addTo: 'auto',
70
}, [
71
  {at: -0.3, expect: '200px'},
72
  {at: 0, expect: '200px'},
73
  {at: 0.5, expect: 'auto'},
74
  {at: 1, expect: 'auto'},
75
  {at: 1.5, expect: 'auto'},
76
]);
77
</script>
78
</body>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-box/animation/margin-top-composition-expected.txt +27 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-box/animation/margin-top-composition-expected.txt_sec1
1
2
FAIL Compositing: property <margin-top> underlying [50px] from add [100px] to add [200px] at (-0.3) should be [120px] assert_equals: expected "120px " but got "70px "
3
FAIL Compositing: property <margin-top> underlying [50px] from add [100px] to add [200px] at (0) should be [150px] assert_equals: expected "150px " but got "100px "
4
FAIL Compositing: property <margin-top> underlying [50px] from add [100px] to add [200px] at (0.5) should be [200px] assert_equals: expected "200px " but got "150px "
5
FAIL Compositing: property <margin-top> underlying [50px] from add [100px] to add [200px] at (1) should be [250px] assert_equals: expected "250px " but got "200px "
6
FAIL Compositing: property <margin-top> underlying [50px] from add [100px] to add [200px] at (1.5) should be [300px] assert_equals: expected "300px " but got "250px "
7
FAIL Compositing: property <margin-top> underlying [100px] from add [10px] to add [2px] at (-0.5) should be [114px] assert_equals: expected "114px " but got "14px "
8
FAIL Compositing: property <margin-top> underlying [100px] from add [10px] to add [2px] at (0) should be [110px] assert_equals: expected "110px " but got "10px "
9
FAIL Compositing: property <margin-top> underlying [100px] from add [10px] to add [2px] at (0.5) should be [106px] assert_equals: expected "106px " but got "6px "
10
FAIL Compositing: property <margin-top> underlying [100px] from add [10px] to add [2px] at (1) should be [102px] assert_equals: expected "102px " but got "2px "
11
FAIL Compositing: property <margin-top> underlying [100px] from add [10px] to add [2px] at (1.5) should be [98px] assert_equals: expected "98px " but got "- 2px "
12
FAIL Compositing: property <margin-top> underlying [10%] from add [100px] to add [20%] at (-0.3) should be [calc(130px + 4%)] assert_equals: expected "161.36px " but got "100px "
13
FAIL Compositing: property <margin-top> underlying [10%] from add [100px] to add [20%] at (0) should be [calc(100px + 10%)] assert_equals: expected "178.39px " but got "100px "
14
FAIL Compositing: property <margin-top> underlying [10%] from add [100px] to add [20%] at (0.5) should be [calc(50px + 20%)] assert_equals: expected "206.8px " but got "128.39px "
15
FAIL Compositing: property <margin-top> underlying [10%] from add [100px] to add [20%] at (1) should be [30%] assert_equals: expected "235.19px " but got "156.8px "
16
FAIL Compositing: property <margin-top> underlying [10%] from add [100px] to add [20%] at (1.5) should be [calc(-50px + 40%)] assert_equals: expected "263.59px " but got "156.8px "
17
FAIL Compositing: property <margin-top> underlying [50px] from add [100px] to replace [200px] at (-0.3) should be [135px] assert_equals: expected "135px " but got "70px "
18
FAIL Compositing: property <margin-top> underlying [50px] from add [100px] to replace [200px] at (0) should be [150px] assert_equals: expected "150px " but got "100px "
19
FAIL Compositing: property <margin-top> underlying [50px] from add [100px] to replace [200px] at (0.5) should be [175px] assert_equals: expected "175px " but got "150px "
20
PASS Compositing: property <margin-top> underlying [50px] from add [100px] to replace [200px] at (1) should be [200px] 
21
FAIL Compositing: property <margin-top> underlying [50px] from add [100px] to replace [200px] at (1.5) should be [225px] assert_equals: expected "225px " but got "250px "
22
FAIL Compositing: property <margin-top> underlying [100px] from add [100px] to add [auto] at (-0.3) should be [200px] assert_equals: expected "200px " but got "100px "
23
FAIL Compositing: property <margin-top> underlying [100px] from add [100px] to add [auto] at (0) should be [200px] assert_equals: expected "200px " but got "100px "
24
PASS Compositing: property <margin-top> underlying [100px] from add [100px] to add [auto] at (0.5) should be [auto] 
25
PASS Compositing: property <margin-top> underlying [100px] from add [100px] to add [auto] at (1) should be [auto] 
26
PASS Compositing: property <margin-top> underlying [100px] from add [100px] to add [auto] at (1.5) should be [auto] 
27
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-box/animation/margin-top-composition.html +78 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-box/animation/margin-top-composition.html_sec1
1
<!DOCTYPE html>
2
<meta charset="UTF-8">
3
<title>margin-top composition</title>
4
<link rel="help" href="https://www.w3.org/TR/CSS2/box.html#margin-properties">
5
<meta name="assert" content="margin-top supports animation">
6
7
<script src="/resources/testharness.js"></script>
8
<script src="/resources/testharnessreport.js"></script>
9
<script src="/css/support/interpolation-testcommon.js"></script>
10
11
<body>
12
<script>
13
test_composition({
14
  property: 'margin-top',
15
  underlying: '50px',
16
  addFrom: '100px',
17
  addTo: '200px',
18
}, [
19
  {at: -0.3, expect: '120px'},
20
  {at: 0, expect: '150px'},
21
  {at: 0.5, expect: '200px'},
22
  {at: 1, expect: '250px'},
23
  {at: 1.5, expect: '300px'},
24
]);
25
26
test_composition({
27
  property: 'margin-top',
28
  underlying: '100px',
29
  addFrom: '10px',
30
  addTo: '2px',
31
}, [
32
  {at: -0.5, expect: '114px'},
33
  {at: 0, expect: '110px'},
34
  {at: 0.5, expect: '106px'},
35
  {at: 1, expect: '102px'},
36
  {at: 1.5, expect: '98px'},
37
]);
38
39
test_composition({
40
  property: 'margin-top',
41
  underlying: '10%',
42
  addFrom: '100px',
43
  addTo: '20%',
44
}, [
45
  {at: -0.3, expect: 'calc(130px + 4%)'},
46
  {at: 0, expect: 'calc(100px + 10%)'},
47
  {at: 0.5, expect: 'calc(50px + 20%)'},
48
  {at: 1, expect: '30%'},
49
  {at: 1.5, expect: 'calc(-50px + 40%)'},
50
]);
51
52
test_composition({
53
  property: 'margin-top',
54
  underlying: '50px',
55
  addFrom: '100px',
56
  replaceTo: '200px',
57
}, [
58
  {at: -0.3, expect: '135px'},
59
  {at: 0, expect: '150px'},
60
  {at: 0.5, expect: '175px'},
61
  {at: 1, expect: '200px'},
62
  {at: 1.5, expect: '225px'},
63
]);
64
65
test_composition({
66
  property: 'margin-top',
67
  underlying: '100px',
68
  addFrom: '100px',
69
  addTo: 'auto',
70
}, [
71
  {at: -0.3, expect: '200px'},
72
  {at: 0, expect: '200px'},
73
  {at: 0.5, expect: 'auto'},
74
  {at: 1, expect: 'auto'},
75
  {at: 1.5, expect: 'auto'},
76
]);
77
</script>
78
</body>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-box/animation/padding-bottom-composition-expected.txt +22 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-box/animation/padding-bottom-composition-expected.txt_sec1
1
2
FAIL Compositing: property <padding-bottom> underlying [50px] from add [100px] to add [200px] at (-0.3) should be [120px] assert_equals: expected "120px " but got "70px "
3
FAIL Compositing: property <padding-bottom> underlying [50px] from add [100px] to add [200px] at (0) should be [150px] assert_equals: expected "150px " but got "100px "
4
FAIL Compositing: property <padding-bottom> underlying [50px] from add [100px] to add [200px] at (0.5) should be [200px] assert_equals: expected "200px " but got "150px "
5
FAIL Compositing: property <padding-bottom> underlying [50px] from add [100px] to add [200px] at (1) should be [250px] assert_equals: expected "250px " but got "200px "
6
FAIL Compositing: property <padding-bottom> underlying [50px] from add [100px] to add [200px] at (1.5) should be [300px] assert_equals: expected "300px " but got "250px "
7
FAIL Compositing: property <padding-bottom> underlying [100px] from add [10px] to add [2px] at (-0.5) should be [114px] assert_equals: expected "114px " but got "14px "
8
FAIL Compositing: property <padding-bottom> underlying [100px] from add [10px] to add [2px] at (0) should be [110px] assert_equals: expected "110px " but got "10px "
9
FAIL Compositing: property <padding-bottom> underlying [100px] from add [10px] to add [2px] at (0.5) should be [106px] assert_equals: expected "106px " but got "6px "
10
FAIL Compositing: property <padding-bottom> underlying [100px] from add [10px] to add [2px] at (1) should be [102px] assert_equals: expected "102px " but got "2px "
11
FAIL Compositing: property <padding-bottom> underlying [100px] from add [10px] to add [2px] at (1.5) should be [98px] assert_equals: expected "98px " but got "- 2px "
12
FAIL Compositing: property <padding-bottom> underlying [10%] from add [100px] to add [20%] at (-0.3) should be [calc(130px + 4%)] assert_equals: expected "160.75px " but got "100px "
13
FAIL Compositing: property <padding-bottom> underlying [10%] from add [100px] to add [20%] at (0) should be [calc(100px + 10%)] assert_equals: expected "176.89px " but got "100px "
14
FAIL Compositing: property <padding-bottom> underlying [10%] from add [100px] to add [20%] at (0.5) should be [calc(50px + 20%)] assert_equals: expected "203.8px " but got "126.89px "
15
FAIL Compositing: property <padding-bottom> underlying [10%] from add [100px] to add [20%] at (1) should be [30%] assert_equals: expected "230.69px " but got "153.8px "
16
FAIL Compositing: property <padding-bottom> underlying [10%] from add [100px] to add [20%] at (1.5) should be [calc(-50px + 40%)] assert_equals: expected "257.59px " but got "153.8px "
17
FAIL Compositing: property <padding-bottom> underlying [50px] from add [100px] to replace [200px] at (-0.3) should be [135px] assert_equals: expected "135px " but got "70px "
18
FAIL Compositing: property <padding-bottom> underlying [50px] from add [100px] to replace [200px] at (0) should be [150px] assert_equals: expected "150px " but got "100px "
19
FAIL Compositing: property <padding-bottom> underlying [50px] from add [100px] to replace [200px] at (0.5) should be [175px] assert_equals: expected "175px " but got "150px "
20
PASS Compositing: property <padding-bottom> underlying [50px] from add [100px] to replace [200px] at (1) should be [200px] 
21
FAIL Compositing: property <padding-bottom> underlying [50px] from add [100px] to replace [200px] at (1.5) should be [225px] assert_equals: expected "225px " but got "250px "
22
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-box/animation/padding-bottom-composition.html +65 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-box/animation/padding-bottom-composition.html_sec1
1
<!DOCTYPE html>
2
<meta charset="UTF-8">
3
<title>padding-bottom composition</title>
4
<link rel="help" href="https://drafts.csswg.org/css-box-3/#padding-shorthand">
5
<meta name="assert" content="padding-bottom supports animation as a list of lengths">
6
7
<script src="/resources/testharness.js"></script>
8
<script src="/resources/testharnessreport.js"></script>
9
<script src="/css/support/interpolation-testcommon.js"></script>
10
11
<body>
12
<script>
13
test_composition({
14
  property: 'padding-bottom',
15
  underlying: '50px',
16
  addFrom: '100px',
17
  addTo: '200px',
18
}, [
19
  {at: -0.3, expect: '120px'},
20
  {at: 0, expect: '150px'},
21
  {at: 0.5, expect: '200px'},
22
  {at: 1, expect: '250px'},
23
  {at: 1.5, expect: '300px'},
24
]);
25
26
test_composition({
27
  property: 'padding-bottom',
28
  underlying: '100px',
29
  addFrom: '10px',
30
  addTo: '2px',
31
}, [
32
  {at: -0.5, expect: '114px'},
33
  {at: 0, expect: '110px'},
34
  {at: 0.5, expect: '106px'},
35
  {at: 1, expect: '102px'},
36
  {at: 1.5, expect: '98px'}, // Value clamping should happen after composition.
37
]);
38
39
test_composition({
40
  property: 'padding-bottom',
41
  underlying: '10%',
42
  addFrom: '100px',
43
  addTo: '20%',
44
}, [
45
  {at: -0.3, expect: 'calc(130px + 4%)'},
46
  {at: 0, expect: 'calc(100px + 10%)'},
47
  {at: 0.5, expect: 'calc(50px + 20%)'},
48
  {at: 1, expect: '30%'},
49
  {at: 1.5, expect: 'calc(-50px + 40%)'},
50
]);
51
52
test_composition({
53
  property: 'padding-bottom',
54
  underlying: '50px',
55
  addFrom: '100px',
56
  replaceTo: '200px',
57
}, [
58
  {at: -0.3, expect: '135px'},
59
  {at: 0, expect: '150px'},
60
  {at: 0.5, expect: '175px'},
61
  {at: 1, expect: '200px'},
62
  {at: 1.5, expect: '225px'},
63
]);
64
</script>
65
</body>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-box/animation/padding-left-composition-expected.txt +22 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-box/animation/padding-left-composition-expected.txt_sec1
1
2
FAIL Compositing: property <padding-left> underlying [50px] from add [100px] to add [200px] at (-0.3) should be [120px] assert_equals: expected "120px " but got "70px "
3
FAIL Compositing: property <padding-left> underlying [50px] from add [100px] to add [200px] at (0) should be [150px] assert_equals: expected "150px " but got "100px "
4
FAIL Compositing: property <padding-left> underlying [50px] from add [100px] to add [200px] at (0.5) should be [200px] assert_equals: expected "200px " but got "150px "
5
FAIL Compositing: property <padding-left> underlying [50px] from add [100px] to add [200px] at (1) should be [250px] assert_equals: expected "250px " but got "200px "
6
FAIL Compositing: property <padding-left> underlying [50px] from add [100px] to add [200px] at (1.5) should be [300px] assert_equals: expected "300px " but got "250px "
7
FAIL Compositing: property <padding-left> underlying [100px] from add [10px] to add [2px] at (-0.5) should be [114px] assert_equals: expected "114px " but got "14px "
8
FAIL Compositing: property <padding-left> underlying [100px] from add [10px] to add [2px] at (0) should be [110px] assert_equals: expected "110px " but got "10px "
9
FAIL Compositing: property <padding-left> underlying [100px] from add [10px] to add [2px] at (0.5) should be [106px] assert_equals: expected "106px " but got "6px "
10
FAIL Compositing: property <padding-left> underlying [100px] from add [10px] to add [2px] at (1) should be [102px] assert_equals: expected "102px " but got "2px "
11
FAIL Compositing: property <padding-left> underlying [100px] from add [10px] to add [2px] at (1.5) should be [98px] assert_equals: expected "98px " but got "- 2px "
12
FAIL Compositing: property <padding-left> underlying [10%] from add [100px] to add [20%] at (-0.3) should be [calc(130px + 4%)] assert_equals: expected "161.36px " but got "100px "
13
FAIL Compositing: property <padding-left> underlying [10%] from add [100px] to add [20%] at (0) should be [calc(100px + 10%)] assert_equals: expected "178.39px " but got "100px "
14
FAIL Compositing: property <padding-left> underlying [10%] from add [100px] to add [20%] at (0.5) should be [calc(50px + 20%)] assert_equals: expected "206.8px " but got "128.39px "
15
FAIL Compositing: property <padding-left> underlying [10%] from add [100px] to add [20%] at (1) should be [30%] assert_equals: expected "235.19px " but got "156.8px "
16
FAIL Compositing: property <padding-left> underlying [10%] from add [100px] to add [20%] at (1.5) should be [calc(-50px + 40%)] assert_equals: expected "263.59px " but got "156.8px "
17
FAIL Compositing: property <padding-left> underlying [50px] from add [100px] to replace [200px] at (-0.3) should be [135px] assert_equals: expected "135px " but got "70px "
18
FAIL Compositing: property <padding-left> underlying [50px] from add [100px] to replace [200px] at (0) should be [150px] assert_equals: expected "150px " but got "100px "
19
FAIL Compositing: property <padding-left> underlying [50px] from add [100px] to replace [200px] at (0.5) should be [175px] assert_equals: expected "175px " but got "150px "
20
PASS Compositing: property <padding-left> underlying [50px] from add [100px] to replace [200px] at (1) should be [200px] 
21
FAIL Compositing: property <padding-left> underlying [50px] from add [100px] to replace [200px] at (1.5) should be [225px] assert_equals: expected "225px " but got "250px "
22
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-box/animation/padding-left-composition.html +65 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-box/animation/padding-left-composition.html_sec1
1
<!DOCTYPE html>
2
<meta charset="UTF-8">
3
<title>padding-left composition</title>
4
<link rel="help" href="https://drafts.csswg.org/css-box-3/#padding-shorthand">
5
<meta name="assert" content="padding-left supports animation as a list of lengths">
6
7
<script src="/resources/testharness.js"></script>
8
<script src="/resources/testharnessreport.js"></script>
9
<script src="/css/support/interpolation-testcommon.js"></script>
10
11
<body>
12
<script>
13
test_composition({
14
  property: 'padding-left',
15
  underlying: '50px',
16
  addFrom: '100px',
17
  addTo: '200px',
18
}, [
19
  {at: -0.3, expect: '120px'},
20
  {at: 0, expect: '150px'},
21
  {at: 0.5, expect: '200px'},
22
  {at: 1, expect: '250px'},
23
  {at: 1.5, expect: '300px'},
24
]);
25
26
test_composition({
27
  property: 'padding-left',
28
  underlying: '100px',
29
  addFrom: '10px',
30
  addTo: '2px',
31
}, [
32
  {at: -0.5, expect: '114px'},
33
  {at: 0, expect: '110px'},
34
  {at: 0.5, expect: '106px'},
35
  {at: 1, expect: '102px'},
36
  {at: 1.5, expect: '98px'}, // Value clamping should happen after composition.
37
]);
38
39
test_composition({
40
  property: 'padding-left',
41
  underlying: '10%',
42
  addFrom: '100px',
43
  addTo: '20%',
44
}, [
45
  {at: -0.3, expect: 'calc(130px + 4%)'},
46
  {at: 0, expect: 'calc(100px + 10%)'},
47
  {at: 0.5, expect: 'calc(50px + 20%)'},
48
  {at: 1, expect: '30%'},
49
  {at: 1.5, expect: 'calc(-50px + 40%)'},
50
]);
51
52
test_composition({
53
  property: 'padding-left',
54
  underlying: '50px',
55
  addFrom: '100px',
56
  replaceTo: '200px',
57
}, [
58
  {at: -0.3, expect: '135px'},
59
  {at: 0, expect: '150px'},
60
  {at: 0.5, expect: '175px'},
61
  {at: 1, expect: '200px'},
62
  {at: 1.5, expect: '225px'},
63
]);
64
</script>
65
</body>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-box/animation/padding-right-composition-expected.txt +22 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-box/animation/padding-right-composition-expected.txt_sec1
1
2
FAIL Compositing: property <padding-right> underlying [50px] from add [100px] to add [200px] at (-0.3) should be [120px] assert_equals: expected "120px " but got "70px "
3
FAIL Compositing: property <padding-right> underlying [50px] from add [100px] to add [200px] at (0) should be [150px] assert_equals: expected "150px " but got "100px "
4
FAIL Compositing: property <padding-right> underlying [50px] from add [100px] to add [200px] at (0.5) should be [200px] assert_equals: expected "200px " but got "150px "
5
FAIL Compositing: property <padding-right> underlying [50px] from add [100px] to add [200px] at (1) should be [250px] assert_equals: expected "250px " but got "200px "
6
FAIL Compositing: property <padding-right> underlying [50px] from add [100px] to add [200px] at (1.5) should be [300px] assert_equals: expected "300px " but got "250px "
7
FAIL Compositing: property <padding-right> underlying [100px] from add [10px] to add [2px] at (-0.5) should be [114px] assert_equals: expected "114px " but got "14px "
8
FAIL Compositing: property <padding-right> underlying [100px] from add [10px] to add [2px] at (0) should be [110px] assert_equals: expected "110px " but got "10px "
9
FAIL Compositing: property <padding-right> underlying [100px] from add [10px] to add [2px] at (0.5) should be [106px] assert_equals: expected "106px " but got "6px "
10
FAIL Compositing: property <padding-right> underlying [100px] from add [10px] to add [2px] at (1) should be [102px] assert_equals: expected "102px " but got "2px "
11
FAIL Compositing: property <padding-right> underlying [100px] from add [10px] to add [2px] at (1.5) should be [98px] assert_equals: expected "98px " but got "- 2px "
12
FAIL Compositing: property <padding-right> underlying [10%] from add [100px] to add [20%] at (-0.3) should be [calc(130px + 4%)] assert_equals: expected "161.36px " but got "100px "
13
FAIL Compositing: property <padding-right> underlying [10%] from add [100px] to add [20%] at (0) should be [calc(100px + 10%)] assert_equals: expected "178.39px " but got "100px "
14
FAIL Compositing: property <padding-right> underlying [10%] from add [100px] to add [20%] at (0.5) should be [calc(50px + 20%)] assert_equals: expected "206.8px " but got "128.39px "
15
FAIL Compositing: property <padding-right> underlying [10%] from add [100px] to add [20%] at (1) should be [30%] assert_equals: expected "235.19px " but got "156.8px "
16
FAIL Compositing: property <padding-right> underlying [10%] from add [100px] to add [20%] at (1.5) should be [calc(-50px + 40%)] assert_equals: expected "263.59px " but got "156.8px "
17
FAIL Compositing: property <padding-right> underlying [50px] from add [100px] to replace [200px] at (-0.3) should be [135px] assert_equals: expected "135px " but got "70px "
18
FAIL Compositing: property <padding-right> underlying [50px] from add [100px] to replace [200px] at (0) should be [150px] assert_equals: expected "150px " but got "100px "
19
FAIL Compositing: property <padding-right> underlying [50px] from add [100px] to replace [200px] at (0.5) should be [175px] assert_equals: expected "175px " but got "150px "
20
PASS Compositing: property <padding-right> underlying [50px] from add [100px] to replace [200px] at (1) should be [200px] 
21
FAIL Compositing: property <padding-right> underlying [50px] from add [100px] to replace [200px] at (1.5) should be [225px] assert_equals: expected "225px " but got "250px "
22
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-box/animation/padding-right-composition.html +65 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-box/animation/padding-right-composition.html_sec1
1
<!DOCTYPE html>
2
<meta charset="UTF-8">
3
<title>padding-right composition</title>
4
<link rel="help" href="https://drafts.csswg.org/css-box-3/#padding-shorthand">
5
<meta name="assert" content="padding-right supports animation as a list of lengths">
6
7
<script src="/resources/testharness.js"></script>
8
<script src="/resources/testharnessreport.js"></script>
9
<script src="/css/support/interpolation-testcommon.js"></script>
10
11
<body>
12
<script>
13
test_composition({
14
  property: 'padding-right',
15
  underlying: '50px',
16
  addFrom: '100px',
17
  addTo: '200px',
18
}, [
19
  {at: -0.3, expect: '120px'},
20
  {at: 0, expect: '150px'},
21
  {at: 0.5, expect: '200px'},
22
  {at: 1, expect: '250px'},
23
  {at: 1.5, expect: '300px'},
24
]);
25
26
test_composition({
27
  property: 'padding-right',
28
  underlying: '100px',
29
  addFrom: '10px',
30
  addTo: '2px',
31
}, [
32
  {at: -0.5, expect: '114px'},
33
  {at: 0, expect: '110px'},
34
  {at: 0.5, expect: '106px'},
35
  {at: 1, expect: '102px'},
36
  {at: 1.5, expect: '98px'}, // Value clamping should happen after composition.
37
]);
38
39
test_composition({
40
  property: 'padding-right',
41
  underlying: '10%',
42
  addFrom: '100px',
43
  addTo: '20%',
44
}, [
45
  {at: -0.3, expect: 'calc(130px + 4%)'},
46
  {at: 0, expect: 'calc(100px + 10%)'},
47
  {at: 0.5, expect: 'calc(50px + 20%)'},
48
  {at: 1, expect: '30%'},
49
  {at: 1.5, expect: 'calc(-50px + 40%)'},
50
]);
51
52
test_composition({
53
  property: 'padding-right',
54
  underlying: '50px',
55
  addFrom: '100px',
56
  replaceTo: '200px',
57
}, [
58
  {at: -0.3, expect: '135px'},
59
  {at: 0, expect: '150px'},
60
  {at: 0.5, expect: '175px'},
61
  {at: 1, expect: '200px'},
62
  {at: 1.5, expect: '225px'},
63
]);
64
</script>
65
</body>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-box/animation/padding-top-composition-expected.txt +22 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-box/animation/padding-top-composition-expected.txt_sec1
1
2
FAIL Compositing: property <padding-top> underlying [50px] from add [100px] to add [200px] at (-0.3) should be [120px] assert_equals: expected "120px " but got "70px "
3
FAIL Compositing: property <padding-top> underlying [50px] from add [100px] to add [200px] at (0) should be [150px] assert_equals: expected "150px " but got "100px "
4
FAIL Compositing: property <padding-top> underlying [50px] from add [100px] to add [200px] at (0.5) should be [200px] assert_equals: expected "200px " but got "150px "
5
FAIL Compositing: property <padding-top> underlying [50px] from add [100px] to add [200px] at (1) should be [250px] assert_equals: expected "250px " but got "200px "
6
FAIL Compositing: property <padding-top> underlying [50px] from add [100px] to add [200px] at (1.5) should be [300px] assert_equals: expected "300px " but got "250px "
7
FAIL Compositing: property <padding-top> underlying [100px] from add [10px] to add [2px] at (-0.5) should be [114px] assert_equals: expected "114px " but got "14px "
8
FAIL Compositing: property <padding-top> underlying [100px] from add [10px] to add [2px] at (0) should be [110px] assert_equals: expected "110px " but got "10px "
9
FAIL Compositing: property <padding-top> underlying [100px] from add [10px] to add [2px] at (0.5) should be [106px] assert_equals: expected "106px " but got "6px "
10
FAIL Compositing: property <padding-top> underlying [100px] from add [10px] to add [2px] at (1) should be [102px] assert_equals: expected "102px " but got "2px "
11
FAIL Compositing: property <padding-top> underlying [100px] from add [10px] to add [2px] at (1.5) should be [98px] assert_equals: expected "98px " but got "- 2px "
12
FAIL Compositing: property <padding-top> underlying [10%] from add [100px] to add [20%] at (-0.3) should be [calc(130px + 4%)] assert_equals: expected "160.75px " but got "100px "
13
FAIL Compositing: property <padding-top> underlying [10%] from add [100px] to add [20%] at (0) should be [calc(100px + 10%)] assert_equals: expected "176.89px " but got "100px "
14
FAIL Compositing: property <padding-top> underlying [10%] from add [100px] to add [20%] at (0.5) should be [calc(50px + 20%)] assert_equals: expected "203.8px " but got "126.89px "
15
FAIL Compositing: property <padding-top> underlying [10%] from add [100px] to add [20%] at (1) should be [30%] assert_equals: expected "230.69px " but got "153.8px "
16
FAIL Compositing: property <padding-top> underlying [10%] from add [100px] to add [20%] at (1.5) should be [calc(-50px + 40%)] assert_equals: expected "257.59px " but got "153.8px "
17
FAIL Compositing: property <padding-top> underlying [50px] from add [100px] to replace [200px] at (-0.3) should be [135px] assert_equals: expected "135px " but got "70px "
18
FAIL Compositing: property <padding-top> underlying [50px] from add [100px] to replace [200px] at (0) should be [150px] assert_equals: expected "150px " but got "100px "
19
FAIL Compositing: property <padding-top> underlying [50px] from add [100px] to replace [200px] at (0.5) should be [175px] assert_equals: expected "175px " but got "150px "
20
PASS Compositing: property <padding-top> underlying [50px] from add [100px] to replace [200px] at (1) should be [200px] 
21
FAIL Compositing: property <padding-top> underlying [50px] from add [100px] to replace [200px] at (1.5) should be [225px] assert_equals: expected "225px " but got "250px "
22
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-box/animation/padding-top-composition.html +65 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-box/animation/padding-top-composition.html_sec1
1
<!DOCTYPE html>
2
<meta charset="UTF-8">
3
<title>padding-top composition</title>
4
<link rel="help" href="https://drafts.csswg.org/css-box-3/#padding-shorthand">
5
<meta name="assert" content="padding-top supports animation as a list of lengths">
6
7
<script src="/resources/testharness.js"></script>
8
<script src="/resources/testharnessreport.js"></script>
9
<script src="/css/support/interpolation-testcommon.js"></script>
10
11
<body>
12
<script>
13
test_composition({
14
  property: 'padding-top',
15
  underlying: '50px',
16
  addFrom: '100px',
17
  addTo: '200px',
18
}, [
19
  {at: -0.3, expect: '120px'},
20
  {at: 0, expect: '150px'},
21
  {at: 0.5, expect: '200px'},
22
  {at: 1, expect: '250px'},
23
  {at: 1.5, expect: '300px'},
24
]);
25
26
test_composition({
27
  property: 'padding-top',
28
  underlying: '100px',
29
  addFrom: '10px',
30
  addTo: '2px',
31
}, [
32
  {at: -0.5, expect: '114px'},
33
  {at: 0, expect: '110px'},
34
  {at: 0.5, expect: '106px'},
35
  {at: 1, expect: '102px'},
36
  {at: 1.5, expect: '98px'}, // Value clamping should happen after composition.
37
]);
38
39
test_composition({
40
  property: 'padding-top',
41
  underlying: '10%',
42
  addFrom: '100px',
43
  addTo: '20%',
44
}, [
45
  {at: -0.3, expect: 'calc(130px + 4%)'},
46
  {at: 0, expect: 'calc(100px + 10%)'},
47
  {at: 0.5, expect: 'calc(50px + 20%)'},
48
  {at: 1, expect: '30%'},
49
  {at: 1.5, expect: 'calc(-50px + 40%)'},
50
]);
51
52
test_composition({
53
  property: 'padding-top',
54
  underlying: '50px',
55
  addFrom: '100px',
56
  replaceTo: '200px',
57
}, [
58
  {at: -0.3, expect: '135px'},
59
  {at: 0, expect: '150px'},
60
  {at: 0.5, expect: '175px'},
61
  {at: 1, expect: '200px'},
62
  {at: 1.5, expect: '225px'},
63
]);
64
</script>
65
</body>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-box/animation/w3c-import.log +8 lines
Lines 14-18 Property values requiring vendor prefixes: a/LayoutTests/imported/w3c/web-platform-tests/css/css-box/animation/w3c-import.log_sec1
14
None
14
None
15
------------------------------------------------------------------------
15
------------------------------------------------------------------------
16
List of files:
16
List of files:
17
/LayoutTests/imported/w3c/web-platform-tests/css/css-box/animation/margin-bottom-composition.html
17
/LayoutTests/imported/w3c/web-platform-tests/css/css-box/animation/margin-interpolation.html
18
/LayoutTests/imported/w3c/web-platform-tests/css/css-box/animation/margin-interpolation.html
19
/LayoutTests/imported/w3c/web-platform-tests/css/css-box/animation/margin-left-composition.html
20
/LayoutTests/imported/w3c/web-platform-tests/css/css-box/animation/margin-right-composition.html
21
/LayoutTests/imported/w3c/web-platform-tests/css/css-box/animation/margin-top-composition.html
22
/LayoutTests/imported/w3c/web-platform-tests/css/css-box/animation/padding-bottom-composition.html
18
/LayoutTests/imported/w3c/web-platform-tests/css/css-box/animation/padding-interpolation.html
23
/LayoutTests/imported/w3c/web-platform-tests/css/css-box/animation/padding-interpolation.html
24
/LayoutTests/imported/w3c/web-platform-tests/css/css-box/animation/padding-left-composition.html
25
/LayoutTests/imported/w3c/web-platform-tests/css/css-box/animation/padding-right-composition.html
26
/LayoutTests/imported/w3c/web-platform-tests/css/css-box/animation/padding-top-composition.html
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-box/parsing/min-height-invalid-expected.txt -15 lines
Lines 1-15 a/LayoutTests/imported/w3c/web-platform-tests/css/css-box/parsing/min-height-invalid-expected.txt_sec1
1
2
PASS e.style['min-height'] = "complex" should not set the property value 
3
PASS e.style['min-height'] = "none" should not set the property value 
4
PASS e.style['min-height'] = "none available" should not set the property value 
5
PASS e.style['min-height'] = "max-content 10px" should not set the property value 
6
PASS e.style['min-height'] = "20% available" should not set the property value 
7
PASS e.style['min-height'] = "-10px" should not set the property value 
8
PASS e.style['min-height'] = "-20%" should not set the property value 
9
PASS e.style['min-height'] = "60" should not set the property value 
10
PASS e.style['min-height'] = "10px 20%" should not set the property value 
11
PASS e.style['min-height'] = "content-box border-box" should not set the property value 
12
PASS e.style['min-height'] = "10px border-box 20%" should not set the property value 
13
PASS e.style['min-height'] = "content-box 20% border-box" should not set the property value 
14
FAIL e.style['min-height'] = "auto" should not set the property value assert_equals: expected "" but got "auto"
15
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-box/parsing/min-height-invalid.html -33 lines
Lines 1-33 a/LayoutTests/imported/w3c/web-platform-tests/css/css-box/parsing/min-height-invalid.html_sec1
1
<!DOCTYPE html>
2
<html>
3
<head>
4
<meta charset="utf-8">
5
<title>CSS basic box model: parsing min-height with invalid values</title>
6
<link rel="author" title="Eric Willigers" href="mailto:ericwilligers@chromium.org">
7
<link rel="help" href="https://drafts.csswg.org/css-box-3/#propdef-min-height">
8
<meta name="assert" content="min-height supports only the grammar '[ [<length> | <percentage>] && [border-box | content-box]? ] | available | min-content | max-content | fit-content'.">
9
<script src="/resources/testharness.js"></script>
10
<script src="/resources/testharnessreport.js"></script>
11
<script src="/css/support/parsing-testcommon.js"></script>
12
</head>
13
<body>
14
<script>
15
test_invalid_value("min-height", "complex");
16
test_invalid_value("min-height", "none");
17
test_invalid_value("min-height", "none available");
18
test_invalid_value("min-height", "max-content 10px");
19
test_invalid_value("min-height", "20% available");
20
21
test_invalid_value("min-height", "-10px");
22
test_invalid_value("min-height", "-20%");
23
test_invalid_value("min-height", "60");
24
test_invalid_value("min-height", "10px 20%");
25
test_invalid_value("min-height", "content-box border-box");
26
test_invalid_value("min-height", "10px border-box 20%");
27
test_invalid_value("min-height", "content-box 20% border-box");
28
29
// The following is not yet rejected by browsers:
30
test_invalid_value("min-height", "auto");
31
</script>
32
</body>
33
</html>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-box/parsing/min-height-valid-expected.txt -8 lines
Lines 1-8 a/LayoutTests/imported/w3c/web-platform-tests/css/css-box/parsing/min-height-valid-expected.txt_sec1
1
2
PASS e.style['min-height'] = "10px" should set the property value 
3
PASS e.style['min-height'] = "20%" should set the property value 
4
PASS e.style['min-height'] = "calc(2em + 3ex)" should set the property value 
5
PASS e.style['min-height'] = "min-content" should set the property value 
6
PASS e.style['min-height'] = "max-content" should set the property value 
7
PASS e.style['min-height'] = "fit-content" should set the property value 
8
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-box/parsing/min-height-valid.html -29 lines
Lines 1-29 a/LayoutTests/imported/w3c/web-platform-tests/css/css-box/parsing/min-height-valid.html_sec1
1
<!DOCTYPE html>
2
<html>
3
<head>
4
<meta charset="utf-8">
5
<title>CSS basic box model: parsing min-height with valid values</title>
6
<link rel="author" title="Eric Willigers" href="mailto:ericwilligers@chromium.org">
7
<link rel="help" href="https://drafts.csswg.org/css-box-3/#propdef-min-height">
8
<meta name="assert" content="min-height supports the full grammar '[ [<length> | <percentage>] && [border-box | content-box]? ] | available | min-content | max-content | fit-content'.">
9
<script src="/resources/testharness.js"></script>
10
<script src="/resources/testharnessreport.js"></script>
11
<script src="/css/support/parsing-testcommon.js"></script>
12
</head>
13
<body>
14
<script>
15
test_valid_value("min-height", "10px");
16
test_valid_value("min-height", "20%");
17
test_valid_value("min-height", "calc(2em + 3ex)");
18
19
test_valid_value("min-height", "min-content");
20
test_valid_value("min-height", "max-content");
21
test_valid_value("min-height", "fit-content");
22
23
// The following are not yet supported by browsers:
24
// test_valid_value("min-height", "available");
25
// test_valid_value("min-height", "10px border-box");
26
// test_valid_value("min-height", "content-box 20%", "20% content-box");
27
</script>
28
</body>
29
</html>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-box/parsing/min-width-invalid-expected.txt -15 lines
Lines 1-15 a/LayoutTests/imported/w3c/web-platform-tests/css/css-box/parsing/min-width-invalid-expected.txt_sec1
1
2
PASS e.style['min-width'] = "complex" should not set the property value 
3
PASS e.style['min-width'] = "none" should not set the property value 
4
PASS e.style['min-width'] = "none available" should not set the property value 
5
PASS e.style['min-width'] = "max-content 10px" should not set the property value 
6
PASS e.style['min-width'] = "20% available" should not set the property value 
7
PASS e.style['min-width'] = "-10px" should not set the property value 
8
PASS e.style['min-width'] = "-20%" should not set the property value 
9
PASS e.style['min-width'] = "60" should not set the property value 
10
PASS e.style['min-width'] = "10px 20%" should not set the property value 
11
PASS e.style['min-width'] = "content-box border-box" should not set the property value 
12
PASS e.style['min-width'] = "10px border-box 20%" should not set the property value 
13
PASS e.style['min-width'] = "content-box 20% border-box" should not set the property value 
14
FAIL e.style['min-width'] = "auto" should not set the property value assert_equals: expected "" but got "auto"
15
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-box/parsing/min-width-invalid.html -33 lines
Lines 1-33 a/LayoutTests/imported/w3c/web-platform-tests/css/css-box/parsing/min-width-invalid.html_sec1
1
<!DOCTYPE html>
2
<html>
3
<head>
4
<meta charset="utf-8">
5
<title>CSS basic box model: parsing min-width with invalid values</title>
6
<link rel="author" title="Eric Willigers" href="mailto:ericwilligers@chromium.org">
7
<link rel="help" href="https://drafts.csswg.org/css-box-3/#propdef-min-width">
8
<meta name="assert" content="min-width supports only the grammar '[ [<length> | <percentage>] && [border-box | content-box]? ] | available | min-content | max-content | fit-content'.">
9
<script src="/resources/testharness.js"></script>
10
<script src="/resources/testharnessreport.js"></script>
11
<script src="/css/support/parsing-testcommon.js"></script>
12
</head>
13
<body>
14
<script>
15
test_invalid_value("min-width", "complex");
16
test_invalid_value("min-width", "none");
17
test_invalid_value("min-width", "none available");
18
test_invalid_value("min-width", "max-content 10px");
19
test_invalid_value("min-width", "20% available");
20
21
test_invalid_value("min-width", "-10px");
22
test_invalid_value("min-width", "-20%");
23
test_invalid_value("min-width", "60");
24
test_invalid_value("min-width", "10px 20%");
25
test_invalid_value("min-width", "content-box border-box");
26
test_invalid_value("min-width", "10px border-box 20%");
27
test_invalid_value("min-width", "content-box 20% border-box");
28
29
// The following is not yet rejected by browsers:
30
test_invalid_value("min-width", "auto");
31
</script>
32
</body>
33
</html>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-box/parsing/min-width-valid-expected.txt -8 lines
Lines 1-8 a/LayoutTests/imported/w3c/web-platform-tests/css/css-box/parsing/min-width-valid-expected.txt_sec1
1
2
PASS e.style['min-width'] = "10px" should set the property value 
3
PASS e.style['min-width'] = "20%" should set the property value 
4
PASS e.style['min-width'] = "calc(2em + 3ex)" should set the property value 
5
PASS e.style['min-width'] = "min-content" should set the property value 
6
PASS e.style['min-width'] = "max-content" should set the property value 
7
PASS e.style['min-width'] = "fit-content" should set the property value 
8
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-box/parsing/min-width-valid.html -29 lines
Lines 1-29 a/LayoutTests/imported/w3c/web-platform-tests/css/css-box/parsing/min-width-valid.html_sec1
1
<!DOCTYPE html>
2
<html>
3
<head>
4
<meta charset="utf-8">
5
<title>CSS basic box model: parsing min-width with valid values</title>
6
<link rel="author" title="Eric Willigers" href="mailto:ericwilligers@chromium.org">
7
<link rel="help" href="https://drafts.csswg.org/css-box-3/#propdef-min-width">
8
<meta name="assert" content="min-width supports the full grammar '[ [<length> | <percentage>] && [border-box | content-box]? ] | available | min-content | max-content | fit-content'.">
9
<script src="/resources/testharness.js"></script>
10
<script src="/resources/testharnessreport.js"></script>
11
<script src="/css/support/parsing-testcommon.js"></script>
12
</head>
13
<body>
14
<script>
15
test_valid_value("min-width", "10px");
16
test_valid_value("min-width", "20%");
17
test_valid_value("min-width", "calc(2em + 3ex)");
18
19
test_valid_value("min-width", "min-content");
20
test_valid_value("min-width", "max-content");
21
test_valid_value("min-width", "fit-content");
22
23
// The following are not yet supported by browsers:
24
// test_valid_value("min-width", "available");
25
// test_valid_value("min-width", "10px border-box");
26
// test_valid_value("min-width", "content-box 20%", "20% content-box");
27
</script>
28
</body>
29
</html>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-box/parsing/w3c-import.log -4 lines
Lines 30-39 List of files: a/LayoutTests/imported/w3c/web-platform-tests/css/css-box/parsing/w3c-import.log_sec1
30
/LayoutTests/imported/w3c/web-platform-tests/css/css-box/parsing/max-height-valid.html
30
/LayoutTests/imported/w3c/web-platform-tests/css/css-box/parsing/max-height-valid.html
31
/LayoutTests/imported/w3c/web-platform-tests/css/css-box/parsing/max-width-invalid.html
31
/LayoutTests/imported/w3c/web-platform-tests/css/css-box/parsing/max-width-invalid.html
32
/LayoutTests/imported/w3c/web-platform-tests/css/css-box/parsing/max-width-valid.html
32
/LayoutTests/imported/w3c/web-platform-tests/css/css-box/parsing/max-width-valid.html
33
/LayoutTests/imported/w3c/web-platform-tests/css/css-box/parsing/min-height-invalid.html
34
/LayoutTests/imported/w3c/web-platform-tests/css/css-box/parsing/min-height-valid.html
35
/LayoutTests/imported/w3c/web-platform-tests/css/css-box/parsing/min-width-invalid.html
36
/LayoutTests/imported/w3c/web-platform-tests/css/css-box/parsing/min-width-valid.html
37
/LayoutTests/imported/w3c/web-platform-tests/css/css-box/parsing/overflow-invalid.html
33
/LayoutTests/imported/w3c/web-platform-tests/css/css-box/parsing/overflow-invalid.html
38
/LayoutTests/imported/w3c/web-platform-tests/css/css-box/parsing/overflow-valid.html
34
/LayoutTests/imported/w3c/web-platform-tests/css/css-box/parsing/overflow-valid.html
39
/LayoutTests/imported/w3c/web-platform-tests/css/css-box/parsing/padding-computed.html
35
/LayoutTests/imported/w3c/web-platform-tests/css/css-box/parsing/padding-computed.html
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-cascade/revert-val-004-expected.txt +3 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-cascade/revert-val-004-expected.txt_sec1
1
2
PASS The revert keyword works with the all property 
3
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-cascade/revert-val-004.html +22 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-cascade/revert-val-004.html_sec1
1
<!DOCTYPE html>
2
<title>CSS Cascade: using 'revert' with the 'all' property</title>
3
<link rel="help" href="https://drafts.csswg.org/css-cascade/#default">
4
<script src="/resources/testharness.js"></script>
5
<script src="/resources/testharnessreport.js"></script>
6
<style>
7
  div {
8
    display: inline;
9
  }
10
  .revert {
11
    all: revert;
12
  }
13
</style>
14
<div id=div></div>
15
<script>
16
  test(function() {
17
    let cs = getComputedStyle(div);
18
    assert_equals(cs.display, 'inline');
19
    div.className = 'revert';
20
    assert_equals(cs.display, 'block');
21
  }, 'The revert keyword works with the all property');
22
</script>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-cascade/revert-val-005-expected.txt +4 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-cascade/revert-val-005-expected.txt_sec1
1
2
PASS The revert keyword works with physical properties 
3
PASS The revert keyword works with logical properties 
4
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-cascade/revert-val-005.html +40 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-cascade/revert-val-005.html_sec1
1
<!DOCTYPE html>
2
<title>CSS Cascade: 'revert' in css-logical properties</title>
3
<link rel="help" href="https://drafts.csswg.org/css-cascade/#default">
4
<script src="/resources/testharness.js"></script>
5
<script src="/resources/testharnessreport.js"></script>
6
<style>
7
  #h1_physical {
8
    margin: 0px;
9
    margin: revert;
10
  }
11
  #h1_logical {
12
    margin: 0px;
13
    margin-inline-start: revert;
14
    margin-inline-end: revert;
15
    margin-block-start: revert;
16
    margin-block-end: revert;
17
  }
18
</style>
19
<h1 id=h1_physical></h1>
20
<h1 id=h1_logical></h1>
21
<h1 id=ref></h1>
22
<script>
23
  test(function() {
24
    let actual = getComputedStyle(h1_physical).marginTop;
25
    let expected = getComputedStyle(ref).marginTop;
26
    // This test assumes that the UA style sheet sets a non-0px value on
27
    // <h1> elements:
28
    assert_not_equals(expected, '0px');
29
    assert_equals(actual, expected);
30
  }, 'The revert keyword works with physical properties');
31
32
  test(function() {
33
    let actual = getComputedStyle(h1_logical).marginTop;
34
    let expected = getComputedStyle(ref).marginTop;
35
    // This test assumes that the UA style sheet sets a non-0px value on
36
    // <h1> elements:
37
    assert_not_equals(expected, '0px');
38
    assert_equals(actual, expected);
39
  }, 'The revert keyword works with logical properties');
40
</script>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-cascade/revert-val-006-expected.txt +3 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-cascade/revert-val-006-expected.txt_sec1
1
2
FAIL The revert keyword works with @keyframes assert_equals: expected "21.440000534057617px" but got "0px"
3
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-cascade/revert-val-006.html +28 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-cascade/revert-val-006.html_sec1
1
<!DOCTYPE html>
2
<title>CSS Cascade: 'revert' keyword in keyframe animations</title>
3
<link rel="help" href="https://drafts.csswg.org/css-cascade/#default">
4
<script src="/resources/testharness.js"></script>
5
<script src="/resources/testharnessreport.js"></script>
6
<style>
7
  @keyframes test {
8
    from { margin-top: 0px; }
9
    50% { margin-top: revert; }
10
    to { margin-top: 0px; }
11
  }
12
  #h1 {
13
    margin-top: 0px;
14
    animation: test linear 1000s -500s;
15
  }
16
</style>
17
<h1 id=h1></h1>
18
<h1 id=ref></h1>
19
<script>
20
  test(function() {
21
    let actual = getComputedStyle(h1).marginTop;
22
    let expected = getComputedStyle(ref).marginTop;
23
    // This test assumes that the UA style sheet sets a non-0px value on
24
    // <h1> elements:
25
    assert_not_equals(expected, '0px');
26
    assert_equals(actual, expected);
27
  }, 'The revert keyword works with @keyframes');
28
</script>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-cascade/revert-val-007-expected.txt +3 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-cascade/revert-val-007-expected.txt_sec1
1
2
FAIL A @keyframe animation with revert works when applied to multiple identical elements assert_equals: expected "21.440000534057617px" but got "0px"
3
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-cascade/revert-val-007.html +34 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-cascade/revert-val-007.html_sec1
1
<!DOCTYPE html>
2
<title>CSS Cascade: 'revert' in keyframe animations on identical elements</title>
3
<link rel="help" href="https://drafts.csswg.org/css-cascade/#default">
4
<link rel="help" href="https://crbug.com/1065387">
5
<script src="/resources/testharness.js"></script>
6
<script src="/resources/testharnessreport.js"></script>
7
<style>
8
  @keyframes test {
9
    from { margin-top: revert; }
10
    to { margin-top: 100px; }
11
  }
12
  .anim {
13
    margin-top: 0px;
14
    animation: test linear 1s paused;
15
  }
16
</style>
17
<h1 class="anim"></h1>
18
<h1 class="anim"></h1>
19
<h1 class="anim"></h1>
20
<h1 id=ref></h1>
21
<script>
22
  test(function() {
23
    // This querySelectorAll includes #ref, but that's OK.
24
    let targets = document.querySelectorAll('h1');
25
    for (let t of targets) {
26
      let actual = getComputedStyle(t).marginTop;
27
      let expected = getComputedStyle(ref).marginTop;
28
      // This test assumes that the UA style sheet sets a non-0px value on
29
      // <h1> elements:
30
      assert_not_equals(expected, '0px');
31
      assert_equals(actual, expected);
32
    }
33
  }, 'A @keyframe animation with revert works when applied to multiple identical elements');
34
</script>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-cascade/revert-val-008-expected.txt +3 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-cascade/revert-val-008-expected.txt_sec1
1
2
FAIL The revert keyword works in the final frame of a web animation assert_between_exclusive: expected a number greater than 21 and less than 42 but got 15
3
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-cascade/revert-val-008.html +32 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-cascade/revert-val-008.html_sec1
1
<!DOCTYPE html>
2
<title>CSS Cascade: 'revert' in final keyframe of web animation</title>
3
<link rel="help" href="https://drafts.csswg.org/css-cascade/#default">
4
<link rel="help" href="https://crbug.com/1065387">
5
<script src="/resources/testharness.js"></script>
6
<script src="/resources/testharnessreport.js"></script>
7
<h1 id=h1></h1>
8
<h1 id=ref></h1>
9
<script>
10
  test(function() {
11
    let expected_lower = parseInt(getComputedStyle(ref).marginTop);
12
    let expected_upper = expected_lower * 2;
13
14
    h1.animate([
15
      { marginTop: `${expected_lower * 4}px` },
16
      { marginTop: `${expected_lower * 3}px` },
17
      { marginTop: `${expected_lower * 2}px` },
18
      { marginTop: 'revert' },
19
    ], {
20
      duration: 4000,
21
      delay: -3500,
22
    }).pause();
23
24
    let actual = parseInt(getComputedStyle(h1).marginTop);
25
26
    // This test assumes that the UA style sheet sets a non-0px value on
27
    // <h1> elements:
28
    assert_not_equals(expected_lower, 0);
29
    assert_not_equals(expected_upper, 0);
30
    assert_between_exclusive(actual, expected_lower, expected_upper);
31
  }, 'The revert keyword works in the final frame of a web animation');
32
</script>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-cascade/revert-val-009-expected.txt +3 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-cascade/revert-val-009-expected.txt_sec1
1
2
PASS The revert keyword works in implicit keyframes 
3
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-cascade/revert-val-009.html +30 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-cascade/revert-val-009.html_sec1
1
<!DOCTYPE html>
2
<title>CSS Cascade: 'revert' in implicit keyframes</title>
3
<link rel="help" href="https://drafts.csswg.org/css-cascade/#default">
4
<link rel="help" href="https://crbug.com/1065387">
5
<script src="/resources/testharness.js"></script>
6
<script src="/resources/testharnessreport.js"></script>
7
<h1 id=h1></h1>
8
<h1 id=ref></h1>
9
<script>
10
  test(function() {
11
    let expected_lower = parseInt(getComputedStyle(ref).marginTop);
12
    let expected_upper = expected_lower * 2;
13
    h1.style = `margin-top: ${expected_lower * 1000}px; margin-top: revert;`;
14
15
    h1.animate([
16
      { marginTop: `${expected_upper}px` },
17
    ], {
18
      duration: 1000,
19
      delay: -500,
20
    }).pause();
21
22
    let actual = parseInt(getComputedStyle(h1).marginTop);
23
24
    // This test assumes that the UA style sheet sets a non-0px value on
25
    // <h1> elements:
26
    assert_not_equals(expected_lower, 0);
27
    assert_not_equals(expected_upper, 0);
28
    assert_between_exclusive(actual, expected_lower, expected_upper);
29
  }, 'The revert keyword works in implicit keyframes');
30
</script>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-cascade/revert-val-010-expected.txt +3 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-cascade/revert-val-010-expected.txt_sec1
1
2
FAIL The revert works when appearing in setKeyframes assert_equals: expected 42 but got 126
3
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-cascade/revert-val-010.html +36 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-cascade/revert-val-010.html_sec1
1
<!DOCTYPE html>
2
<title>CSS Cascade: 'revert' appearing in setKeyframes</title>
3
<link rel="help" href="https://drafts.csswg.org/css-cascade/#default">
4
<link rel="help" href="https://drafts.csswg.org/web-animations-1/#dom-keyframeeffect-setkeyframes">
5
<script src="/resources/testharness.js"></script>
6
<script src="/resources/testharnessreport.js"></script>
7
<h1 id=h1></h1>
8
<script>
9
  test(function() {
10
    let original = parseInt(getComputedStyle(h1).marginTop);
11
12
    // This test assumes that the UA style sheet sets a non-0px value on
13
    // <h1> elements:
14
    assert_not_equals(original, 0);
15
16
    let animation = h1.animate([
17
      { marginTop: `${original*4}px` },
18
      { marginTop: `${original*8}px` },
19
    ], {
20
      duration: 1000000,
21
      delay: -500000,
22
      easing: 'steps(2, end)'
23
    });
24
25
    let animated = parseInt(getComputedStyle(h1).marginTop);
26
    assert_equals(animated, original*6);
27
28
    animation.effect.setKeyframes([
29
      { marginTop: 'revert' },
30
      { marginTop: `${original*3}px` },
31
    ]);
32
33
    let animated_revert = parseInt(getComputedStyle(h1).marginTop);
34
    assert_equals(animated_revert, original*2);
35
  }, 'The revert works when appearing in setKeyframes');
36
</script>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-cascade/w3c-import.log +7 lines
Lines 40-45 List of files: a/LayoutTests/imported/w3c/web-platform-tests/css/css-cascade/w3c-import.log_sec1
40
/LayoutTests/imported/w3c/web-platform-tests/css/css-cascade/revert-val-002-expected.xht
40
/LayoutTests/imported/w3c/web-platform-tests/css/css-cascade/revert-val-002-expected.xht
41
/LayoutTests/imported/w3c/web-platform-tests/css/css-cascade/revert-val-002.html
41
/LayoutTests/imported/w3c/web-platform-tests/css/css-cascade/revert-val-002.html
42
/LayoutTests/imported/w3c/web-platform-tests/css/css-cascade/revert-val-003.html
42
/LayoutTests/imported/w3c/web-platform-tests/css/css-cascade/revert-val-003.html
43
/LayoutTests/imported/w3c/web-platform-tests/css/css-cascade/revert-val-004.html
44
/LayoutTests/imported/w3c/web-platform-tests/css/css-cascade/revert-val-005.html
45
/LayoutTests/imported/w3c/web-platform-tests/css/css-cascade/revert-val-006.html
46
/LayoutTests/imported/w3c/web-platform-tests/css/css-cascade/revert-val-007.html
47
/LayoutTests/imported/w3c/web-platform-tests/css/css-cascade/revert-val-008.html
48
/LayoutTests/imported/w3c/web-platform-tests/css/css-cascade/revert-val-009.html
49
/LayoutTests/imported/w3c/web-platform-tests/css/css-cascade/revert-val-010.html
43
/LayoutTests/imported/w3c/web-platform-tests/css/css-cascade/unset-val-001-expected.xht
50
/LayoutTests/imported/w3c/web-platform-tests/css/css-cascade/unset-val-001-expected.xht
44
/LayoutTests/imported/w3c/web-platform-tests/css/css-cascade/unset-val-001.html
51
/LayoutTests/imported/w3c/web-platform-tests/css/css-cascade/unset-val-001.html
45
/LayoutTests/imported/w3c/web-platform-tests/css/css-cascade/unset-val-002-expected.xht
52
/LayoutTests/imported/w3c/web-platform-tests/css/css-cascade/unset-val-002-expected.xht
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-color-adjust/inheritance-expected.txt +4 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-color-adjust/inheritance-expected.txt_sec1
1
2
FAIL Property color-scheme has initial value normal assert_equals: expected "normal" but got "auto"
3
PASS Property color-scheme inherits 
4
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-color-adjust/inheritance.html +13 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-color-adjust/inheritance.html_sec1
1
<!DOCTYPE html>
2
<title>Inheritance of CSS Color Adjust properties</title>
3
<link rel="help" href="https://drafts.csswg.org/css-color-adjust/#property-index">
4
<meta name="assert" content="Properties inherit according to the spec.">
5
<script src="/resources/testharness.js"></script>
6
<script src="/resources/testharnessreport.js"></script>
7
<script src="/css/support/inheritance-testcommon.js"></script>
8
<div id="container">
9
  <div id="target"></div>
10
</div>
11
<script>
12
  assert_inherited('color-scheme', 'normal', 'light dark');
13
</script>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-color-adjust/meta/meta-color-scheme-attribute-changes-expected.txt +9 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-color-adjust/meta/meta-color-scheme-attribute-changes-expected.txt_sec1
1
2
FAIL Meta color-scheme initially 'dark'. assert_equals: expected "dark" but got "auto"
3
FAIL Removed name attribute from meta color-scheme. assert_equals: expected "normal" but got "auto"
4
FAIL Set meta name to color-scheme. assert_equals: expected "dark" but got "auto"
5
FAIL Set content attribute of meta color-scheme to empty string. assert_equals: expected "normal" but got "auto"
6
FAIL Set content attribute of meta color-scheme to an invalid value. assert_equals: expected "normal" but got "auto"
7
FAIL Set content attribute of meta color-scheme to 'light'. assert_equals: expected "light" but got "auto"
8
FAIL Removed the content attribute of meta color-scheme. assert_equals: expected "normal" but got "auto"
9
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-color-adjust/meta/meta-color-scheme-attribute-changes.html +28 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-color-adjust/meta/meta-color-scheme-attribute-changes.html_sec1
1
<!doctype html>
2
<title>CSS Color Adjust Test: meta color-scheme - attribute changes</title>
3
<meta id="meta" name="color-scheme" content="dark">
4
<link rel="help" href="https://drafts.csswg.org/css-color-adjust-1/#color-scheme-meta">
5
<script src="/resources/testharness.js"></script>
6
<script src="/resources/testharnessreport.js"></script>
7
<script src="support/compute-root-color-scheme.js"></script>
8
<script>
9
  assert_root_color_scheme("dark", "Meta color-scheme initially 'dark'.");
10
11
  meta.removeAttribute("name");
12
  assert_root_color_scheme("normal", "Removed name attribute from meta color-scheme.");
13
14
  meta.setAttribute("name", "color-scheme");
15
  assert_root_color_scheme("dark", "Set meta name to color-scheme.");
16
17
  meta.setAttribute("content", "");
18
  assert_root_color_scheme("normal", "Set content attribute of meta color-scheme to empty string.");
19
20
  meta.setAttribute("content", ",,invalid");
21
  assert_root_color_scheme("normal", "Set content attribute of meta color-scheme to an invalid value.");
22
23
  meta.setAttribute("content", "light");
24
  assert_root_color_scheme("light", "Set content attribute of meta color-scheme to 'light'.");
25
26
  meta.removeAttribute("content");
27
  assert_root_color_scheme("normal", "Removed the content attribute of meta color-scheme.");
28
</script>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-color-adjust/meta/meta-color-scheme-empty-content-value-expected.txt +3 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-color-adjust/meta/meta-color-scheme-empty-content-value-expected.txt_sec1
1
2
FAIL Meta color-scheme with empty content attribute has no effect. assert_equals: expected "normal" but got "auto"
3
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-color-adjust/meta/meta-color-scheme-empty-content-value.html +10 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-color-adjust/meta/meta-color-scheme-empty-content-value.html_sec1
1
<!doctype html>
2
<title>CSS Color Adjust Test: meta color-scheme - empty content value</title>
3
<meta name="color-scheme" content="">
4
<link rel="help" href="https://drafts.csswg.org/css-color-adjust-1/#color-scheme-meta">
5
<script src="/resources/testharness.js"></script>
6
<script src="/resources/testharnessreport.js"></script>
7
<script src="support/compute-root-color-scheme.js"></script>
8
<script>
9
  assert_root_color_scheme("normal", "Meta color-scheme with empty content attribute has no effect.");
10
</script>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-color-adjust/meta/meta-color-scheme-first-valid-applies-expected.txt +3 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-color-adjust/meta/meta-color-scheme-first-valid-applies-expected.txt_sec1
1
2
FAIL Tree order decides which meta color-scheme applies. assert_equals: expected "dark" but got "auto"
3
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-color-adjust/meta/meta-color-scheme-first-valid-applies.html +16 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-color-adjust/meta/meta-color-scheme-first-valid-applies.html_sec1
1
<!doctype html>
2
<title>CSS Color Adjust Test: multiple meta tags - first valid applies</title>
3
<meta name="color-scheme">
4
<meta name="color-scheme" content>
5
<meta name="color-scheme" content="">
6
<meta name="color-scheme" content="light,dark">
7
<!-- This is first with a valid content value -->
8
<meta name="color-scheme" content="dark">
9
<meta name="color-scheme" content="light">
10
<link rel="help" href="https://drafts.csswg.org/css-color-adjust-1/#color-scheme-meta">
11
<script src="/resources/testharness.js"></script>
12
<script src="/resources/testharnessreport.js"></script>
13
<script src="support/compute-root-color-scheme.js"></script>
14
<script>
15
  assert_root_color_scheme("dark", "Tree order decides which meta color-scheme applies.");
16
</script>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-color-adjust/meta/meta-color-scheme-insert-expected.txt +5 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-color-adjust/meta/meta-color-scheme-insert-expected.txt_sec1
1
2
FAIL Initial color-scheme assert_equals: expected "normal" but got "auto"
3
FAIL Inserted meta color-scheme applies assert_equals: expected "light" but got "auto"
4
FAIL Inserted meta color-scheme before existing in head applies assert_equals: expected "dark" but got "auto"
5
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-color-adjust/meta/meta-color-scheme-insert.html +22 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-color-adjust/meta/meta-color-scheme-insert.html_sec1
1
<!doctype html>
2
<title>CSS Color Adjust Test: insert meta tags</title>
3
<link rel="help" href="https://drafts.csswg.org/css-color-adjust-1/#color-scheme-meta">
4
<script src="/resources/testharness.js"></script>
5
<script src="/resources/testharnessreport.js"></script>
6
<script src="support/compute-root-color-scheme.js"></script>
7
<script>
8
  function createMeta(content) {
9
    const meta = document.createElement("meta");
10
    meta.setAttribute("name", "color-scheme");
11
    meta.setAttribute("content", content);
12
    return meta;
13
  }
14
15
  assert_root_color_scheme("normal", "Initial color-scheme");
16
17
  document.head.appendChild(createMeta("light"));
18
  assert_root_color_scheme("light", "Inserted meta color-scheme applies");
19
20
  document.head.insertBefore(createMeta("dark"), document.head.lastChild);
21
  assert_root_color_scheme("dark", "Inserted meta color-scheme before existing in head applies");
22
</script>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-color-adjust/meta/meta-color-scheme-no-content-value-expected.txt +3 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-color-adjust/meta/meta-color-scheme-no-content-value-expected.txt_sec1
1
2
FAIL Meta color-scheme without content attribute has no effect. assert_equals: expected "normal" but got "auto"
3
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-color-adjust/meta/meta-color-scheme-no-content-value.html +10 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-color-adjust/meta/meta-color-scheme-no-content-value.html_sec1
1
<!doctype html>
2
<title>CSS Color Adjust Test: meta color-scheme - no content value</title>
3
<meta name="color-scheme">
4
<link rel="help" href="https://drafts.csswg.org/css-color-adjust-1/#color-scheme-meta">
5
<script src="/resources/testharness.js"></script>
6
<script src="/resources/testharnessreport.js"></script>
7
<script src="support/compute-root-color-scheme.js"></script>
8
<script>
9
  assert_root_color_scheme("normal", "Meta color-scheme without content attribute has no effect.");
10
</script>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-color-adjust/meta/meta-color-scheme-presentational-hint-expected.txt +3 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-color-adjust/meta/meta-color-scheme-presentational-hint-expected.txt_sec1
1
2
PASS Author origin style rule overrides meta color-scheme. 
3
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-color-adjust/meta/meta-color-scheme-presentational-hint.html +15 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-color-adjust/meta/meta-color-scheme-presentational-hint.html_sec1
1
<!doctype html>
2
<title>CSS Color Adjust Test: meta color-scheme - presentational hint</title>
3
<link rel="help" href="https://drafts.csswg.org/css-color-adjust-1/#color-scheme-meta">
4
<script src="/resources/testharness.js"></script>
5
<script src="/resources/testharnessreport.js"></script>
6
<script src="support/compute-root-color-scheme.js"></script>
7
<style>
8
  * { color-scheme: light }
9
</style>
10
<meta name="color-scheme" content="dark">
11
<script>
12
  // Author level CSS color-scheme property overrides meta color-scheme value
13
  // which is at the presentational hint cascade order.
14
  assert_root_color_scheme("light", "Author origin style rule overrides meta color-scheme.");
15
</script>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-color-adjust/meta/meta-color-scheme-remove-expected.txt +5 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-color-adjust/meta/meta-color-scheme-remove-expected.txt_sec1
1
2
FAIL First meta applies. assert_equals: expected "dark" but got "auto"
3
FAIL Second meta applies after first one is removed. assert_equals: expected "light" but got "auto"
4
FAIL Initial color-scheme with both meta elements removed. assert_equals: expected "normal" but got "auto"
5
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-color-adjust/meta/meta-color-scheme-remove-head-expected.txt +4 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-color-adjust/meta/meta-color-scheme-remove-head-expected.txt_sec1
1
2
FAIL Meta color-scheme applies. assert_equals: expected "dark" but got "auto"
3
FAIL Initial value after removing head including meta color-scheme. assert_equals: expected "normal" but got "auto"
4
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-color-adjust/meta/meta-color-scheme-remove-head.html +13 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-color-adjust/meta/meta-color-scheme-remove-head.html_sec1
1
<!doctype html>
2
<title>CSS Color Adjust Test: Remove head with meta color-scheme</title>
3
<meta name="color-scheme" content="dark">
4
<link rel="help" href="https://drafts.csswg.org/css-color-adjust-1/#color-scheme-meta">
5
<script src="/resources/testharness.js"></script>
6
<script src="/resources/testharnessreport.js"></script>
7
<script src="support/compute-root-color-scheme.js"></script>
8
<body></body>
9
<script>
10
  assert_root_color_scheme("dark", "Meta color-scheme applies.");
11
  document.head.remove();
12
  assert_root_color_scheme("normal", "Initial value after removing head including meta color-scheme.");
13
</script>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-color-adjust/meta/meta-color-scheme-remove.html +15 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-color-adjust/meta/meta-color-scheme-remove.html_sec1
1
<!doctype html>
2
<title>CSS Color Adjust Test: remove meta tag</title>
3
<meta id="dark" name="color-scheme" content="dark">
4
<meta id="light" name="color-scheme" content="light">
5
<link rel="help" href="https://drafts.csswg.org/css-color-adjust-1/#color-scheme-meta">
6
<script src="/resources/testharness.js"></script>
7
<script src="/resources/testharnessreport.js"></script>
8
<script src="support/compute-root-color-scheme.js"></script>
9
<script>
10
  assert_root_color_scheme("dark", "First meta applies.");
11
  dark.remove();
12
  assert_root_color_scheme("light", "Second meta applies after first one is removed.");
13
  light.remove();
14
  assert_root_color_scheme("normal", "Initial color-scheme with both meta elements removed.");
15
</script>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-color-adjust/meta/meta-color-scheme-single-value-in-body-expected.txt +3 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-color-adjust/meta/meta-color-scheme-single-value-in-body-expected.txt_sec1
1
2
FAIL Meta color-scheme in body does not apply. assert_equals: expected "normal" but got "auto"
3
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-color-adjust/meta/meta-color-scheme-single-value-in-body.html +12 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-color-adjust/meta/meta-color-scheme-single-value-in-body.html_sec1
1
<!doctype html>
2
<title>CSS Color Adjust Test: meta color-scheme in body should not apply</title>
3
<link rel="help" href="https://drafts.csswg.org/css-color-adjust-1/#color-scheme-meta">
4
<script src="/resources/testharness.js"></script>
5
<script src="/resources/testharnessreport.js"></script>
6
<script src="support/compute-root-color-scheme.js"></script>
7
<body>
8
  <meta name="color-scheme" content="dark">
9
</body>
10
<script>
11
  assert_root_color_scheme("normal", "Meta color-scheme in body does not apply.");
12
</script>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-color-adjust/meta/meta-color-scheme-single-value-in-head-expected.txt +3 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-color-adjust/meta/meta-color-scheme-single-value-in-head-expected.txt_sec1
1
2
FAIL Meta color-scheme in head applies. assert_equals: expected "dark" but got "auto"
3
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-color-adjust/meta/meta-color-scheme-single-value-in-head.html +10 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-color-adjust/meta/meta-color-scheme-single-value-in-head.html_sec1
1
<!doctype html>
2
<title>CSS Color Adjust Test: Single meta color-scheme in head</title>
3
<meta name="color-scheme" content="dark">
4
<link rel="help" href="https://drafts.csswg.org/css-color-adjust-1/#color-scheme-meta">
5
<script src="/resources/testharness.js"></script>
6
<script src="/resources/testharnessreport.js"></script>
7
<script src="support/compute-root-color-scheme.js"></script>
8
<script>
9
  assert_root_color_scheme("dark", "Meta color-scheme in head applies.");
10
</script>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-color-adjust/meta/meta-color-scheme-single-value-in-shadow-tree-expected.txt +3 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-color-adjust/meta/meta-color-scheme-single-value-in-shadow-tree-expected.txt_sec1
1
2
FAIL Meta color-scheme in shadow tree does not apply. assert_equals: expected "normal" but got "auto"
3
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-color-adjust/meta/meta-color-scheme-single-value-in-shadow-tree.html +18 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-color-adjust/meta/meta-color-scheme-single-value-in-shadow-tree.html_sec1
1
<!doctype html>
2
<title>CSS Color Adjust Test: meta color-scheme in shadow-tree should not apply</title>
3
<link rel="help" href="https://drafts.csswg.org/css-color-adjust-1/#color-scheme-meta">
4
<script src="/resources/testharness.js"></script>
5
<script src="/resources/testharnessreport.js"></script>
6
<script src="support/compute-root-color-scheme.js"></script>
7
<script>
8
  const host = document.createElement("div");
9
  host.id = "host";
10
  document.head.appendChild(host);
11
  const root = host.attachShadow({mode:"open"});
12
  const meta = document.createElement("meta");
13
  meta.setAttribute("name", "color-scheme");
14
  meta.setAttribute("content", "dark");
15
  root.appendChild(meta);
16
17
  assert_root_color_scheme("normal", "Meta color-scheme in shadow tree does not apply.");
18
</script>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-color-adjust/meta/support/compute-root-color-scheme.js +7 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-color-adjust/meta/support/compute-root-color-scheme.js_sec1
1
'use strict';
2
3
function assert_root_color_scheme(expected, description) {
4
  test(() => {
5
    assert_equals(getComputedStyle(document.documentElement).colorScheme, expected), "Check root element color scheme";
6
  }, description);
7
}
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-color-adjust/meta/support/w3c-import.log +17 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-color-adjust/meta/support/w3c-import.log_sec1
1
The tests in this directory were imported from the W3C repository.
2
Do NOT modify these tests directly in WebKit.
3
Instead, create a pull request on the WPT github:
4
	https://github.com/web-platform-tests/wpt
5
6
Then run the Tools/Scripts/import-w3c-tests in WebKit to reimport
7
8
Do NOT modify or remove this file.
9
10
------------------------------------------------------------------------
11
Properties requiring vendor prefixes:
12
None
13
Property values requiring vendor prefixes:
14
None
15
------------------------------------------------------------------------
16
List of files:
17
/LayoutTests/imported/w3c/web-platform-tests/css/css-color-adjust/meta/support/compute-root-color-scheme.js
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-color-adjust/meta/w3c-import.log +27 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-color-adjust/meta/w3c-import.log_sec1
1
The tests in this directory were imported from the W3C repository.
2
Do NOT modify these tests directly in WebKit.
3
Instead, create a pull request on the WPT github:
4
	https://github.com/web-platform-tests/wpt
5
6
Then run the Tools/Scripts/import-w3c-tests in WebKit to reimport
7
8
Do NOT modify or remove this file.
9
10
------------------------------------------------------------------------
11
Properties requiring vendor prefixes:
12
None
13
Property values requiring vendor prefixes:
14
None
15
------------------------------------------------------------------------
16
List of files:
17
/LayoutTests/imported/w3c/web-platform-tests/css/css-color-adjust/meta/meta-color-scheme-attribute-changes.html
18
/LayoutTests/imported/w3c/web-platform-tests/css/css-color-adjust/meta/meta-color-scheme-empty-content-value.html
19
/LayoutTests/imported/w3c/web-platform-tests/css/css-color-adjust/meta/meta-color-scheme-first-valid-applies.html
20
/LayoutTests/imported/w3c/web-platform-tests/css/css-color-adjust/meta/meta-color-scheme-insert.html
21
/LayoutTests/imported/w3c/web-platform-tests/css/css-color-adjust/meta/meta-color-scheme-no-content-value.html
22
/LayoutTests/imported/w3c/web-platform-tests/css/css-color-adjust/meta/meta-color-scheme-presentational-hint.html
23
/LayoutTests/imported/w3c/web-platform-tests/css/css-color-adjust/meta/meta-color-scheme-remove-head.html
24
/LayoutTests/imported/w3c/web-platform-tests/css/css-color-adjust/meta/meta-color-scheme-remove.html
25
/LayoutTests/imported/w3c/web-platform-tests/css/css-color-adjust/meta/meta-color-scheme-single-value-in-body.html
26
/LayoutTests/imported/w3c/web-platform-tests/css/css-color-adjust/meta/meta-color-scheme-single-value-in-head.html
27
/LayoutTests/imported/w3c/web-platform-tests/css/css-color-adjust/meta/meta-color-scheme-single-value-in-shadow-tree.html
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-color-adjust/parsing/color-scheme-computed-expected.txt +16 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-color-adjust/parsing/color-scheme-computed-expected.txt_sec1
1
2
FAIL Property color-scheme value 'normal' assert_equals: expected "normal" but got "auto"
3
PASS Property color-scheme value 'light dark' 
4
FAIL Property color-scheme value 'dark light' assert_equals: expected "dark light" but got "light dark"
5
FAIL Property color-scheme value 'light unknown' assert_equals: expected "light unknown" but got "light"
6
FAIL Property color-scheme value 'only light' assert_equals: expected "only light" but got "light only"
7
FAIL Property color-scheme value 'light light' assert_true: 'light light' is a supported value for color-scheme. expected true got false
8
PASS Property color-scheme value 'light only' 
9
FAIL Property color-scheme value 'none' assert_equals: expected "none" but got "auto"
10
FAIL Property color-scheme value 'only' assert_equals: expected "only" but got "light only"
11
FAIL Property color-scheme value 'only only' assert_true: 'only only' is a supported value for color-scheme. expected true got false
12
FAIL Property color-scheme value 'initial' assert_equals: expected "normal" but got "auto"
13
FAIL Property color-scheme value 'inherit' assert_equals: expected "normal" but got "auto"
14
FAIL Property color-scheme value 'unset' assert_equals: expected "normal" but got "auto"
15
FAIL Property color-scheme value 'revert' assert_equals: expected "normal" but got "auto"
16
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-color-adjust/parsing/color-scheme-computed.html +24 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-color-adjust/parsing/color-scheme-computed.html_sec1
1
<!DOCTYPE html>
2
<title>CSS Color Adjust: getComputedStyle for color-scheme</title>
3
<link rel="help" href="https://drafts.csswg.org/css-color-adjust/#color-scheme-prop">
4
<script src="/resources/testharness.js"></script>
5
<script src="/resources/testharnessreport.js"></script>
6
<script src="/css/support/computed-testcommon.js"></script>
7
<div id="target"></div>
8
<script>
9
  test_computed_value("color-scheme", "normal");
10
  test_computed_value("color-scheme", "light dark");
11
  test_computed_value("color-scheme", "dark light");
12
  test_computed_value("color-scheme", "light unknown");
13
  test_computed_value("color-scheme", "only light");
14
  test_computed_value("color-scheme", "light light");
15
  test_computed_value("color-scheme", "light only");
16
  test_computed_value("color-scheme", "none");
17
  test_computed_value("color-scheme", "only");
18
  test_computed_value("color-scheme", "only only");
19
  // reserved and css-wide keywords.
20
  test_computed_value("color-scheme", "initial", "normal");
21
  test_computed_value("color-scheme", "inherit", "normal");
22
  test_computed_value("color-scheme", "unset", "normal");
23
  test_computed_value("color-scheme", "revert", "normal");
24
</script>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-color-adjust/parsing/color-scheme-invalid-expected.txt +13 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-color-adjust/parsing/color-scheme-invalid-expected.txt_sec1
1
2
FAIL e.style['color-scheme'] = "only normal" should not set the property value assert_equals: expected "" but got "only"
3
FAIL e.style['color-scheme'] = "normal dark" should not set the property value assert_equals: expected "" but got "dark"
4
PASS e.style['color-scheme'] = "normal purple" should not set the property value 
5
FAIL e.style['color-scheme'] = "light normal" should not set the property value assert_equals: expected "" but got "light"
6
PASS e.style['color-scheme'] = "light, dark" should not set the property value 
7
FAIL e.style['color-scheme'] = "light inherit" should not set the property value assert_equals: expected "" but got "light"
8
FAIL e.style['color-scheme'] = "light initial" should not set the property value assert_equals: expected "" but got "light"
9
FAIL e.style['color-scheme'] = "light unset" should not set the property value assert_equals: expected "" but got "light"
10
FAIL e.style['color-scheme'] = "light revert" should not set the property value assert_equals: expected "" but got "light"
11
PASS e.style['color-scheme'] = "default" should not set the property value 
12
FAIL e.style['color-scheme'] = "light default" should not set the property value assert_equals: expected "" but got "light"
13
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-color-adjust/parsing/color-scheme-invalid.html +19 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-color-adjust/parsing/color-scheme-invalid.html_sec1
1
<!DOCTYPE html>
2
<title>CSS Color Adjust: parsing color-scheme with invalid values</title>
3
<link rel="help" href="https://drafts.csswg.org/css-color-adjust/#color-scheme-prop">
4
<script src="/resources/testharness.js"></script>
5
<script src="/resources/testharnessreport.js"></script>
6
<script src="/css/support/parsing-testcommon.js"></script>
7
<script>
8
  test_invalid_value("color-scheme", "only normal");
9
  test_invalid_value("color-scheme", "normal dark");
10
  test_invalid_value("color-scheme", "normal purple");
11
  test_invalid_value("color-scheme", "light normal");
12
  test_invalid_value("color-scheme", "light, dark");
13
  test_invalid_value("color-scheme", "light inherit");
14
  test_invalid_value("color-scheme", "light initial");
15
  test_invalid_value("color-scheme", "light unset");
16
  test_invalid_value("color-scheme", "light revert");
17
  test_invalid_value("color-scheme", "default");
18
  test_invalid_value("color-scheme", "light default");
19
</script>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-color-adjust/parsing/color-scheme-valid-expected.txt +25 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-color-adjust/parsing/color-scheme-valid-expected.txt_sec1
1
2
FAIL e.style['color-scheme'] = "normal" should set the property value assert_not_equals: property should be set got disallowed value ""
3
PASS e.style['color-scheme'] = "light" should set the property value 
4
PASS e.style['color-scheme'] = "dark" should set the property value 
5
PASS e.style['color-scheme'] = "light dark" should set the property value 
6
PASS e.style['color-scheme'] = "dark light" should set the property value 
7
PASS e.style['color-scheme'] = "only light" should set the property value 
8
PASS e.style['color-scheme'] = "light only" should set the property value 
9
FAIL e.style['color-scheme'] = "light light" should set the property value assert_not_equals: property should be set got disallowed value ""
10
FAIL e.style['color-scheme'] = "dark dark" should set the property value assert_not_equals: property should be set got disallowed value ""
11
FAIL e.style['color-scheme'] = "light purple" should set the property value assert_equals: serialization should be canonical expected "light purple" but got "light"
12
FAIL e.style['color-scheme'] = "purple dark interesting" should set the property value assert_equals: serialization should be canonical expected "purple dark interesting" but got "dark"
13
FAIL e.style['color-scheme'] = "none" should set the property value assert_not_equals: property should be set got disallowed value ""
14
FAIL e.style['color-scheme'] = "light none" should set the property value assert_equals: serialization should be canonical expected "light none" but got "light"
15
PASS e.style['color-scheme'] = "inherit" should set the property value 
16
PASS e.style['color-scheme'] = "initial" should set the property value 
17
PASS e.style['color-scheme'] = "unset" should set the property value 
18
FAIL e.style['color-scheme'] = "revert" should set the property value assert_equals: serialization should be canonical expected "revert" but got "Revert"
19
PASS e.style['color-scheme'] = "only" should set the property value 
20
FAIL e.style['color-scheme'] = "only only" should set the property value assert_not_equals: property should be set got disallowed value ""
21
PASS e.style['color-scheme'] = "only light dark" should set the property value 
22
FAIL e.style['color-scheme'] = "only light light" should set the property value assert_not_equals: property should be set got disallowed value ""
23
FAIL e.style['color-scheme'] = "only light purple" should set the property value assert_equals: serialization should be canonical expected "only light purple" but got "only light"
24
FAIL e.style['color-scheme'] = "only none" should set the property value assert_equals: serialization should be canonical expected "only none" but got "only"
25
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-color-adjust/parsing/color-scheme-valid.html +31 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-color-adjust/parsing/color-scheme-valid.html_sec1
1
<!DOCTYPE html>
2
<title>CSS Color Adjust: parsing color-scheme with valid values</title>
3
<link rel="help" href="https://drafts.csswg.org/css-color-adjust/#color-scheme-prop">
4
<script src="/resources/testharness.js"></script>
5
<script src="/resources/testharnessreport.js"></script>
6
<script src="/css/support/parsing-testcommon.js"></script>
7
<script>
8
  test_valid_value("color-scheme", "normal");
9
  test_valid_value("color-scheme", "light");
10
  test_valid_value("color-scheme", "dark");
11
  test_valid_value("color-scheme", "light dark");
12
  test_valid_value("color-scheme", "dark light");
13
  test_valid_value("color-scheme", "only light");
14
  test_valid_value("color-scheme", "light only");
15
  test_valid_value("color-scheme", "light light");
16
  test_valid_value("color-scheme", "dark dark");
17
  test_valid_value("color-scheme", "light purple");
18
  test_valid_value("color-scheme", "purple dark interesting");
19
  test_valid_value("color-scheme", "none");
20
  test_valid_value("color-scheme", "light none");
21
  test_valid_value("color-scheme", "inherit");
22
  test_valid_value("color-scheme", "initial");
23
  test_valid_value("color-scheme", "unset");
24
  test_valid_value("color-scheme", "revert");
25
  test_valid_value("color-scheme", "only");
26
  test_valid_value("color-scheme", "only only");
27
  test_valid_value("color-scheme", "only light dark");
28
  test_valid_value("color-scheme", "only light light");
29
  test_valid_value("color-scheme", "only light purple");
30
  test_valid_value("color-scheme", "only none");
31
</script>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-color-adjust/parsing/w3c-import.log +19 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-color-adjust/parsing/w3c-import.log_sec1
1
The tests in this directory were imported from the W3C repository.
2
Do NOT modify these tests directly in WebKit.
3
Instead, create a pull request on the WPT github:
4
	https://github.com/web-platform-tests/wpt
5
6
Then run the Tools/Scripts/import-w3c-tests in WebKit to reimport
7
8
Do NOT modify or remove this file.
9
10
------------------------------------------------------------------------
11
Properties requiring vendor prefixes:
12
None
13
Property values requiring vendor prefixes:
14
None
15
------------------------------------------------------------------------
16
List of files:
17
/LayoutTests/imported/w3c/web-platform-tests/css/css-color-adjust/parsing/color-scheme-computed.html
18
/LayoutTests/imported/w3c/web-platform-tests/css/css-color-adjust/parsing/color-scheme-invalid.html
19
/LayoutTests/imported/w3c/web-platform-tests/css/css-color-adjust/parsing/color-scheme-valid.html
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-color-adjust/rendering/dark-color-scheme/color-scheme-change-checkbox-expected.html +2 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-color-adjust/rendering/dark-color-scheme/color-scheme-change-checkbox-expected.html_sec1
1
<!doctype html>
2
<input type="checkbox">
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-color-adjust/rendering/dark-color-scheme/color-scheme-change-checkbox-notref.html +2 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-color-adjust/rendering/dark-color-scheme/color-scheme-change-checkbox-notref.html_sec1
1
<!doctype html>
2
<input type="checkbox">
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-color-adjust/rendering/dark-color-scheme/color-scheme-change-checkbox.html +20 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-color-adjust/rendering/dark-color-scheme/color-scheme-change-checkbox.html_sec1
1
<!doctype html>
2
<html class="reftest-wait">
3
<head>
4
  <title>CSS Color Adjustment Test: Checkbox rendering should change between dark and light schemes</title>
5
  <link rel="help" href="https://drafts.csswg.org/css-color-adjust/#color-scheme-processing">
6
  <link rel="mismatch" href="color-scheme-change-checkbox-notref.html">
7
  <script src="/common/reftest-wait.js"></script>
8
</head>
9
<body>
10
  <input type="checkbox">
11
</body>
12
<script>
13
  requestAnimationFrame(() => {
14
    requestAnimationFrame(() => {
15
      document.querySelector("input").style.colorScheme = "dark";
16
      takeScreenshot();
17
    });
18
  });
19
</script>
20
</html>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-color-adjust/rendering/dark-color-scheme/color-scheme-color-property-expected.txt +4 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-color-adjust/rendering/dark-color-scheme/color-scheme-color-property-expected.txt_sec1
1
2
FAIL Check that color:initial resolves to the intial color for the dark color-scheme. assert_equals: expected "rgb(255, 255, 255)" but got "rgb(0, 0, 0)"
3
FAIL Check that color:initial resolves to the intial color for the light color-scheme. assert_not_equals: got disallowed value "rgb(0, 0, 0)"
4
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-color-adjust/rendering/dark-color-scheme/color-scheme-color-property.html +29 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-color-adjust/rendering/dark-color-scheme/color-scheme-color-property.html_sec1
1
<!doctype html>
2
<html class="dark">
3
<head>
4
  <title>CSS Color Adjustment Test: the initial color is affected by color-scheme</title>
5
  <link rel="help" href="https://drafts.csswg.org/css-color-adjust/#color-scheme-processing">
6
  <script src="/resources/testharness.js"></script>
7
  <script src="/resources/testharnessreport.js"></script>
8
  <style>
9
    .dark { color-scheme: dark }
10
    .light { color-scheme: light }
11
    .initial { color: initial }
12
  </style>
13
</head>
14
<body>
15
  <div id="dark" class="dark initial"></div>
16
  <div id="light" class="light initial"></div>
17
</body>
18
<script>
19
  test(() => {
20
    assert_equals(getComputedStyle(dark).color, getComputedStyle(document.documentElement).color);
21
    assert_not_equals(getComputedStyle(light).color, getComputedStyle(document.documentElement).color);
22
  }, "Check that color:initial resolves to the intial color for the dark color-scheme.");
23
24
  test(() => {
25
    document.documentElement.className = "light";
26
    assert_equals(getComputedStyle(light).color, getComputedStyle(document.documentElement).color);
27
    assert_not_equals(getComputedStyle(dark).color, getComputedStyle(document.documentElement).color);
28
  }, "Check that color:initial resolves to the intial color for the light color-scheme.");
29
</script>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-color-adjust/rendering/dark-color-scheme/color-scheme-iframe-background-expected.html +3 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-color-adjust/rendering/dark-color-scheme/color-scheme-iframe-background-expected.html_sec1
1
<!doctype html>
2
<title>CSS Test Reference</title>
3
<iframe width="600" height="400" src="support/dark-frame-ref.html"></iframe>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-color-adjust/rendering/dark-color-scheme/color-scheme-iframe-background-mismatch-alpha-expected.html +9 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-color-adjust/rendering/dark-color-scheme/color-scheme-iframe-background-mismatch-alpha-expected.html_sec1
1
<!doctype html>
2
<style>
3
  :root {
4
    color-scheme: dark;
5
    background-color: rgba(0, 128, 0, 0.5);
6
  }
7
  p { color: lime }
8
</style>
9
<p>This text should be lime and the background should be green blended with a dark canvas.</p>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-color-adjust/rendering/dark-color-scheme/color-scheme-iframe-background-mismatch-alpha.html +19 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-color-adjust/rendering/dark-color-scheme/color-scheme-iframe-background-mismatch-alpha.html_sec1
1
<!doctype html>
2
<title>CSS Color Adjustment Test: iframe element with light color-scheme, frame document with dark color-scheme, :root background with alpha</title>
3
<link rel="help" href="https://drafts.csswg.org/css-color-adjust/#color-scheme-effect">
4
<link rel="match" href="support/dark-frame-alpha.html">
5
<style>
6
  html, body {
7
    margin: 0;
8
    height: 100%;
9
  }
10
  iframe {
11
    margin: 0;
12
    border: 0;
13
    padding: 0;
14
    width: 100%;
15
    height: 100%;
16
    display: block;
17
  }
18
</style>
19
<iframe src="support/dark-frame-alpha.html"></iframe>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-color-adjust/rendering/dark-color-scheme/color-scheme-iframe-background-mismatch-opaque-expected.html +6 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-color-adjust/rendering/dark-color-scheme/color-scheme-iframe-background-mismatch-opaque-expected.html_sec1
1
<!doctype html>
2
<style>
3
  :root { color-scheme: dark }
4
  p { color: green }
5
</style>
6
<p>This text should be green and the background should be dark opaque.</p>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-color-adjust/rendering/dark-color-scheme/color-scheme-iframe-background-mismatch-opaque.html +19 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-color-adjust/rendering/dark-color-scheme/color-scheme-iframe-background-mismatch-opaque.html_sec1
1
<!doctype html>
2
<title>CSS Color Adjustment Test: Frames with a dark color-scheme should get an opaque background when embedding element and embedded root color-schemes do not match</title>
3
<link rel="help" href="https://drafts.csswg.org/css-color-adjust/#color-scheme-effect">
4
<link rel="match" href="support/dark-frame-opaque.html">
5
<style>
6
  html, body {
7
    margin: 0;
8
    height: 100%;
9
  }
10
  iframe {
11
    margin: 0;
12
    border: 0;
13
    padding: 0;
14
    width: 100%;
15
    height: 100%;
16
    display: block;
17
  }
18
</style>
19
<iframe src="support/dark-frame-opaque.html"></iframe>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-color-adjust/rendering/dark-color-scheme/color-scheme-iframe-background.html +5 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-color-adjust/rendering/dark-color-scheme/color-scheme-iframe-background.html_sec1
1
<!doctype html>
2
<title>CSS Color Adjustment Test: Frames with a dark color-scheme should still be transparent when embedding element and embedded root color-schemes match</title>
3
<link rel="help" href="https://drafts.csswg.org/css-color-adjust/#color-scheme-effect">
4
<link rel="match" href="color-scheme-iframe-background-ref.html">
5
<iframe width="600" height="400" style="color-scheme:dark" src="support/dark-frame.html"></iframe>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-color-adjust/rendering/dark-color-scheme/color-scheme-root-background-expected.txt +3 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-color-adjust/rendering/dark-color-scheme/color-scheme-root-background-expected.txt_sec1
1
2
PASS Root element background should be transparent for dark color-scheme. 
3
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-color-adjust/rendering/dark-color-scheme/color-scheme-root-background.html +14 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-color-adjust/rendering/dark-color-scheme/color-scheme-root-background.html_sec1
1
<!doctype html>
2
<title>CSS Color Adjustment Test: color-scheme does not affect :root background</title>
3
<link rel="help" href="https://drafts.csswg.org/css-color-adjust/#color-scheme-processing">
4
<script src="/resources/testharness.js"></script>
5
<script src="/resources/testharnessreport.js"></script>
6
<style>
7
  :root { color-scheme: dark }
8
</style>
9
<body></body>
10
<script>
11
  test(() => {
12
    assert_equals(getComputedStyle(document.documentElement).backgroundColor, "rgba(0, 0, 0, 0)");
13
  }, "Root element background should be transparent for dark color-scheme.");
14
</script>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-color-adjust/rendering/dark-color-scheme/color-scheme-visited-link-initial-expected.html +4 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-color-adjust/rendering/dark-color-scheme/color-scheme-visited-link-initial-expected.html_sec1
1
<!doctype html>
2
<html style="color-scheme:dark">
3
<title>CSS Test Reference</title>
4
This text should be rendered with canvastext for the dark color-scheme.
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-color-adjust/rendering/dark-color-scheme/color-scheme-visited-link-initial.html +10 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-color-adjust/rendering/dark-color-scheme/color-scheme-visited-link-initial.html_sec1
1
<!doctype html>
2
<title>CSS Color Adjustment Test: initial color on visited link affected by color-scheme</title>
3
<link rel="help" href="https://drafts.csswg.org/css-color-adjust/#color-scheme-processing">
4
<link rel="match" href="color-scheme-visited-link-initial-ref.html">
5
<style>
6
  :root { color-scheme: dark }
7
  a { text-decoration: none }
8
  a:visited { color: initial }
9
</style>
10
<a href="">This text should be rendered with canvastext for the dark color-scheme.</a>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-color-adjust/rendering/dark-color-scheme/support/dark-frame-alpha.html +9 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-color-adjust/rendering/dark-color-scheme/support/dark-frame-alpha.html_sec1
1
<!doctype html>
2
<style>
3
  :root {
4
    color-scheme: dark;
5
    background-color: rgba(0, 128, 0, 0.5);
6
  }
7
  p { color: lime }
8
</style>
9
<p>This text should be lime and the background should be green blended with a dark canvas.</p>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-color-adjust/rendering/dark-color-scheme/support/dark-frame-expected.html +5 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-color-adjust/rendering/dark-color-scheme/support/dark-frame-expected.html_sec1
1
<!doctype html>
2
<style>
3
  p { color: green }
4
</style>
5
<p>This text should be green and the background should be the same as the top document.</p>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-color-adjust/rendering/dark-color-scheme/support/dark-frame-opaque.html +6 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-color-adjust/rendering/dark-color-scheme/support/dark-frame-opaque.html_sec1
1
<!doctype html>
2
<style>
3
  :root { color-scheme: dark }
4
  p { color: green }
5
</style>
6
<p>This text should be green and the background should be dark opaque.</p>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-color-adjust/rendering/dark-color-scheme/support/dark-frame.html +6 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-color-adjust/rendering/dark-color-scheme/support/dark-frame.html_sec1
1
<!doctype html>
2
<style>
3
  :root { color-scheme: dark }
4
  p { color: green }
5
</style>
6
<p>This text should be green and the background should be the same as the top document.</p>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-color-adjust/rendering/dark-color-scheme/support/prefers-color-scheme.svg +10 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-color-adjust/rendering/dark-color-scheme/support/prefers-color-scheme.svg_sec1
1
<svg xmlns="http://www.w3.org/2000/svg" width='100px' height='100px'>
2
  <style>
3
    @media (prefers-color-scheme: dark) {
4
      rect {
5
        fill: green;
6
      }
7
    }
8
  </style>
9
  <rect fill='blue' width='100px' height='100px' />
10
</svg>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-color-adjust/rendering/dark-color-scheme/support/w3c-import.log +21 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-color-adjust/rendering/dark-color-scheme/support/w3c-import.log_sec1
1
The tests in this directory were imported from the W3C repository.
2
Do NOT modify these tests directly in WebKit.
3
Instead, create a pull request on the WPT github:
4
	https://github.com/web-platform-tests/wpt
5
6
Then run the Tools/Scripts/import-w3c-tests in WebKit to reimport
7
8
Do NOT modify or remove this file.
9
10
------------------------------------------------------------------------
11
Properties requiring vendor prefixes:
12
None
13
Property values requiring vendor prefixes:
14
None
15
------------------------------------------------------------------------
16
List of files:
17
/LayoutTests/imported/w3c/web-platform-tests/css/css-color-adjust/rendering/dark-color-scheme/support/dark-frame-alpha.html
18
/LayoutTests/imported/w3c/web-platform-tests/css/css-color-adjust/rendering/dark-color-scheme/support/dark-frame-expected.html
19
/LayoutTests/imported/w3c/web-platform-tests/css/css-color-adjust/rendering/dark-color-scheme/support/dark-frame-opaque.html
20
/LayoutTests/imported/w3c/web-platform-tests/css/css-color-adjust/rendering/dark-color-scheme/support/dark-frame.html
21
/LayoutTests/imported/w3c/web-platform-tests/css/css-color-adjust/rendering/dark-color-scheme/support/prefers-color-scheme.svg
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-color-adjust/rendering/dark-color-scheme/svg-as-image-expected.txt +7 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-color-adjust/rendering/dark-color-scheme/svg-as-image-expected.txt_sec1
1
layer at (0,0) size 800x600
2
  RenderView at (0,0) size 800x600
3
layer at (0,0) size 800x120
4
  RenderBlock {HTML} at (0,0) size 800x120
5
    RenderBody {BODY} at (8,8) size 784x104
6
      RenderImage {IMG} at (0,0) size 100x100
7
      RenderText {#text} at (0,0) size 0x0
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-color-adjust/rendering/dark-color-scheme/svg-as-image.html +7 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-color-adjust/rendering/dark-color-scheme/svg-as-image.html_sec1
1
<!doctype html>
2
<head>
3
  <title>prefers-color-scheme inside an SVG image</title>
4
  <link rel="help" href="https://www.w3.org/TR/mediaqueries-5/#descdef-media-prefers-color-scheme">
5
  <link rel="match" href="../../../css-layout-api/green-square-ref.html">
6
</head>
7
<img src='support/prefers-color-scheme.svg'>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-color-adjust/rendering/dark-color-scheme/w3c-import.log +30 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-color-adjust/rendering/dark-color-scheme/w3c-import.log_sec1
1
The tests in this directory were imported from the W3C repository.
2
Do NOT modify these tests directly in WebKit.
3
Instead, create a pull request on the WPT github:
4
	https://github.com/web-platform-tests/wpt
5
6
Then run the Tools/Scripts/import-w3c-tests in WebKit to reimport
7
8
Do NOT modify or remove this file.
9
10
------------------------------------------------------------------------
11
Properties requiring vendor prefixes:
12
None
13
Property values requiring vendor prefixes:
14
None
15
------------------------------------------------------------------------
16
List of files:
17
/LayoutTests/imported/w3c/web-platform-tests/css/css-color-adjust/rendering/dark-color-scheme/color-scheme-change-checkbox-expected.html
18
/LayoutTests/imported/w3c/web-platform-tests/css/css-color-adjust/rendering/dark-color-scheme/color-scheme-change-checkbox-notref.html
19
/LayoutTests/imported/w3c/web-platform-tests/css/css-color-adjust/rendering/dark-color-scheme/color-scheme-change-checkbox.html
20
/LayoutTests/imported/w3c/web-platform-tests/css/css-color-adjust/rendering/dark-color-scheme/color-scheme-color-property.html
21
/LayoutTests/imported/w3c/web-platform-tests/css/css-color-adjust/rendering/dark-color-scheme/color-scheme-iframe-background-expected.html
22
/LayoutTests/imported/w3c/web-platform-tests/css/css-color-adjust/rendering/dark-color-scheme/color-scheme-iframe-background-mismatch-alpha-expected.html
23
/LayoutTests/imported/w3c/web-platform-tests/css/css-color-adjust/rendering/dark-color-scheme/color-scheme-iframe-background-mismatch-alpha.html
24
/LayoutTests/imported/w3c/web-platform-tests/css/css-color-adjust/rendering/dark-color-scheme/color-scheme-iframe-background-mismatch-opaque-expected.html
25
/LayoutTests/imported/w3c/web-platform-tests/css/css-color-adjust/rendering/dark-color-scheme/color-scheme-iframe-background-mismatch-opaque.html
26
/LayoutTests/imported/w3c/web-platform-tests/css/css-color-adjust/rendering/dark-color-scheme/color-scheme-iframe-background.html
27
/LayoutTests/imported/w3c/web-platform-tests/css/css-color-adjust/rendering/dark-color-scheme/color-scheme-root-background.html
28
/LayoutTests/imported/w3c/web-platform-tests/css/css-color-adjust/rendering/dark-color-scheme/color-scheme-visited-link-initial-expected.html
29
/LayoutTests/imported/w3c/web-platform-tests/css/css-color-adjust/rendering/dark-color-scheme/color-scheme-visited-link-initial.html
30
/LayoutTests/imported/w3c/web-platform-tests/css/css-color-adjust/rendering/dark-color-scheme/svg-as-image.html
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-color-adjust/w3c-import.log +17 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-color-adjust/w3c-import.log_sec1
1
The tests in this directory were imported from the W3C repository.
2
Do NOT modify these tests directly in WebKit.
3
Instead, create a pull request on the WPT github:
4
	https://github.com/web-platform-tests/wpt
5
6
Then run the Tools/Scripts/import-w3c-tests in WebKit to reimport
7
8
Do NOT modify or remove this file.
9
10
------------------------------------------------------------------------
11
Properties requiring vendor prefixes:
12
None
13
Property values requiring vendor prefixes:
14
None
15
------------------------------------------------------------------------
16
List of files:
17
/LayoutTests/imported/w3c/web-platform-tests/css/css-color-adjust/inheritance.html
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-display/animations/display-interpolation-expected.txt +14 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-display/animations/display-interpolation-expected.txt_sec1
1
2
PASS CSS Animations: property <display> from [none] to [flex] at (-0.3) should be [block] 
3
PASS CSS Animations: property <display> from [none] to [flex] at (0) should be [block] 
4
PASS CSS Animations: property <display> from [none] to [flex] at (0.3) should be [block] 
5
PASS CSS Animations: property <display> from [none] to [flex] at (0.6) should be [block] 
6
PASS CSS Animations: property <display> from [none] to [flex] at (1) should be [block] 
7
PASS CSS Animations: property <display> from [none] to [flex] at (1.5) should be [block] 
8
PASS Web Animations: property <display> from [none] to [flex] at (-0.3) should be [block] 
9
PASS Web Animations: property <display> from [none] to [flex] at (0) should be [block] 
10
PASS Web Animations: property <display> from [none] to [flex] at (0.3) should be [block] 
11
PASS Web Animations: property <display> from [none] to [flex] at (0.6) should be [block] 
12
PASS Web Animations: property <display> from [none] to [flex] at (1) should be [block] 
13
PASS Web Animations: property <display> from [none] to [flex] at (1.5) should be [block] 
14
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-display/animations/display-interpolation.html +47 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-display/animations/display-interpolation.html_sec1
1
<!DOCTYPE html>
2
<meta charset="UTF-8">
3
<title>display interpolation</title>
4
<link rel="help" href="https://www.w3.org/TR/CSS2/visuren.html#display-prop">
5
<meta name="assert" content="display supports animation">
6
7
<script src="/resources/testharness.js"></script>
8
<script src="/resources/testharnessreport.js"></script>
9
<script src="/css/support/interpolation-testcommon.js"></script>
10
11
12
<style>
13
.target {
14
  display: block;
15
}
16
</style>
17
18
<body>
19
<script>
20
test_interpolation({
21
  property: 'display',
22
  from: 'none',
23
  to: 'flex',
24
  method: 'CSS Animations',
25
}, [
26
  {at: -0.3, expect: 'block'},
27
  {at: 0, expect: 'block'},
28
  {at: 0.3, expect: 'block'},
29
  {at: 0.6, expect: 'block'},
30
  {at: 1, expect: 'block'},
31
  {at: 1.5, expect: 'block'},
32
]);
33
test_interpolation({
34
  property: 'display',
35
  from: 'none',
36
  to: 'flex',
37
  method: 'Web Animations',
38
}, [
39
  {at: -0.3, expect: 'block'},
40
  {at: 0, expect: 'block'},
41
  {at: 0.3, expect: 'block'},
42
  {at: 0.6, expect: 'block'},
43
  {at: 1, expect: 'block'},
44
  {at: 1.5, expect: 'block'},
45
]);
46
</script>
47
</body>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-display/animations/w3c-import.log +17 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-display/animations/w3c-import.log_sec1
1
The tests in this directory were imported from the W3C repository.
2
Do NOT modify these tests directly in WebKit.
3
Instead, create a pull request on the WPT github:
4
	https://github.com/web-platform-tests/wpt
5
6
Then run the Tools/Scripts/import-w3c-tests in WebKit to reimport
7
8
Do NOT modify or remove this file.
9
10
------------------------------------------------------------------------
11
Properties requiring vendor prefixes:
12
None
13
Property values requiring vendor prefixes:
14
None
15
------------------------------------------------------------------------
16
List of files:
17
/LayoutTests/imported/w3c/web-platform-tests/css/css-display/animations/display-interpolation.html
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-display/display-change-iframe.html -1 / +1 lines
Lines 1-7 a/LayoutTests/imported/w3c/web-platform-tests/css/css-display/display-change-iframe.html_sec1
1
<!DOCTYPE html>
1
<!DOCTYPE html>
2
<html class="reftest-wait">
2
<html class="reftest-wait">
3
  <link rel="author" title="Morten Stenshorne" href="mailto:mstensho@chromium.org">
3
  <link rel="author" title="Morten Stenshorne" href="mailto:mstensho@chromium.org">
4
  <link rel="help" href="https://www.w3.org/TR/css-display-3/">
4
  <link rel="help" href="https://www.w3.org/TR/css-display-3/#outer-role">
5
  <link rel="help" href="https://html.spec.whatwg.org/multipage/rendering.html#replaced-elements">
5
  <link rel="help" href="https://html.spec.whatwg.org/multipage/rendering.html#replaced-elements">
6
  <link rel="match" href="../reference/ref-filled-green-100px-square.xht">
6
  <link rel="match" href="../reference/ref-filled-green-100px-square.xht">
7
  <p>Test passes if there is a filled green square and <strong>no red</strong>.</p>
7
  <p>Test passes if there is a filled green square and <strong>no red</strong>.</p>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-display/display-change-object-iframe.html -1 / +1 lines
Lines 1-7 a/LayoutTests/imported/w3c/web-platform-tests/css/css-display/display-change-object-iframe.html_sec1
1
<!DOCTYPE html>
1
<!DOCTYPE html>
2
<html class="reftest-wait">
2
<html class="reftest-wait">
3
  <link rel="author" title="Morten Stenshorne" href="mailto:mstensho@chromium.org">
3
  <link rel="author" title="Morten Stenshorne" href="mailto:mstensho@chromium.org">
4
  <link rel="help" href="https://www.w3.org/TR/css-display-3/">
4
  <link rel="help" href="https://www.w3.org/TR/css-display-3/#outer-role">
5
  <link rel="help" href="https://html.spec.whatwg.org/multipage/rendering.html#replaced-elements">
5
  <link rel="help" href="https://html.spec.whatwg.org/multipage/rendering.html#replaced-elements">
6
  <link rel="match" href="../reference/ref-filled-green-100px-square.xht">
6
  <link rel="match" href="../reference/ref-filled-green-100px-square.xht">
7
  <p>Test passes if there is a filled green square and <strong>no red</strong>.</p>
7
  <p>Test passes if there is a filled green square and <strong>no red</strong>.</p>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-display/display-contents-before-after-001.html -5 / +5 lines
Lines 13-21 a/LayoutTests/imported/w3c/web-platform-tests/css/css-display/display-contents-before-after-001.html_sec1
13
    .s::after { content: "S" }
13
    .s::after { content: "S" }
14
</style>
14
</style>
15
<p>You should see the word PASS below.</p>
15
<p>You should see the word PASS below.</p>
16
<div><!-- 
16
<div><!--
17
  --><div><div class="p"></div></div><!-- 
17
 --><div><div class="p"></div></div><!--
18
  --><div></div><!-- 
18
 --><div></div><!--
19
  --><div class="a"></div><!-- 
19
 --><div class="a"></div><!--
20
  --><div>S<div class="s"></div></div>
20
 --><div>S<div class="s"></div></div>
21
</div>
21
</div>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-display/display-contents-before-after-003.html -2 / +2 lines
Lines 11-19 a/LayoutTests/imported/w3c/web-platform-tests/css/css-display/display-contents-before-after-003.html_sec1
11
    .flex::before { display: contents; content: "A" }
11
    .flex::before { display: contents; content: "A" }
12
    .flex::after { display: contents; content: "S" }
12
    .flex::after { display: contents; content: "S" }
13
</style>
13
</style>
14
<!--  The before and after pseudo elements do not generate boxes due to
14
<!-- The before and after pseudo elements do not generate boxes due to
15
     display:contents, so that their generated text content constitutes a
15
     display:contents, so that their generated text content constitutes a
16
     contiguous sequence of child text runs which means they end up in the same
16
     contiguous sequence of child text runs which means they end up in the same
17
     flex item.  -->
17
     flex item. -->
18
<p>You should see the word PASS below.</p>
18
<p>You should see the word PASS below.</p>
19
P<div class="flex"></div>S
19
P<div class="flex"></div>S
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-display/display-contents-button.html -1 / +1 lines
Lines 15-18 a/LayoutTests/imported/w3c/web-platform-tests/css/css-display/display-contents-button.html_sec1
15
  }
15
  }
16
</style>
16
</style>
17
<p>You should see the word PASS below.</p>
17
<p>You should see the word PASS below.</p>
18
<button>P<!--  -->A<!--  -->S<!--  -->S</button>
18
<button>P<!---->A<!---->S<!---->S</button>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-display/display-contents-dynamic-before-after-001.html -5 / +5 lines
Lines 13-23 a/LayoutTests/imported/w3c/web-platform-tests/css/css-display/display-contents-dynamic-before-after-001.html_sec1
13
    .active div::before { color: green; }
13
    .active div::before { color: green; }
14
</style>
14
</style>
15
<p>You should see the word PASS in green and no red below.</p>
15
<p>You should see the word PASS in green and no red below.</p>
16
<div><!-- 
16
<div><!--
17
  --><div><div class="p"></div></div><!-- 
17
 --><div><div class="p"></div></div><!--
18
  --><div></div><!-- 
18
 --><div></div><!--
19
  --><div class="a"></div><!-- 
19
 --><div class="a"></div><!--
20
  --><div>S<div class="s"></div></div>
20
 --><div>S<div class="s"></div></div>
21
</div>
21
</div>
22
<script>
22
<script>
23
document.body.offsetTop;
23
document.body.offsetTop;
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-display/display-contents-dynamic-flex-002-inline-expected.html -1 / +1 lines
Lines 1-7 a/LayoutTests/imported/w3c/web-platform-tests/css/css-display/display-contents-dynamic-flex-002-inline-expected.html_sec1
1
<!DOCTYPE html>
1
<!DOCTYPE html>
2
<meta charset="utf-8">
2
<meta charset="utf-8">
3
<title>CSS Reftest Reference</title>
3
<title>CSS Reftest Reference</title>
4
<!--  Imported from: https://bugzilla.mozilla.org/show_bug.cgi?id=907396  -->
4
<!-- Imported from: https://bugzilla.mozilla.org/show_bug.cgi?id=907396 -->
5
<link rel="author" title="Mats Palmgren" href="mailto:mats@mozilla.com">
5
<link rel="author" title="Mats Palmgren" href="mailto:mats@mozilla.com">
6
<link rel="author" title="Emilio Cobos Álvarez" href="mailto:ecobos@igalia.com">
6
<link rel="author" title="Emilio Cobos Álvarez" href="mailto:ecobos@igalia.com">
7
<link rel="stylesheet" href="support/acid.css">
7
<link rel="stylesheet" href="support/acid.css">
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-display/display-contents-dynamic-flex-002-inline.html -1 / +1 lines
Lines 1-7 a/LayoutTests/imported/w3c/web-platform-tests/css/css-display/display-contents-dynamic-flex-002-inline.html_sec1
1
<!DOCTYPE html>
1
<!DOCTYPE html>
2
<meta charset="utf-8">
2
<meta charset="utf-8">
3
<title>CSS Test: CSS display: contents in flex layout</title>
3
<title>CSS Test: CSS display: contents in flex layout</title>
4
<!--  Imported from: https://bugzilla.mozilla.org/show_bug.cgi?id=907396  -->
4
<!-- Imported from: https://bugzilla.mozilla.org/show_bug.cgi?id=907396 -->
5
<link rel="author" title="Mats Palmgren" href="mailto:mats@mozilla.com">
5
<link rel="author" title="Mats Palmgren" href="mailto:mats@mozilla.com">
6
<link rel="author" title="Emilio Cobos Álvarez" href="mailto:ecobos@igalia.com">
6
<link rel="author" title="Emilio Cobos Álvarez" href="mailto:ecobos@igalia.com">
7
<link rel="help" href="https://drafts.csswg.org/css-display-3/#valdef-display-contents">
7
<link rel="help" href="https://drafts.csswg.org/css-display-3/#valdef-display-contents">
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-display/display-contents-dynamic-flex-002-none-expected.html -1 / +1 lines
Lines 1-7 a/LayoutTests/imported/w3c/web-platform-tests/css/css-display/display-contents-dynamic-flex-002-none-expected.html_sec1
1
<!DOCTYPE html>
1
<!DOCTYPE html>
2
<meta charset="utf-8">
2
<meta charset="utf-8">
3
<title>CSS Reftest Reference</title>
3
<title>CSS Reftest Reference</title>
4
<!--  Imported from: https://bugzilla.mozilla.org/show_bug.cgi?id=907396  -->
4
<!-- Imported from: https://bugzilla.mozilla.org/show_bug.cgi?id=907396 -->
5
<link rel="author" title="Mats Palmgren" href="mailto:mats@mozilla.com">
5
<link rel="author" title="Mats Palmgren" href="mailto:mats@mozilla.com">
6
<link rel="author" title="Emilio Cobos Álvarez" href="mailto:ecobos@igalia.com">
6
<link rel="author" title="Emilio Cobos Álvarez" href="mailto:ecobos@igalia.com">
7
<link rel="stylesheet" href="support/acid.css">
7
<link rel="stylesheet" href="support/acid.css">
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-display/display-contents-dynamic-flex-002-none.html -1 / +1 lines
Lines 1-7 a/LayoutTests/imported/w3c/web-platform-tests/css/css-display/display-contents-dynamic-flex-002-none.html_sec1
1
<!DOCTYPE html>
1
<!DOCTYPE html>
2
<meta charset="utf-8">
2
<meta charset="utf-8">
3
<title>CSS Test: CSS display: contents in flex layout</title>
3
<title>CSS Test: CSS display: contents in flex layout</title>
4
<!--  Imported from: https://bugzilla.mozilla.org/show_bug.cgi?id=907396  -->
4
<!-- Imported from: https://bugzilla.mozilla.org/show_bug.cgi?id=907396 -->
5
<link rel="author" title="Mats Palmgren" href="mailto:mats@mozilla.com">
5
<link rel="author" title="Mats Palmgren" href="mailto:mats@mozilla.com">
6
<link rel="author" title="Emilio Cobos Álvarez" href="mailto:ecobos@igalia.com">
6
<link rel="author" title="Emilio Cobos Álvarez" href="mailto:ecobos@igalia.com">
7
<link rel="help" href="https://drafts.csswg.org/css-display-3/#valdef-display-contents">
7
<link rel="help" href="https://drafts.csswg.org/css-display-3/#valdef-display-contents">
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-display/display-contents-dynamic-flex-003-inline-expected.html -1 / +1 lines
Lines 1-7 a/LayoutTests/imported/w3c/web-platform-tests/css/css-display/display-contents-dynamic-flex-003-inline-expected.html_sec1
1
<!DOCTYPE html>
1
<!DOCTYPE html>
2
<meta charset="utf-8">
2
<meta charset="utf-8">
3
<title>CSS Reftest Reference</title>
3
<title>CSS Reftest Reference</title>
4
<!--  Imported from: https://bugzilla.mozilla.org/show_bug.cgi?id=907396  -->
4
<!-- Imported from: https://bugzilla.mozilla.org/show_bug.cgi?id=907396 -->
5
<link rel="author" title="Mats Palmgren" href="mailto:mats@mozilla.com">
5
<link rel="author" title="Mats Palmgren" href="mailto:mats@mozilla.com">
6
<link rel="author" title="Emilio Cobos Álvarez" href="mailto:ecobos@igalia.com">
6
<link rel="author" title="Emilio Cobos Álvarez" href="mailto:ecobos@igalia.com">
7
<link rel="stylesheet" href="support/acid.css">
7
<link rel="stylesheet" href="support/acid.css">
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-display/display-contents-dynamic-flex-003-inline.html -1 / +1 lines
Lines 1-7 a/LayoutTests/imported/w3c/web-platform-tests/css/css-display/display-contents-dynamic-flex-003-inline.html_sec1
1
<!DOCTYPE html>
1
<!DOCTYPE html>
2
<meta charset="utf-8">
2
<meta charset="utf-8">
3
<title>CSS Test: CSS display: contents in flex layout</title>
3
<title>CSS Test: CSS display: contents in flex layout</title>
4
<!--  Imported from: https://bugzilla.mozilla.org/show_bug.cgi?id=907396  -->
4
<!-- Imported from: https://bugzilla.mozilla.org/show_bug.cgi?id=907396 -->
5
<link rel="author" title="Mats Palmgren" href="mailto:mats@mozilla.com">
5
<link rel="author" title="Mats Palmgren" href="mailto:mats@mozilla.com">
6
<link rel="author" title="Emilio Cobos Álvarez" href="mailto:ecobos@igalia.com">
6
<link rel="author" title="Emilio Cobos Álvarez" href="mailto:ecobos@igalia.com">
7
<link rel="help" href="https://drafts.csswg.org/css-display-3/#valdef-display-contents">
7
<link rel="help" href="https://drafts.csswg.org/css-display-3/#valdef-display-contents">
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-display/display-contents-dynamic-flex-003-none-expected.html -1 / +1 lines
Lines 1-7 a/LayoutTests/imported/w3c/web-platform-tests/css/css-display/display-contents-dynamic-flex-003-none-expected.html_sec1
1
<!DOCTYPE html>
1
<!DOCTYPE html>
2
<meta charset="utf-8">
2
<meta charset="utf-8">
3
<title>CSS Reftest Reference</title>
3
<title>CSS Reftest Reference</title>
4
<!--  Imported from: https://bugzilla.mozilla.org/show_bug.cgi?id=907396  -->
4
<!-- Imported from: https://bugzilla.mozilla.org/show_bug.cgi?id=907396 -->
5
<link rel="author" title="Mats Palmgren" href="mailto:mats@mozilla.com">
5
<link rel="author" title="Mats Palmgren" href="mailto:mats@mozilla.com">
6
<link rel="author" title="Emilio Cobos Álvarez" href="mailto:ecobos@igalia.com">
6
<link rel="author" title="Emilio Cobos Álvarez" href="mailto:ecobos@igalia.com">
7
<link rel="stylesheet" href="support/acid.css">
7
<link rel="stylesheet" href="support/acid.css">
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-display/display-contents-dynamic-flex-003-none.html -1 / +1 lines
Lines 1-7 a/LayoutTests/imported/w3c/web-platform-tests/css/css-display/display-contents-dynamic-flex-003-none.html_sec1
1
<!DOCTYPE html>
1
<!DOCTYPE html>
2
<meta charset="utf-8">
2
<meta charset="utf-8">
3
<title>CSS Test: CSS display: contents in flex layout</title>
3
<title>CSS Test: CSS display: contents in flex layout</title>
4
<!--  Imported from: https://bugzilla.mozilla.org/show_bug.cgi?id=907396  -->
4
<!-- Imported from: https://bugzilla.mozilla.org/show_bug.cgi?id=907396 -->
5
<link rel="author" title="Mats Palmgren" href="mailto:mats@mozilla.com">
5
<link rel="author" title="Mats Palmgren" href="mailto:mats@mozilla.com">
6
<link rel="author" title="Emilio Cobos Álvarez" href="mailto:ecobos@igalia.com">
6
<link rel="author" title="Emilio Cobos Álvarez" href="mailto:ecobos@igalia.com">
7
<link rel="help" href="https://drafts.csswg.org/css-display-3/#valdef-display-contents">
7
<link rel="help" href="https://drafts.csswg.org/css-display-3/#valdef-display-contents">
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-display/display-contents-dynamic-inline-flex-001-inline-expected.html -1 / +1 lines
Lines 1-7 a/LayoutTests/imported/w3c/web-platform-tests/css/css-display/display-contents-dynamic-inline-flex-001-inline-expected.html_sec1
1
<!DOCTYPE html>
1
<!DOCTYPE html>
2
<meta charset="utf-8">
2
<meta charset="utf-8">
3
<title>CSS Reftest Reference</title>
3
<title>CSS Reftest Reference</title>
4
<!--  Imported from: https://bugzilla.mozilla.org/show_bug.cgi?id=907396  -->
4
<!-- Imported from: https://bugzilla.mozilla.org/show_bug.cgi?id=907396 -->
5
<link rel="author" title="Mats Palmgren" href="mailto:mats@mozilla.com">
5
<link rel="author" title="Mats Palmgren" href="mailto:mats@mozilla.com">
6
<link rel="author" title="Emilio Cobos Álvarez" href="mailto:ecobos@igalia.com">
6
<link rel="author" title="Emilio Cobos Álvarez" href="mailto:ecobos@igalia.com">
7
<link rel="stylesheet" href="support/acid.css">
7
<link rel="stylesheet" href="support/acid.css">
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-display/display-contents-dynamic-inline-flex-001-inline.html -1 / +1 lines
Lines 1-7 a/LayoutTests/imported/w3c/web-platform-tests/css/css-display/display-contents-dynamic-inline-flex-001-inline.html_sec1
1
<!DOCTYPE html>
1
<!DOCTYPE html>
2
<meta charset="utf-8">
2
<meta charset="utf-8">
3
<title>CSS Test: CSS display: contents in inline-flex layout</title>
3
<title>CSS Test: CSS display: contents in inline-flex layout</title>
4
<!--  Imported from: https://bugzilla.mozilla.org/show_bug.cgi?id=907396  -->
4
<!-- Imported from: https://bugzilla.mozilla.org/show_bug.cgi?id=907396 -->
5
<link rel="author" title="Mats Palmgren" href="mailto:mats@mozilla.com">
5
<link rel="author" title="Mats Palmgren" href="mailto:mats@mozilla.com">
6
<link rel="author" title="Emilio Cobos Álvarez" href="mailto:ecobos@igalia.com">
6
<link rel="author" title="Emilio Cobos Álvarez" href="mailto:ecobos@igalia.com">
7
<link rel="help" href="https://drafts.csswg.org/css-display-3/#valdef-display-contents">
7
<link rel="help" href="https://drafts.csswg.org/css-display-3/#valdef-display-contents">
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-display/display-contents-dynamic-inline-flex-001-none-expected.html -1 / +1 lines
Lines 1-7 a/LayoutTests/imported/w3c/web-platform-tests/css/css-display/display-contents-dynamic-inline-flex-001-none-expected.html_sec1
1
<!DOCTYPE html>
1
<!DOCTYPE html>
2
<meta charset="utf-8">
2
<meta charset="utf-8">
3
<title>CSS Reftest Reference</title>
3
<title>CSS Reftest Reference</title>
4
<!--  Imported from: https://bugzilla.mozilla.org/show_bug.cgi?id=907396  -->
4
<!-- Imported from: https://bugzilla.mozilla.org/show_bug.cgi?id=907396 -->
5
<link rel="author" title="Mats Palmgren" href="mailto:mats@mozilla.com">
5
<link rel="author" title="Mats Palmgren" href="mailto:mats@mozilla.com">
6
<link rel="author" title="Emilio Cobos Álvarez" href="mailto:ecobos@igalia.com">
6
<link rel="author" title="Emilio Cobos Álvarez" href="mailto:ecobos@igalia.com">
7
<link rel="stylesheet" href="support/acid.css">
7
<link rel="stylesheet" href="support/acid.css">
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-display/display-contents-dynamic-inline-flex-001-none.html -1 / +1 lines
Lines 1-7 a/LayoutTests/imported/w3c/web-platform-tests/css/css-display/display-contents-dynamic-inline-flex-001-none.html_sec1
1
<!DOCTYPE html>
1
<!DOCTYPE html>
2
<meta charset="utf-8">
2
<meta charset="utf-8">
3
<title>CSS Test: CSS display: contents in inline-flex layout</title>
3
<title>CSS Test: CSS display: contents in inline-flex layout</title>
4
<!--  Imported from: https://bugzilla.mozilla.org/show_bug.cgi?id=907396  -->
4
<!-- Imported from: https://bugzilla.mozilla.org/show_bug.cgi?id=907396 -->
5
<link rel="author" title="Mats Palmgren" href="mailto:mats@mozilla.com">
5
<link rel="author" title="Mats Palmgren" href="mailto:mats@mozilla.com">
6
<link rel="author" title="Emilio Cobos Álvarez" href="mailto:ecobos@igalia.com">
6
<link rel="author" title="Emilio Cobos Álvarez" href="mailto:ecobos@igalia.com">
7
<link rel="help" href="https://drafts.csswg.org/css-display-3/#valdef-display-contents">
7
<link rel="help" href="https://drafts.csswg.org/css-display-3/#valdef-display-contents">
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-display/display-contents-dynamic-list-001-inline-expected.html -1 / +1 lines
Lines 1-7 a/LayoutTests/imported/w3c/web-platform-tests/css/css-display/display-contents-dynamic-list-001-inline-expected.html_sec1
1
<!DOCTYPE html>
1
<!DOCTYPE html>
2
<meta charset="utf-8">
2
<meta charset="utf-8">
3
<title>CSS Reftest Reference</title>
3
<title>CSS Reftest Reference</title>
4
<!--  Imported from: https://bugzilla.mozilla.org/show_bug.cgi?id=907396  -->
4
<!-- Imported from: https://bugzilla.mozilla.org/show_bug.cgi?id=907396 -->
5
<link rel="author" title="Mats Palmgren" href="mailto:mats@mozilla.com">
5
<link rel="author" title="Mats Palmgren" href="mailto:mats@mozilla.com">
6
<link rel="author" title="Emilio Cobos Álvarez" href="mailto:ecobos@igalia.com">
6
<link rel="author" title="Emilio Cobos Álvarez" href="mailto:ecobos@igalia.com">
7
<link rel="stylesheet" href="support/acid.css">
7
<link rel="stylesheet" href="support/acid.css">
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-display/display-contents-dynamic-list-001-inline.html -1 / +1 lines
Lines 1-7 a/LayoutTests/imported/w3c/web-platform-tests/css/css-display/display-contents-dynamic-list-001-inline.html_sec1
1
<!DOCTYPE html>
1
<!DOCTYPE html>
2
<meta charset="utf-8">
2
<meta charset="utf-8">
3
<title>CSS Test: CSS display: contents in list layout</title>
3
<title>CSS Test: CSS display: contents in list layout</title>
4
<!--  Imported from: https://bugzilla.mozilla.org/show_bug.cgi?id=907396  -->
4
<!-- Imported from: https://bugzilla.mozilla.org/show_bug.cgi?id=907396 -->
5
<link rel="author" title="Mats Palmgren" href="mailto:mats@mozilla.com">
5
<link rel="author" title="Mats Palmgren" href="mailto:mats@mozilla.com">
6
<link rel="author" title="Emilio Cobos Álvarez" href="mailto:ecobos@igalia.com">
6
<link rel="author" title="Emilio Cobos Álvarez" href="mailto:ecobos@igalia.com">
7
<link rel="help" href="https://drafts.csswg.org/css-display-3/#valdef-display-contents">
7
<link rel="help" href="https://drafts.csswg.org/css-display-3/#valdef-display-contents">
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-display/display-contents-dynamic-list-001-none-expected.html -1 / +1 lines
Lines 1-7 a/LayoutTests/imported/w3c/web-platform-tests/css/css-display/display-contents-dynamic-list-001-none-expected.html_sec1
1
<!DOCTYPE html>
1
<!DOCTYPE html>
2
<meta charset="utf-8">
2
<meta charset="utf-8">
3
<title>CSS Reftest Reference</title>
3
<title>CSS Reftest Reference</title>
4
<!--  Imported from: https://bugzilla.mozilla.org/show_bug.cgi?id=907396  -->
4
<!-- Imported from: https://bugzilla.mozilla.org/show_bug.cgi?id=907396 -->
5
<link rel="author" title="Mats Palmgren" href="mailto:mats@mozilla.com">
5
<link rel="author" title="Mats Palmgren" href="mailto:mats@mozilla.com">
6
<link rel="author" title="Emilio Cobos Álvarez" href="mailto:ecobos@igalia.com">
6
<link rel="author" title="Emilio Cobos Álvarez" href="mailto:ecobos@igalia.com">
7
<link rel="stylesheet" href="support/acid.css">
7
<link rel="stylesheet" href="support/acid.css">
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-display/display-contents-dynamic-list-001-none.html -1 / +1 lines
Lines 1-7 a/LayoutTests/imported/w3c/web-platform-tests/css/css-display/display-contents-dynamic-list-001-none.html_sec1
1
<!DOCTYPE html>
1
<!DOCTYPE html>
2
<meta charset="utf-8">
2
<meta charset="utf-8">
3
<title>CSS Test: CSS display: contents in list layout</title>
3
<title>CSS Test: CSS display: contents in list layout</title>
4
<!--  Imported from: https://bugzilla.mozilla.org/show_bug.cgi?id=907396  -->
4
<!-- Imported from: https://bugzilla.mozilla.org/show_bug.cgi?id=907396 -->
5
<link rel="author" title="Mats Palmgren" href="mailto:mats@mozilla.com">
5
<link rel="author" title="Mats Palmgren" href="mailto:mats@mozilla.com">
6
<link rel="author" title="Emilio Cobos Álvarez" href="mailto:ecobos@igalia.com">
6
<link rel="author" title="Emilio Cobos Álvarez" href="mailto:ecobos@igalia.com">
7
<link rel="help" href="https://drafts.csswg.org/css-display-3/#valdef-display-contents">
7
<link rel="help" href="https://drafts.csswg.org/css-display-3/#valdef-display-contents">
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-display/display-contents-dynamic-multicol-001-inline-expected.html -1 / +1 lines
Lines 1-7 a/LayoutTests/imported/w3c/web-platform-tests/css/css-display/display-contents-dynamic-multicol-001-inline-expected.html_sec1
1
<!DOCTYPE html>
1
<!DOCTYPE html>
2
<meta charset="utf-8">
2
<meta charset="utf-8">
3
<title>CSS Reftest Reference</title>
3
<title>CSS Reftest Reference</title>
4
<!--  Imported from: https://bugzilla.mozilla.org/show_bug.cgi?id=907396  -->
4
<!-- Imported from: https://bugzilla.mozilla.org/show_bug.cgi?id=907396 -->
5
<link rel="author" title="Mats Palmgren" href="mailto:mats@mozilla.com">
5
<link rel="author" title="Mats Palmgren" href="mailto:mats@mozilla.com">
6
<link rel="author" title="Emilio Cobos Álvarez" href="mailto:ecobos@igalia.com">
6
<link rel="author" title="Emilio Cobos Álvarez" href="mailto:ecobos@igalia.com">
7
<link rel="stylesheet" href="support/acid.css">
7
<link rel="stylesheet" href="support/acid.css">
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-display/display-contents-dynamic-multicol-001-inline.html -1 / +1 lines
Lines 1-7 a/LayoutTests/imported/w3c/web-platform-tests/css/css-display/display-contents-dynamic-multicol-001-inline.html_sec1
1
<!DOCTYPE html>
1
<!DOCTYPE html>
2
<meta charset="utf-8">
2
<meta charset="utf-8">
3
<title>CSS Test: CSS display:contents in multicolumn layout</title>
3
<title>CSS Test: CSS display:contents in multicolumn layout</title>
4
<!--  Imported from: https://bugzilla.mozilla.org/show_bug.cgi?id=907396  -->
4
<!-- Imported from: https://bugzilla.mozilla.org/show_bug.cgi?id=907396 -->
5
<link rel="author" title="Mats Palmgren" href="mailto:mats@mozilla.com">
5
<link rel="author" title="Mats Palmgren" href="mailto:mats@mozilla.com">
6
<link rel="author" title="Emilio Cobos Álvarez" href="mailto:ecobos@igalia.com">
6
<link rel="author" title="Emilio Cobos Álvarez" href="mailto:ecobos@igalia.com">
7
<link rel="help" href="https://drafts.csswg.org/css-display-3/#valdef-display-contents">
7
<link rel="help" href="https://drafts.csswg.org/css-display-3/#valdef-display-contents">
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-display/display-contents-dynamic-multicol-001-none-expected.html -1 / +1 lines
Lines 1-7 a/LayoutTests/imported/w3c/web-platform-tests/css/css-display/display-contents-dynamic-multicol-001-none-expected.html_sec1
1
<!DOCTYPE html>
1
<!DOCTYPE html>
2
<meta charset="utf-8">
2
<meta charset="utf-8">
3
<title>CSS Reftest Reference</title>
3
<title>CSS Reftest Reference</title>
4
<!--  Imported from: https://bugzilla.mozilla.org/show_bug.cgi?id=907396  -->
4
<!-- Imported from: https://bugzilla.mozilla.org/show_bug.cgi?id=907396 -->
5
<link rel="author" title="Mats Palmgren" href="mailto:mats@mozilla.com">
5
<link rel="author" title="Mats Palmgren" href="mailto:mats@mozilla.com">
6
<link rel="author" title="Emilio Cobos Álvarez" href="mailto:ecobos@igalia.com">
6
<link rel="author" title="Emilio Cobos Álvarez" href="mailto:ecobos@igalia.com">
7
<link rel="stylesheet" href="support/acid.css">
7
<link rel="stylesheet" href="support/acid.css">
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-display/display-contents-dynamic-multicol-001-none.html -1 / +1 lines
Lines 1-7 a/LayoutTests/imported/w3c/web-platform-tests/css/css-display/display-contents-dynamic-multicol-001-none.html_sec1
1
<!DOCTYPE html>
1
<!DOCTYPE html>
2
<meta charset="utf-8">
2
<meta charset="utf-8">
3
<title>CSS Test: CSS display:contents in multicolumn layout</title>
3
<title>CSS Test: CSS display:contents in multicolumn layout</title>
4
<!--  Imported from: https://bugzilla.mozilla.org/show_bug.cgi?id=907396  -->
4
<!-- Imported from: https://bugzilla.mozilla.org/show_bug.cgi?id=907396 -->
5
<link rel="author" title="Mats Palmgren" href="mailto:mats@mozilla.com">
5
<link rel="author" title="Mats Palmgren" href="mailto:mats@mozilla.com">
6
<link rel="author" title="Emilio Cobos Álvarez" href="mailto:ecobos@igalia.com">
6
<link rel="author" title="Emilio Cobos Álvarez" href="mailto:ecobos@igalia.com">
7
<link rel="help" href="https://drafts.csswg.org/css-display-3/#valdef-display-contents">
7
<link rel="help" href="https://drafts.csswg.org/css-display-3/#valdef-display-contents">
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-display/display-contents-dynamic-table-001-inline-expected.html -1 / +1 lines
Lines 1-7 a/LayoutTests/imported/w3c/web-platform-tests/css/css-display/display-contents-dynamic-table-001-inline-expected.html_sec1
1
<!DOCTYPE html>
1
<!DOCTYPE html>
2
<meta charset="utf-8">
2
<meta charset="utf-8">
3
<title>CSS Reftest Reference</title>
3
<title>CSS Reftest Reference</title>
4
<!--  Imported from: https://bugzilla.mozilla.org/show_bug.cgi?id=907396  -->
4
<!-- Imported from: https://bugzilla.mozilla.org/show_bug.cgi?id=907396 -->
5
<link rel="author" title="Mats Palmgren" href="mailto:mats@mozilla.com">
5
<link rel="author" title="Mats Palmgren" href="mailto:mats@mozilla.com">
6
<link rel="author" title="Emilio Cobos Álvarez" href="mailto:ecobos@igalia.com">
6
<link rel="author" title="Emilio Cobos Álvarez" href="mailto:ecobos@igalia.com">
7
<link rel="stylesheet" href="support/acid.css">
7
<link rel="stylesheet" href="support/acid.css">
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-display/display-contents-dynamic-table-001-inline.html -1 / +1 lines
Lines 1-7 a/LayoutTests/imported/w3c/web-platform-tests/css/css-display/display-contents-dynamic-table-001-inline.html_sec1
1
<!DOCTYPE html>
1
<!DOCTYPE html>
2
<meta charset="utf-8">
2
<meta charset="utf-8">
3
<title>CSS Test: CSS display:contents</title>
3
<title>CSS Test: CSS display:contents</title>
4
<!--  Imported from: https://bugzilla.mozilla.org/show_bug.cgi?id=907396  -->
4
<!-- Imported from: https://bugzilla.mozilla.org/show_bug.cgi?id=907396 -->
5
<link rel="author" title="Mats Palmgren" href="mailto:mats@mozilla.com">
5
<link rel="author" title="Mats Palmgren" href="mailto:mats@mozilla.com">
6
<link rel="author" title="Emilio Cobos Álvarez" href="mailto:ecobos@igalia.com">
6
<link rel="author" title="Emilio Cobos Álvarez" href="mailto:ecobos@igalia.com">
7
<link rel="help" href="https://drafts.csswg.org/css-display-3/#valdef-display-contents">
7
<link rel="help" href="https://drafts.csswg.org/css-display-3/#valdef-display-contents">
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-display/display-contents-dynamic-table-001-none-expected.html -1 / +1 lines
Lines 1-7 a/LayoutTests/imported/w3c/web-platform-tests/css/css-display/display-contents-dynamic-table-001-none-expected.html_sec1
1
<!DOCTYPE html>
1
<!DOCTYPE html>
2
<meta charset="utf-8">
2
<meta charset="utf-8">
3
<title>CSS Reftest Reference</title>
3
<title>CSS Reftest Reference</title>
4
<!--  Imported from: https://bugzilla.mozilla.org/show_bug.cgi?id=907396  -->
4
<!-- Imported from: https://bugzilla.mozilla.org/show_bug.cgi?id=907396 -->
5
<link rel="author" title="Mats Palmgren" href="mailto:mats@mozilla.com">
5
<link rel="author" title="Mats Palmgren" href="mailto:mats@mozilla.com">
6
<link rel="author" title="Emilio Cobos Álvarez" href="mailto:ecobos@igalia.com">
6
<link rel="author" title="Emilio Cobos Álvarez" href="mailto:ecobos@igalia.com">
7
<link rel="stylesheet" href="support/acid.css">
7
<link rel="stylesheet" href="support/acid.css">
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-display/display-contents-dynamic-table-001-none.html -1 / +1 lines
Lines 1-7 a/LayoutTests/imported/w3c/web-platform-tests/css/css-display/display-contents-dynamic-table-001-none.html_sec1
1
<!DOCTYPE html>
1
<!DOCTYPE html>
2
<meta charset="utf-8">
2
<meta charset="utf-8">
3
<title>CSS Test: CSS display:contents</title>
3
<title>CSS Test: CSS display:contents</title>
4
<!--  Imported from: https://bugzilla.mozilla.org/show_bug.cgi?id=907396  -->
4
<!-- Imported from: https://bugzilla.mozilla.org/show_bug.cgi?id=907396 -->
5
<link rel="author" title="Mats Palmgren" href="mailto:mats@mozilla.com">
5
<link rel="author" title="Mats Palmgren" href="mailto:mats@mozilla.com">
6
<link rel="author" title="Emilio Cobos Álvarez" href="mailto:ecobos@igalia.com">
6
<link rel="author" title="Emilio Cobos Álvarez" href="mailto:ecobos@igalia.com">
7
<link rel="help" href="https://drafts.csswg.org/css-display-3/#valdef-display-contents">
7
<link rel="help" href="https://drafts.csswg.org/css-display-3/#valdef-display-contents">
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-display/display-contents-dynamic-table-002-inline-expected.html -1 / +1 lines
Lines 1-7 a/LayoutTests/imported/w3c/web-platform-tests/css/css-display/display-contents-dynamic-table-002-inline-expected.html_sec1
1
<!DOCTYPE html>
1
<!DOCTYPE html>
2
<meta charset="utf-8">
2
<meta charset="utf-8">
3
<title>CSS Reftest Reference</title>
3
<title>CSS Reftest Reference</title>
4
<!--  Imported from: https://bugzilla.mozilla.org/show_bug.cgi?id=907396  -->
4
<!-- Imported from: https://bugzilla.mozilla.org/show_bug.cgi?id=907396 -->
5
<link rel="author" title="Mats Palmgren" href="mailto:mats@mozilla.com">
5
<link rel="author" title="Mats Palmgren" href="mailto:mats@mozilla.com">
6
<link rel="author" title="Emilio Cobos Álvarez" href="mailto:ecobos@igalia.com">
6
<link rel="author" title="Emilio Cobos Álvarez" href="mailto:ecobos@igalia.com">
7
<link rel="stylesheet" href="support/acid.css">
7
<link rel="stylesheet" href="support/acid.css">
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-display/display-contents-dynamic-table-002-inline.html -1 / +1 lines
Lines 1-7 a/LayoutTests/imported/w3c/web-platform-tests/css/css-display/display-contents-dynamic-table-002-inline.html_sec1
1
<!DOCTYPE html>
1
<!DOCTYPE html>
2
<meta charset="utf-8">
2
<meta charset="utf-8">
3
<title>CSS Test: CSS display:contents in table layout</title>
3
<title>CSS Test: CSS display:contents in table layout</title>
4
<!--  Imported from: https://bugzilla.mozilla.org/show_bug.cgi?id=907396  -->
4
<!-- Imported from: https://bugzilla.mozilla.org/show_bug.cgi?id=907396 -->
5
<link rel="author" title="Mats Palmgren" href="mailto:mats@mozilla.com">
5
<link rel="author" title="Mats Palmgren" href="mailto:mats@mozilla.com">
6
<link rel="author" title="Emilio Cobos Álvarez" href="mailto:ecobos@igalia.com">
6
<link rel="author" title="Emilio Cobos Álvarez" href="mailto:ecobos@igalia.com">
7
<link rel="help" href="https://drafts.csswg.org/css-display-3/#valdef-display-contents">
7
<link rel="help" href="https://drafts.csswg.org/css-display-3/#valdef-display-contents">
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-display/display-contents-dynamic-table-002-none-expected.html -1 / +1 lines
Lines 1-7 a/LayoutTests/imported/w3c/web-platform-tests/css/css-display/display-contents-dynamic-table-002-none-expected.html_sec1
1
<!DOCTYPE html>
1
<!DOCTYPE html>
2
<meta charset="utf-8">
2
<meta charset="utf-8">
3
<title>CSS Reftest Reference</title>
3
<title>CSS Reftest Reference</title>
4
<!--  Imported from: https://bugzilla.mozilla.org/show_bug.cgi?id=907396  -->
4
<!-- Imported from: https://bugzilla.mozilla.org/show_bug.cgi?id=907396 -->
5
<link rel="author" title="Mats Palmgren" href="mailto:mats@mozilla.com">
5
<link rel="author" title="Mats Palmgren" href="mailto:mats@mozilla.com">
6
<link rel="author" title="Emilio Cobos Álvarez" href="mailto:ecobos@igalia.com">
6
<link rel="author" title="Emilio Cobos Álvarez" href="mailto:ecobos@igalia.com">
7
<link rel="stylesheet" href="support/acid.css">
7
<link rel="stylesheet" href="support/acid.css">
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-display/display-contents-dynamic-table-002-none.html -1 / +1 lines
Lines 1-7 a/LayoutTests/imported/w3c/web-platform-tests/css/css-display/display-contents-dynamic-table-002-none.html_sec1
1
<!DOCTYPE html>
1
<!DOCTYPE html>
2
<meta charset="utf-8">
2
<meta charset="utf-8">
3
<title>CSS Test: CSS display:contents in table layout</title>
3
<title>CSS Test: CSS display:contents in table layout</title>
4
<!--  Imported from: https://bugzilla.mozilla.org/show_bug.cgi?id=907396  -->
4
<!-- Imported from: https://bugzilla.mozilla.org/show_bug.cgi?id=907396 -->
5
<link rel="author" title="Mats Palmgren" href="mailto:mats@mozilla.com">
5
<link rel="author" title="Mats Palmgren" href="mailto:mats@mozilla.com">
6
<link rel="author" title="Emilio Cobos Álvarez" href="mailto:ecobos@igalia.com">
6
<link rel="author" title="Emilio Cobos Álvarez" href="mailto:ecobos@igalia.com">
7
<link rel="help" href="https://drafts.csswg.org/css-display-3/#valdef-display-contents">
7
<link rel="help" href="https://drafts.csswg.org/css-display-3/#valdef-display-contents">
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-display/display-contents-fieldset-nested-legend.html -2 / +2 lines
Lines 1-8 a/LayoutTests/imported/w3c/web-platform-tests/css/css-display/display-contents-fieldset-nested-legend.html_sec1
1
<!doctype html>
1
<!doctype html>
2
<!-- 
2
<!--
3
     Any copyright is dedicated to the Public Domain.
3
     Any copyright is dedicated to the Public Domain.
4
     http://creativecommons.org/publicdomain/zero/1.0/
4
     http://creativecommons.org/publicdomain/zero/1.0/
5
 -->
5
-->
6
<meta charset="utf-8">
6
<meta charset="utf-8">
7
<link rel="match" href="display-contents-fieldset-nested-legend-ref.html">
7
<link rel="match" href="display-contents-fieldset-nested-legend-ref.html">
8
<link rel="help" href="https://drafts.csswg.org/css-display/#unbox">
8
<link rel="help" href="https://drafts.csswg.org/css-display/#unbox">
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-display/display-contents-flex-002-expected.html -1 / +1 lines
Lines 1-7 a/LayoutTests/imported/w3c/web-platform-tests/css/css-display/display-contents-flex-002-expected.html_sec1
1
<!DOCTYPE html>
1
<!DOCTYPE html>
2
<meta charset="utf-8">
2
<meta charset="utf-8">
3
<title>CSS Reftest Reference</title>
3
<title>CSS Reftest Reference</title>
4
<!--  Imported from: https://bugzilla.mozilla.org/show_bug.cgi?id=907396  -->
4
<!-- Imported from: https://bugzilla.mozilla.org/show_bug.cgi?id=907396 -->
5
<link rel="author" title="Mats Palmgren" href="mailto:mats@mozilla.com">
5
<link rel="author" title="Mats Palmgren" href="mailto:mats@mozilla.com">
6
<link rel="author" title="Emilio Cobos Álvarez" href="mailto:ecobos@igalia.com">
6
<link rel="author" title="Emilio Cobos Álvarez" href="mailto:ecobos@igalia.com">
7
<link rel="stylesheet" href="support/acid.css">
7
<link rel="stylesheet" href="support/acid.css">
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-display/display-contents-flex-002.html -1 / +1 lines
Lines 1-7 a/LayoutTests/imported/w3c/web-platform-tests/css/css-display/display-contents-flex-002.html_sec1
1
<!DOCTYPE html>
1
<!DOCTYPE html>
2
<meta charset="utf-8">
2
<meta charset="utf-8">
3
<title>CSS Test: CSS display: contents in flex layout</title>
3
<title>CSS Test: CSS display: contents in flex layout</title>
4
<!--  Imported from: https://bugzilla.mozilla.org/show_bug.cgi?id=907396  -->
4
<!-- Imported from: https://bugzilla.mozilla.org/show_bug.cgi?id=907396 -->
5
<link rel="author" title="Mats Palmgren" href="mailto:mats@mozilla.com">
5
<link rel="author" title="Mats Palmgren" href="mailto:mats@mozilla.com">
6
<link rel="author" title="Emilio Cobos Álvarez" href="mailto:ecobos@igalia.com">
6
<link rel="author" title="Emilio Cobos Álvarez" href="mailto:ecobos@igalia.com">
7
<link rel="help" href="https://drafts.csswg.org/css-display-3/#valdef-display-contents">
7
<link rel="help" href="https://drafts.csswg.org/css-display-3/#valdef-display-contents">
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-display/display-contents-flex-003-expected.html -1 / +1 lines
Lines 1-7 a/LayoutTests/imported/w3c/web-platform-tests/css/css-display/display-contents-flex-003-expected.html_sec1
1
<!DOCTYPE html>
1
<!DOCTYPE html>
2
<meta charset="utf-8">
2
<meta charset="utf-8">
3
<title>CSS Reftest Reference</title>
3
<title>CSS Reftest Reference</title>
4
<!--  Imported from: https://bugzilla.mozilla.org/show_bug.cgi?id=907396  -->
4
<!-- Imported from: https://bugzilla.mozilla.org/show_bug.cgi?id=907396 -->
5
<link rel="author" title="Mats Palmgren" href="mailto:mats@mozilla.com">
5
<link rel="author" title="Mats Palmgren" href="mailto:mats@mozilla.com">
6
<link rel="author" title="Emilio Cobos Álvarez" href="mailto:ecobos@igalia.com">
6
<link rel="author" title="Emilio Cobos Álvarez" href="mailto:ecobos@igalia.com">
7
<link rel="stylesheet" href="support/acid.css">
7
<link rel="stylesheet" href="support/acid.css">
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-display/display-contents-flex-003.html -1 / +1 lines
Lines 1-7 a/LayoutTests/imported/w3c/web-platform-tests/css/css-display/display-contents-flex-003.html_sec1
1
<!DOCTYPE html>
1
<!DOCTYPE html>
2
<meta charset="utf-8">
2
<meta charset="utf-8">
3
<title>CSS Test: CSS display: contents in flex layout</title>
3
<title>CSS Test: CSS display: contents in flex layout</title>
4
<!--  Imported from: https://bugzilla.mozilla.org/show_bug.cgi?id=907396  -->
4
<!-- Imported from: https://bugzilla.mozilla.org/show_bug.cgi?id=907396 -->
5
<link rel="author" title="Mats Palmgren" href="mailto:mats@mozilla.com">
5
<link rel="author" title="Mats Palmgren" href="mailto:mats@mozilla.com">
6
<link rel="author" title="Emilio Cobos Álvarez" href="mailto:ecobos@igalia.com">
6
<link rel="author" title="Emilio Cobos Álvarez" href="mailto:ecobos@igalia.com">
7
<link rel="help" href="https://drafts.csswg.org/css-display-3/#valdef-display-contents">
7
<link rel="help" href="https://drafts.csswg.org/css-display-3/#valdef-display-contents">
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-display/display-contents-inline-flex-001-expected.html -1 / +1 lines
Lines 1-7 a/LayoutTests/imported/w3c/web-platform-tests/css/css-display/display-contents-inline-flex-001-expected.html_sec1
1
<!DOCTYPE html>
1
<!DOCTYPE html>
2
<meta charset="utf-8">
2
<meta charset="utf-8">
3
<title>CSS Reftest Reference</title>
3
<title>CSS Reftest Reference</title>
4
<!--  Imported from: https://bugzilla.mozilla.org/show_bug.cgi?id=907396  -->
4
<!-- Imported from: https://bugzilla.mozilla.org/show_bug.cgi?id=907396 -->
5
<link rel="author" title="Mats Palmgren" href="mailto:mats@mozilla.com">
5
<link rel="author" title="Mats Palmgren" href="mailto:mats@mozilla.com">
6
<link rel="author" title="Emilio Cobos Álvarez" href="mailto:ecobos@igalia.com">
6
<link rel="author" title="Emilio Cobos Álvarez" href="mailto:ecobos@igalia.com">
7
<link rel="stylesheet" href="support/acid.css">
7
<link rel="stylesheet" href="support/acid.css">
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-display/display-contents-inline-flex-001.html -1 / +1 lines
Lines 1-7 a/LayoutTests/imported/w3c/web-platform-tests/css/css-display/display-contents-inline-flex-001.html_sec1
1
<!DOCTYPE html>
1
<!DOCTYPE html>
2
<meta charset="utf-8">
2
<meta charset="utf-8">
3
<title>CSS Test: CSS display: contents in inline-flex layout</title>
3
<title>CSS Test: CSS display: contents in inline-flex layout</title>
4
<!--  Imported from: https://bugzilla.mozilla.org/show_bug.cgi?id=907396  -->
4
<!-- Imported from: https://bugzilla.mozilla.org/show_bug.cgi?id=907396 -->
5
<link rel="author" title="Mats Palmgren" href="mailto:mats@mozilla.com">
5
<link rel="author" title="Mats Palmgren" href="mailto:mats@mozilla.com">
6
<link rel="author" title="Emilio Cobos Álvarez" href="mailto:ecobos@igalia.com">
6
<link rel="author" title="Emilio Cobos Álvarez" href="mailto:ecobos@igalia.com">
7
<link rel="help" href="https://drafts.csswg.org/css-display-3/#valdef-display-contents">
7
<link rel="help" href="https://drafts.csswg.org/css-display-3/#valdef-display-contents">
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-display/display-contents-list-001-expected.html -1 / +1 lines
Lines 1-7 a/LayoutTests/imported/w3c/web-platform-tests/css/css-display/display-contents-list-001-expected.html_sec1
1
<!DOCTYPE html>
1
<!DOCTYPE html>
2
<meta charset="utf-8">
2
<meta charset="utf-8">
3
<title>CSS Reftest Reference</title>
3
<title>CSS Reftest Reference</title>
4
<!--  Imported from: https://bugzilla.mozilla.org/show_bug.cgi?id=907396  -->
4
<!-- Imported from: https://bugzilla.mozilla.org/show_bug.cgi?id=907396 -->
5
<link rel="author" title="Mats Palmgren" href="mailto:mats@mozilla.com">
5
<link rel="author" title="Mats Palmgren" href="mailto:mats@mozilla.com">
6
<link rel="author" title="Emilio Cobos Álvarez" href="mailto:ecobos@igalia.com">
6
<link rel="author" title="Emilio Cobos Álvarez" href="mailto:ecobos@igalia.com">
7
<link rel="stylesheet" href="support/acid.css">
7
<link rel="stylesheet" href="support/acid.css">
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-display/display-contents-list-001.html -1 / +1 lines
Lines 1-7 a/LayoutTests/imported/w3c/web-platform-tests/css/css-display/display-contents-list-001.html_sec1
1
<!DOCTYPE html>
1
<!DOCTYPE html>
2
<meta charset="utf-8">
2
<meta charset="utf-8">
3
<title>CSS Test: CSS display: contents in list layout</title>
3
<title>CSS Test: CSS display: contents in list layout</title>
4
<!--  Imported from: https://bugzilla.mozilla.org/show_bug.cgi?id=907396  -->
4
<!-- Imported from: https://bugzilla.mozilla.org/show_bug.cgi?id=907396 -->
5
<link rel="author" title="Mats Palmgren" href="mailto:mats@mozilla.com">
5
<link rel="author" title="Mats Palmgren" href="mailto:mats@mozilla.com">
6
<link rel="author" title="Emilio Cobos Álvarez" href="mailto:ecobos@igalia.com">
6
<link rel="author" title="Emilio Cobos Álvarez" href="mailto:ecobos@igalia.com">
7
<link rel="help" href="https://drafts.csswg.org/css-display-3/#valdef-display-contents">
7
<link rel="help" href="https://drafts.csswg.org/css-display-3/#valdef-display-contents">
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-display/display-contents-multicol-001-expected.html -1 / +1 lines
Lines 1-7 a/LayoutTests/imported/w3c/web-platform-tests/css/css-display/display-contents-multicol-001-expected.html_sec1
1
<!DOCTYPE html>
1
<!DOCTYPE html>
2
<meta charset="utf-8">
2
<meta charset="utf-8">
3
<title>CSS Reftest Reference</title>
3
<title>CSS Reftest Reference</title>
4
<!--  Imported from: https://bugzilla.mozilla.org/show_bug.cgi?id=907396  -->
4
<!-- Imported from: https://bugzilla.mozilla.org/show_bug.cgi?id=907396 -->
5
<link rel="author" title="Mats Palmgren" href="mailto:mats@mozilla.com">
5
<link rel="author" title="Mats Palmgren" href="mailto:mats@mozilla.com">
6
<link rel="author" title="Emilio Cobos Álvarez" href="mailto:ecobos@igalia.com">
6
<link rel="author" title="Emilio Cobos Álvarez" href="mailto:ecobos@igalia.com">
7
<link rel="stylesheet" href="support/acid.css">
7
<link rel="stylesheet" href="support/acid.css">
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-display/display-contents-multicol-001.html -1 / +1 lines
Lines 1-7 a/LayoutTests/imported/w3c/web-platform-tests/css/css-display/display-contents-multicol-001.html_sec1
1
<!DOCTYPE html>
1
<!DOCTYPE html>
2
<meta charset="utf-8">
2
<meta charset="utf-8">
3
<title>CSS Test: CSS display:contents in multicolumn layout</title>
3
<title>CSS Test: CSS display:contents in multicolumn layout</title>
4
<!--  Imported from: https://bugzilla.mozilla.org/show_bug.cgi?id=907396  -->
4
<!-- Imported from: https://bugzilla.mozilla.org/show_bug.cgi?id=907396 -->
5
<link rel="author" title="Mats Palmgren" href="mailto:mats@mozilla.com">
5
<link rel="author" title="Mats Palmgren" href="mailto:mats@mozilla.com">
6
<link rel="author" title="Emilio Cobos Álvarez" href="mailto:ecobos@igalia.com">
6
<link rel="author" title="Emilio Cobos Álvarez" href="mailto:ecobos@igalia.com">
7
<link rel="help" href="https://drafts.csswg.org/css-display-3/#valdef-display-contents">
7
<link rel="help" href="https://drafts.csswg.org/css-display-3/#valdef-display-contents">
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-display/display-contents-root-background-expected.html +4 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-display/display-contents-root-background-expected.html_sec1
1
<!doctype html>
2
<html style="background:green">
3
<title>CSS Test Reference</title>
4
<p>Pass if the background is green.</p>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-display/display-contents-root-background.html +12 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-display/display-contents-root-background.html_sec1
1
<!doctype html>
2
<title>CSS Test: display:contents on root element blockified with rendered background.</title>
3
<link rel="help" href="https://drafts.csswg.org/css-display/#the-display-properties">
4
<link rel="help" href="https://drafts.csswg.org/css-display/#transformations">
5
<link rel="match" href="display-contents-root-background-ref.html">
6
<style>
7
  :root {
8
    display: contents;
9
    background-image: url(../support/1x1-green.png);
10
  }
11
</style>
12
<p>Pass if the background is green.</p>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-display/display-contents-shadow-dom-1-expected.html -2 / +2 lines
Lines 1-8 a/LayoutTests/imported/w3c/web-platform-tests/css/css-display/display-contents-shadow-dom-1-expected.html_sec1
1
<!DOCTYPE html>
1
<!DOCTYPE html>
2
<!-- 
2
<!--
3
     Any copyright is dedicated to the Public Domain.
3
     Any copyright is dedicated to the Public Domain.
4
     http://creativecommons.org/publicdomain/zero/1.0/
4
     http://creativecommons.org/publicdomain/zero/1.0/
5
 -->
5
-->
6
<html>
6
<html>
7
  <head>
7
  <head>
8
  <title>Reference: CSS display:contents; in Shadow DOM</title>
8
  <title>Reference: CSS display:contents; in Shadow DOM</title>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-display/display-contents-shadow-dom-1.html -2 / +2 lines
Lines 1-8 a/LayoutTests/imported/w3c/web-platform-tests/css/css-display/display-contents-shadow-dom-1.html_sec1
1
<!DOCTYPE html>
1
<!DOCTYPE html>
2
<!-- 
2
<!--
3
     Any copyright is dedicated to the Public Domain.
3
     Any copyright is dedicated to the Public Domain.
4
     http://creativecommons.org/publicdomain/zero/1.0/
4
     http://creativecommons.org/publicdomain/zero/1.0/
5
 -->
5
-->
6
<html class="reftest-wait" lang="en-US">
6
<html class="reftest-wait" lang="en-US">
7
  <head>
7
  <head>
8
  <meta charset="utf-8">
8
  <meta charset="utf-8">
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-display/display-contents-table-001-expected.html -1 / +1 lines
Lines 1-7 a/LayoutTests/imported/w3c/web-platform-tests/css/css-display/display-contents-table-001-expected.html_sec1
1
<!DOCTYPE html>
1
<!DOCTYPE html>
2
<meta charset="utf-8">
2
<meta charset="utf-8">
3
<title>CSS Reftest Reference</title>
3
<title>CSS Reftest Reference</title>
4
<!--  Imported from: https://bugzilla.mozilla.org/show_bug.cgi?id=907396  -->
4
<!-- Imported from: https://bugzilla.mozilla.org/show_bug.cgi?id=907396 -->
5
<link rel="author" title="Mats Palmgren" href="mailto:mats@mozilla.com">
5
<link rel="author" title="Mats Palmgren" href="mailto:mats@mozilla.com">
6
<link rel="author" title="Emilio Cobos Álvarez" href="mailto:ecobos@igalia.com">
6
<link rel="author" title="Emilio Cobos Álvarez" href="mailto:ecobos@igalia.com">
7
<link rel="stylesheet" href="support/acid.css">
7
<link rel="stylesheet" href="support/acid.css">
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-display/display-contents-table-001.html -1 / +1 lines
Lines 1-7 a/LayoutTests/imported/w3c/web-platform-tests/css/css-display/display-contents-table-001.html_sec1
1
<!DOCTYPE html>
1
<!DOCTYPE html>
2
<meta charset="utf-8">
2
<meta charset="utf-8">
3
<title>CSS Test: CSS display:contents in table layout</title>
3
<title>CSS Test: CSS display:contents in table layout</title>
4
<!--  Imported from: https://bugzilla.mozilla.org/show_bug.cgi?id=907396  -->
4
<!-- Imported from: https://bugzilla.mozilla.org/show_bug.cgi?id=907396 -->
5
<link rel="author" title="Mats Palmgren" href="mailto:mats@mozilla.com">
5
<link rel="author" title="Mats Palmgren" href="mailto:mats@mozilla.com">
6
<link rel="author" title="Emilio Cobos Álvarez" href="mailto:ecobos@igalia.com">
6
<link rel="author" title="Emilio Cobos Álvarez" href="mailto:ecobos@igalia.com">
7
<link rel="help" href="https://drafts.csswg.org/css-display-3/#valdef-display-contents">
7
<link rel="help" href="https://drafts.csswg.org/css-display-3/#valdef-display-contents">
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-display/display-contents-table-002-expected.html -1 / +1 lines
Lines 1-7 a/LayoutTests/imported/w3c/web-platform-tests/css/css-display/display-contents-table-002-expected.html_sec1
1
<!DOCTYPE html>
1
<!DOCTYPE html>
2
<meta charset="utf-8">
2
<meta charset="utf-8">
3
<title>CSS Reftest Reference</title>
3
<title>CSS Reftest Reference</title>
4
<!--  Imported from: https://bugzilla.mozilla.org/show_bug.cgi?id=907396  -->
4
<!-- Imported from: https://bugzilla.mozilla.org/show_bug.cgi?id=907396 -->
5
<link rel="author" title="Mats Palmgren" href="mailto:mats@mozilla.com">
5
<link rel="author" title="Mats Palmgren" href="mailto:mats@mozilla.com">
6
<link rel="author" title="Emilio Cobos Álvarez" href="mailto:ecobos@igalia.com">
6
<link rel="author" title="Emilio Cobos Álvarez" href="mailto:ecobos@igalia.com">
7
<link rel="stylesheet" href="support/acid.css">
7
<link rel="stylesheet" href="support/acid.css">
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-display/display-contents-table-002.html -1 / +1 lines
Lines 1-7 a/LayoutTests/imported/w3c/web-platform-tests/css/css-display/display-contents-table-002.html_sec1
1
<!DOCTYPE html>
1
<!DOCTYPE html>
2
<meta charset="utf-8">
2
<meta charset="utf-8">
3
<title>CSS Test: CSS display:contents in table layout</title>
3
<title>CSS Test: CSS display:contents in table layout</title>
4
<!--  Imported from: https://bugzilla.mozilla.org/show_bug.cgi?id=907396  -->
4
<!-- Imported from: https://bugzilla.mozilla.org/show_bug.cgi?id=907396 -->
5
<link rel="author" title="Mats Palmgren" href="mailto:mats@mozilla.com">
5
<link rel="author" title="Mats Palmgren" href="mailto:mats@mozilla.com">
6
<link rel="author" title="Emilio Cobos Álvarez" href="mailto:ecobos@igalia.com">
6
<link rel="author" title="Emilio Cobos Álvarez" href="mailto:ecobos@igalia.com">
7
<link rel="help" href="https://drafts.csswg.org/css-display-3/#valdef-display-contents">
7
<link rel="help" href="https://drafts.csswg.org/css-display-3/#valdef-display-contents">
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-display/display-first-line-001-expected.txt +11 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-display/display-first-line-001-expected.txt_sec1
1
First letter is float and flex.
2
First letter is float but not flex.
3
First letter is flex but not float.
4
First letter not float or flex.
5
First line is float and flex.
6
First line is float but not flex.
7
First line is flex but not float.
8
First line is not float or flex.
9
10
FAIL display of first-letter and first-line assert_equals: expected "block" but got "flex"
11
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-display/display-first-line-001.html +42 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-display/display-first-line-001.html_sec1
1
<!DOCTYPE html>
2
<meta charset="utf-8">
3
<title>CSS Display: first-line and first-letter pseudo-elements</title>
4
<link rel="help" href="https://www.w3.org/TR/css-display-3/#placement">
5
<script src="/resources/testharness.js"></script>
6
<script src="/resources/testharnessreport.js"></script>
7
<style>
8
  #t1::first-letter { float: left; display: flex; font-size: 30px }
9
  #t2::first-letter { float: left; font-size: 30px }
10
  #t3::first-letter { display: flex; font-size: 30px }
11
  #t4::first-letter { font-size: 30px }
12
  #t5::first-line { float: left; display: flex; font-size: 30px }
13
  #t6::first-line { float: left; font-size: 30px }
14
  #t7::first-line { display: flex; font-size: 30px }
15
  #t8::first-line { font-size: 30px }
16
</style>
17
<div id="t1">First letter is float and flex.</div>
18
<div id="t2">First letter is float but not flex.</div>
19
<div id="t3">First letter is flex but not float.</div>
20
<div id="t4">First letter not float or flex.</div>
21
<div id="t5">First line is float and flex.</div>
22
<div id="t6">First line is float but not flex.</div>
23
<div id="t7">First line is flex but not float.</div>
24
<div id="t8">First line is not float or flex.</div>
25
<script>
26
  function getFistLetterDisplayFor(id) {
27
    return window.getComputedStyle(document.getElementById(id), "::first-letter").display;
28
  }
29
  function getFistLineDisplayFor(id) {
30
    return window.getComputedStyle(document.getElementById(id), "::first-line").display;
31
  }
32
  test(function() {
33
    assert_equals(getFistLetterDisplayFor("t1"), "block");
34
    assert_equals(getFistLetterDisplayFor("t2"), "block");
35
    assert_equals(getFistLetterDisplayFor("t3"), "inline");
36
    assert_equals(getFistLetterDisplayFor("t4"), "inline");
37
    assert_equals(getFistLineDisplayFor("t5"), "inline");
38
    assert_equals(getFistLineDisplayFor("t6"), "inline");
39
    assert_equals(getFistLineDisplayFor("t7"), "inline");
40
    assert_equals(getFistLineDisplayFor("t8"), "inline");
41
  }, "display of first-letter and first-line");
42
</script>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-display/display-first-line-002-expected.html +6 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-display/display-first-line-002-expected.html_sec1
1
<!DOCTYPE html>
2
<meta charset="utf-8">
3
<div contenteditable></div>
4
<p>The word "PASS" should be seen below. There should be no DCHECK
5
  failure.</p>
6
<p style="color: blue;">PASS</p>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-display/display-first-line-002.html +28 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-display/display-first-line-002.html_sec1
1
<!DOCTYPE html>
2
<meta charset="utf-8">
3
<title>Display flex first line with floated first letter</title>
4
<link rel="help" href="https://crbug.com/1097595">
5
<link rel="match" href="display-first-line-002-ref.html">
6
<style id="styleElm">
7
  #victim::first-line { display:flex;  }
8
  #victim::first-letter { float:right; }
9
</style>
10
11
<!-- The contenteditable DIV is just here to trigger legacy layout
12
     fallback, and a DCHECK failure identical to the one in the bug
13
     report. If we remove it, we'll get NG layout, and then it will
14
     actually DCHECK-fail inside NG inline layout code instead. -->
15
<div contenteditable></div>
16
17
<p>The word "PASS" should be seen below. There should be no DCHECK
18
  failure.</p>
19
<div id="child" style="display:none;"></div>
20
<div id="victim" style="width:fit-content;">
21
  SPAS
22
</div>
23
<script>
24
  document.body.offsetTop;
25
  styleElm.appendChild(child);
26
  document.body.offsetTop;
27
  victim.style.color = "blue";
28
</script>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-display/display-flow-root-001-expected.html -2 / +2 lines
Lines 1-8 a/LayoutTests/imported/w3c/web-platform-tests/css/css-display/display-flow-root-001-expected.html_sec1
1
<!DOCTYPE HTML>
1
<!DOCTYPE HTML>
2
<!-- 
2
<!--
3
     Any copyright is dedicated to the Public Domain.
3
     Any copyright is dedicated to the Public Domain.
4
     http://creativecommons.org/publicdomain/zero/1.0/
4
     http://creativecommons.org/publicdomain/zero/1.0/
5
 -->
5
-->
6
<html><head>
6
<html><head>
7
  <meta charset="utf-8">
7
  <meta charset="utf-8">
8
  <title>Reference: display:flow-root</title>
8
  <title>Reference: display:flow-root</title>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-display/display-flow-root-001.html -7 / +7 lines
Lines 1-8 a/LayoutTests/imported/w3c/web-platform-tests/css/css-display/display-flow-root-001.html_sec1
1
<!DOCTYPE HTML>
1
<!DOCTYPE HTML>
2
<!-- 
2
<!--
3
     Any copyright is dedicated to the Public Domain.
3
     Any copyright is dedicated to the Public Domain.
4
     http://creativecommons.org/publicdomain/zero/1.0/
4
     http://creativecommons.org/publicdomain/zero/1.0/
5
 -->
5
-->
6
<html><head>
6
<html><head>
7
  <meta charset="utf-8">
7
  <meta charset="utf-8">
8
  <title>CSS Display Test: display:flow-root</title>
8
  <title>CSS Display Test: display:flow-root</title>
Lines 26-55 html,body { a/LayoutTests/imported/w3c/web-platform-tests/css/css-display/display-flow-root-001.html_sec2
26
<body>
26
<body>
27
27
28
<div style="border:1px solid">
28
<div style="border:1px solid">
29
  <!--  this tests that the flow-root margins don't collapse with its children.  -->
29
  <!-- this tests that the flow-root margins don't collapse with its children. -->
30
  <span style="display:flow-root; margin: 20px 0">
30
  <span style="display:flow-root; margin: 20px 0">
31
    <div style="margin: 20px 0">x</div>
31
    <div style="margin: 20px 0">x</div>
32
  </span>
32
  </span>
33
</div>
33
</div>
34
34
35
<div style="border:1px solid">
35
<div style="border:1px solid">
36
  <!--  this tests that the flow-root grows to fit child floats  -->
36
  <!-- this tests that the flow-root grows to fit child floats -->
37
  <span style="display:flow-root"><div class="float"></div></span>
37
  <span style="display:flow-root"><div class="float"></div></span>
38
</div>
38
</div>
39
39
40
<div style="border:1px solid; margin-bottom:20px">
40
<div style="border:1px solid; margin-bottom:20px">
41
  <!--  this tests that a float does not intrude into flow-root box  -->
41
  <!-- this tests that a float does not intrude into flow-root box -->
42
  <div class="float"></div>
42
  <div class="float"></div>
43
  <span style="display:flow-root; border:1px solid">x</span>
43
  <span style="display:flow-root; border:1px solid">x</span>
44
</div>
44
</div>
45
45
46
<span>
46
<span>
47
  <!--  this tests that a flow-root box is constructed also in the "ibsplit" case  -->
47
  <!-- this tests that a flow-root box is constructed also in the "ibsplit" case -->
48
  <span style="display:flow-root; background:grey;"><div style="margin:20px">x</div></span>
48
  <span style="display:flow-root; background:grey;"><div style="margin:20px">x</div></span>
49
</span>
49
</span>
50
50
51
<span style="display:flow-root; border:3px solid; height:10px;">
51
<span style="display:flow-root; border:3px solid; height:10px;">
52
  <!--  this tests that a flow-root fills the available width, and that 'height' applies  -->
52
  <!-- this tests that a flow-root fills the available width, and that 'height' applies -->
53
</span>
53
</span>
54
54
55
</body>
55
</body>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-display/display-flow-root-list-item-001-expected.html -2 / +2 lines
Lines 1-8 a/LayoutTests/imported/w3c/web-platform-tests/css/css-display/display-flow-root-list-item-001-expected.html_sec1
1
<!DOCTYPE HTML>
1
<!DOCTYPE HTML>
2
<!-- 
2
<!--
3
     Any copyright is dedicated to the Public Domain.
3
     Any copyright is dedicated to the Public Domain.
4
     http://creativecommons.org/publicdomain/zero/1.0/
4
     http://creativecommons.org/publicdomain/zero/1.0/
5
 -->
5
-->
6
<html><head>
6
<html><head>
7
  <meta charset="utf-8">
7
  <meta charset="utf-8">
8
  <title>Reference: display:flow-root list-item</title>
8
  <title>Reference: display:flow-root list-item</title>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-display/display-flow-root-list-item-001.html -7 / +7 lines
Lines 1-8 a/LayoutTests/imported/w3c/web-platform-tests/css/css-display/display-flow-root-list-item-001.html_sec1
1
<!DOCTYPE HTML>
1
<!DOCTYPE HTML>
2
<!-- 
2
<!--
3
     Any copyright is dedicated to the Public Domain.
3
     Any copyright is dedicated to the Public Domain.
4
     http://creativecommons.org/publicdomain/zero/1.0/
4
     http://creativecommons.org/publicdomain/zero/1.0/
5
 -->
5
-->
6
<html><head>
6
<html><head>
7
  <meta charset="utf-8">
7
  <meta charset="utf-8">
8
  <title>CSS Display Test: display:flow-root list-item</title>
8
  <title>CSS Display Test: display:flow-root list-item</title>
Lines 29-58 body { padding-left: 100px; } a/LayoutTests/imported/w3c/web-platform-tests/css/css-display/display-flow-root-list-item-001.html_sec2
29
<body>
29
<body>
30
30
31
<div style="border:1px solid">
31
<div style="border:1px solid">
32
  <!--  this tests that the flow-root margins don't collapse with its children.  -->
32
  <!-- this tests that the flow-root margins don't collapse with its children. -->
33
  <span class="li" style="margin: 20px 0">
33
  <span class="li" style="margin: 20px 0">
34
    <div style="margin: 20px 0">x</div>
34
    <div style="margin: 20px 0">x</div>
35
  </span>
35
  </span>
36
</div>
36
</div>
37
37
38
<div style="border:1px solid">
38
<div style="border:1px solid">
39
  <!--  this tests that the flow-root grows to fit child floats  -->
39
  <!-- this tests that the flow-root grows to fit child floats -->
40
  <span class="li"><div class="float"></div></span>
40
  <span class="li"><div class="float"></div></span>
41
</div>
41
</div>
42
42
43
<div style="border:1px solid; margin-bottom:20px">
43
<div style="border:1px solid; margin-bottom:20px">
44
  <!--  this tests that a float does not intrude into flow-root box  -->
44
  <!-- this tests that a float does not intrude into flow-root box -->
45
  <div class="float"></div>
45
  <div class="float"></div>
46
  <span class="li" style="border:1px solid">x</span>
46
  <span class="li" style="border:1px solid">x</span>
47
</div>
47
</div>
48
48
49
<span>
49
<span>
50
  <!--  this tests that a flow-root box is constructed also in the "ibsplit" case  -->
50
  <!-- this tests that a flow-root box is constructed also in the "ibsplit" case -->
51
  <span class="li" style="background:grey;"><div style="margin:20px">x</div></span>
51
  <span class="li" style="background:grey;"><div style="margin:20px">x</div></span>
52
</span>
52
</span>
53
53
54
<span class="li" style="border:3px solid; height:10px;">
54
<span class="li" style="border:3px solid; height:10px;">
55
  <!--  this tests that a flow-root fills the available width, and that 'height' applies  -->
55
  <!-- this tests that a flow-root fills the available width, and that 'height' applies -->
56
</span>
56
</span>
57
57
58
</body>
58
</body>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-display/display-with-float-dynamic-expected.txt +3 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-display/display-with-float-dynamic-expected.txt_sec1
1
2
FAIL computed style for float assert_equals: expected "left" but got "none"
3
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-display/display-with-float-dynamic.html +40 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-display/display-with-float-dynamic.html_sec1
1
<!DOCTYPE html>
2
<meta charset="utf-8">
3
<title>Computed float value of flex/grid items</title>
4
<link rel="help" href="https://drafts.csswg.org/css-flexbox/#flex-containers">
5
<link rel="help" href="https://drafts.csswg.org/css-grid-1/#grid-containers">
6
<meta name="assert" content="computed float value of flex/grid items should be as specified">
7
<script src="/resources/testharness.js"></script>
8
<script src="/resources/testharnessreport.js"></script>
9
10
<div id="flex" style="display:flex;">
11
  <div id="flex-item"></div>
12
</div>
13
<div id="grid" style="display:grid;">
14
  <div id="grid-item">
15
</div>
16
<script>
17
  function setFloatFor(id, float) {
18
    document.getElementById(id).style.cssFloat = float;
19
  }
20
  function getFloatFor(id) {
21
    return window.getComputedStyle(document.getElementById(id)).getPropertyValue("float");
22
  }
23
  function setDisplayBlock(id) {
24
    document.getElementById(id).style.display = "block";
25
  }
26
  test(function() {
27
    assert_equals(getFloatFor("flex-item"), "none");
28
    assert_equals(getFloatFor("grid-item"), "none");
29
30
    setFloatFor("flex-item", "left");
31
    setFloatFor("grid-item", "right");
32
    assert_equals(getFloatFor("flex-item"), "left");
33
    assert_equals(getFloatFor("grid-item"), "right");
34
35
    setDisplayBlock("grid");
36
    setDisplayBlock("flex");
37
    assert_equals(getFloatFor("flex-item"), "left");
38
    assert_equals(getFloatFor("grid-item"), "right");
39
  }, "computed style for float");
40
</script>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-display/display-with-float-expected.txt +3 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-display/display-with-float-expected.txt_sec1
1
2
FAIL computed style for float assert_equals: expected "left" but got "none"
3
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-display/display-with-float.html +24 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-display/display-with-float.html_sec1
1
<!DOCTYPE html>
2
<meta charset="utf-8">
3
<title>Computed float value of flex/grid items</title>
4
<link rel="help" href="https://drafts.csswg.org/css-flexbox/#flex-containers">
5
<link rel="help" href="https://drafts.csswg.org/css-grid-1/#grid-containers">
6
<meta name="assert" content="computed float value of flex/grid items should be as specified">
7
<script src="/resources/testharness.js"></script>
8
<script src="/resources/testharnessreport.js"></script>
9
10
<div style="display:flex;">
11
  <div id="flex-item" style="float:left;"></div>
12
</div>
13
<div style="display:grid;">
14
  <div id="grid-item" style="float:right;"></div>
15
</div>
16
<script>
17
  function getFloatFor(id) {
18
    return window.getComputedStyle(document.getElementById(id)).getPropertyValue("float");
19
  }
20
  test(function() {
21
    assert_equals(getFloatFor("flex-item"), "left");
22
    assert_equals(getFloatFor("grid-item"), "right");
23
  }, "computed style for float");
24
</script>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-display/run-in/run-in-basic-003.xht -2 / +2 lines
Lines 18-26 a/LayoutTests/imported/w3c/web-platform-tests/css/css-display/run-in/run-in-basic-003.xht_sec1
18
 </head>
18
 </head>
19
 <body>
19
 <body>
20
   <div class="run-in">Run-in header</div>
20
   <div class="run-in">Run-in header</div>
21
   <!--  This is a comment  -->
21
   <!-- This is a comment -->
22
22
23
   <!--  And another comment  -->
23
   <!-- And another comment -->
24
   <div id="target">Start of block.  The run-in header should be inside the border around this block and there should be no space between the word "header" and the word "Start".</div>
24
   <div id="target">Start of block.  The run-in header should be inside the border around this block and there should be no space between the word "header" and the word "Start".</div>
25
 </body>
25
 </body>
26
</html>
26
</html>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-display/run-in/run-in-run-in-between-001.xht -1 / +1 lines
Lines 19-25 a/LayoutTests/imported/w3c/web-platform-tests/css/css-display/run-in/run-in-run-in-between-001.xht_sec1
19
 </head>
19
 </head>
20
 <body>
20
 <body>
21
   <div class="run-in">Run-in header</div>
21
   <div class="run-in">Run-in header</div>
22
   <div id="r">Some text.<div><!-- Make us not run in --></div></div>
22
   <div id="r">Some text.<div><!--Make us not run in--></div></div>
23
   <div id="target">Start of block.  The run-in header should NOT be inside the border around this block; it should be on a line by itself before the line containing "Some text".</div>
23
   <div id="target">Start of block.  The run-in header should NOT be inside the border around this block; it should be on a line by itself before the line containing "Some text".</div>
24
 </body>
24
 </body>
25
</html>
25
</html>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-display/run-in/run-in-run-in-between-003.xht -1 / +1 lines
Lines 32-38 a/LayoutTests/imported/w3c/web-platform-tests/css/css-display/run-in/run-in-run-in-between-003.xht_sec1
32
 </head>
32
 </head>
33
 <body>
33
 <body>
34
   <div class="run-in">Run-in header</div>
34
   <div class="run-in">Run-in header</div>
35
   <div id="r">Some text.<div><!-- Make us not run in --></div></div>
35
   <div id="r">Some text.<div><!--Make us not run in--></div></div>
36
   <div id="target">Start of block.  The run-in header should be inside the
36
   <div id="target">Start of block.  The run-in header should be inside the
37
    border around this block and there should be no space between the word
37
    border around this block and there should be no space between the word
38
    "header" and the word "Start".</div>
38
    "header" and the word "Start".</div>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-display/select-4-option-optgroup-display-none-expected.html -2 / +2 lines
Lines 1-8 a/LayoutTests/imported/w3c/web-platform-tests/css/css-display/select-4-option-optgroup-display-none-expected.html_sec1
1
<!DOCTYPE HTML>
1
<!DOCTYPE HTML>
2
<!-- 
2
<!--
3
     Any copyright is dedicated to the Public Domain.
3
     Any copyright is dedicated to the Public Domain.
4
     http://creativecommons.org/publicdomain/zero/1.0/
4
     http://creativecommons.org/publicdomain/zero/1.0/
5
 -->
5
-->
6
<html><head>
6
<html><head>
7
  <meta charset="utf-8">
7
  <meta charset="utf-8">
8
  <title>Reference: display:none on OPTION and OPTGROUP</title>
8
  <title>Reference: display:none on OPTION and OPTGROUP</title>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-display/select-4-option-optgroup-display-none.html -2 / +2 lines
Lines 1-8 a/LayoutTests/imported/w3c/web-platform-tests/css/css-display/select-4-option-optgroup-display-none.html_sec1
1
<!DOCTYPE HTML>
1
<!DOCTYPE HTML>
2
<!-- 
2
<!--
3
     Any copyright is dedicated to the Public Domain.
3
     Any copyright is dedicated to the Public Domain.
4
     http://creativecommons.org/publicdomain/zero/1.0/
4
     http://creativecommons.org/publicdomain/zero/1.0/
5
 -->
5
-->
6
<html><head>
6
<html><head>
7
  <meta charset="utf-8">
7
  <meta charset="utf-8">
8
  <title>CSS Test: display:none on OPTION and OPTGROUP</title>
8
  <title>CSS Test: display:none on OPTION and OPTGROUP</title>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-display/w3c-import.log +7 lines
Lines 116-121 List of files: a/LayoutTests/imported/w3c/web-platform-tests/css/css-display/w3c-import.log_sec1
116
/LayoutTests/imported/w3c/web-platform-tests/css/css-display/display-contents-oof-002-expected.html
116
/LayoutTests/imported/w3c/web-platform-tests/css/css-display/display-contents-oof-002-expected.html
117
/LayoutTests/imported/w3c/web-platform-tests/css/css-display/display-contents-oof-002.html
117
/LayoutTests/imported/w3c/web-platform-tests/css/css-display/display-contents-oof-002.html
118
/LayoutTests/imported/w3c/web-platform-tests/css/css-display/display-contents-parsing-001.html
118
/LayoutTests/imported/w3c/web-platform-tests/css/css-display/display-contents-parsing-001.html
119
/LayoutTests/imported/w3c/web-platform-tests/css/css-display/display-contents-root-background-expected.html
120
/LayoutTests/imported/w3c/web-platform-tests/css/css-display/display-contents-root-background.html
119
/LayoutTests/imported/w3c/web-platform-tests/css/css-display/display-contents-shadow-dom-1-expected.html
121
/LayoutTests/imported/w3c/web-platform-tests/css/css-display/display-contents-shadow-dom-1-expected.html
120
/LayoutTests/imported/w3c/web-platform-tests/css/css-display/display-contents-shadow-dom-1.html
122
/LayoutTests/imported/w3c/web-platform-tests/css/css-display/display-contents-shadow-dom-1.html
121
/LayoutTests/imported/w3c/web-platform-tests/css/css-display/display-contents-shadow-host-whitespace-expected.html
123
/LayoutTests/imported/w3c/web-platform-tests/css/css-display/display-contents-shadow-host-whitespace-expected.html
Lines 148-153 List of files: a/LayoutTests/imported/w3c/web-platform-tests/css/css-display/w3c-import.log_sec2
148
/LayoutTests/imported/w3c/web-platform-tests/css/css-display/display-contents-unusual-html-elements-none.html
150
/LayoutTests/imported/w3c/web-platform-tests/css/css-display/display-contents-unusual-html-elements-none.html
149
/LayoutTests/imported/w3c/web-platform-tests/css/css-display/display-contents-whitespace-inside-inline-expected.html
151
/LayoutTests/imported/w3c/web-platform-tests/css/css-display/display-contents-whitespace-inside-inline-expected.html
150
/LayoutTests/imported/w3c/web-platform-tests/css/css-display/display-contents-whitespace-inside-inline.html
152
/LayoutTests/imported/w3c/web-platform-tests/css/css-display/display-contents-whitespace-inside-inline.html
153
/LayoutTests/imported/w3c/web-platform-tests/css/css-display/display-first-line-001.html
154
/LayoutTests/imported/w3c/web-platform-tests/css/css-display/display-first-line-002-expected.html
155
/LayoutTests/imported/w3c/web-platform-tests/css/css-display/display-first-line-002.html
151
/LayoutTests/imported/w3c/web-platform-tests/css/css-display/display-flow-root-001-expected.html
156
/LayoutTests/imported/w3c/web-platform-tests/css/css-display/display-flow-root-001-expected.html
152
/LayoutTests/imported/w3c/web-platform-tests/css/css-display/display-flow-root-001.html
157
/LayoutTests/imported/w3c/web-platform-tests/css/css-display/display-flow-root-001.html
153
/LayoutTests/imported/w3c/web-platform-tests/css/css-display/display-flow-root-list-item-001-expected.html
158
/LayoutTests/imported/w3c/web-platform-tests/css/css-display/display-flow-root-list-item-001-expected.html
Lines 157-162 List of files: a/LayoutTests/imported/w3c/web-platform-tests/css/css-display/w3c-import.log_sec3
157
/LayoutTests/imported/w3c/web-platform-tests/css/css-display/display-list-item-height-after-dom-change.html
162
/LayoutTests/imported/w3c/web-platform-tests/css/css-display/display-list-item-height-after-dom-change.html
158
/LayoutTests/imported/w3c/web-platform-tests/css/css-display/display-none-inline-img-expected.html
163
/LayoutTests/imported/w3c/web-platform-tests/css/css-display/display-none-inline-img-expected.html
159
/LayoutTests/imported/w3c/web-platform-tests/css/css-display/display-none-inline-img.html
164
/LayoutTests/imported/w3c/web-platform-tests/css/css-display/display-none-inline-img.html
165
/LayoutTests/imported/w3c/web-platform-tests/css/css-display/display-with-float-dynamic.html
166
/LayoutTests/imported/w3c/web-platform-tests/css/css-display/display-with-float.html
160
/LayoutTests/imported/w3c/web-platform-tests/css/css-display/inheritance.html
167
/LayoutTests/imported/w3c/web-platform-tests/css/css-display/inheritance.html
161
/LayoutTests/imported/w3c/web-platform-tests/css/css-display/select-4-option-optgroup-display-none-expected.html
168
/LayoutTests/imported/w3c/web-platform-tests/css/css-display/select-4-option-optgroup-display-none-expected.html
162
/LayoutTests/imported/w3c/web-platform-tests/css/css-display/select-4-option-optgroup-display-none.html
169
/LayoutTests/imported/w3c/web-platform-tests/css/css-display/select-4-option-optgroup-display-none.html
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-images/conic-gradient-angle-expected.html +22 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-images/conic-gradient-angle-expected.html_sec1
1
<!doctype html>
2
<meta charset="utf-8">
3
<style>
4
  #box {
5
    width: 200px;
6
    height: 200px;
7
  }
8
  #top {
9
    border-left: 100px solid blue;
10
    border-right: 100px solid black;
11
    height: 100px;
12
  }
13
  #bottom {
14
    border-left: 100px solid green;
15
    border-right: 100px solid red;
16
    height: 100px;
17
  }
18
</style>
19
<div id="box">
20
  <div id="top"></div>
21
  <div id="bottom"></div>
22
</div>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-images/conic-gradient-angle-negative-expected.html +22 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-images/conic-gradient-angle-negative-expected.html_sec1
1
<!doctype html>
2
<meta charset="utf-8">
3
<style>
4
  #box {
5
    width: 200px;
6
    height: 200px;
7
  }
8
  #top {
9
    border-left: 100px solid blue;
10
    border-right: 100px solid black;
11
    height: 100px;
12
  }
13
  #bottom {
14
    border-left: 100px solid green;
15
    border-right: 100px solid red;
16
    height: 100px;
17
  }
18
</style>
19
<div id="box">
20
  <div id="top"></div>
21
  <div id="bottom"></div>
22
</div>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-images/conic-gradient-angle-negative.html +14 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-images/conic-gradient-angle-negative.html_sec1
1
<!doctype html>
2
<meta charset="utf-8">
3
<title>Conic gradient with negative angle parameter</title>
4
<link rel="help" href="https://drafts.csswg.org/css-images-4/#conic-gradients">
5
<meta name="assert" content="Rendering of conic-gradient with negative center parameter">
6
<link rel="match" href="reference/200x200-blue-black-green-red.html">
7
<style>
8
  #gradient {
9
    width: 200px;
10
    height: 200px;
11
    background-image: conic-gradient(from -90deg, blue 0 25%, black 25% 50%, red 50% 75%, green 75% 100%);
12
  }
13
</style>
14
<div id="gradient"></div>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-images/conic-gradient-angle.html +14 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-images/conic-gradient-angle.html_sec1
1
<!doctype html>
2
<meta charset="utf-8">
3
<title>Conic gradient with custom angle parameter</title>
4
<link rel="help" href="https://drafts.csswg.org/css-images-4/#conic-gradients">
5
<meta name="assert" content="Rendering of conic-gradient with custom center parameter">
6
<link rel="match" href="reference/200x200-blue-black-green-red.html">
7
<style>
8
  #gradient {
9
    width: 200px;
10
    height: 200px;
11
    background-image: conic-gradient(from 90deg, red 0 25%, green 25% 50%, blue 50% 75%, black 75% 100%);
12
  }
13
</style>
14
<div id="gradient"></div>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-images/conic-gradient-center-expected.html +22 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-images/conic-gradient-center-expected.html_sec1
1
<!doctype html>
2
<meta charset="utf-8">
3
<style>
4
  #box {
5
    width: 200px;
6
    height: 200px;
7
  }
8
  #top {
9
    border-left: 50px solid black;
10
    border-right: 150px solid red;
11
    height: 50px;
12
  }
13
  #bottom {
14
    border-left: 50px solid blue;
15
    border-right: 150px solid green;
16
    height: 150px;
17
  }
18
</style>
19
<div id="box">
20
  <div id="top"></div>
21
  <div id="bottom"></div>
22
</div>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-images/conic-gradient-center.html +14 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-images/conic-gradient-center.html_sec1
1
<!doctype html>
2
<meta charset="utf-8">
3
<title>Conic gradient with custom center parameter</title>
4
<link rel="help" href="https://drafts.csswg.org/css-images-4/#conic-gradients">
5
<meta name="assert" content="Rendering of conic-gradient with custom center parameter">
6
<link rel="match" href="conic-gradient-center-ref.html">
7
<style>
8
  #gradient {
9
    width: 200px;
10
    height: 200px;
11
    background-image: conic-gradient(at 25% 25%, red 0 25%, green 25% 50%, blue 50% 75%, black 75% 100%);
12
  }
13
</style>
14
<div id="gradient"></div>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-images/css-image-fallbacks-and-annotations.html -9 / +9 lines
Lines 3-18 a/LayoutTests/imported/w3c/web-platform-tests/css/css-images/css-image-fallbacks-and-annotations.html_sec1
3
<head>
3
<head>
4
    <title>CSS Image Fallbacks and Annotations: the 'image()' notation</title>
4
    <title>CSS Image Fallbacks and Annotations: the 'image()' notation</title>
5
    <link rel="author" title="Hirokazu Egashira" href="mailto:yo9ega@aol.com">
5
    <link rel="author" title="Hirokazu Egashira" href="mailto:yo9ega@aol.com">
6
    <link rel="help" href="http://www.w3.org/TR/css3-images/#image-notation">
6
    <link rel="help" href="https://www.w3.org/TR/css-images-3/#image-values">
7
	<link rel="match" href="css-image-fallbacks-and-annotations-ref.html">
7
    <link rel="match" href="css-image-fallbacks-and-annotations-ref.html">
8
	<meta name="assert" content="When the image doesn't load, the background color is still there to ensure that the white text is readable.">
8
    <meta name="assert" content="When the image doesn't load, the background color is still there to ensure that the white text is readable.">
9
    <style type="text/css">
9
    <style type="text/css">
10
 		.square{
10
        .square{
11
 			width: 200px;
11
            width: 200px;
12
 			height: 200px;
12
            height: 200px;
13
 			background-color: red;
13
            background-color: red;
14
 			background: image("green.png", green);
14
            background: image("green.png", green);
15
 		}
15
        }
16
    </style>
16
    </style>
17
</head>
17
</head>
18
<body>
18
<body>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-images/css-image-fallbacks-and-annotations002.html -10 / +10 lines
Lines 3-19 a/LayoutTests/imported/w3c/web-platform-tests/css/css-images/css-image-fallbacks-and-annotations002.html_sec1
3
<head>
3
<head>
4
    <title>CSS Image Fallbacks and Annotations: the 'image()' notation</title>
4
    <title>CSS Image Fallbacks and Annotations: the 'image()' notation</title>
5
    <link rel="author" title="Hirokazu Egashira" href="mailto:yo9ega@aol.com">
5
    <link rel="author" title="Hirokazu Egashira" href="mailto:yo9ega@aol.com">
6
    <link rel="help" href="http://www.w3.org/TR/css3-images/#image-notation">
6
    <link rel="help" href="https://www.w3.org/TR/css-images-3/#image-values">
7
	<link rel="match" href="css-image-fallbacks-and-annotations-ref.html">
7
    <link rel="match" href="css-image-fallbacks-and-annotations-ref.html">
8
	<meta name="assert" content="The 'image()' function load the image.">
8
    <meta name="assert" content="The 'image()' function load the image.">
9
    <style type="text/css">
9
    <style type="text/css">
10
 		.square{
10
        .square{
11
 			width: 200px;
11
            width: 200px;
12
 			height: 200px;
12
            height: 200px;
13
 			color: white;
13
            color: white;
14
 			background-color: red;
14
            background-color: red;
15
 			background-image: image("support/1x1-green.png");
15
            background-image: image("support/1x1-green.png");
16
 		}
16
        }
17
    </style>
17
    </style>
18
</head>
18
</head>
19
<body>
19
<body>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-images/css-image-fallbacks-and-annotations003.html -9 / +9 lines
Lines 3-18 a/LayoutTests/imported/w3c/web-platform-tests/css/css-images/css-image-fallbacks-and-annotations003.html_sec1
3
<head>
3
<head>
4
    <title>CSS Image Fallbacks and Annotations: the 'image()' notation</title>
4
    <title>CSS Image Fallbacks and Annotations: the 'image()' notation</title>
5
    <link rel="author" title="Hirokazu Egashira" href="mailto:yo9ega@aol.com">
5
    <link rel="author" title="Hirokazu Egashira" href="mailto:yo9ega@aol.com">
6
    <link rel="help" href="http://www.w3.org/TR/css3-images/#image-notation">
6
    <link rel="help" href="https://www.w3.org/TR/css-images-3/#image-values">
7
	<link rel="match" href="css-image-fallbacks-and-annotations-ref.html">
7
    <link rel="match" href="css-image-fallbacks-and-annotations-ref.html">
8
	<meta name="assert" content="The rule below would tell the UA to load The first file if it can; failing that to load The second file; failing that to display The third file.">
8
    <meta name="assert" content="The rule below would tell the UA to load The first file if it can; failing that to load The second file; failing that to display The third file.">
9
    <style type="text/css">
9
    <style type="text/css">
10
 		.square{
10
        .square{
11
 			width: 200px;
11
            width: 200px;
12
 			height: 200px;
12
            height: 200px;
13
 			background-color: red;
13
            background-color: red;
14
 			background-image: image("1x1-green.svg", "support/1x1-green.png","support/1x1-green.gif");
14
            background-image: image("1x1-green.svg", "support/1x1-green.png","support/1x1-green.gif");
15
 		}
15
        }
16
    </style>
16
    </style>
17
</head>
17
</head>
18
<body>
18
<body>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-images/css-image-fallbacks-and-annotations004.html -9 / +9 lines
Lines 3-18 a/LayoutTests/imported/w3c/web-platform-tests/css/css-images/css-image-fallbacks-and-annotations004.html_sec1
3
<head>
3
<head>
4
    <title>CSS Image Fallbacks and Annotations: the 'image()' notation</title>
4
    <title>CSS Image Fallbacks and Annotations: the 'image()' notation</title>
5
    <link rel="author" title="Hirokazu Egashira" href="mailto:yo9ega@aol.com">
5
    <link rel="author" title="Hirokazu Egashira" href="mailto:yo9ega@aol.com">
6
    <link rel="help" href="http://www.w3.org/TR/css3-images/#image-notation">
6
    <link rel="help" href="https://www.w3.org/TR/css-images-3/#image-values">
7
	<link rel="match" href="css-image-fallbacks-and-annotations-ref.html">
7
    <link rel="match" href="css-image-fallbacks-and-annotations-ref.html">
8
	<meta name="assert" content="The rule below would tell the UA to load The first file if it can; failing that to load The second file.">
8
    <meta name="assert" content="The rule below would tell the UA to load The first file if it can; failing that to load The second file.">
9
    <style type="text/css">
9
    <style type="text/css">
10
 		.square{
10
        .square{
11
 			width: 200px;
11
            width: 200px;
12
 			height: 200px;
12
            height: 200px;
13
 			background-color: red;
13
            background-color: red;
14
 			background-image: image("1x1-green.svg", "1x1-green.png", "support/1x1-green.gif");
14
            background-image: image("1x1-green.svg", "1x1-green.png", "support/1x1-green.gif");
15
 		}
15
        }
16
    </style>
16
    </style>
17
</head>
17
</head>
18
<body>
18
<body>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-images/css-image-fallbacks-and-annotations005.html -9 / +9 lines
Lines 3-18 a/LayoutTests/imported/w3c/web-platform-tests/css/css-images/css-image-fallbacks-and-annotations005.html_sec1
3
<head>
3
<head>
4
    <title>CSS Image Fallbacks and Annotations: the 'image()' notation</title>
4
    <title>CSS Image Fallbacks and Annotations: the 'image()' notation</title>
5
    <link rel="author" title="Hirokazu Egashira" href="mailto:yo9ega@aol.com">
5
    <link rel="author" title="Hirokazu Egashira" href="mailto:yo9ega@aol.com">
6
    <link rel="help" href="http://www.w3.org/TR/css3-images/#image-notation">
6
    <link rel="help" href="https://www.w3.org/TR/css-images-3/#image-values">
7
	<link rel="match" href="css-image-fallbacks-and-annotations-ref.html">
7
    <link rel="match" href="css-image-fallbacks-and-annotations-ref.html">
8
	<meta name="assert" content="The 'image()' function specifies only a color without any URLs, the function immediately falls back to representing a solid-color image of the chosen color.">
8
    <meta name="assert" content="The 'image()' function specifies only a color without any URLs, the function immediately falls back to representing a solid-color image of the chosen color.">
9
    <style type="text/css">
9
    <style type="text/css">
10
 		.square{
10
        .square{
11
 			width: 200px;
11
            width: 200px;
12
 			height: 200px;
12
            height: 200px;
13
 			background-color: red;
13
            background-color: red;
14
 			background-image: image(rgba(0,0,255,0.5)), url("support/1x1-green.png");
14
            background-image: image(rgba(0,0,255,0.5)), url("support/1x1-green.png");
15
 		}
15
        }
16
    </style>
16
    </style>
17
</head>
17
</head>
18
<body>
18
<body>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-images/gradient-crash-expected.html -3 lines
Lines 1-3 a/LayoutTests/imported/w3c/web-platform-tests/css/css-images/gradient-crash-expected.html_sec1
1
<!doctype html>
2
<title>CSS Test Reference</title>
3
<!--  Intentionally blank  -->
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-images/gradient-crash.html -12 lines
Lines 1-12 a/LayoutTests/imported/w3c/web-platform-tests/css/css-images/gradient-crash.html_sec1
1
<!DOCTYPE html>
2
<meta charset="utf-8">
3
<title>Does this gradient crash the browser?</title>
4
<link rel="match" href="../reference/blank.html">
5
<link rel="help" href="https://drafts.csswg.org/css-images-3/#color-stop-syntax">
6
<meta name="assert" content="Gradients with total length zero and absolute positioned stops do not crash.">
7
<style>
8
  div {
9
    background: linear-gradient(black 0,white);
10
  }
11
</style>
12
<div></div>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-images/gradient-refcrash-expected.html +3 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-images/gradient-refcrash-expected.html_sec1
1
<!doctype html>
2
<title>CSS Test Reference</title>
3
<!-- Intentionally blank -->
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-images/gradient-refcrash.html +12 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-images/gradient-refcrash.html_sec1
1
<!DOCTYPE html>
2
<meta charset="utf-8">
3
<title>Does this gradient crash the browser?</title>
4
<link rel="match" href="../reference/blank.html">
5
<link rel="help" href="https://drafts.csswg.org/css-images-3/#color-stop-syntax">
6
<meta name="assert" content="Gradients with total length zero and absolute positioned stops do not crash.">
7
<style>
8
  div {
9
    background: linear-gradient(black 0,white);
10
  }
11
</style>
12
<div></div>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-images/gradients-with-transparent.html -2 / +2 lines
Lines 18-26 a/LayoutTests/imported/w3c/web-platform-tests/css/css-images/gradients-with-transparent.html_sec1
18
    }
18
    }
19
</style>
19
</style>
20
<body>
20
<body>
21
	<p>Gradient using 'transparent'</p>
21
    <p>Gradient using 'transparent'</p>
22
    <div id="gradient1" class="test"></div>
22
    <div id="gradient1" class="test"></div>
23
    <br />
23
    <br />
24
	<p>Gradient using rgba(0,0,255,0)</p>
24
    <p>Gradient using rgba(0,0,255,0)</p>
25
    <div id="gradient2" class="test"></div>
25
    <div id="gradient2" class="test"></div>
26
</body>
26
</body>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-images/image-fit-001.xht -8 / +8 lines
Lines 3-20 a/LayoutTests/imported/w3c/web-platform-tests/css/css-images/image-fit-001.xht_sec1
3
 <head>
3
 <head>
4
  <title>CSS Test: Object Fit - initial value</title>
4
  <title>CSS Test: Object Fit - initial value</title>
5
  <link rel="author" title="Tom Clancy" href="mailto:tclancy@revenution.com"/>
5
  <link rel="author" title="Tom Clancy" href="mailto:tclancy@revenution.com"/>
6
  <link rel="help" href="http://www.w3.org/TR/css3-images/#object-fit"/>
6
  <link rel="help" href="https://www.w3.org/TR/css-images-3/#the-object-fit"/>
7
  <meta name="assert" content="The initial value of the 'object-fit' property is 'fill'."/>
7
  <meta name="assert" content="The initial value of the 'object-fit' property is 'fill'."/>
8
  <style type="text/css"><![CDATA[
8
  <style type="text/css"><![CDATA[
9
   img {
9
   img {
10
   		background: red;
10
    background: red;
11
		height: 100px;
11
    height: 100px;
12
		width: 50px;
12
    width: 50px;
13
	}
13
   }
14
  ]]></style>
14
  ]]></style>
15
 </head>
15
 </head>
16
 <body>
16
 <body>
17
 	<div>A green block appears below. There must be no red on the page.</div>
17
  <div>A green block appears below. There must be no red on the page.</div>
18
	<div><img src="support/swatch-green.png" alt="Failed: image missing"/></div>
18
  <div><img src="support/swatch-green.png" alt="Failed: image missing"/></div>
19
 </body>
19
 </body>
20
</html>
20
</html>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-images/image-fit-006.xht -10 / +10 lines
Lines 3-23 a/LayoutTests/imported/w3c/web-platform-tests/css/css-images/image-fit-006.xht_sec1
3
 <head>
3
 <head>
4
  <title>CSS Test: Object Fit - 'fill', explicit 'height'/'width'</title>
4
  <title>CSS Test: Object Fit - 'fill', explicit 'height'/'width'</title>
5
  <link rel="author" title="Tom Clancy" href="mailto:tclancy@revenution.com"/>
5
  <link rel="author" title="Tom Clancy" href="mailto:tclancy@revenution.com"/>
6
  <link rel="help" href="http://www.w3.org/TR/css3-images/#object-fit"/>
6
  <link rel="help" href="https://www.w3.org/TR/css-images-3/#the-object-fit"/>
7
  <meta name="assert" content="The 'fill' value of the 'object-fit' property does not affect the usual calculation of the used 'height' and 'width."/>
7
  <meta name="assert" content="The 'fill' value of the 'object-fit' property does not affect the usual calculation of the used 'height' and 'width."/>
8
  <meta name="assert" content="The 'fill' value of the 'image-scaling' property scales the content height and width independently so that the edges of the content just meet the edges of the box established by the used 'height' and 'width'."/>
8
  <meta name="assert" content="The 'fill' value of the 'image-scaling' property scales the content height and width independently so that the edges of the content just meet the edges of the box established by the used 'height' and 'width'."/>
9
  <style type="text/css"><![CDATA[
9
  <style type="text/css"><![CDATA[
10
   img {
10
   img {
11
   		border: 5px solid blue;
11
    border: 5px solid blue;
12
		height: 50px;
12
    height: 50px;
13
		width: 100px;
13
    width: 100px;
14
		object-fit: fill;
14
    object-fit: fill;
15
		background: red;
15
    background: red;
16
	}
16
   }
17
  ]]></style>
17
  ]]></style>
18
 </head>
18
 </head>
19
 <body>
19
 <body>
20
 	<div>The image below should fill the blue border with no red between the border and the image.</div>
20
  <div>The image below should fill the blue border with no red between the border and the image.</div>
21
	<div><img src="support/intrinsic-size.jpg" alt="Failed: image missing" /></div>
21
  <div><img src="support/intrinsic-size.jpg" alt="Failed: image missing" /></div>
22
 </body>
22
 </body>
23
</html>
23
</html>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-images/image-orientation/image-orientation-background-image-expected.html +9 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-images/image-orientation/image-orientation-background-image-expected.html_sec1
1
<!DOCTYPE html>
2
<meta charset="utf-8">
3
<title>CSS Reference</title>
4
<style>
5
div { width: 100px; height: 50px; background-image: url(support/exif-orientation-2-ur-pre-rotated.jpg); }
6
</style>
7
<div></div>
8
<div></div>
9
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-images/image-orientation/image-orientation-background-image.html +13 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-images/image-orientation/image-orientation-background-image.html_sec1
1
<!DOCTYPE html>
2
<meta charset="utf-8">
3
<title>CSS Images Module Level 3: image-orientation does not apply to background-image</title>
4
<link rel="author" title="Cameron McCormack" href="mailto:cam@mcc.id.au">
5
<link rel="help" href="https://drafts.csswg.org/css-images-3/#propdef-image-orientation">
6
<link rel="match" href="reference/image-orientation-background-image-ref.html">
7
<meta name=fuzzy content="2;40">
8
<style>
9
div { width: 100px; height: 50px; background-image: url(support/exif-orientation-2-ur.jpg); }
10
.no-orient { image-orientation: none; }
11
</style>
12
<div></div>
13
<div class="no-orient"></div>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-images/image-orientation/image-orientation-background-properties-expected.html +53 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-images/image-orientation/image-orientation-background-properties-expected.html_sec1
1
<!DOCTYPE html>
2
<html>
3
<head>
4
<meta charset="utf-8">
5
<title>CSS Images Module Level 3: image-orientation with background properties reference</title>
6
<link rel="author" title="Stephen Chenney" href="mailto:schenney@chromium.org">
7
<link rel="help" href="https://drafts.csswg.org/css-images-3/#propdef-image-orientation">
8
<style>
9
    div {
10
        position: absolute;
11
        width: 200px;
12
        height: 200PX;
13
        vertical-align: top;
14
        background-image: url(support/exif-orientation-5-lu-pre-rotated.jpg);
15
        background-repeat: no-repeat;
16
    }
17
18
    .repeat {
19
        background-repeat: repeat;
20
        top: 20px;
21
        left: 20px;
22
    }
23
24
    .position {
25
        background-position: bottom right;
26
        top: 20px;
27
        left: 240px;
28
    }
29
30
    .cover {
31
        background-size: cover;
32
        top: 240px;
33
        left: 20px;
34
    }
35
36
    .contain {
37
        background-size: contain;
38
        top: 240px;
39
        left: 240px;
40
    }
41
</style>
42
</head>
43
<body>
44
    <div class="repeat">
45
    </div>
46
    <div class="position">
47
    </div>
48
    <div class="cover">
49
    </div>
50
    <div class="contain">
51
    </div>
52
</body>
53
</html>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-images/image-orientation/image-orientation-background-properties.html +55 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-images/image-orientation/image-orientation-background-properties.html_sec1
1
<!DOCTYPE html>
2
<html>
3
<head>
4
<meta charset="utf-8">
5
<title>CSS Images Module Level 3: image-orientation with background properties</title>
6
<link rel="author" title="Stephen Chenney" href="mailto:schenney@chromium.org">
7
<link rel="help" href="https://drafts.csswg.org/css-images-3/#propdef-image-orientation">
8
<link rel="match" href="reference/image-orientation-background-properties-ref.html">
9
<meta name=fuzzy content="10;100">
10
<style>
11
    div {
12
        position: absolute;
13
        width: 200px;
14
        height: 200PX;
15
        vertical-align: top;
16
        background-image: url(support/exif-orientation-5-lu.jpg);
17
        background-repeat: no-repeat;
18
    }
19
20
    .repeat {
21
        background-repeat: repeat;
22
        top: 20px;
23
        left: 20px;
24
    }
25
26
    .position {
27
        background-position: bottom right;
28
        top: 20px;
29
        left: 240px;
30
    }
31
32
    .cover {
33
        background-size: cover;
34
        top: 240px;
35
        left: 20px;
36
    }
37
38
    .contain {
39
        background-size: contain;
40
        top: 240px;
41
        left: 240px;
42
    }
43
</style>
44
</head>
45
<body>
46
    <div class="repeat">
47
    </div>
48
    <div class="position">
49
    </div>
50
    <div class="cover">
51
    </div>
52
    <div class="contain">
53
    </div>
54
</body>
55
</html>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-images/image-orientation/image-orientation-border-image-expected.html +13 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-images/image-orientation/image-orientation-border-image-expected.html_sec1
1
<!DOCTYPE html>
2
<meta charset="utf-8">
3
<title>CSS Reference</title>
4
<style>
5
div {
6
  width: 100px;
7
  height: 50px;
8
  border: 10px solid black;
9
  border-image: url(support/exif-orientation-2-ur-pre-rotated.jpg) 10;
10
}
11
</style>
12
<div></div>
13
<div></div>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-images/image-orientation/image-orientation-border-image.html +17 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-images/image-orientation/image-orientation-border-image.html_sec1
1
<!DOCTYPE html>
2
<meta charset="utf-8">
3
<title>CSS Images Module Level 3: image-orientation does not apply to border images</title>
4
<link rel="author" title="Cameron McCormack" href="mailto:cam@mcc.id.au">
5
<link rel="help" href="https://drafts.csswg.org/css-images-3/#propdef-image-orientation">
6
<link rel="match" href="reference/image-orientation-border-image-ref.html">
7
<style>
8
div {
9
  width: 100px;
10
  height: 50px;
11
  border: 10px solid black;
12
  border-image: url(support/exif-orientation-2-ur.jpg) 10;
13
}
14
.no-orient { image-orientation: none; }
15
</style>
16
<div></div>
17
<div class="no-orient"></div>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-images/image-orientation/image-orientation-default-expected.html +58 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-images/image-orientation/image-orientation-default-expected.html_sec1
1
<!DOCTYPE html>
2
<html>
3
<head>
4
<title>CSS Images Module Level 3: image-orientation: from-image</title>
5
<link rel="author" title="Stephen Chenney" href="mailto:schenney@chromium.org">
6
<link rel="help" href="https://drafts.csswg.org/css-images-3/#propdef-image-orientation">
7
<style>
8
    body {
9
        overflow: hidden;
10
    }
11
    div {
12
        display: inline-block;
13
        width: 100px;
14
        vertical-align: top;
15
    }
16
</style>
17
</head>
18
<body>
19
    <p>The images should rotate respecting their EXIF orientation because
20
       no image-orientation property is given.</p>
21
    <div>
22
        <img src="support/exif-orientation-1-ul-pre-rotated.jpg">
23
        <br>Normal
24
    </div>
25
    <div>
26
        <img src="support/exif-orientation-2-ur-pre-rotated.jpg">
27
        <br>Flipped horizontally
28
    </div>
29
    <div>
30
        <img src="support/exif-orientation-3-lr-pre-rotated.jpg">
31
        <br>Rotated 180&deg;
32
    </div>
33
    <div>
34
        <img src="support/exif-orientation-4-lol-pre-rotated.jpg">
35
        <br>Flipped vertically
36
    </div>
37
    <div>
38
        <img src="support/exif-orientation-5-lu-pre-rotated.jpg">
39
        <br>Rotated 90&deg; CCW and flipped vertically
40
    </div>
41
    <div>
42
        <img src="support/exif-orientation-6-ru-pre-rotated.jpg">
43
        <br>Rotated 90&deg; CW
44
    </div>
45
    <div>
46
        <img src="support/exif-orientation-7-rl-pre-rotated.jpg">
47
        <br>Rotated 90&deg; CW and flipped vertically
48
    </div>
49
    <div>
50
        <img src="support/exif-orientation-8-llo-pre-rotated.jpg">
51
        <br>Rotated 90&deg; CCW
52
    </div>
53
    <div>
54
        <img src="support/exif-orientation-9-u-pre-rotated.jpg">
55
        <br>Undefined (invalid value)
56
    </div>
57
</body>
58
</html>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-images/image-orientation/image-orientation-default.html +61 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-images/image-orientation/image-orientation-default.html_sec1
1
<!DOCTYPE html>
2
<html>
3
<head>
4
<meta charset="utf-8">
5
<title>CSS Images Module Level 3: image-orientation defaults to from-image</title>
6
<link rel="author" title="Stephen Chenney" href="mailto:schenney@chromium.org">
7
<link rel="help" href="https://drafts.csswg.org/css-images-3/#propdef-image-orientation">
8
<link rel="match" href="reference/image-orientation-default-ref.html">
9
<meta name=fuzzy content="10;100">
10
<style>
11
    body {
12
        overflow: hidden;
13
    }
14
    div {
15
        display: inline-block;
16
        width: 100px;
17
        vertical-align: top;
18
    }
19
</style>
20
</head>
21
<body>
22
    <p>The images should rotate respecting their EXIF orientation because
23
       no image-orientation property is given.</p>
24
    <div>
25
        <img src="support/exif-orientation-1-ul.jpg"/>
26
        <br>Normal
27
    </div>
28
    <div>
29
        <img src="support/exif-orientation-2-ur.jpg"/>
30
        <br>Flipped horizontally
31
    </div>
32
    <div>
33
        <img src="support/exif-orientation-3-lr.jpg"/>
34
        <br>Rotated 180&deg;
35
    </div>
36
    <div>
37
        <img src="support/exif-orientation-4-lol.jpg"/>
38
        <br>Flipped vertically
39
    </div>
40
    <div>
41
        <img src="support/exif-orientation-5-lu.jpg"/>
42
        <br>Rotated 90&deg; CCW and flipped vertically
43
    </div>
44
    <div>
45
        <img src="support/exif-orientation-6-ru.jpg"/>
46
        <br>Rotated 90&deg; CW
47
    </div>
48
    <div>
49
        <img src="support/exif-orientation-7-rl.jpg"/>
50
        <br>Rotated 90&deg; CW and flipped vertically
51
    </div>
52
    <div>
53
        <img src="support/exif-orientation-8-llo.jpg"/>
54
        <br>Rotated 90&deg; CCW
55
    </div>
56
    <div>
57
        <img src="support/exif-orientation-9-u.jpg"/>
58
        <br>Undefined (invalid value)
59
    </div>
60
</body>
61
</html>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-images/image-orientation/image-orientation-from-image-composited-dynamic1-expected.html +59 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-images/image-orientation/image-orientation-from-image-composited-dynamic1-expected.html_sec1
1
<!DOCTYPE html>
2
<html>
3
<head>
4
<meta charset="utf-8">
5
<title>CSS Images Module Level 3: image-orientation: from-image</title>
6
<link rel="author" title="Stephen Chenney" href="mailto:schenney@chromium.org">
7
<link rel="help" href="https://drafts.csswg.org/css-images-3/#propdef-image-orientation">
8
<style>
9
    body {
10
        overflow: hidden;
11
    }
12
    div {
13
        display: inline-block;
14
        width: 100px;
15
        vertical-align: top;
16
    }
17
</style>
18
</head>
19
<body>
20
    <p>The images should rotate respecting their EXIF orientation because
21
       image-orientation: from-image is specified.</p>
22
    <div>
23
        <img src="support/exif-orientation-1-ul-pre-rotated.jpg">
24
        <br>Normal
25
    </div>
26
    <div>
27
        <img src="support/exif-orientation-2-ur-pre-rotated.jpg">
28
        <br>Flipped horizontally
29
    </div>
30
    <div>
31
        <img src="support/exif-orientation-3-lr-pre-rotated.jpg">
32
        <br>Rotated 180&deg;
33
    </div>
34
    <div>
35
        <img src="support/exif-orientation-4-lol-pre-rotated.jpg">
36
        <br>Flipped vertically
37
    </div>
38
    <div>
39
        <img src="support/exif-orientation-5-lu-pre-rotated.jpg">
40
        <br>Rotated 90&deg; CCW and flipped vertically
41
    </div>
42
    <div>
43
        <img src="support/exif-orientation-6-ru-pre-rotated.jpg">
44
        <br>Rotated 90&deg; CW
45
    </div>
46
    <div>
47
        <img src="support/exif-orientation-7-rl-pre-rotated.jpg">
48
        <br>Rotated 90&deg; CW and flipped vertically
49
    </div>
50
    <div>
51
        <img src="support/exif-orientation-8-llo-pre-rotated.jpg">
52
        <br>Rotated 90&deg; CCW
53
    </div>
54
    <div>
55
        <img src="support/exif-orientation-9-u-pre-rotated.jpg">
56
        <br>Undefined (invalid value)
57
    </div>
58
</body>
59
</html>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-images/image-orientation/image-orientation-from-image-composited-dynamic1.html +71 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-images/image-orientation/image-orientation-from-image-composited-dynamic1.html_sec1
1
<!DOCTYPE html>
2
<html>
3
<head>
4
<meta charset="utf-8">
5
<title>CSS Images Module Level 3: change from image-orientation: none to from-image with will-change: transform</title>
6
<link rel="author" title="Stephen Chenney" href="mailto:schenney@chromium.org">
7
<link rel="help" href="https://drafts.csswg.org/css-images-3/#propdef-image-orientation">
8
<link rel="match" href="reference/image-orientation-from-image-ref.html">
9
<meta name=fuzzy content="10;100">
10
<style>
11
    body {
12
        overflow: hidden;}
13
    img {
14
        will-change: transform;
15
        image-orientation: none;
16
    }
17
    div {
18
        display: inline-block;
19
        width: 100px;
20
        vertical-align: top;
21
    }
22
</style>
23
<script>
24
    function runTest() {
25
        for (var i = 1; i <= 9; i++) {
26
            document.getElementById("img" + i).style.imageOrientation = "from-image";
27
        }
28
    }
29
</script>
30
</head>
31
<body onload="runTest()">
32
    <p>The images should rotate respecting their EXIF orientation because
33
       image-orientation: from-image is specified.</p>
34
    <div>
35
        <img id="img1" src="support/exif-orientation-1-ul.jpg"/>
36
        <br>Normal
37
    </div>
38
    <div>
39
        <img id="img2" src="support/exif-orientation-2-ur.jpg"/>
40
        <br>Flipped horizontally
41
    </div>
42
    <div>
43
        <img id="img3" src="support/exif-orientation-3-lr.jpg"/>
44
        <br>Rotated 180&deg;
45
    </div>
46
    <div>
47
        <img id="img4" src="support/exif-orientation-4-lol.jpg"/>
48
        <br>Flipped vertically
49
    </div>
50
    <div>
51
        <img id="img5" src="support/exif-orientation-5-lu.jpg"/>
52
        <br>Rotated 90&deg; CCW and flipped vertically
53
    </div>
54
    <div>
55
        <img id="img6" src="support/exif-orientation-6-ru.jpg"/>
56
        <br>Rotated 90&deg; CW
57
    </div>
58
    <div>
59
        <img id="img7" src="support/exif-orientation-7-rl.jpg"/>
60
        <br>Rotated 90&deg; CW and flipped vertically
61
    </div>
62
    <div>
63
        <img id="img8" src="support/exif-orientation-8-llo.jpg"/>
64
        <br>Rotated 90&deg; CCW
65
    </div>
66
    <div>
67
        <img id="img9" src="support/exif-orientation-9-u.jpg"/>
68
        <br>Undefined (invalid value)
69
    </div>
70
</body>
71
</html>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-images/image-orientation/image-orientation-from-image-composited-dynamic2-expected.html +32 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-images/image-orientation/image-orientation-from-image-composited-dynamic2-expected.html_sec1
1
<!DOCTYPE html>
2
<html>
3
<head>
4
<meta charset="utf-8">
5
<title>CSS Images Module Level 3: image-orientation: none</title>
6
<link rel="author" title="Stephen Chenney" href="mailto:schenney@chromium.org">
7
<link rel="help" href="https://drafts.csswg.org/css-images-3/#propdef-image-orientation">
8
<style>
9
    body {
10
        overflow: hidden;
11
    }
12
    div {
13
        display: inline-block;
14
        width: 100px;
15
        vertical-align: top;
16
    }
17
</style>
18
</head>
19
<body>
20
    <p>The images should not rotate respecting their EXIF orientation because
21
       image-orientation: none is specified.</p>
22
    <div><img src="support/exif-orientation-1-ul.jpg"></div>
23
    <div><img src="support/exif-orientation-1-ul.jpg"></div>
24
    <div><img src="support/exif-orientation-1-ul.jpg"></div>
25
    <div><img src="support/exif-orientation-1-ul.jpg"></div>
26
    <div><img src="support/exif-orientation-1-ul.jpg"></div>
27
    <div><img src="support/exif-orientation-1-ul.jpg"></div>
28
    <div><img src="support/exif-orientation-1-ul.jpg"></div>
29
    <div><img src="support/exif-orientation-1-ul.jpg"></div>
30
    <div><img src="support/exif-orientation-1-ul.jpg"></div>
31
</body>
32
</html>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-images/image-orientation/image-orientation-from-image-composited-dynamic2.html +63 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-images/image-orientation/image-orientation-from-image-composited-dynamic2.html_sec1
1
<!DOCTYPE html>
2
<html>
3
<head>
4
<meta charset="utf-8">
5
<title>CSS Images Module Level 3: change from image-orientation: from-image to none with will-change: transform</title>
6
<link rel="author" title="Stephen Chenney" href="mailto:schenney@chromium.org">
7
<link rel="help" href="https://drafts.csswg.org/css-images-3/#propdef-image-orientation">
8
<link rel="match" href="reference/image-orientation-none-ref.html">
9
<meta name=fuzzy content="10;100">
10
<style>
11
    body {
12
        overflow: hidden;
13
    }
14
    img {
15
        will-change: transform;
16
        image-orientation: from-image;
17
    }
18
    div {
19
        display: inline-block;
20
        width: 100px;
21
        vertical-align: top;
22
    }
23
</style>
24
<script>
25
    function runTest() {
26
        for (var i = 1; i <= 9; i++) {
27
            document.getElementById("img" + i).style.imageOrientation = "none";
28
        }
29
    }
30
</script>
31
</head>
32
<body onload="runTest()">
33
    <p>The images should not rotate respecting their EXIF orientation because
34
       image-orientation: none is specified.</p>
35
    <div>
36
        <img id="img1" src="support/exif-orientation-1-ul.jpg"/>
37
    </div>
38
    <div>
39
        <img id="img2" src="support/exif-orientation-2-ur.jpg"/>
40
    </div>
41
    <div>
42
        <img id="img3" src="support/exif-orientation-3-lr.jpg"/>
43
    </div>
44
    <div>
45
        <img id="img4" src="support/exif-orientation-4-lol.jpg"/>
46
    </div>
47
    <div>
48
        <img id="img5" src="support/exif-orientation-5-lu.jpg"/>
49
    </div>
50
    <div>
51
        <img id="img6" src="support/exif-orientation-6-ru.jpg"/>
52
    </div>
53
    <div>
54
        <img id="img7" src="support/exif-orientation-7-rl.jpg"/>
55
    </div>
56
    <div>
57
        <img id="img8" src="support/exif-orientation-8-llo.jpg"/>
58
    </div>
59
    <div>
60
        <img id="img9" src="support/exif-orientation-9-u.jpg"/>
61
    </div>
62
</body>
63
</html>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-images/image-orientation/image-orientation-from-image-composited-expected.html +59 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-images/image-orientation/image-orientation-from-image-composited-expected.html_sec1
1
<!DOCTYPE html>
2
<html>
3
<head>
4
<meta charset="utf-8">
5
<title>CSS Images Module Level 3: image-orientation: from-image</title>
6
<link rel="author" title="Stephen Chenney" href="mailto:schenney@chromium.org">
7
<link rel="help" href="https://drafts.csswg.org/css-images-3/#propdef-image-orientation">
8
<style>
9
    body {
10
        overflow: hidden;
11
    }
12
    div {
13
        display: inline-block;
14
        width: 100px;
15
        vertical-align: top;
16
    }
17
</style>
18
</head>
19
<body>
20
    <p>The images should rotate respecting their EXIF orientation because
21
       image-orientation: from-image is specified.</p>
22
    <div>
23
        <img src="support/exif-orientation-1-ul-pre-rotated.jpg">
24
        <br>Normal
25
    </div>
26
    <div>
27
        <img src="support/exif-orientation-2-ur-pre-rotated.jpg">
28
        <br>Flipped horizontally
29
    </div>
30
    <div>
31
        <img src="support/exif-orientation-3-lr-pre-rotated.jpg">
32
        <br>Rotated 180&deg;
33
    </div>
34
    <div>
35
        <img src="support/exif-orientation-4-lol-pre-rotated.jpg">
36
        <br>Flipped vertically
37
    </div>
38
    <div>
39
        <img src="support/exif-orientation-5-lu-pre-rotated.jpg">
40
        <br>Rotated 90&deg; CCW and flipped vertically
41
    </div>
42
    <div>
43
        <img src="support/exif-orientation-6-ru-pre-rotated.jpg">
44
        <br>Rotated 90&deg; CW
45
    </div>
46
    <div>
47
        <img src="support/exif-orientation-7-rl-pre-rotated.jpg">
48
        <br>Rotated 90&deg; CW and flipped vertically
49
    </div>
50
    <div>
51
        <img src="support/exif-orientation-8-llo-pre-rotated.jpg">
52
        <br>Rotated 90&deg; CCW
53
    </div>
54
    <div>
55
        <img src="support/exif-orientation-9-u-pre-rotated.jpg">
56
        <br>Undefined (invalid value)
57
    </div>
58
</body>
59
</html>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-images/image-orientation/image-orientation-from-image-composited.html +65 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-images/image-orientation/image-orientation-from-image-composited.html_sec1
1
<!DOCTYPE html>
2
<html>
3
<head>
4
<meta charset="utf-8">
5
<title>CSS Images Module Level 3: image-orientation: from-image with will-change: transform</title>
6
<link rel="author" title="Stephen Chenney" href="mailto:schenney@chromium.org">
7
<link rel="help" href="https://drafts.csswg.org/css-images-3/#propdef-image-orientation">
8
<link rel="match" href="reference/image-orientation-from-image-ref.html">
9
<meta name=fuzzy content="10;100">
10
<style>
11
    body {
12
        overflow: hidden;
13
        image-orientation: from-image;
14
    }
15
    img {
16
        will-change: transform;
17
    }
18
    div {
19
        display: inline-block;
20
        width: 100px;
21
        vertical-align: top;
22
    }
23
</style>
24
</head>
25
<body>
26
    <p>The images should rotate respecting their EXIF orientation because
27
       image-orientation: from-image is specified.</p>
28
    <div>
29
        <img src="support/exif-orientation-1-ul.jpg"/>
30
        <br>Normal
31
    </div>
32
    <div>
33
        <img src="support/exif-orientation-2-ur.jpg"/>
34
        <br>Flipped horizontally
35
    </div>
36
    <div>
37
        <img src="support/exif-orientation-3-lr.jpg"/>
38
        <br>Rotated 180&deg;
39
    </div>
40
    <div>
41
        <img src="support/exif-orientation-4-lol.jpg"/>
42
        <br>Flipped vertically
43
    </div>
44
    <div>
45
        <img src="support/exif-orientation-5-lu.jpg"/>
46
        <br>Rotated 90&deg; CCW and flipped vertically
47
    </div>
48
    <div>
49
        <img src="support/exif-orientation-6-ru.jpg"/>
50
        <br>Rotated 90&deg; CW
51
    </div>
52
    <div>
53
        <img src="support/exif-orientation-7-rl.jpg"/>
54
        <br>Rotated 90&deg; CW and flipped vertically
55
    </div>
56
    <div>
57
        <img src="support/exif-orientation-8-llo.jpg"/>
58
        <br>Rotated 90&deg; CCW
59
    </div>
60
    <div>
61
        <img src="support/exif-orientation-9-u.jpg"/>
62
        <br>Undefined (invalid value)
63
    </div>
64
</body>
65
</html>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-images/image-orientation/image-orientation-from-image-computed-style-expected.txt +4 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-images/image-orientation/image-orientation-from-image-computed-style-expected.txt_sec1
1
               
2
3
PASS image-orientation:from-image computed style reports correct values 
4
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-images/image-orientation/image-orientation-from-image-computed-style.html +58 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-images/image-orientation/image-orientation-from-image-computed-style.html_sec1
1
<!DOCTYPE html>
2
<html>
3
<head>
4
<meta charset="utf-8">
5
<title>CSS Images Module Level 3: image-orientation:none computed style</title>
6
<link rel="author" title="Stephen Chenney" href="mailto:schenney@chromium.org">
7
<link rel="help" href="https://drafts.csswg.org/css-images-3/#propdef-image-orientation">
8
<script src="/resources/testharness.js"></script>
9
<script src="/resources/testharnessreport.js"></script>
10
<style>
11
    body {
12
        overflow: hidden;
13
        image-orientation: from-image;
14
    }
15
    div {
16
        display: inline-block;
17
        width: 100px;
18
        vertical-align: top;
19
    }
20
</style>
21
<script>
22
function run_tests() {
23
    test(function() {
24
        for (var i = 1; i <= 4; i++) {
25
            var el = document.getElementById("img" + i);
26
            var computedStyle = window.getComputedStyle(el);
27
            assert_equals(computedStyle.width, "100px");
28
            assert_equals(computedStyle.height, "50px");
29
            assert_equals(computedStyle.imageOrientation, "from-image");
30
        }
31
        for (var i = 5; i <= 8; i++) {
32
            var el = document.getElementById("img" + i);
33
            var computedStyle = window.getComputedStyle(el);
34
            assert_equals(computedStyle.width, "50px");
35
            assert_equals(computedStyle.height, "100px");
36
            assert_equals(computedStyle.imageOrientation, "from-image");
37
        }
38
        var el = document.getElementById("img9");
39
        var computedStyle = window.getComputedStyle(el);
40
        assert_equals(computedStyle.width, "100px");
41
        assert_equals(computedStyle.height, "50px");
42
        assert_equals(computedStyle.imageOrientation, "from-image");
43
      }, "image-orientation:from-image computed style reports correct values");
44
}
45
</script>
46
</head>
47
<body onload="run_tests()">
48
    <div><img id="img1" src="support/exif-orientation-1-ul.jpg"/></div>
49
    <div><img id="img2" src="support/exif-orientation-2-ur.jpg"/></div>
50
    <div><img id="img3" src="support/exif-orientation-3-lr.jpg"/></div>
51
    <div><img id="img4" src="support/exif-orientation-4-lol.jpg"/></div>
52
    <div><img id="img5" src="support/exif-orientation-5-lu.jpg"/></div>
53
    <div><img id="img6" src="support/exif-orientation-6-ru.jpg"/></div>
54
    <div><img id="img7" src="support/exif-orientation-7-rl.jpg"/></div>
55
    <div><img id="img8" src="support/exif-orientation-8-llo.jpg"/></div>
56
    <div><img id="img9" src="support/exif-orientation-9-u.jpg"/></div>
57
</body>
58
</html>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-images/image-orientation/image-orientation-from-image-content-images-expected.html +86 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-images/image-orientation/image-orientation-from-image-content-images-expected.html_sec1
1
<!DOCTYPE html>
2
<html>
3
<head>
4
<title>CSS Images Module Level 3: image-orientation: from-image for content images</title>
5
<link rel="author" title="Stephen Chenney" href="mailto:schenney@chromium.org">
6
<link rel="help" href="https://drafts.csswg.org/css-images-3/#propdef-image-orientation">
7
<style>
8
    div.image {
9
        display: inline-block;
10
    }
11
    div.container {
12
        display: inline-block;
13
        width: 100px;
14
        vertical-align: top;
15
    }
16
    img {
17
        width: 100px;
18
        height: 100px;
19
        background-repeat: no-repeat;
20
    }
21
    body {
22
        overflow: hidden;
23
    }
24
</style>
25
</head>
26
<body >
27
    <p>The images should rotate respecting their EXIF orientation because
28
       image-orientation: from-image is specified.
29
    </p>
30
    <div class="container">
31
        <div class="image" style="content: url(../support/exif-orientation-1-ul-pre-rotated.jpg)"></div>
32
        <br>Normal
33
    </div>
34
    <div class="container">
35
        <div class="image" style="content: url(../support/exif-orientation-2-ur-pre-rotated.jpg)"></div>
36
        <br>Flipped horizontally
37
    </div>
38
    <div class="container">
39
        <div class="image" style="content: url(../support/exif-orientation-3-lr-pre-rotated.jpg)"></div>
40
        <br>Rotated 180&deg;
41
    </div>
42
    <div class="container">
43
        <div class="image" style="content: url(../support/exif-orientation-4-lol-pre-rotated.jpg)"></div>
44
        <br>Flipped vertically
45
    </div>
46
    <br>
47
    <div class="container">
48
        <div class="image" style="content: url(../support/exif-orientation-5-lu-pre-rotated.jpg)"></div>
49
        <br>Rotated 90&deg; CCW and flipped vertically
50
    </div>
51
    <div class="container">
52
        <div class="image" style="content: url(../support/exif-orientation-6-ru-pre-rotated.jpg)"></div>
53
        <br>Rotated 90&deg; CW
54
    </div>
55
    <div class="container">
56
        <div class="image" style="content: url(../support/exif-orientation-7-rl-pre-rotated.jpg)"></div>
57
        <br>Rotated 90&deg; CW and flipped vertically
58
    </div>
59
    <div class="container">
60
        <div class="image" style="content: url(../support/exif-orientation-8-llo-pre-rotated.jpg)"></div>
61
        <br>Rotated 90&deg; CCW
62
    </div>
63
    <br>
64
    <div class="container">
65
        <img style="background-image: url(../support/exif-orientation-5-lu-pre-rotated.jpg)"></img>
66
        <br>Rotated 90&deg; CCW and flipped vertically
67
    </div>
68
    <div class="container">
69
        <img style="background-image: url(../support/exif-orientation-6-ru-pre-rotated.jpg)"></img>
70
        <br>Rotated 90&deg; CW
71
    </div>
72
    <div class="container">
73
        <img style="background-image: url(../support/exif-orientation-7-rl-pre-rotated.jpg)"></img>
74
        <br>Rotated 90&deg; CW and flipped vertically
75
    </div>
76
    <div class="container">
77
        <img style="background-image: url(../support/exif-orientation-8-llo-pre-rotated.jpg)"></img>
78
        <br>Rotated 90&deg; CCW
79
    </div>
80
    <br>
81
    <div class="container">
82
        <div class="image" style="content: url(../support/exif-orientation-9-u-pre-rotated.jpg)"></div>
83
        <br>Undefined (invalid value)
84
    </div>
85
</body>
86
</html>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-images/image-orientation/image-orientation-from-image-content-images.html +89 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-images/image-orientation/image-orientation-from-image-content-images.html_sec1
1
<!DOCTYPE html>
2
<html>
3
<head>
4
<meta charset="utf-8">
5
<title>CSS Images Module Level 3: image-orientation: from-image for content images</title>
6
<link rel="author" title="Stephen Chenney" href="mailto:schenney@chromium.org">
7
<link rel="help" href="https://drafts.csswg.org/css-images-3/#propdef-image-orientation">
8
<link rel="match" href="reference/image-orientation-from-image-content-images-ref.html">
9
<meta name=fuzzy content="10;100">
10
<style>
11
    div.image {
12
        display: inline-block;
13
    }
14
    div.container {
15
        display: inline-block;
16
        width: 100px;
17
        vertical-align: top;
18
        image-orientation: from-image;
19
    }
20
    img {
21
        width: 100px;
22
        height: 100px;
23
        background-repeat: no-repeat;
24
    }
25
    body {
26
        overflow: hidden;
27
    }
28
</style>
29
</head>
30
<body>
31
    <p>The images should rotate respecting their EXIF orientation because
32
       image-orientation: from-image is specified.</p>
33
    <div class="container">
34
        <div class="image" style="content: url(support/exif-orientation-1-ul.jpg)"></div>
35
        <br>Normal
36
    </div>
37
    <div class="container">
38
        <div class="image" style="content: url(support/exif-orientation-2-ur.jpg)"></div>
39
        <br>Flipped horizontally
40
    </div>
41
    <div class="container">
42
        <div class="image" style="content: url(support/exif-orientation-3-lr.jpg)"></div>
43
        <br>Rotated 180&deg;
44
    </div>
45
    <div class="container">
46
        <div class="image" style="content: url(support/exif-orientation-4-lol.jpg)"></div>
47
        <br>Flipped vertically
48
    </div>
49
    <br>
50
    <div class="container">
51
        <div class="image" style="content: url(support/exif-orientation-5-lu.jpg)"></div>
52
        <br>Rotated 90&deg; CCW and flipped vertically
53
    </div>
54
    <div class="container">
55
        <div class="image" style="content: url(support/exif-orientation-6-ru.jpg)"></div>
56
        <br>Rotated 90&deg; CW
57
    </div>
58
    <div class="container">
59
        <div class="image" style="content: url(support/exif-orientation-7-rl.jpg)"></div>
60
        <br>Rotated 90&deg; CW and flipped vertically
61
    </div>
62
    <div class="container">
63
        <div class="image" style="content: url(support/exif-orientation-8-llo.jpg)"></div>
64
        <br>Rotated 90&deg; CCW
65
    </div>
66
    <br>
67
    <div class="container">
68
        <img style="background-image: url(support/exif-orientation-5-lu.jpg)"></img>
69
        <br>Rotated 90&deg; CCW and flipped vertically
70
    </div>
71
    <div class="container">
72
        <img style="background-image: url(support/exif-orientation-6-ru.jpg)"></img>
73
        <br>Rotated 90&deg; CW
74
    </div>
75
    <div class="container">
76
        <img style="background-image: url(support/exif-orientation-7-rl.jpg)"></img>
77
        <br>Rotated 90&deg; CW and flipped vertically
78
    </div>
79
    <div class="container">
80
        <img style="background-image: url(support/exif-orientation-8-llo.jpg)"></img>
81
        <br>Rotated 90&deg; CCW
82
    </div>
83
    <br>
84
    <div class="container">
85
        <div class="image" style="content: url(support/exif-orientation-9-u.jpg)"></div>
86
        <br>Undefined (invalid value)
87
    </div>
88
</body>
89
</html>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-images/image-orientation/image-orientation-from-image-dynamic1-expected.html +59 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-images/image-orientation/image-orientation-from-image-dynamic1-expected.html_sec1
1
<!DOCTYPE html>
2
<html>
3
<head>
4
<meta charset="utf-8">
5
<title>CSS Images Module Level 3: image-orientation: from-image</title>
6
<link rel="author" title="Stephen Chenney" href="mailto:schenney@chromium.org">
7
<link rel="help" href="https://drafts.csswg.org/css-images-3/#propdef-image-orientation">
8
<style>
9
    body {
10
        overflow: hidden;
11
    }
12
    div {
13
        display: inline-block;
14
        width: 100px;
15
        vertical-align: top;
16
    }
17
</style>
18
</head>
19
<body>
20
    <p>The images should rotate respecting their EXIF orientation because
21
       image-orientation: from-image is specified.</p>
22
    <div>
23
        <img src="support/exif-orientation-1-ul-pre-rotated.jpg">
24
        <br>Normal
25
    </div>
26
    <div>
27
        <img src="support/exif-orientation-2-ur-pre-rotated.jpg">
28
        <br>Flipped horizontally
29
    </div>
30
    <div>
31
        <img src="support/exif-orientation-3-lr-pre-rotated.jpg">
32
        <br>Rotated 180&deg;
33
    </div>
34
    <div>
35
        <img src="support/exif-orientation-4-lol-pre-rotated.jpg">
36
        <br>Flipped vertically
37
    </div>
38
    <div>
39
        <img src="support/exif-orientation-5-lu-pre-rotated.jpg">
40
        <br>Rotated 90&deg; CCW and flipped vertically
41
    </div>
42
    <div>
43
        <img src="support/exif-orientation-6-ru-pre-rotated.jpg">
44
        <br>Rotated 90&deg; CW
45
    </div>
46
    <div>
47
        <img src="support/exif-orientation-7-rl-pre-rotated.jpg">
48
        <br>Rotated 90&deg; CW and flipped vertically
49
    </div>
50
    <div>
51
        <img src="support/exif-orientation-8-llo-pre-rotated.jpg">
52
        <br>Rotated 90&deg; CCW
53
    </div>
54
    <div>
55
        <img src="support/exif-orientation-9-u-pre-rotated.jpg">
56
        <br>Undefined (invalid value)
57
    </div>
58
</body>
59
</html>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-images/image-orientation/image-orientation-from-image-dynamic1.html +71 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-images/image-orientation/image-orientation-from-image-dynamic1.html_sec1
1
<!DOCTYPE html>
2
<html>
3
<head>
4
<meta charset="utf-8">
5
<title>CSS Images Module Level 3: change from image-orientation: none to from-image</title>
6
<link rel="author" title="Stephen Chenney" href="mailto:schenney@chromium.org">
7
<link rel="help" href="https://drafts.csswg.org/css-images-3/#propdef-image-orientation">
8
<link rel="match" href="reference/image-orientation-from-image-ref.html">
9
<meta name=fuzzy content="10;100">
10
<style>
11
    body {
12
        overflow: hidden;
13
    }
14
    img {
15
        image-orientation: none;
16
    }
17
    div {
18
        display: inline-block;
19
        width: 100px;
20
        vertical-align: top;
21
    }
22
</style>
23
<script>
24
    function runTest() {
25
        for (var i = 1; i <= 9; i++) {
26
            document.getElementById("img" + i).style.imageOrientation = "from-image";
27
        }
28
    }
29
</script>
30
</head>
31
<body onload="runTest()">
32
    <p>The images should rotate respecting their EXIF orientation because
33
       image-orientation: from-image is specified.</p>
34
    <div>
35
        <img id="img1" src="support/exif-orientation-1-ul.jpg"/>
36
        <br>Normal
37
    </div>
38
    <div>
39
        <img id="img2" src="support/exif-orientation-2-ur.jpg"/>
40
        <br>Flipped horizontally
41
    </div>
42
    <div>
43
        <img id="img3" src="support/exif-orientation-3-lr.jpg"/>
44
        <br>Rotated 180&deg;
45
    </div>
46
    <div>
47
        <img id="img4" src="support/exif-orientation-4-lol.jpg"/>
48
        <br>Flipped vertically
49
    </div>
50
    <div>
51
        <img id="img5" src="support/exif-orientation-5-lu.jpg"/>
52
        <br>Rotated 90&deg; CCW and flipped vertically
53
    </div>
54
    <div>
55
        <img id="img6" src="support/exif-orientation-6-ru.jpg"/>
56
        <br>Rotated 90&deg; CW
57
    </div>
58
    <div>
59
        <img id="img7" src="support/exif-orientation-7-rl.jpg"/>
60
        <br>Rotated 90&deg; CW and flipped vertically
61
    </div>
62
    <div>
63
        <img id="img8" src="support/exif-orientation-8-llo.jpg"/>
64
        <br>Rotated 90&deg; CCW
65
    </div>
66
    <div>
67
        <img id="img9" src="support/exif-orientation-9-u.jpg"/>
68
        <br>Undefined (invalid value)
69
    </div>
70
</body>
71
</html>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-images/image-orientation/image-orientation-from-image-dynamic2-expected.html +32 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-images/image-orientation/image-orientation-from-image-dynamic2-expected.html_sec1
1
<!DOCTYPE html>
2
<html>
3
<head>
4
<meta charset="utf-8">
5
<title>CSS Images Module Level 3: image-orientation: none</title>
6
<link rel="author" title="Stephen Chenney" href="mailto:schenney@chromium.org">
7
<link rel="help" href="https://drafts.csswg.org/css-images-3/#propdef-image-orientation">
8
<style>
9
    body {
10
        overflow: hidden;
11
    }
12
    div {
13
        display: inline-block;
14
        width: 100px;
15
        vertical-align: top;
16
    }
17
</style>
18
</head>
19
<body>
20
    <p>The images should not rotate respecting their EXIF orientation because
21
       image-orientation: none is specified.</p>
22
    <div><img src="support/exif-orientation-1-ul.jpg"></div>
23
    <div><img src="support/exif-orientation-1-ul.jpg"></div>
24
    <div><img src="support/exif-orientation-1-ul.jpg"></div>
25
    <div><img src="support/exif-orientation-1-ul.jpg"></div>
26
    <div><img src="support/exif-orientation-1-ul.jpg"></div>
27
    <div><img src="support/exif-orientation-1-ul.jpg"></div>
28
    <div><img src="support/exif-orientation-1-ul.jpg"></div>
29
    <div><img src="support/exif-orientation-1-ul.jpg"></div>
30
    <div><img src="support/exif-orientation-1-ul.jpg"></div>
31
</body>
32
</html>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-images/image-orientation/image-orientation-from-image-dynamic2.html +62 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-images/image-orientation/image-orientation-from-image-dynamic2.html_sec1
1
<!DOCTYPE html>
2
<html>
3
<head>
4
<meta charset="utf-8">
5
<title>CSS Images Module Level 3: change from image-orientation: from-image to none</title>
6
<link rel="author" title="Stephen Chenney" href="mailto:schenney@chromium.org">
7
<link rel="help" href="https://drafts.csswg.org/css-images-3/#propdef-image-orientation">
8
<link rel="match" href="reference/image-orientation-none-ref.html">
9
<meta name=fuzzy content="10;100">
10
<style>
11
    body {
12
        overflow: hidden;
13
    }
14
    img {
15
        image-orientation: from-image;
16
    }
17
    div {
18
        display: inline-block;
19
        width: 100px;
20
        vertical-align: top;
21
    }
22
</style>
23
<script>
24
    function runTest() {
25
        for (var i = 1; i <= 9; i++) {
26
            document.getElementById("img" + i).style.imageOrientation = "none";
27
        }
28
    }
29
</script>
30
</head>
31
<body onload="runTest()">
32
    <p>The images should not rotate respecting their EXIF orientation because
33
       image-orientation: none is specified.</p>
34
    <div>
35
        <img id="img1" src="support/exif-orientation-1-ul.jpg"/>
36
    </div>
37
    <div>
38
        <img id="img2" src="support/exif-orientation-2-ur.jpg"/>
39
    </div>
40
    <div>
41
        <img id="img3" src="support/exif-orientation-3-lr.jpg"/>
42
    </div>
43
    <div>
44
        <img id="img4" src="support/exif-orientation-4-lol.jpg"/>
45
    </div>
46
    <div>
47
        <img id="img5" src="support/exif-orientation-5-lu.jpg"/>
48
    </div>
49
    <div>
50
        <img id="img6" src="support/exif-orientation-6-ru.jpg"/>
51
    </div>
52
    <div>
53
        <img id="img7" src="support/exif-orientation-7-rl.jpg"/>
54
    </div>
55
    <div>
56
        <img id="img8" src="support/exif-orientation-8-llo.jpg"/>
57
    </div>
58
    <div>
59
        <img id="img9" src="support/exif-orientation-9-u.jpg"/>
60
    </div>
61
</body>
62
</html>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-images/image-orientation/image-orientation-from-image-embedded-content-expected.html +44 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-images/image-orientation/image-orientation-from-image-embedded-content-expected.html_sec1
1
<!DOCTYPE html>
2
<html>
3
<head>
4
<meta charset="utf-8">
5
<title>CSS Images Module Level 3: image-orientation: from-image in embedded content (reference)</title>
6
<link rel="author" title="Stephen Chenney" href="mailto:schenney@chromium.org">
7
<link rel="help" href="https://drafts.csswg.org/css-images-3/#propdef-image-orientation">
8
<style>
9
    iframe {
10
        display: inline-block;
11
        width: 120px;
12
        height: 110px;
13
        vertical-align: top;
14
    }
15
    embed {
16
        object-fit: none;
17
        object-position: top left;
18
        image-orientation: from-image;
19
    }
20
    object {
21
        object-fit: none;
22
        object-position: top left;
23
        image-orientation: from-image;
24
    }
25
</style>
26
</head>
27
<body>
28
    <p>The images should rotate respecting their EXIF orientation because image
29
       documents always respect the orientation, regardless of the image-orientation
30
       property.</p>
31
    <iframe src="support/exif-orientation-1-ul-pre-rotated.jpg" frameborder=0></iframe>
32
    <embed type="image/jpeg" src="../support/exif-orientation-2-ur-pre-rotated.jpg" width="120" height="110px">
33
    <object type="image/jpeg" data="../support/exif-orientation-3-lr-pre-rotated.jpg" width="120" height="110px"></object>
34
    <iframe src="support/exif-orientation-4-lol-pre-rotated.jpg" frameborder=0></iframe>
35
    <br>
36
    <iframe src="support/exif-orientation-5-lu-pre-rotated.jpg" frameborder=0></iframe>
37
    <embed type="image/jpeg" src="../support/exif-orientation-6-ru-pre-rotated.jpg" width="120" height="110px">
38
    <object type="image/jpeg" data="../support/exif-orientation-7-rl-pre-rotated.jpg" width="120" height="110px"></object>
39
    <iframe src="support/exif-orientation-8-llo-pre-rotated.jpg" frameborder=0></iframe>
40
    <br>
41
    <iframe src="support/exif-orientation-9-u-pre-rotated.jpg" frameborder=0></iframe>
42
</body>
43
</html>
44
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-images/image-orientation/image-orientation-from-image-embedded-content.html +46 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-images/image-orientation/image-orientation-from-image-embedded-content.html_sec1
1
<!DOCTYPE html>
2
<html>
3
<head>
4
<meta charset="utf-8">
5
<title>CSS Images Module Level 3: image-orientation: from-image in embedded content</title>
6
<link rel="author" title="Stephen Chenney" href="mailto:schenney@chromium.org">
7
<link rel="help" href="https://drafts.csswg.org/css-images-3/#propdef-image-orientation">
8
<link rel="match" href="reference/image-orientation-from-image-embedded-content-ref.html">
9
<meta name=fuzzy content="10;100">
10
<style>
11
    iframe {
12
        display: inline-block;
13
        width: 120px;
14
        height: 110px;
15
        vertical-align: top;
16
        image-orientation: from-image;
17
    }
18
    embed {
19
        object-fit: none;
20
        object-position: top left;
21
        image-orientation: from-image;
22
    }
23
    object {
24
        object-fit: none;
25
        object-position: top left;
26
        image-orientation: from-image;
27
    }
28
</style>
29
</head>
30
<body>
31
    <p>The images should rotate respecting their EXIF orientation because image
32
       documents always respect the orientation, regardless of the image-orientation
33
       property.</p>
34
    <iframe src="support/exif-orientation-1-ul.jpg" frameborder=0></iframe>
35
    <embed type="image/jpeg" src="support/exif-orientation-2-ur.jpg" width="120" height="110px">
36
    <object type="image/jpeg" data="support/exif-orientation-3-lr.jpg" width="120" height="110px"></object>
37
    <iframe src="support/exif-orientation-4-lol.jpg" frameborder=0></iframe>
38
    <br>
39
    <iframe src="support/exif-orientation-5-lu.jpg" frameborder=0></iframe>
40
    <embed type="image/jpeg" src="support/exif-orientation-6-ru.jpg" width="120" height="110px">
41
    <object type="image/jpeg" data="support/exif-orientation-7-rl.jpg" width="120" height="110px"></object>
42
    <iframe src="support/exif-orientation-8-llo.jpg" frameborder=0></iframe>
43
    <br>
44
    <iframe src="support/exif-orientation-9-u.jpg" frameborder=0></iframe>
45
</body>
46
</html>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-images/image-orientation/image-orientation-from-image-expected.html +59 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-images/image-orientation/image-orientation-from-image-expected.html_sec1
1
<!DOCTYPE html>
2
<html>
3
<head>
4
<meta charset="utf-8">
5
<title>CSS Images Module Level 3: image-orientation: from-image</title>
6
<link rel="author" title="Stephen Chenney" href="mailto:schenney@chromium.org">
7
<link rel="help" href="https://drafts.csswg.org/css-images-3/#propdef-image-orientation">
8
<style>
9
    body {
10
        overflow: hidden;
11
    }
12
    div {
13
        display: inline-block;
14
        width: 100px;
15
        vertical-align: top;
16
    }
17
</style>
18
</head>
19
<body>
20
    <p>The images should rotate respecting their EXIF orientation because
21
       image-orientation: from-image is specified.</p>
22
    <div>
23
        <img src="support/exif-orientation-1-ul-pre-rotated.jpg">
24
        <br>Normal
25
    </div>
26
    <div>
27
        <img src="support/exif-orientation-2-ur-pre-rotated.jpg">
28
        <br>Flipped horizontally
29
    </div>
30
    <div>
31
        <img src="support/exif-orientation-3-lr-pre-rotated.jpg">
32
        <br>Rotated 180&deg;
33
    </div>
34
    <div>
35
        <img src="support/exif-orientation-4-lol-pre-rotated.jpg">
36
        <br>Flipped vertically
37
    </div>
38
    <div>
39
        <img src="support/exif-orientation-5-lu-pre-rotated.jpg">
40
        <br>Rotated 90&deg; CCW and flipped vertically
41
    </div>
42
    <div>
43
        <img src="support/exif-orientation-6-ru-pre-rotated.jpg">
44
        <br>Rotated 90&deg; CW
45
    </div>
46
    <div>
47
        <img src="support/exif-orientation-7-rl-pre-rotated.jpg">
48
        <br>Rotated 90&deg; CW and flipped vertically
49
    </div>
50
    <div>
51
        <img src="support/exif-orientation-8-llo-pre-rotated.jpg">
52
        <br>Rotated 90&deg; CCW
53
    </div>
54
    <div>
55
        <img src="support/exif-orientation-9-u-pre-rotated.jpg">
56
        <br>Undefined (invalid value)
57
    </div>
58
</body>
59
</html>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-images/image-orientation/image-orientation-from-image.html +62 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-images/image-orientation/image-orientation-from-image.html_sec1
1
<!DOCTYPE html>
2
<html>
3
<head>
4
<meta charset="utf-8">
5
<title>CSS Images Module Level 3: image-orientation: from-image</title>
6
<link rel="author" title="Stephen Chenney" href="mailto:schenney@chromium.org">
7
<link rel="help" href="https://drafts.csswg.org/css-images-3/#propdef-image-orientation">
8
<link rel="match" href="reference/image-orientation-from-image-ref.html">
9
<meta name=fuzzy content="10;100">
10
<style>
11
    body {
12
        overflow: hidden;
13
        image-orientation: from-image;
14
    }
15
    div {
16
        display: inline-block;
17
        width: 100px;
18
        vertical-align: top;
19
    }
20
</style>
21
</head>
22
<body>
23
    <p>The images should rotate respecting their EXIF orientation because
24
       image-orientation: from-image is specified.</p>
25
    <div>
26
        <img src="support/exif-orientation-1-ul.jpg"/>
27
        <br>Normal
28
    </div>
29
    <div>
30
        <img src="support/exif-orientation-2-ur.jpg"/>
31
        <br>Flipped horizontally
32
    </div>
33
    <div>
34
        <img src="support/exif-orientation-3-lr.jpg"/>
35
        <br>Rotated 180&deg;
36
    </div>
37
    <div>
38
        <img src="support/exif-orientation-4-lol.jpg"/>
39
        <br>Flipped vertically
40
    </div>
41
    <div>
42
        <img src="support/exif-orientation-5-lu.jpg"/>
43
        <br>Rotated 90&deg; CCW and flipped vertically
44
    </div>
45
    <div>
46
        <img src="support/exif-orientation-6-ru.jpg"/>
47
        <br>Rotated 90&deg; CW
48
    </div>
49
    <div>
50
        <img src="support/exif-orientation-7-rl.jpg"/>
51
        <br>Rotated 90&deg; CW and flipped vertically
52
    </div>
53
    <div>
54
        <img src="support/exif-orientation-8-llo.jpg"/>
55
        <br>Rotated 90&deg; CCW
56
    </div>
57
    <div>
58
        <img src="support/exif-orientation-9-u.jpg"/>
59
        <br>Undefined (invalid value)
60
    </div>
61
</body>
62
</html>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-images/image-orientation/image-orientation-list-style-image-expected.html +8 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-images/image-orientation/image-orientation-list-style-image-expected.html_sec1
1
<!DOCTYPE html>
2
<meta charset="utf-8">
3
<title>CSS Reference</title>
4
<style>
5
ul { margin-left: 100px; list-style-image: url(support/exif-orientation-2-ur-pre-rotated.jpg); }
6
</style>
7
<ul><li>&nbsp;</li></ul>
8
<ul><li>&nbsp;</li></ul>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-images/image-orientation/image-orientation-list-style-image.html +13 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-images/image-orientation/image-orientation-list-style-image.html_sec1
1
<!DOCTYPE html>
2
<meta charset="utf-8">
3
<title>CSS Images Module Level 3: image-orientation does not apply to list-style-image</title>
4
<link rel="author" title="Cameron McCormack" href="mailto:cam@mcc.id.au">
5
<link rel="help" href="https://drafts.csswg.org/css-images-3/#propdef-image-orientation">
6
<link rel="match" href="reference/image-orientation-list-style-image-ref.html">
7
<meta name=fuzzy content="2;40">
8
<style>
9
ul { margin-left: 100px; list-style-image: url(support/exif-orientation-2-ur.jpg); }
10
.no-orient { image-orientation: none; }
11
</style>
12
<ul><li>&nbsp;</li></ul>
13
<ul class="no-orient"><li>&nbsp;</li></ul>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-images/image-orientation/image-orientation-mask-image-expected.html +14 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-images/image-orientation/image-orientation-mask-image-expected.html_sec1
1
<!DOCTYPE html>
2
<meta charset="utf-8">
3
<title>CSS Reference</title>
4
<style>
5
div {
6
  width: 100px;
7
  height: 50px;
8
  background: blue;
9
  -webkit-mask-image: url(support/exif-orientation-2-ur-pre-rotated.jpg);
10
  mask-mode: luminance;
11
}
12
</style>
13
<div></div>
14
<div></div>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-images/image-orientation/image-orientation-mask-image.html +19 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-images/image-orientation/image-orientation-mask-image.html_sec1
1
<!DOCTYPE html>
2
<meta charset="utf-8">
3
<title>CSS Images Module Level 3: image-orientation does not apply to mask-image</title>
4
<link rel="author" title="Cameron McCormack" href="mailto:cam@mcc.id.au">
5
<link rel="help" href="https://drafts.csswg.org/css-images-3/#propdef-image-orientation">
6
<link rel="match" href="reference/image-orientation-mask-image-ref.html">
7
<meta name=fuzzy content="1;22">
8
<style>
9
div {
10
  width: 100px;
11
  height: 50px;
12
  background: blue;
13
  -webkit-mask-image: url(support/exif-orientation-2-ur.jpg);
14
  mask-mode: luminance;
15
}
16
.no-orient { image-orientation: none; }
17
</style>
18
<div></div>
19
<div class="no-orient"></div>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-images/image-orientation/image-orientation-none-computed-style-expected.txt +4 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-images/image-orientation/image-orientation-none-computed-style-expected.txt_sec1
1
               
2
3
PASS image-orientation:none computed style reports correct values 
4
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-images/image-orientation/image-orientation-none-computed-style.html +47 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-images/image-orientation/image-orientation-none-computed-style.html_sec1
1
<!DOCTYPE html>
2
<html>
3
<head>
4
<meta charset="utf-8">
5
<title>CSS Images Module Level 3: image-orientation: none computed style</title>
6
<link rel="author" title="Stephen Chenney" href="mailto:schenney@chromium.org">
7
<link rel="help" href="https://drafts.csswg.org/css-images-3/#propdef-image-orientation">
8
<script src="/resources/testharness.js"></script>
9
<script src="/resources/testharnessreport.js"></script>
10
<style>
11
    body {
12
        overflow: hidden;
13
        image-orientation: none;
14
    }
15
    div {
16
        display: inline-block;
17
        width: 100px;
18
        vertical-align: top;
19
    }
20
</style>
21
<script>
22
function run_tests() {
23
    test(function() {
24
        for (var i = 1; i <= 9; i++) {
25
            var el = document.getElementById("img" + i);
26
            var computedStyle = window.getComputedStyle(el);
27
            assert_equals(computedStyle.width, "100px");
28
            assert_equals(computedStyle.height, "50px");
29
            assert_equals(computedStyle.imageOrientation, "none");
30
        }
31
      }, "image-orientation:none computed style reports correct values");
32
33
}
34
</script>
35
</head>
36
<body onload="run_tests()">
37
    <div><img id="img1" src="support/exif-orientation-1-ul.jpg"/></div>
38
    <div><img id="img2" src="support/exif-orientation-2-ur.jpg"/></div>
39
    <div><img id="img3" src="support/exif-orientation-3-lr.jpg"/></div>
40
    <div><img id="img4" src="support/exif-orientation-4-lol.jpg"/></div>
41
    <div><img id="img5" src="support/exif-orientation-5-lu.jpg"/></div>
42
    <div><img id="img6" src="support/exif-orientation-6-ru.jpg"/></div>
43
    <div><img id="img7" src="support/exif-orientation-7-rl.jpg"/></div>
44
    <div><img id="img8" src="support/exif-orientation-8-llo.jpg"/></div>
45
    <div><img id="img9" src="support/exif-orientation-9-u.jpg"/></div>
46
</body>
47
</html>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-images/image-orientation/image-orientation-none-content-images-expected.html +73 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-images/image-orientation/image-orientation-none-content-images-expected.html_sec1
1
<!DOCTYPE html>
2
<html>
3
<head>
4
<meta charset="utf-8">
5
<title>CSS Images Module Level 3: image-orientation: none for content images</title>
6
<link rel="author" title="Stephen Chenney" href="mailto:schenney@chromium.org">
7
<link rel="help" href="https://drafts.csswg.org/css-images-3/#propdef-image-orientation">
8
<style>
9
    div.image {
10
        display: inline-block;
11
    }
12
    div.container {
13
        display: inline-block;
14
        width: 100px;
15
        vertical-align: top;
16
    }
17
    img {
18
        width: 100px;
19
        height: 100px;
20
        background-repeat: no-repeat;
21
    }
22
    body {
23
        overflow: hidden;
24
    }
25
</style>
26
</head>
27
<body>
28
    <p>The images should not rotate respecting their EXIF orientation because
29
       image-orientation: none is specified.</p>
30
    <div class="container">
31
        <div class="image" style="content: url(../support/exif-orientation-1-ul.jpg)"></div>
32
    </div>
33
    <div class="container">
34
        <div class="image" style="content: url(../support/exif-orientation-1-ul.jpg)"></div>
35
    </div>
36
    <div class="container">
37
        <div class="image" style="content: url(../support/exif-orientation-1-ul.jpg)"></div>
38
    </div>
39
    <div class="container">
40
        <div class="image" style="content: url(../support/exif-orientation-1-ul.jpg)"></div>
41
    </div>
42
    <br>
43
    <div class="container">
44
        <div class="image" style="content: url(../support/exif-orientation-1-ul.jpg)"></div>
45
    </div>
46
    <div class="container">
47
        <div class="image" style="content: url(../support/exif-orientation-1-ul.jpg)"></div>
48
    </div>
49
    <div class="container">
50
        <div class="image" style="content: url(../support/exif-orientation-1-ul.jpg)"></div>
51
    </div>
52
    <div class="container">
53
        <div class="image" style="content: url(../support/exif-orientation-1-ul.jpg)"></div>
54
    </div>
55
    <br>
56
    <div class="container">
57
        <img style="background-image: url(../support/exif-orientation-1-ul.jpg)"></img>
58
    </div>
59
    <div class="container">
60
        <img style="background-image: url(../support/exif-orientation-1-ul.jpg)"></img>
61
    </div>
62
    <div class="container">
63
        <img style="background-image: url(../support/exif-orientation-1-ul.jpg)"></img>
64
    </div>
65
    <div class="container">
66
        <img style="background-image: url(../support/exif-orientation-1-ul.jpg)"></img>
67
    </div>
68
    <br>
69
    <div class="container">
70
        <div class="image" style="content: url(../support/exif-orientation-1-ul.jpg)"></div>
71
    </div>
72
</body>
73
</html>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-images/image-orientation/image-orientation-none-content-images.html +76 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-images/image-orientation/image-orientation-none-content-images.html_sec1
1
<!DOCTYPE html>
2
<html>
3
<head>
4
<meta charset="utf-8">
5
<title>CSS Images Module Level 3: image-orientation: none for content images</title>
6
<link rel="author" title="Stephen Chenney" href="mailto:schenney@chromium.org">
7
<link rel="help" href="https://drafts.csswg.org/css-images-3/#propdef-image-orientation">
8
<link rel="match" href="reference/image-orientation-none-content-images-ref.html">
9
<meta name=fuzzy content="10;100">
10
<style>
11
    div.image {
12
        display: inline-block;
13
    }
14
    div.container {
15
        display: inline-block;
16
        width: 100px;
17
        vertical-align: top;
18
        image-orientation: none;
19
    }
20
    img {
21
        width: 100px;
22
        height: 100px;
23
        background-repeat: no-repeat;
24
    }
25
    body {
26
        overflow: hidden;
27
    }
28
</style>
29
</head>
30
<body>
31
    <p>The images should not rotate respecting their EXIF orientation because
32
       image-orientation: none is specified.</p>
33
    <div class="container">
34
        <div class="image" style="content: url(support/exif-orientation-1-ul.jpg)"></div>
35
    </div>
36
    <div class="container">
37
        <div class="image" style="content: url(support/exif-orientation-2-ur.jpg)"></div>
38
    </div>
39
    <div class="container">
40
        <div class="image" style="content: url(support/exif-orientation-3-lr.jpg)"></div>
41
    </div>
42
    <div class="container">
43
        <div class="image" style="content: url(support/exif-orientation-4-lol.jpg)"></div>
44
    </div>
45
    <br>
46
    <div class="container">
47
        <div class="image" style="content: url(support/exif-orientation-5-lu.jpg)"></div>
48
    </div>
49
    <div class="container">
50
        <div class="image" style="content: url(support/exif-orientation-6-ru.jpg)"></div>
51
    </div>
52
    <div class="container">
53
        <div class="image" style="content: url(support/exif-orientation-7-rl.jpg)"></div>
54
    </div>
55
    <div class="container">
56
        <div class="image" style="content: url(support/exif-orientation-8-llo.jpg)"></div>
57
    </div>
58
    <br>
59
    <div class="container">
60
        <img style="background-image: url(support/exif-orientation-5-lu.jpg)"></img>
61
    </div>
62
    <div class="container">
63
        <img style="background-image: url(support/exif-orientation-6-ru.jpg)"></img>
64
    </div>
65
    <div class="container">
66
        <img style="background-image: url(support/exif-orientation-7-rl.jpg)"></img>
67
    </div>
68
    <div class="container">
69
        <img style="background-image: url(support/exif-orientation-8-llo.jpg)"></img>
70
    </div>
71
    <br>
72
    <div class="container">
73
        <div class="image" style="content: url(support/exif-orientation-9-u.jpg)"></div>
74
    </div>
75
</body>
76
</html>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-images/image-orientation/image-orientation-none-expected.html +32 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-images/image-orientation/image-orientation-none-expected.html_sec1
1
<!DOCTYPE html>
2
<html>
3
<head>
4
<meta charset="utf-8">
5
<title>CSS Images Module Level 3: image-orientation: none</title>
6
<link rel="author" title="Stephen Chenney" href="mailto:schenney@chromium.org">
7
<link rel="help" href="https://drafts.csswg.org/css-images-3/#propdef-image-orientation">
8
<style>
9
    body {
10
        overflow: hidden;
11
    }
12
    div {
13
        display: inline-block;
14
        width: 100px;
15
        vertical-align: top;
16
    }
17
</style>
18
</head>
19
<body>
20
    <p>The images should not rotate respecting their EXIF orientation because
21
       image-orientation: none is specified.</p>
22
    <div><img src="support/exif-orientation-1-ul.jpg"></div>
23
    <div><img src="support/exif-orientation-1-ul.jpg"></div>
24
    <div><img src="support/exif-orientation-1-ul.jpg"></div>
25
    <div><img src="support/exif-orientation-1-ul.jpg"></div>
26
    <div><img src="support/exif-orientation-1-ul.jpg"></div>
27
    <div><img src="support/exif-orientation-1-ul.jpg"></div>
28
    <div><img src="support/exif-orientation-1-ul.jpg"></div>
29
    <div><img src="support/exif-orientation-1-ul.jpg"></div>
30
    <div><img src="support/exif-orientation-1-ul.jpg"></div>
31
</body>
32
</html>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-images/image-orientation/image-orientation-none-image-document-expected.html +36 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-images/image-orientation/image-orientation-none-image-document-expected.html_sec1
1
<!DOCTYPE html>
2
<html>
3
<head>
4
<meta charset="utf-8">
5
<title>CSS Images Module Level 3: image-orientation: none in image documents</title>
6
<link rel="author" title="Stephen Chenney" href="mailto:schenney@chromium.org">
7
<link rel="help" href="https://drafts.csswg.org/css-images-3/#propdef-image-orientation">
8
<style>
9
    iframe {
10
        display: inline-block;
11
        margin-right: 20px;
12
        margin-bottom: 10px;
13
        width: 120px;
14
        height: 110px;
15
        vertical-align: top;
16
     }
17
</style>
18
</head>
19
<body>
20
    <p>The images should rotate respecting their EXIF orientation because image
21
       documents always respect the orientation, regardless of the image-orientation
22
       property.</p>
23
    <iframe src="support/exif-orientation-1-ul-pre-rotated.jpg" frameborder=0></iframe>
24
    <iframe src="support/exif-orientation-2-ur-pre-rotated.jpg" frameborder=0></iframe>
25
    <iframe src="support/exif-orientation-3-lr-pre-rotated.jpg" frameborder=0></iframe>
26
    <iframe src="support/exif-orientation-4-lol-pre-rotated.jpg" frameborder=0></iframe>
27
    <br>
28
    <iframe src="support/exif-orientation-5-lu-pre-rotated.jpg" frameborder=0></iframe>
29
    <iframe src="support/exif-orientation-6-ru-pre-rotated.jpg" frameborder=0></iframe>
30
    <iframe src="support/exif-orientation-7-rl-pre-rotated.jpg" frameborder=0></iframe>
31
    <iframe src="support/exif-orientation-8-llo-pre-rotated.jpg" frameborder=0></iframe>
32
    <br>
33
    <iframe src="support/exif-orientation-9-u-pre-rotated.jpg" frameborder=0></iframe>
34
</body>
35
</html>
36
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-images/image-orientation/image-orientation-none-image-document.html +39 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-images/image-orientation/image-orientation-none-image-document.html_sec1
1
<!DOCTYPE html>
2
<html>
3
<head>
4
<meta charset="utf-8">
5
<title>CSS Images Module Level 3: image-orientation: none in image documents</title>
6
<link rel="author" title="Stephen Chenney" href="mailto:schenney@chromium.org">
7
<link rel="help" href="https://drafts.csswg.org/css-images-3/#propdef-image-orientation">
8
<link rel="match" href="reference/image-orientation-none-image-document-ref.html">
9
<meta name=fuzzy content="10;100">
10
<style>
11
    iframe {
12
        display: inline-block;
13
        margin-right: 20px;
14
        margin-bottom: 10px;
15
        width: 120px;
16
        height: 110px;
17
        vertical-align: top;
18
        image-orientation: none;
19
     }
20
</style>
21
</head>
22
<body>
23
    <p>The images should rotate respecting their EXIF orientation because image
24
       documents always respect the orientation, regardless of the image-orientation
25
       property.</p>
26
    <iframe src="support/exif-orientation-1-ul.jpg" frameborder=0></iframe>
27
    <iframe src="support/exif-orientation-2-ur.jpg" frameborder=0></iframe>
28
    <iframe src="support/exif-orientation-3-lr.jpg" frameborder=0></iframe>
29
    <iframe src="support/exif-orientation-4-lol.jpg" frameborder=0></iframe>
30
    <br>
31
    <iframe src="support/exif-orientation-5-lu.jpg" frameborder=0></iframe>
32
    <iframe src="support/exif-orientation-6-ru.jpg" frameborder=0></iframe>
33
    <iframe src="support/exif-orientation-7-rl.jpg" frameborder=0></iframe>
34
    <iframe src="support/exif-orientation-8-llo.jpg" frameborder=0></iframe>
35
    <br>
36
    <iframe src="support/exif-orientation-9-u.jpg" frameborder=0></iframe>
37
</body>
38
</html>
39
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-images/image-orientation/image-orientation-none.html +35 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-images/image-orientation/image-orientation-none.html_sec1
1
<!DOCTYPE html>
2
<html>
3
<head>
4
<meta charset="utf-8">
5
<title>CSS Images Module Level 3: image-orientation: none</title>
6
<link rel="author" title="Stephen Chenney" href="mailto:schenney@chromium.org">
7
<link rel="help" href="https://drafts.csswg.org/css-images-3/#propdef-image-orientation">
8
<link rel="match" href="reference/image-orientation-none-ref.html">
9
<meta name=fuzzy content="10;100">
10
<style>
11
    body {
12
        overflow: hidden;
13
        image-orientation: none;
14
    }
15
    div {
16
        display: inline-block;
17
        width: 100px;
18
        vertical-align: top;
19
    }
20
</style>
21
</head>
22
<body>
23
    <p>The images should not rotate respecting their EXIF orientation because
24
       image-orientation: none is specified.</p>
25
    <div><img src="support/exif-orientation-1-ul.jpg"/></div>
26
    <div><img src="support/exif-orientation-2-ur.jpg"/></div>
27
    <div><img src="support/exif-orientation-3-lr.jpg"/></div>
28
    <div><img src="support/exif-orientation-4-lol.jpg"/></div>
29
    <div><img src="support/exif-orientation-5-lu.jpg"/></div>
30
    <div><img src="support/exif-orientation-6-ru.jpg"/></div>
31
    <div><img src="support/exif-orientation-7-rl.jpg"/></div>
32
    <div><img src="support/exif-orientation-8-llo.jpg"/></div>
33
    <div><img src="support/exif-orientation-9-u.jpg"/></div>
34
</body>
35
</html>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-images/image-orientation/support/w3c-import.log +34 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-images/image-orientation/support/w3c-import.log_sec1
1
The tests in this directory were imported from the W3C repository.
2
Do NOT modify these tests directly in WebKit.
3
Instead, create a pull request on the WPT github:
4
	https://github.com/web-platform-tests/wpt
5
6
Then run the Tools/Scripts/import-w3c-tests in WebKit to reimport
7
8
Do NOT modify or remove this file.
9
10
------------------------------------------------------------------------
11
Properties requiring vendor prefixes:
12
None
13
Property values requiring vendor prefixes:
14
None
15
------------------------------------------------------------------------
16
List of files:
17
/LayoutTests/imported/w3c/web-platform-tests/css/css-images/image-orientation/support/exif-orientation-1-ul-pre-rotated.jpg
18
/LayoutTests/imported/w3c/web-platform-tests/css/css-images/image-orientation/support/exif-orientation-1-ul.jpg
19
/LayoutTests/imported/w3c/web-platform-tests/css/css-images/image-orientation/support/exif-orientation-2-ur-pre-rotated.jpg
20
/LayoutTests/imported/w3c/web-platform-tests/css/css-images/image-orientation/support/exif-orientation-2-ur.jpg
21
/LayoutTests/imported/w3c/web-platform-tests/css/css-images/image-orientation/support/exif-orientation-3-lr-pre-rotated.jpg
22
/LayoutTests/imported/w3c/web-platform-tests/css/css-images/image-orientation/support/exif-orientation-3-lr.jpg
23
/LayoutTests/imported/w3c/web-platform-tests/css/css-images/image-orientation/support/exif-orientation-4-lol-pre-rotated.jpg
24
/LayoutTests/imported/w3c/web-platform-tests/css/css-images/image-orientation/support/exif-orientation-4-lol.jpg
25
/LayoutTests/imported/w3c/web-platform-tests/css/css-images/image-orientation/support/exif-orientation-5-lu-pre-rotated.jpg
26
/LayoutTests/imported/w3c/web-platform-tests/css/css-images/image-orientation/support/exif-orientation-5-lu.jpg
27
/LayoutTests/imported/w3c/web-platform-tests/css/css-images/image-orientation/support/exif-orientation-6-ru-pre-rotated.jpg
28
/LayoutTests/imported/w3c/web-platform-tests/css/css-images/image-orientation/support/exif-orientation-6-ru.jpg
29
/LayoutTests/imported/w3c/web-platform-tests/css/css-images/image-orientation/support/exif-orientation-7-rl-pre-rotated.jpg
30
/LayoutTests/imported/w3c/web-platform-tests/css/css-images/image-orientation/support/exif-orientation-7-rl.jpg
31
/LayoutTests/imported/w3c/web-platform-tests/css/css-images/image-orientation/support/exif-orientation-8-llo-pre-rotated.jpg
32
/LayoutTests/imported/w3c/web-platform-tests/css/css-images/image-orientation/support/exif-orientation-8-llo.jpg
33
/LayoutTests/imported/w3c/web-platform-tests/css/css-images/image-orientation/support/exif-orientation-9-u-pre-rotated.jpg
34
/LayoutTests/imported/w3c/web-platform-tests/css/css-images/image-orientation/support/exif-orientation-9-u.jpg
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-images/image-orientation/svg-image-orientation-aspect-ratio-expected.html +23 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-images/image-orientation/svg-image-orientation-aspect-ratio-expected.html_sec1
1
<!DOCTYPE html>
2
<html>
3
<head>
4
<meta charset="utf-8">
5
<title>CSS Images Module Level 3: svg image respects orientation</title>
6
<link rel="author" title="Stephen Chenney" href="mailto:schenney@chromium.org">
7
<link rel="help" href="https://drafts.csswg.org/css-images-3/#propdef-image-orientation">
8
</head>
9
<body style="margin:0">
10
    <svg style="width: 600px; height: 600px">
11
        <image xlink:href="../support/exif-orientation-2-ur-pre-rotated.jpg" x="0" y="0" width="150" height="150" preserveAspectRatio="xMinYMin meet"></image>
12
        <image xlink:href="../support/exif-orientation-8-llo-pre-rotated.jpg" x="200" y="0" width="150" height="150" preserveAspectRatio="xMidYMin meet"></image>
13
        <image xlink:href="../support/exif-orientation-2-ur-pre-rotated.jpg" x="400" y="0" width="150" height="150" preserveAspectRatio="xMaxYMin meet"></image>
14
        <image xlink:href="../support/exif-orientation-8-llo-pre-rotated.jpg" x="0" y="150" width="150" height="150" preserveAspectRatio="xMinYMid slice"></image>
15
        <image xlink:href="../support/exif-orientation-2-ur-pre-rotated.jpg" x="200" y="150" width="150" height="150" preserveAspectRatio="xMidYMid slice"></image>
16
        <image xlink:href="../support/exif-orientation-8-llo-pre-rotated.jpg" x="400" y="150" width="150" height="150" preserveAspectRatio="xMaxYMid slice"></image>
17
        <image xlink:href="../support/exif-orientation-8-llo-pre-rotated.jpg" x="0" y="300" width="150" height="150" preserveAspectRatio="xMinYMax meet"></image>
18
        <image xlink:href="../support/exif-orientation-2-ur-pre-rotated.jpg" x="200" y="300" width="150" height="150" preserveAspectRatio="xMidYMax meet"></image>
19
        <image xlink:href="../support/exif-orientation-8-llo-pre-rotated.jpg" x="400" y="300" width="150" height="150" preserveAspectRatio="xMaxYMax meet"></image>
20
        <image xlink:href="../support/exif-orientation-2-ur-pre-rotated.jpg" x="0" y="450" width="150" height="150" preserveAspectRatio="none"></image>
21
        <image xlink:href="../support/exif-orientation-8-llo-pre-rotated.jpg" x="200" y="450" width="150" height="150" preserveAspectRatio="none"></image>
22
    </svg>
23
</html>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-images/image-orientation/svg-image-orientation-aspect-ratio.html +26 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-images/image-orientation/svg-image-orientation-aspect-ratio.html_sec1
1
<!DOCTYPE html>
2
<html>
3
<head>
4
<meta charset="utf-8">
5
<title>CSS Images Module Level 3: svg image respects orientation and preserveAspectRatio</title>
6
<link rel="author" title="Stephen Chenney" href="mailto:schenney@chromium.org">
7
<link rel="help" href="https://drafts.csswg.org/css-images-3/#propdef-image-orientation">
8
<link rel="match" href="reference/svg-image-orientation-aspect-ratio-ref.html">
9
<meta name=fuzzy content="10;100">
10
</head>
11
<body style="margin:0">
12
    <svg style="width: 600px; height: 600px">
13
        <image xlink:href="support/exif-orientation-2-ur.jpg" x="0" y="0" width="150" height="150" preserveAspectRatio="xMinYMin meet"></image>
14
        <image xlink:href="support/exif-orientation-8-llo.jpg" x="200" y="0" width="150" height="150" preserveAspectRatio="xMidYMin meet"></image>
15
        <image xlink:href="support/exif-orientation-2-ur.jpg" x="400" y="0" width="150" height="150" preserveAspectRatio="xMaxYMin meet"></image>
16
        <image xlink:href="support/exif-orientation-8-llo.jpg" x="0" y="150" width="150" height="150" preserveAspectRatio="xMinYMid slice"></image>
17
        <image xlink:href="support/exif-orientation-2-ur.jpg" x="200" y="150" width="150" height="150" preserveAspectRatio="xMidYMid slice"></image>
18
        <image xlink:href="support/exif-orientation-8-llo.jpg" x="400" y="150" width="150" height="150" preserveAspectRatio="xMaxYMid slice"></image>
19
        <image xlink:href="support/exif-orientation-8-llo.jpg" x="0" y="300" width="150" height="150" preserveAspectRatio="xMinYMax meet"></image>
20
        <image xlink:href="support/exif-orientation-2-ur.jpg" x="200" y="300" width="150" height="150" preserveAspectRatio="xMidYMax meet"></image>
21
        <image xlink:href="support/exif-orientation-8-llo.jpg" x="400" y="300" width="150" height="150" preserveAspectRatio="xMaxYMax meet"></image>
22
        <image xlink:href="support/exif-orientation-2-ur.jpg" x="0" y="450" width="150" height="150" preserveAspectRatio="none"></image>
23
        <image xlink:href="support/exif-orientation-8-llo.jpg" x="200" y="450" width="150" height="150" preserveAspectRatio="none"></image>
24
    </svg>
25
</body>
26
</html>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-images/image-orientation/svg-image-orientation-expected.html +22 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-images/image-orientation/svg-image-orientation-expected.html_sec1
1
<!DOCTYPE html>
2
<html>
3
<head>
4
<meta charset="utf-8">
5
<title>CSS Images Module Level 3: svg image respects orientation</title>
6
<link rel="author" title="Stephen Chenney" href="mailto:schenney@chromium.org">
7
<link rel="help" href="https://drafts.csswg.org/css-images-3/#propdef-image-orientation">
8
</head>
9
<body>
10
    <svg style="width: 500px; height: 650px">
11
        <image xlink:href="../support/exif-orientation-1-ul-pre-rotated.jpg" X="0" Y="0"></image>
12
        <image xlink:href="../support/exif-orientation-2-ur-pre-rotated.jpg" X="125" Y="0"></image>
13
        <image xlink:href="../support/exif-orientation-3-lr-pre-rotated.jpg" X="250" Y="0"></image>
14
        <image xlink:href="../support/exif-orientation-4-lol-pre-rotated.jpg" X="375" Y="0"></image>
15
        <image xlink:href="../support/exif-orientation-5-lu-pre-rotated.jpg" X="0" Y="125"></image>
16
        <image xlink:href="../support/exif-orientation-6-ru-pre-rotated.jpg" X="125" Y="125"></image>
17
        <image xlink:href="../support/exif-orientation-7-rl-pre-rotated.jpg" X="250" Y="125"></image>
18
        <image xlink:href="../support/exif-orientation-8-llo-pre-rotated.jpg" X="375" Y="125"></image>
19
        <image xlink:href="../support/exif-orientation-9-u-pre-rotated.jpg" X="0" Y="250"></image>
20
    </svg>
21
</body>
22
</html>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-images/image-orientation/svg-image-orientation-none-expected.html +21 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-images/image-orientation/svg-image-orientation-none-expected.html_sec1
1
<!DOCTYPE html>
2
<html>
3
<head>
4
<meta charset="utf-8">
5
<title>CSS Images Module Level 3: svg image ignores orientation with image-orientation:none: Reference</title>
6
<link rel="author" title="Stephen Chenney" href="mailto:schenney@chromium.org">
7
</head>
8
<body>
9
    <svg style="width: 500px; height: 650px;">
10
        <image xlink:href="../support/exif-orientation-1-ul.jpg" X="0" Y="0"></image>
11
        <image xlink:href="../support/exif-orientation-1-ul.jpg" X="125" Y="0"></image>
12
        <image xlink:href="../support/exif-orientation-1-ul.jpg" X="250" Y="0"></image>
13
        <image xlink:href="../support/exif-orientation-1-ul.jpg" X="375" Y="0"></image>
14
        <image xlink:href="../support/exif-orientation-1-ul.jpg" X="0" Y="125"></image>
15
        <image xlink:href="../support/exif-orientation-1-ul.jpg" X="125" Y="125"></image>
16
        <image xlink:href="../support/exif-orientation-1-ul.jpg" X="250" Y="125"></image>
17
        <image xlink:href="../support/exif-orientation-1-ul.jpg" X="375" Y="125"></image>
18
        <image xlink:href="../support/exif-orientation-1-ul.jpg" X="0" Y="250"></image>
19
    </svg>
20
</body>
21
</html>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-images/image-orientation/svg-image-orientation-none.html +24 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-images/image-orientation/svg-image-orientation-none.html_sec1
1
<!DOCTYPE html>
2
<html>
3
<head>
4
<meta charset="utf-8">
5
<title>CSS Images Module Level 3: svg image ignores orientation with image-orientation:none</title>
6
<link rel="author" title="Stephen Chenney" href="mailto:schenney@chromium.org">
7
<link rel="help" href="https://drafts.csswg.org/css-images-3/#propdef-image-orientation">
8
<link rel="match" href="reference/svg-image-orientation-none-ref.html">
9
<meta name=fuzzy content="10;100">
10
</head>
11
<body>
12
    <svg style="width: 500px; height: 650px; image-orientation: none;">
13
        <image xlink:href="support/exif-orientation-1-ul.jpg" X="0" Y="0"></image>
14
        <image xlink:href="support/exif-orientation-2-ur.jpg" X="125" Y="0"></image>
15
        <image xlink:href="support/exif-orientation-3-lr.jpg" X="250" Y="0"></image>
16
        <image xlink:href="support/exif-orientation-4-lol.jpg" X="375" Y="0"></image>
17
        <image xlink:href="support/exif-orientation-5-lu.jpg" X="0" Y="125"></image>
18
        <image xlink:href="support/exif-orientation-6-ru.jpg" X="125" Y="125"></image>
19
        <image xlink:href="support/exif-orientation-7-rl.jpg" X="250" Y="125"></image>
20
        <image xlink:href="support/exif-orientation-8-llo.jpg" X="375" Y="125"></image>
21
        <image xlink:href="support/exif-orientation-9-u.jpg" X="0" Y="250"></image>
22
    </svg>
23
</body>
24
</html>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-images/image-orientation/svg-image-orientation.html +24 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-images/image-orientation/svg-image-orientation.html_sec1
1
<!DOCTYPE html>
2
<html>
3
<head>
4
<meta charset="utf-8">
5
<title>CSS Images Module Level 3: svg image respects orientation</title>
6
<link rel="author" title="Stephen Chenney" href="mailto:schenney@chromium.org">
7
<link rel="help" href="https://drafts.csswg.org/css-images-3/#propdef-image-orientation">
8
<link rel="match" href="reference/svg-image-orientation-ref.html">
9
<meta name=fuzzy content="10;100">
10
</head>
11
<body>
12
    <svg style="width: 500px; height: 650px">
13
        <image xlink:href="support/exif-orientation-1-ul.jpg" X="0" Y="0"></image>
14
        <image xlink:href="support/exif-orientation-2-ur.jpg" X="125" Y="0"></image>
15
        <image xlink:href="support/exif-orientation-3-lr.jpg" X="250" Y="0"></image>
16
        <image xlink:href="support/exif-orientation-4-lol.jpg" X="375" Y="0"></image>
17
        <image xlink:href="support/exif-orientation-5-lu.jpg" X="0" Y="125"></image>
18
        <image xlink:href="support/exif-orientation-6-ru.jpg" X="125" Y="125"></image>
19
        <image xlink:href="support/exif-orientation-7-rl.jpg" X="250" Y="125"></image>
20
        <image xlink:href="support/exif-orientation-8-llo.jpg" X="375" Y="125"></image>
21
        <image xlink:href="support/exif-orientation-9-u.jpg" X="0" Y="250"></image>
22
    </svg>
23
</body>
24
</html>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-images/image-orientation/w3c-import.log +58 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-images/image-orientation/w3c-import.log_sec1
1
The tests in this directory were imported from the W3C repository.
2
Do NOT modify these tests directly in WebKit.
3
Instead, create a pull request on the WPT github:
4
	https://github.com/web-platform-tests/wpt
5
6
Then run the Tools/Scripts/import-w3c-tests in WebKit to reimport
7
8
Do NOT modify or remove this file.
9
10
------------------------------------------------------------------------
11
Properties requiring vendor prefixes:
12
mask-image
13
Property values requiring vendor prefixes:
14
None
15
------------------------------------------------------------------------
16
List of files:
17
/LayoutTests/imported/w3c/web-platform-tests/css/css-images/image-orientation/image-orientation-background-image-expected.html
18
/LayoutTests/imported/w3c/web-platform-tests/css/css-images/image-orientation/image-orientation-background-image.html
19
/LayoutTests/imported/w3c/web-platform-tests/css/css-images/image-orientation/image-orientation-background-properties-expected.html
20
/LayoutTests/imported/w3c/web-platform-tests/css/css-images/image-orientation/image-orientation-background-properties.html
21
/LayoutTests/imported/w3c/web-platform-tests/css/css-images/image-orientation/image-orientation-border-image-expected.html
22
/LayoutTests/imported/w3c/web-platform-tests/css/css-images/image-orientation/image-orientation-border-image.html
23
/LayoutTests/imported/w3c/web-platform-tests/css/css-images/image-orientation/image-orientation-default-expected.html
24
/LayoutTests/imported/w3c/web-platform-tests/css/css-images/image-orientation/image-orientation-default.html
25
/LayoutTests/imported/w3c/web-platform-tests/css/css-images/image-orientation/image-orientation-from-image-composited-dynamic1-expected.html
26
/LayoutTests/imported/w3c/web-platform-tests/css/css-images/image-orientation/image-orientation-from-image-composited-dynamic1.html
27
/LayoutTests/imported/w3c/web-platform-tests/css/css-images/image-orientation/image-orientation-from-image-composited-dynamic2-expected.html
28
/LayoutTests/imported/w3c/web-platform-tests/css/css-images/image-orientation/image-orientation-from-image-composited-dynamic2.html
29
/LayoutTests/imported/w3c/web-platform-tests/css/css-images/image-orientation/image-orientation-from-image-composited-expected.html
30
/LayoutTests/imported/w3c/web-platform-tests/css/css-images/image-orientation/image-orientation-from-image-composited.html
31
/LayoutTests/imported/w3c/web-platform-tests/css/css-images/image-orientation/image-orientation-from-image-computed-style.html
32
/LayoutTests/imported/w3c/web-platform-tests/css/css-images/image-orientation/image-orientation-from-image-content-images-expected.html
33
/LayoutTests/imported/w3c/web-platform-tests/css/css-images/image-orientation/image-orientation-from-image-content-images.html
34
/LayoutTests/imported/w3c/web-platform-tests/css/css-images/image-orientation/image-orientation-from-image-dynamic1-expected.html
35
/LayoutTests/imported/w3c/web-platform-tests/css/css-images/image-orientation/image-orientation-from-image-dynamic1.html
36
/LayoutTests/imported/w3c/web-platform-tests/css/css-images/image-orientation/image-orientation-from-image-dynamic2-expected.html
37
/LayoutTests/imported/w3c/web-platform-tests/css/css-images/image-orientation/image-orientation-from-image-dynamic2.html
38
/LayoutTests/imported/w3c/web-platform-tests/css/css-images/image-orientation/image-orientation-from-image-embedded-content-expected.html
39
/LayoutTests/imported/w3c/web-platform-tests/css/css-images/image-orientation/image-orientation-from-image-embedded-content.html
40
/LayoutTests/imported/w3c/web-platform-tests/css/css-images/image-orientation/image-orientation-from-image-expected.html
41
/LayoutTests/imported/w3c/web-platform-tests/css/css-images/image-orientation/image-orientation-from-image.html
42
/LayoutTests/imported/w3c/web-platform-tests/css/css-images/image-orientation/image-orientation-list-style-image-expected.html
43
/LayoutTests/imported/w3c/web-platform-tests/css/css-images/image-orientation/image-orientation-list-style-image.html
44
/LayoutTests/imported/w3c/web-platform-tests/css/css-images/image-orientation/image-orientation-mask-image-expected.html
45
/LayoutTests/imported/w3c/web-platform-tests/css/css-images/image-orientation/image-orientation-mask-image.html
46
/LayoutTests/imported/w3c/web-platform-tests/css/css-images/image-orientation/image-orientation-none-computed-style.html
47
/LayoutTests/imported/w3c/web-platform-tests/css/css-images/image-orientation/image-orientation-none-content-images-expected.html
48
/LayoutTests/imported/w3c/web-platform-tests/css/css-images/image-orientation/image-orientation-none-content-images.html
49
/LayoutTests/imported/w3c/web-platform-tests/css/css-images/image-orientation/image-orientation-none-expected.html
50
/LayoutTests/imported/w3c/web-platform-tests/css/css-images/image-orientation/image-orientation-none-image-document-expected.html
51
/LayoutTests/imported/w3c/web-platform-tests/css/css-images/image-orientation/image-orientation-none-image-document.html
52
/LayoutTests/imported/w3c/web-platform-tests/css/css-images/image-orientation/image-orientation-none.html
53
/LayoutTests/imported/w3c/web-platform-tests/css/css-images/image-orientation/svg-image-orientation-aspect-ratio-expected.html
54
/LayoutTests/imported/w3c/web-platform-tests/css/css-images/image-orientation/svg-image-orientation-aspect-ratio.html
55
/LayoutTests/imported/w3c/web-platform-tests/css/css-images/image-orientation/svg-image-orientation-expected.html
56
/LayoutTests/imported/w3c/web-platform-tests/css/css-images/image-orientation/svg-image-orientation-none-expected.html
57
/LayoutTests/imported/w3c/web-platform-tests/css/css-images/image-orientation/svg-image-orientation-none.html
58
/LayoutTests/imported/w3c/web-platform-tests/css/css-images/image-orientation/svg-image-orientation.html
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-images/image-resolution/image-resolution-001-expected.html +2 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-images/image-resolution/image-resolution-001-expected.html_sec1
1
<!doctype html>
2
<div style="width: 100px;height: 100px;background-color: blue;"></div>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-images/image-resolution/image-resolution-001.html +18 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-images/image-resolution/image-resolution-001.html_sec1
1
<!DOCTYPE html>
2
<html>
3
<head>
4
<meta charset="utf-8">
5
<title>CSS Images Module Level 4: image-resolution set manually</title>
6
<link rel="author" title="Mike Bremford" href="http://bfo.com/">
7
<link rel="help" href="https://drafts.csswg.org/css-images-4/#propdef-image-resolution">
8
<link rel="match" href="../reference/100x100-blue.html">
9
<style>
10
img {
11
    image-resolution: 14.4dpi;
12
}
13
</style>
14
</head>
15
<body>
16
  <img src="../support/swatch-blue.png" />
17
</body>
18
</html>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-images/image-resolution/image-resolution-002-expected.html +2 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-images/image-resolution/image-resolution-002-expected.html_sec1
1
<!doctype html>
2
<div style="width: 100px;height: 100px;background-color: blue;"></div>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-images/image-resolution/image-resolution-002.html +18 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-images/image-resolution/image-resolution-002.html_sec1
1
<!DOCTYPE html>
2
<html>
3
<head>
4
<meta charset="utf-8">
5
<title>CSS Images Module Level 4: image-resolution scaling up from image</title>
6
<link rel="author" title="Mike Bremford" href="http://bfo.com/">
7
<link rel="help" href="https://drafts.csswg.org/css-images-4/#propdef-image-resolution">
8
<link rel="match" href="../reference/100x100-blue.html">
9
<style>
10
img {
11
    image-resolution: from-image;
12
}
13
</style>
14
</head>
15
<body>
16
  <img src="support/swatch-blue-48dpi.png" />
17
</body>
18
</html>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-images/image-resolution/image-resolution-003-expected.html +2 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-images/image-resolution/image-resolution-003-expected.html_sec1
1
<!doctype html>
2
<div style="width: 100px;height: 100px;background-color: blue;"></div>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-images/image-resolution/image-resolution-003.html +18 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-images/image-resolution/image-resolution-003.html_sec1
1
<!DOCTYPE html>
2
<html>
3
<head>
4
<meta charset="utf-8">
5
<title>CSS Images Module Level 4: image-resolution scaling down from image</title>
6
<link rel="author" title="Mike Bremford" href="http://bfo.com/">
7
<link rel="help" href="https://drafts.csswg.org/css-images-4/#propdef-image-resolution">
8
<link rel="match" href="../reference/100x100-blue.html">
9
<style>
10
img {
11
    image-resolution: from-image;
12
}
13
</style>
14
</head>
15
<body>
16
  <img src="support/swatch-blue-192dpi.png" />
17
</body>
18
</html>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-images/image-resolution/image-resolution-004-expected.html +2 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-images/image-resolution/image-resolution-004-expected.html_sec1
1
<!doctype html>
2
<div style="width: 100px;height: 100px;background-color: blue;filter:blur(4px)"></div>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-images/image-resolution/image-resolution-004.html +19 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-images/image-resolution/image-resolution-004.html_sec1
1
<!DOCTYPE html>
2
<html>
3
<head>
4
<meta charset="utf-8">
5
<title>CSS Images Module Level 4: units in filters are not affected by manual image-resolution</title>
6
<link rel="author" title="Mike Bremford" href="http://bfo.com/">
7
<link rel="help" href="https://drafts.csswg.org/css-images-4/#propdef-image-resolution">
8
<link rel="match" href="reference/100x100-blue-blur4px.html">
9
<style>
10
img {
11
    image-resolution: 14.4dpi;
12
    filter: blur(4px);
13
}
14
</style>
15
</head>
16
<body>
17
  <img src="../support/swatch-blue.png" />
18
</body>
19
</html>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-images/image-resolution/image-resolution-005-expected.html +2 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-images/image-resolution/image-resolution-005-expected.html_sec1
1
<!doctype html>
2
<div style="width: 100px;height: 100px;background-color: blue;filter:blur(4px)"></div>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-images/image-resolution/image-resolution-005.html +19 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-images/image-resolution/image-resolution-005.html_sec1
1
<!DOCTYPE html>
2
<html>
3
<head>
4
<meta charset="utf-8">
5
<title>CSS Images Module Level 4: units in filters are not affected by image-resolution</title>
6
<link rel="author" title="Mike Bremford" href="http://bfo.com/">
7
<link rel="help" href="https://drafts.csswg.org/css-images-4/#propdef-image-resolution">
8
<link rel="match" href="reference/100x100-blue-blur4px.html">
9
<style>
10
img {
11
    image-resolution: from-image;
12
    filter: blur(4px);
13
}
14
</style>
15
</head>
16
<body>
17
  <img src="support/swatch-blue-48dpi.png" />
18
</body>
19
</html>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-images/image-resolution/image-resolution-006-expected.html +2 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-images/image-resolution/image-resolution-006-expected.html_sec1
1
<!doctype html>
2
<div style="width: 100px;height: 100px;background-color: blue;filter:blur(4px)"></div>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-images/image-resolution/image-resolution-006.html +19 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-images/image-resolution/image-resolution-006.html_sec1
1
<!DOCTYPE html>
2
<html>
3
<head>
4
<meta charset="utf-8">
5
<title>CSS Images Module Level 4: units in filters are not affected by image-resolution</title>
6
<link rel="author" title="Mike Bremford" href="http://bfo.com/">
7
<link rel="help" href="https://drafts.csswg.org/css-images-4/#propdef-image-resolution">
8
<link rel="match" href="reference/100x100-blue-blur4px.html">
9
<style>
10
img {
11
    image-resolution: from-image;
12
    filter: blur(4px);
13
}
14
</style>
15
</head>
16
<body>
17
  <img src="support/swatch-blue-192dpi.png" />
18
</body>
19
</html>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-images/image-resolution/image-resolution-007-expected.html +2 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-images/image-resolution/image-resolution-007-expected.html_sec1
1
<!doctype html>
2
<div style="width: 100px;height: 100px;background-color: blue;"></div>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-images/image-resolution/image-resolution-007.html +18 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-images/image-resolution/image-resolution-007.html_sec1
1
<!DOCTYPE html>
2
<html>
3
<head>
4
<meta charset="utf-8">
5
<title>CSS Images Module Level 4: image-resolution scaling from image with animorphic aspect ratio</title>
6
<link rel="author" title="Mike Bremford" href="http://bfo.com/">
7
<link rel="help" href="https://drafts.csswg.org/css-images-4/#propdef-image-resolution">
8
<link rel="match" href="../reference/100x100-blue.html">
9
<style>
10
img {
11
    image-resolution: from-image;
12
}
13
</style>
14
</head>
15
<body>
16
  <img src="support/swatch-blue-48x192dpi.png" />
17
</body>
18
</html>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-images/image-resolution/image-resolution-008-expected.html +2 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-images/image-resolution/image-resolution-008-expected.html_sec1
1
<!doctype html>
2
<div style="width: 100px;height: 100px;background-color: blue;"></div>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-images/image-resolution/image-resolution-008.html +21 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-images/image-resolution/image-resolution-008.html_sec1
1
<!DOCTYPE html>
2
<html>
3
<head>
4
<meta charset="utf-8">
5
<title>CSS Images Module Level 4: image-resolution set manually applies to background images</title>
6
<link rel="author" title="Mike Bremford" href="http://bfo.com/">
7
<link rel="help" href="https://drafts.csswg.org/css-images-4/#propdef-image-resolution">
8
<link rel="match" href="../reference/100x100-blue.html">
9
<style>
10
div {
11
    width: 100px;
12
    height: 100px;
13
    image-resolution: 14.4dpi;
14
    background: url("../support/swatch-blue.png") top left no-repeat;
15
}
16
</style>
17
</head>
18
<body>
19
  <div></div>
20
</body>
21
</html>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-images/image-resolution/image-resolution-009-expected.html +2 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-images/image-resolution/image-resolution-009-expected.html_sec1
1
<!doctype html>
2
<div style="width: 100px;height: 100px;background-color: blue;"></div>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-images/image-resolution/image-resolution-009.html +21 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-images/image-resolution/image-resolution-009.html_sec1
1
<!DOCTYPE html>
2
<html>
3
<head>
4
<meta charset="utf-8">
5
<title>CSS Images Module Level 4: image-resolution from images applies to background images</title>
6
<link rel="author" title="Mike Bremford" href="http://bfo.com/">
7
<link rel="help" href="https://drafts.csswg.org/css-images-4/#propdef-image-resolution">
8
<link rel="match" href="../reference/100x100-blue.html">
9
<style>
10
div {
11
    width: 100px;
12
    height: 100px;
13
    image-resolution: from-image;
14
    background: url("support/swatch-blue-48dpi.png") top left no-repeat;
15
}
16
</style>
17
</head>
18
<body>
19
  <div></div>
20
</body>
21
</html>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-images/image-resolution/image-resolution-010-expected.html +2 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-images/image-resolution/image-resolution-010-expected.html_sec1
1
<!doctype html>
2
<div style="width: 100px;height: 100px;background-color: blue;filter:blur(4px)"></div>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-images/image-resolution/image-resolution-010.html +22 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-images/image-resolution/image-resolution-010.html_sec1
1
<!DOCTYPE html>
2
<html>
3
<head>
4
<meta charset="utf-8">
5
<title>CSS Images Module Level 4: image-resolution set manually applies to background images and filters are unaffected</title>
6
<link rel="author" title="Mike Bremford" href="http://bfo.com/">
7
<link rel="help" href="https://drafts.csswg.org/css-images-4/#propdef-image-resolution">
8
<link rel="match" href="reference/100x100-blue-blur4px.html">
9
<style>
10
div {
11
    width: 100px;
12
    height: 100px;
13
    image-resolution: 14.4dpi;
14
    background: url("../support/swatch-blue.png") top left no-repeat;
15
    filter: blur(4px);
16
}
17
</style>
18
</head>
19
<body>
20
  <div></div>
21
</body>
22
</html>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-images/image-resolution/image-resolution-011-expected.html +2 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-images/image-resolution/image-resolution-011-expected.html_sec1
1
<!doctype html>
2
<div style="width: 100px;height: 100px;background-color: blue;filter:blur(4px)"></div>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-images/image-resolution/image-resolution-011.html +22 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-images/image-resolution/image-resolution-011.html_sec1
1
<!DOCTYPE html>
2
<html>
3
<head>
4
<meta charset="utf-8">
5
<title>CSS Images Module Level 4: image-resolution set manually applies to background images and filters are unaffected</title>
6
<link rel="author" title="Mike Bremford" href="http://bfo.com/">
7
<link rel="help" href="https://drafts.csswg.org/css-images-4/#propdef-image-resolution">
8
<link rel="match" href="reference/100x100-blue-blur4px.html">
9
<style>
10
div {
11
    width: 100px;
12
    height: 100px;
13
    /* Not exactly an image-resolution test, but confirming that background-size is applied before filter */
14
    background: url("../support/swatch-blue.png") top left / 100px 100px no-repeat;
15
    filter: blur(4px);
16
}
17
</style>
18
</head>
19
<body>
20
  <div></div>
21
</body>
22
</html>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-images/image-resolution/support/w3c-import.log +19 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-images/image-resolution/support/w3c-import.log_sec1
1
The tests in this directory were imported from the W3C repository.
2
Do NOT modify these tests directly in WebKit.
3
Instead, create a pull request on the WPT github:
4
	https://github.com/web-platform-tests/wpt
5
6
Then run the Tools/Scripts/import-w3c-tests in WebKit to reimport
7
8
Do NOT modify or remove this file.
9
10
------------------------------------------------------------------------
11
Properties requiring vendor prefixes:
12
None
13
Property values requiring vendor prefixes:
14
None
15
------------------------------------------------------------------------
16
List of files:
17
/LayoutTests/imported/w3c/web-platform-tests/css/css-images/image-resolution/support/swatch-blue-192dpi.png
18
/LayoutTests/imported/w3c/web-platform-tests/css/css-images/image-resolution/support/swatch-blue-48dpi.png
19
/LayoutTests/imported/w3c/web-platform-tests/css/css-images/image-resolution/support/swatch-blue-48x192dpi.png
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-images/image-resolution/w3c-import.log +38 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-images/image-resolution/w3c-import.log_sec1
1
The tests in this directory were imported from the W3C repository.
2
Do NOT modify these tests directly in WebKit.
3
Instead, create a pull request on the WPT github:
4
	https://github.com/web-platform-tests/wpt
5
6
Then run the Tools/Scripts/import-w3c-tests in WebKit to reimport
7
8
Do NOT modify or remove this file.
9
10
------------------------------------------------------------------------
11
Properties requiring vendor prefixes:
12
None
13
Property values requiring vendor prefixes:
14
None
15
------------------------------------------------------------------------
16
List of files:
17
/LayoutTests/imported/w3c/web-platform-tests/css/css-images/image-resolution/image-resolution-001-expected.html
18
/LayoutTests/imported/w3c/web-platform-tests/css/css-images/image-resolution/image-resolution-001.html
19
/LayoutTests/imported/w3c/web-platform-tests/css/css-images/image-resolution/image-resolution-002-expected.html
20
/LayoutTests/imported/w3c/web-platform-tests/css/css-images/image-resolution/image-resolution-002.html
21
/LayoutTests/imported/w3c/web-platform-tests/css/css-images/image-resolution/image-resolution-003-expected.html
22
/LayoutTests/imported/w3c/web-platform-tests/css/css-images/image-resolution/image-resolution-003.html
23
/LayoutTests/imported/w3c/web-platform-tests/css/css-images/image-resolution/image-resolution-004-expected.html
24
/LayoutTests/imported/w3c/web-platform-tests/css/css-images/image-resolution/image-resolution-004.html
25
/LayoutTests/imported/w3c/web-platform-tests/css/css-images/image-resolution/image-resolution-005-expected.html
26
/LayoutTests/imported/w3c/web-platform-tests/css/css-images/image-resolution/image-resolution-005.html
27
/LayoutTests/imported/w3c/web-platform-tests/css/css-images/image-resolution/image-resolution-006-expected.html
28
/LayoutTests/imported/w3c/web-platform-tests/css/css-images/image-resolution/image-resolution-006.html
29
/LayoutTests/imported/w3c/web-platform-tests/css/css-images/image-resolution/image-resolution-007-expected.html
30
/LayoutTests/imported/w3c/web-platform-tests/css/css-images/image-resolution/image-resolution-007.html
31
/LayoutTests/imported/w3c/web-platform-tests/css/css-images/image-resolution/image-resolution-008-expected.html
32
/LayoutTests/imported/w3c/web-platform-tests/css/css-images/image-resolution/image-resolution-008.html
33
/LayoutTests/imported/w3c/web-platform-tests/css/css-images/image-resolution/image-resolution-009-expected.html
34
/LayoutTests/imported/w3c/web-platform-tests/css/css-images/image-resolution/image-resolution-009.html
35
/LayoutTests/imported/w3c/web-platform-tests/css/css-images/image-resolution/image-resolution-010-expected.html
36
/LayoutTests/imported/w3c/web-platform-tests/css/css-images/image-resolution/image-resolution-010.html
37
/LayoutTests/imported/w3c/web-platform-tests/css/css-images/image-resolution/image-resolution-011-expected.html
38
/LayoutTests/imported/w3c/web-platform-tests/css/css-images/image-resolution/image-resolution-011.html
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-images/image-set/image-set-parsing-expected.txt +17 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-images/image-set/image-set-parsing-expected.txt_sec1
1
2
PASS background-image: image-set(url(example.png) 1x) [ parsable ] 
3
PASS background-image: image-set(url('example.png') 1x) [ parsable ] 
4
PASS background-image: image-set('example.jpg' 1x) [ parsable ] 
5
PASS background-image: image-set(url(example.png) 1x, 'example.png' 2x) [ parsable ] 
6
PASS background-image: image-set(url(example.png) 1dppx) [ parsable ] 
7
PASS background-image: image-set(url(example.png) 1dpi) [ parsable ] 
8
PASS background-image: image-set(url(example.png) 1dpcm, 'example.png' 2x) [ parsable ] 
9
PASS background-image: image-set('example.jpeg' 222dpi, url(example.png) 3.5x) [ parsable ] 
10
PASS background-image: image-set(linear-gradient(black, white) 1x) [ parsable ] 
11
PASS content: image-set(linear-gradient(black, white) 1x, 'example.png' 4x) [ parsable ] 
12
PASS content: image-set(url('example.png') 192dpi, linear-gradient(black, white) 1x) [ parsable ] 
13
PASS background-image: image-set(url(example.png) 0x) [ unparsable ] 
14
PASS background-image: image-set(url(example.png) -20x) [ unparsable ] 
15
PASS background-image: image-set('example.jpeg' 92pid url(example.png) 1x) [ unparsable ] 
16
PASS cursor: image-set(linear-gradient(black, white) 1x) [ unparsable ] 
17
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-images/image-set/image-set-parsing.html +53 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-images/image-set/image-set-parsing.html_sec1
1
<!DOCTYPE html>
2
<html>
3
    <head>
4
        <title>Image set parsing</title>
5
        <link rel="author" title="Noam Rosenthal" href="mailto:noam.j.rosenthal@gmail.com">
6
        <link rel="help" href="https://drafts.csswg.org/css-images-4/#image-set-notation">
7
        <meta name="assert" content="General image-set parsing  follows CSS Images 4 rules.">
8
        <script src="/resources/testharness.js"></script>
9
        <script src="/resources/testharnessreport.js"></script>
10
    </head>
11
    <body>
12
        <script>
13
                const tests = [
14
                    { property: 'background-image', imageSet: "url(example.png) 1x", valid: true },
15
                    { property: 'background-image', imageSet: "url('example.png') 1x", valid: true },
16
                    { property: 'background-image', imageSet: "'example.jpg' 1x", valid: true },
17
                    { property: 'background-image', imageSet: "url(example.png) 1x, 'example.png' 2x", valid: true },
18
                    { property: 'background-image', imageSet: "url(example.png) 1dppx", valid: true },
19
                    { property: 'background-image', imageSet: "url(example.png) 1dpi", valid: true },
20
                    { property: 'background-image', imageSet: "url(example.png) 1dpcm, 'example.png' 2x", valid: true },
21
                    { property: 'background-image', imageSet: "'example.jpeg' 222dpi, url(example.png) 3.5x", valid: true },
22
                    { property: 'background-image', imageSet: "linear-gradient(black, white) 1x", valid: true },
23
                    { property: 'content', imageSet: "linear-gradient(black, white) 1x, 'example.png' 4x", valid: true },
24
                    { property: 'content', imageSet: "url('example.png') 192dpi, linear-gradient(black, white) 1x", valid: true },
25
26
                    { property: 'background-image', imageSet: "url(example.png) 0x", valid: false },
27
                    { property: 'background-image', imageSet: "url(example.png) -20x", valid: false },
28
                    { property: 'background-image', imageSet: "'example.jpeg' 92pid url(example.png) 1x", valid: false },
29
                    { property: 'cursor', imageSet: "linear-gradient(black, white) 1x", valid: false }
30
                ]
31
32
                function check_image_set(tst) {
33
                        var div = document.createElement('div');
34
                        div.setAttribute("style", `${tst.property}: image-set(${tst.imageSet})`)
35
36
                        var inline_style = div.style.getPropertyValue(tst.property);
37
                        assert_equals(inline_style.startsWith('image-set'), tst.valid);
38
39
                        document.body.appendChild(div);
40
                        var computed_style = getComputedStyle(div).getPropertyValue(tst.property);
41
                        assert_equals(computed_style.startsWith('image-set'), tst.valid);
42
43
                        div.remove();
44
                }
45
46
                tests.forEach(tst => {
47
                        test(() => {
48
                                check_image_set(tst);
49
                        }, `${tst.property}: image-set(${tst.imageSet}) ${tst.valid ? "[ parsable ]" : "[ unparsable ]"}`)
50
                });
51
        </script>
52
    </body>
53
</html>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-images/image-set/image-set-rendering-expected.html +38 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-images/image-set/image-set-rendering-expected.html_sec1
1
<!DOCTYPE html>
2
<html>
3
    <head>
4
        <title>Image set rendering</title>
5
        <link rel="author" title="Noam Rosenthal" href="mailto:noam@webkit.org">
6
        <link rel="help" href="https://drafts.csswg.org/css-images-4/#image-set-notation">
7
        <meta name="assert" content="image-set rendering">
8
        <style>
9
            .test {
10
                display: inline-block;
11
                width: 100px;
12
                height: 100px;
13
            }
14
15
            main {
16
                width: 500px;
17
            }
18
        </style>
19
    </head>
20
    <body>
21
        <p>All images below should be lime or a lime-green gradient when devicePixelRatio is 1 - no red!.</p>
22
        <main>
23
            <div class="test" style="background-image: url(/images/green.png)"></div>
24
            <div class="test" style="background-image: linear-gradient(green, lightgreen)"></div>
25
            <div class="test" style="background-image: url('/images/green.png')" ></div>
26
            <div class="test" style="background-image: radial-gradient(green, lightgreen)" ></div>
27
            <div class="test" style="background-image: linear-gradient(green, lightgreen)" ></div>
28
            <div class="test" style="background-image: url('/images/green.png')" ></div>
29
            <div class="test" style="background-image: url('/images/green.png')" ></div>
30
            <div class="test" style="background-image: url('/images/green.png')" ></div>
31
            <div class="test" style="background-image: url('/images/green.png')"></div>
32
            <div class="test" style="background-color: lime"></div>
33
            <div class="test" style="background-color: lime"></div>
34
            <div class="test" style="background-color: lime"></div>
35
            <div class="test" style="content: url('/images/green.png')" ></div>
36
        </main>
37
    </body>
38
</html>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-images/image-set/image-set-rendering.html +40 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-images/image-set/image-set-rendering.html_sec1
1
<!DOCTYPE html>
2
<html>
3
    <head>
4
        <title>Image set rendering</title>
5
        <link rel="author" title="Noam Rosenthal" href="mailto:noam@webkit.org">
6
        <link rel="help" href="https://drafts.csswg.org/css-images-4/#image-set-notation">
7
        <meta name="assert" content="image-set rendering">
8
        <link rel="match"  href="image-set-rendering-ref.html">
9
        <style>
10
            .test {
11
                display: inline-block;
12
                width: 100px;
13
                height: 100px;
14
                background: red;
15
            }
16
17
            main {
18
                width: 500px;
19
            }
20
        </style>
21
    </head>
22
    <body>
23
        <p>All images below should be lime or a lime-green gradient when devicePixelRatio is 1 - no red!.</p>
24
        <main>
25
            <div class="test" style="background-image: image-set('/images/green.png' 1x)"></div>
26
            <div class="test" style="background-image: image-set('/images/red.png' 20dpi, linear-gradient(green, lightgreen) 2x)"></div>
27
            <div class="test" style="background-image: image-set(url('/images/green.png') 1x, url('/images/red.png') 2x)" ></div>
28
            <div class="test" style="background-image: image-set(radial-gradient(green, lightgreen) 1x, linear-gradient(yellow, red) 2x)" ></div>
29
            <div class="test" style="background-image: image-set(linear-gradient(green, lightgreen) 96dpi, '/images/red.png' 100dpi)" ></div>
30
            <div class="test" style="background-image: image-set(radial-gradient(red, yellow) 1.3x, url('/images/green.png') 100dpi, linear-gradient(red, yellow) 2.5x)" ></div>
31
            <div class="test" style="background-image: image-set('/images/red.png' 2x, url('/images/green.png') 1x, url('/images/yellow.png') 300dpi)" ></div>
32
            <div class="test" style="background-color: red; background-image: image-set('' 2x, url('/images/green.png') 1x)" ></div>
33
            <div class="test" style="background-image: image-set('/images/green.png' 1x)"></div>
34
            <div class="test" style="background-color: lime; background-image: image-set('/images/red.png')" ></div>
35
            <div class="test" style="background-color: lime; background-image: image-set('/images/red.png' 0x)" ></div>
36
            <div class="test" style="background-color: lime; background-image: image-set('/images/red.png' 0x, url('/images/red.png') 2x)" ></div>
37
            <div class="test" style="content: image-set(url() 2x, url('/images/green.png') 100dpi)" ></div>
38
        </main>
39
    </body>
40
</html>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-images/image-set/w3c-import.log +19 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-images/image-set/w3c-import.log_sec1
1
The tests in this directory were imported from the W3C repository.
2
Do NOT modify these tests directly in WebKit.
3
Instead, create a pull request on the WPT github:
4
	https://github.com/web-platform-tests/wpt
5
6
Then run the Tools/Scripts/import-w3c-tests in WebKit to reimport
7
8
Do NOT modify or remove this file.
9
10
------------------------------------------------------------------------
11
Properties requiring vendor prefixes:
12
None
13
Property values requiring vendor prefixes:
14
None
15
------------------------------------------------------------------------
16
List of files:
17
/LayoutTests/imported/w3c/web-platform-tests/css/css-images/image-set/image-set-parsing.html
18
/LayoutTests/imported/w3c/web-platform-tests/css/css-images/image-set/image-set-rendering-expected.html
19
/LayoutTests/imported/w3c/web-platform-tests/css/css-images/image-set/image-set-rendering.html
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-images/infinite-radial-gradient-refcrash-expected.html +3 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-images/infinite-radial-gradient-refcrash-expected.html_sec1
1
<!doctype html>
2
<p>You should see a 300x300px green square below and no crash.</p>
3
<div style="width:300px;height:300px;background:green"></div>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-images/infinite-radial-gradient-refcrash.html +13 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-images/infinite-radial-gradient-refcrash.html_sec1
1
<!doctype html>
2
<title>CSS Images Test: repeating-radial-gradient with huge size crashes Chrome</title>
3
<link rel="help" href="https://crbug.com/1009307">
4
<link rel="match" href="infinite-radial-gradient-crash-ref.html">
5
<style>
6
  #crash {
7
    background-image: repeating-radial-gradient(closest-corner circle at 9999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999%, green, green);
8
    width: 300px;
9
    height: 300px;
10
  }
11
</style>
12
<p>You should see a 300x300px green square below and no crash.</p>
13
<div id="crash"></div>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-images/linear-gradient-1-expected.html -18 / +9 lines
Lines 1-19 a/LayoutTests/imported/w3c/web-platform-tests/css/css-images/linear-gradient-1-expected.html_sec1
1
<!doctype html>
1
<!doctype html>
2
<html>
2
<meta charset="utf-8">
3
3
<style>
4
<head>
4
  #gradient {
5
    <meta charset="utf-8">
5
    width: 400px;
6
    <style>
6
    height: 300px;
7
        #gradient {
7
    background-image: linear-gradient(to right, black 0%, red 50%, gold 100%);
8
            width: 400px;
8
  }
9
            height: 300px;
9
</style>
10
            background-image: linear-gradient(to right, black 0%, red 50%, gold 100%);
10
<div id="gradient"></div>
11
        }
12
    </style>
13
</head>
14
15
<body>
16
    <div id="gradient"></div>
17
</body>
18
19
</html>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-images/linear-gradient-1.html -22 / +13 lines
Lines 1-23 a/LayoutTests/imported/w3c/web-platform-tests/css/css-images/linear-gradient-1.html_sec1
1
<!doctype html>
1
<!doctype html>
2
<html>
2
<meta charset="utf-8">
3
3
<title>Linear gradient with some inferred positions</title>
4
<head>
4
<link rel="help" href="https://drafts.csswg.org/css-images-3/#coloring-gradient-line">
5
    <meta charset="utf-8">
5
<meta name="assert" content="Calculation of implicit gradient stops.">
6
    <title>Linear gradient with some inferred positions</title>
6
<link rel="match" href="linear-gradient-ref.html">
7
    <link rel="help" href="https://drafts.csswg.org/css-images-3/#radial-color-stops">
7
<style>
8
    <meta name="assert" content="Calculation of implicit gradient stops.">
8
  #gradient {
9
    <link rel="match" href="linear-gradient-ref.html">
9
    width: 400px;
10
    <style>
10
    height: 300px;
11
        #gradient {
11
    background-image: linear-gradient(to right, black 0%, red, gold);
12
            width: 400px;
12
  }
13
            height: 300px;
13
</style>
14
            background-image: linear-gradient(to right, black 0%, red, gold);
14
<div id="gradient"></div>
15
        }
16
    </style>
17
</head>
18
19
<body>
20
    <div id="gradient"></div>
21
</body>
22
23
</html>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-images/linear-gradient-2-expected.html -18 / +9 lines
Lines 1-19 a/LayoutTests/imported/w3c/web-platform-tests/css/css-images/linear-gradient-2-expected.html_sec1
1
<!doctype html>
1
<!doctype html>
2
<html>
2
<meta charset="utf-8">
3
3
<style>
4
<head>
4
  #gradient {
5
    <meta charset="utf-8">
5
    width: 400px;
6
    <style>
6
    height: 300px;
7
        #gradient {
7
    background-image: linear-gradient(to right, black 0%, red 50%, gold 100%);
8
            width: 400px;
8
  }
9
            height: 300px;
9
</style>
10
            background-image: linear-gradient(to right, black 0%, red 50%, gold 100%);
10
<div id="gradient"></div>
11
        }
12
    </style>
13
</head>
14
15
<body>
16
    <div id="gradient"></div>
17
</body>
18
19
</html>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-images/linear-gradient-2.html -22 / +13 lines
Lines 1-23 a/LayoutTests/imported/w3c/web-platform-tests/css/css-images/linear-gradient-2.html_sec1
1
<!doctype html>
1
<!doctype html>
2
<html>
2
<meta charset="utf-8">
3
3
<title>Linear gradient with all inferred positions</title>
4
<head>
4
<link rel="help" href="https://drafts.csswg.org/css-images-3/#coloring-gradient-line">
5
    <meta charset="utf-8">
5
<meta name="assert" content="Calculation of implicit gradient stops.">
6
    <title>Linear gradient with all inferred positions</title>
6
<link rel="match" href="linear-gradient-ref.html">
7
    <link rel="help" href="https://drafts.csswg.org/css-images-3/#radial-color-stops">
7
<style>
8
    <meta name="assert" content="Calculation of implicit gradient stops.">
8
  #gradient {
9
    <link rel="match" href="linear-gradient-ref.html">
9
    width: 400px;
10
    <style>
10
    height: 300px;
11
        #gradient {
11
    background-image: linear-gradient(to right, black, red, gold);
12
            width: 400px;
12
  }
13
            height: 300px;
13
</style>
14
            background-image: linear-gradient(to right, black, red, gold);
14
<div id="gradient"></div>
15
        }
16
    </style>
17
</head>
18
19
<body>
20
    <div id="gradient"></div>
21
</body>
22
23
</html>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-images/multiple-position-color-stop-conic-2-expected.html +3 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-images/multiple-position-color-stop-conic-2-expected.html_sec1
1
<!doctype html>
2
<meta charset=utf-8>
3
<div style="background: conic-gradient(red 0%, red 25%, blue 25%, blue 75%, green 75%, green 100%); width: 100px; height: 100px;"><br></div>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-images/multiple-position-color-stop-conic-2.html +7 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-images/multiple-position-color-stop-conic-2.html_sec1
1
<!doctype html>
2
<meta charset=utf-8>
3
<title>Conic gradient with two position color stops</title>
4
<link rel="help" href="https://drafts.csswg.org/css-images-4/#color-stop-syntax">
5
<meta name="assert" content="Color stops with two positions are equivalent to two color stops with the same color">
6
<link rel="match" href="multiple-position-color-stop-conic-2-ref.html">
7
<div style="background-image: conic-gradient(red 0% 25%, blue 25% 75%, green 75% 100%); background-color: orange; width: 100px; height: 100px;"><br></div>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-images/multiple-position-color-stop-radial-2-expected.html -2 / +2 lines
Lines 1-5 a/LayoutTests/imported/w3c/web-platform-tests/css/css-images/multiple-position-color-stop-radial-2-expected.html_sec1
1
<!doctype html>
1
<!doctype html>
2
<meta charset=utf-8>
2
<meta charset="utf-8">
3
<body>
3
<body>
4
    <div style="background: radial-gradient(center, red 0%, red 25%, blue 25%, blue 75%, red 75%, red 100%); width: 100px; height: 100px;"><br></div>
4
  <div style="background: radial-gradient(red 0%, red 25%, blue 25%, blue 75%, red 75%, red 100%); width: 100px; height: 100px;"><br></div>
5
</body>
5
</body>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-images/multiple-position-color-stop-radial-2.html -5 / +3 lines
Lines 1-9 a/LayoutTests/imported/w3c/web-platform-tests/css/css-images/multiple-position-color-stop-radial-2.html_sec1
1
<!doctype html>
1
<!doctype html>
2
<meta charset=utf-8>
2
<meta charset="utf-8">
3
<title>Radial gradient with a two position color stops</title>
3
<title>Radial gradient with a two position color stops</title>
4
<link rel="help" href="https://drafts.csswg.org/css-images-4/#color-stop-syntax">
4
<link rel="help" href="https://drafts.csswg.org/css-images-4/#color-stop-syntax">
5
<meta name="assert" content="Color stops with two positions are equivalent to two color stops with the same color">
5
<meta name="assert" content="Color stops with two positions are equivalent to two color stops with the same color">
6
<link rel=match href=/css/css-images/multiple-position-color-stop-radial-2-ref.html>
6
<link rel="match" href=/css/css-images/multiple-position-color-stop-radial-2-ref.html>
7
<body>
7
<div style="background: radial-gradient(red 0% 25%, blue 25% 75%, red 75% 100%); width: 100px; height: 100px;"><br></div>
8
    <div style="background: radial-gradient(center, red 0% 25%, blue 25% 75%, red 75% 100%); width: 100px; height: 100px;"><br></div>
9
</body>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-images/normalization-conic-2-expected.html +2 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-images/normalization-conic-2-expected.html_sec1
1
<!doctype html>
2
<div style="width: 100px;height: 100px;background-color: blue;"></div>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-images/normalization-conic-2.html +14 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-images/normalization-conic-2.html_sec1
1
<!doctype html>
2
<meta charset="utf-8">
3
<title>Conic gradient stop normalization</title>
4
<link rel="help" href="https://drafts.csswg.org/css-images-4/#conic-gradients">
5
<meta name="assert" content="Rendering of conic-gradient with normalized color stops">
6
<link rel="match" href="reference/100x100-blue.html">
7
<style>
8
  #gradient {
9
    width: 100px;
10
    height: 100px;
11
    background-image: conic-gradient(blue 150%, red 150%);
12
  }
13
</style>
14
<div id="gradient"></div>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-images/normalization-conic-degenerate-expected.html +2 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-images/normalization-conic-degenerate-expected.html_sec1
1
<!doctype html>
2
<div style="width: 100px;height: 100px;background-color: blue;"></div>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-images/normalization-conic-degenerate.html +14 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-images/normalization-conic-degenerate.html_sec1
1
<!doctype html>
2
<meta charset="utf-8">
3
<title>Conic gradient stop normalization</title>
4
<link rel="help" href="https://www.w3.org/TR/css-images-3/#repeating-gradients">
5
<meta name="assert" content="Rendering of repeating-conic-gradient w/ stops at the same place">
6
<link rel="match" href="reference/100x100-blue.html">
7
<style>
8
  #gradient {
9
    width: 100px;
10
    height: 100px;
11
    background-image: repeating-conic-gradient(orange 50%, blue 50%);
12
  }
13
</style>
14
<div id="gradient"></div>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-images/normalization-conic-expected.html +2 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-images/normalization-conic-expected.html_sec1
1
<!doctype html>
2
<div style="width: 100px;height: 100px;background-color: blue;"></div>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-images/normalization-conic.html +14 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-images/normalization-conic.html_sec1
1
<!doctype html>
2
<meta charset="utf-8">
3
<title>Conic gradient stop normalization</title>
4
<link rel="help" href="https://drafts.csswg.org/css-images-4/#conic-gradients">
5
<meta name="assert" content="Rendering of conic-gradient with normalized color stops">
6
<link rel="match" href="reference/100x100-blue.html">
7
<style>
8
  #gradient {
9
    width: 100px;
10
    height: 100px;
11
    background-image: conic-gradient(green -50%, blue -50%);
12
  }
13
</style>
14
<div id="gradient"></div>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-images/normalization-linear-2-expected.html +2 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-images/normalization-linear-2-expected.html_sec1
1
<!doctype html>
2
<div style="width: 100px;height: 100px;background-color: blue;"></div>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-images/normalization-linear-2.html +14 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-images/normalization-linear-2.html_sec1
1
<!doctype html>
2
<meta charset="utf-8">
3
<title>Linear gradient stop normalization</title>
4
<link rel="help" href="https://drafts.csswg.org/css-images-3/#linear-gradients">
5
<meta name="assert" content="Rendering of linear-gradient with normalized color stops">
6
<link rel="match" href="reference/100x100-blue.html">
7
<style>
8
  #gradient {
9
    width: 100px;
10
    height: 100px;
11
    background-image: linear-gradient(blue 150%, red 150%);
12
  }
13
</style>
14
<div id="gradient"></div>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-images/normalization-linear-degenerate-expected.html +2 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-images/normalization-linear-degenerate-expected.html_sec1
1
<!doctype html>
2
<div style="width: 100px;height: 100px;background-color: blue;"></div>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-images/normalization-linear-degenerate.html +14 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-images/normalization-linear-degenerate.html_sec1
1
<!doctype html>
2
<meta charset="utf-8">
3
<title>Linear gradient stop normalization</title>
4
<link rel="help" href="https://www.w3.org/TR/css-images-3/#repeating-gradients">
5
<meta name="assert" content="Rendering of repeating-linear-gradient w/ stops at the same place">
6
<link rel="match" href="reference/100x100-blue.html">
7
<style>
8
  #gradient {
9
    width: 100px;
10
    height: 100px;
11
    background-image: repeating-linear-gradient(orange 50%, blue 50%);
12
  }
13
</style>
14
<div id="gradient"></div>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-images/normalization-linear-expected.html +2 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-images/normalization-linear-expected.html_sec1
1
<!doctype html>
2
<div style="width: 100px;height: 100px;background-color: blue;"></div>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-images/normalization-linear.html +14 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-images/normalization-linear.html_sec1
1
<!doctype html>
2
<meta charset="utf-8">
3
<title>Linear gradient stop normalization</title>
4
<link rel="help" href="https://drafts.csswg.org/css-images-3/#linear-gradients">
5
<meta name="assert" content="Rendering of linear-gradient with normalized color stops">
6
<link rel="match" href="reference/100x100-blue.html">
7
<style>
8
  #gradient {
9
    width: 100px;
10
    height: 100px;
11
    background-image: linear-gradient(green -50%, blue -50%);
12
  }
13
</style>
14
<div id="gradient"></div>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-images/normalization-radial-2-expected.html +2 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-images/normalization-radial-2-expected.html_sec1
1
<!doctype html>
2
<div style="width: 100px;height: 100px;background-color: blue;"></div>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-images/normalization-radial-2.html +14 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-images/normalization-radial-2.html_sec1
1
<!doctype html>
2
<meta charset="utf-8">
3
<title>Radial gradient stop normalization</title>
4
<link rel="help" href="https://drafts.csswg.org/css-images-3/#radial-gradients">
5
<meta name="assert" content="Rendering of radial-gradient with normalized color stops">
6
<link rel="match" href="reference/100x100-blue.html">
7
<style>
8
  #gradient {
9
    width: 100px;
10
    height: 100px;
11
    background-image: radial-gradient(blue 150%, red 150%);
12
  }
13
</style>
14
<div id="gradient"></div>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-images/normalization-radial-degenerate-expected.html +2 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-images/normalization-radial-degenerate-expected.html_sec1
1
<!doctype html>
2
<div style="width: 100px;height: 100px;background-color: blue;"></div>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-images/normalization-radial-degenerate.html +14 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-images/normalization-radial-degenerate.html_sec1
1
<!doctype html>
2
<meta charset="utf-8">
3
<title>Radial gradient stop normalization</title>
4
<link rel="help" href="https://www.w3.org/TR/css-images-3/#repeating-gradients">
5
<meta name="assert" content="Rendering of repeating-radial-gradient w/ stops at the same place">
6
<link rel="match" href="reference/100x100-blue.html">
7
<style>
8
  #gradient {
9
    width: 100px;
10
    height: 100px;
11
    background-image: repeating-radial-gradient(orange 50%, blue 50%);
12
  }
13
</style>
14
<div id="gradient"></div>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-images/normalization-radial-expected.html +2 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-images/normalization-radial-expected.html_sec1
1
<!doctype html>
2
<div style="width: 100px;height: 100px;background-color: blue;"></div>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-images/normalization-radial.html +14 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-images/normalization-radial.html_sec1
1
<!doctype html>
2
<meta charset="utf-8">
3
<title>Radial gradient stop normalization</title>
4
<link rel="help" href="https://drafts.csswg.org/css-images-3/#radial-gradients">
5
<meta name="assert" content="Rendering of radial-gradient with normalized color stops">
6
<link rel="match" href="reference/100x100-blue.html">
7
<style>
8
  #gradient {
9
    width: 100px;
10
    height: 100px;
11
    background-image: linear-gradient(green -50%, blue -50%);
12
  }
13
</style>
14
<div id="gradient"></div>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-images/out-of-range-color-stop-conic-expected.html +22 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-images/out-of-range-color-stop-conic-expected.html_sec1
1
<!doctype html>
2
<meta charset="utf-8">
3
<style>
4
  #box {
5
    width: 200px;
6
    height: 200px;
7
  }
8
  #top {
9
    border-left: 100px solid blue;
10
    border-right: 100px solid black;
11
    height: 100px;
12
  }
13
  #bottom {
14
    border-left: 100px solid green;
15
    border-right: 100px solid red;
16
    height: 100px;
17
  }
18
</style>
19
<div id="box">
20
  <div id="top"></div>
21
  <div id="bottom"></div>
22
</div>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-images/out-of-range-color-stop-conic.html +14 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-images/out-of-range-color-stop-conic.html_sec1
1
<!doctype html>
2
<meta charset="utf-8">
3
<title>Conic gradient with out-of-range stops</title>
4
<link rel="help" href="https://drafts.csswg.org/css-images-4/#conic-gradients">
5
<meta name="assert" content="Rendering of conic-gradient with stops positioned outside of [0, 1]">
6
<link rel="match" href="reference/200x200-blue-black-green-red.html">
7
<style>
8
  #gradient {
9
    width: 200px;
10
    height: 200px;
11
    background-image: conic-gradient(orange -50% -25%, black -25% 25%, red 25% 50%, green 50% 75%, blue 75% 125%, purple 125% 150%);
12
  }
13
</style>
14
<div id="gradient"></div>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-images/parsing/gradient-position-valid.html -2 / +3 lines
Lines 13-18 a/LayoutTests/imported/w3c/web-platform-tests/css/css-images/parsing/gradient-position-valid.html_sec1
13
<body>
13
<body>
14
<script>
14
<script>
15
// Where two values are shown, the first serialization is being used by Blink/Firefox/WebKit and the second by Edge.
15
// Where two values are shown, the first serialization is being used by Blink/Firefox/WebKit and the second by Edge.
16
// Where three values are shown, the first is used by Blink/Webkit, the second by Edge and the third by Firefox.
16
17
17
test_valid_value("background-image", "radial-gradient(at 10%, red, blue)", ["radial-gradient(at 10% center, red, blue)", "radial-gradient(at 10%, red, blue)"]);
18
test_valid_value("background-image", "radial-gradient(at 10%, red, blue)", ["radial-gradient(at 10% center, red, blue)", "radial-gradient(at 10%, red, blue)"]);
18
test_valid_value("background-image", "radial-gradient(at 20% 30px, red, blue)");
19
test_valid_value("background-image", "radial-gradient(at 20% 30px, red, blue)");
Lines 20-29 test_valid_value("background-image", "radial-gradient(at 30px center, red, blue) a/LayoutTests/imported/w3c/web-platform-tests/css/css-images/parsing/gradient-position-valid.html_sec2
20
test_valid_value("background-image", "radial-gradient(at 40px top, red, blue)");
21
test_valid_value("background-image", "radial-gradient(at 40px top, red, blue)");
21
test_valid_value("background-image", "radial-gradient(at bottom 10% right 20%, red, blue)", "radial-gradient(at right 20% bottom 10%, red, blue)");
22
test_valid_value("background-image", "radial-gradient(at bottom 10% right 20%, red, blue)", "radial-gradient(at right 20% bottom 10%, red, blue)");
22
test_valid_value("background-image", "radial-gradient(at bottom right, red, blue)", "radial-gradient(at right bottom, red, blue)");
23
test_valid_value("background-image", "radial-gradient(at bottom right, red, blue)", "radial-gradient(at right bottom, red, blue)");
23
test_valid_value("background-image", "radial-gradient(at center, red, blue)", ["radial-gradient(at center center, red, blue)", "radial-gradient(at center, red, blue)"]);
24
test_valid_value("background-image", "radial-gradient(at center, red, blue)", ["radial-gradient(at center center, red, blue)", "radial-gradient(at center, red, blue)", "radial-gradient(red, blue)"]);
24
test_valid_value("background-image", "radial-gradient(at center 50px, red, blue)");
25
test_valid_value("background-image", "radial-gradient(at center 50px, red, blue)");
25
test_valid_value("background-image", "radial-gradient(at center bottom, red, blue)", ["radial-gradient(at center bottom, red, blue)", "radial-gradient(at bottom, red, blue)"]);
26
test_valid_value("background-image", "radial-gradient(at center bottom, red, blue)", ["radial-gradient(at center bottom, red, blue)", "radial-gradient(at bottom, red, blue)"]);
26
test_valid_value("background-image", "radial-gradient(at center center, red, blue)", ["radial-gradient(at center center, red, blue)", "radial-gradient(at center, red, blue)"]);
27
test_valid_value("background-image", "radial-gradient(at center center, red, blue)", ["radial-gradient(at center center, red, blue)", "radial-gradient(at center, red, blue)", "radial-gradient(red, blue)"]);
27
test_valid_value("background-image", "radial-gradient(at center left, red, blue)", ["radial-gradient(at left center, red, blue)", "radial-gradient(at left, red, blue)"]);
28
test_valid_value("background-image", "radial-gradient(at center left, red, blue)", ["radial-gradient(at left center, red, blue)", "radial-gradient(at left, red, blue)"]);
28
test_valid_value("background-image", "radial-gradient(at left, red, blue)", ["radial-gradient(at left center, red, blue)", "radial-gradient(at left, red, blue)"]);
29
test_valid_value("background-image", "radial-gradient(at left, red, blue)", ["radial-gradient(at left center, red, blue)", "radial-gradient(at left, red, blue)"]);
29
test_valid_value("background-image", "radial-gradient(at left bottom, red, blue)");
30
test_valid_value("background-image", "radial-gradient(at left bottom, red, blue)");
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-images/repeating-conic-gradient-expected.html +10 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-images/repeating-conic-gradient-expected.html_sec1
1
<!doctype html>
2
<meta charset="utf-8">
3
<style>
4
  #gradient {
5
    width: 200px;
6
    height: 200px;
7
    background-image: conic-gradient(black 25%, white 0 50%, black 0 75%, white 0);
8
  }
9
</style>
10
<div id="gradient"></div>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-images/repeating-conic-gradient.html +15 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-images/repeating-conic-gradient.html_sec1
1
<!doctype html>
2
<meta charset="utf-8">
3
<title>Repeating conic gradient</title>
4
<link rel="help" href="https://drafts.csswg.org/css-images-4/#conic-gradients">
5
<meta name="assert" content="Rendering of repeating-conic-gradient">
6
<link rel="match" href="repeating-conic-gradient-ref.html">
7
<style>
8
  #gradient {
9
    width: 200px;
10
    height: 200px;
11
    background-color: red;
12
    background-image: repeating-conic-gradient(black 0 25%, white 25% 50%);
13
  }
14
</style>
15
<div id="gradient"></div>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-images/support/w3c-import.log -1 lines
Lines 24-30 List of files: a/LayoutTests/imported/w3c/web-platform-tests/css/css-images/support/w3c-import.log_sec1
24
/LayoutTests/imported/w3c/web-platform-tests/css/css-images/support/1x1-white.png
24
/LayoutTests/imported/w3c/web-platform-tests/css/css-images/support/1x1-white.png
25
/LayoutTests/imported/w3c/web-platform-tests/css/css-images/support/60x60-gg-rr.png
25
/LayoutTests/imported/w3c/web-platform-tests/css/css-images/support/60x60-gg-rr.png
26
/LayoutTests/imported/w3c/web-platform-tests/css/css-images/support/60x60-green.png
26
/LayoutTests/imported/w3c/web-platform-tests/css/css-images/support/60x60-green.png
27
/LayoutTests/imported/w3c/web-platform-tests/css/css-images/support/60x60-red.png
28
/LayoutTests/imported/w3c/web-platform-tests/css/css-images/support/a-green.css
27
/LayoutTests/imported/w3c/web-platform-tests/css/css-images/support/a-green.css
29
/LayoutTests/imported/w3c/web-platform-tests/css/css-images/support/b-green.css
28
/LayoutTests/imported/w3c/web-platform-tests/css/css-images/support/b-green.css
30
/LayoutTests/imported/w3c/web-platform-tests/css/css-images/support/c-red.css
29
/LayoutTests/imported/w3c/web-platform-tests/css/css-images/support/c-red.css
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-images/tiled-conic-gradients-expected.html +29 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-images/tiled-conic-gradients-expected.html_sec1
1
<!doctype html>
2
<meta charset="utf-8">
3
<style>
4
  .bar {
5
    width: 200px;
6
    height: 40px;
7
  }
8
  .box {
9
    display: inline-block;
10
    width: 40px;
11
    height: 40px;
12
    background-image: conic-gradient(black 0 25%, white 0 50%, black 0 75%, white 0);
13
  }
14
</style>
15
<div class="bar">
16
  <div class="box"></div><div class="box"></div><div class="box"></div><div class="box"></div><div class="box"></div>
17
</div>
18
<div class="bar">
19
  <div class="box"></div><div class="box"></div><div class="box"></div><div class="box"></div><div class="box"></div>
20
</div>
21
<div class="bar">
22
  <div class="box"></div><div class="box"></div><div class="box"></div><div class="box"></div><div class="box"></div>
23
</div>
24
<div class="bar">
25
  <div class="box"></div><div class="box"></div><div class="box"></div><div class="box"></div><div class="box"></div>
26
</div>
27
<div class="bar">
28
  <div class="box"></div><div class="box"></div><div class="box"></div><div class="box"></div><div class="box"></div>
29
</div>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-images/tiled-conic-gradients.html +16 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-images/tiled-conic-gradients.html_sec1
1
<!doctype html>
2
<meta charset="utf-8">
3
<title>Checkerboard using conic gradients</title>
4
<link rel="help" href="https://drafts.csswg.org/css-backgrounds-3/#propdef-background-size">
5
<meta name="assert" content="Gradients are correctly repeated.">
6
<link rel="match" href="tiled-conic-gradients-ref.html">
7
<style>
8
  #gradient {
9
    width: 200px;
10
    height: 200px;
11
    background-color: red;
12
    background-size: 20% 20%;
13
    background-image: conic-gradient(black 0 25%, white 0 50%, black 0 75%, white 0);
14
  }
15
</style>
16
<div id="gradient"></div>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-images/w3c-import.log -2 / +36 lines
Lines 15-20 None a/LayoutTests/imported/w3c/web-platform-tests/css/css-images/w3c-import.log_sec1
15
------------------------------------------------------------------------
15
------------------------------------------------------------------------
16
List of files:
16
List of files:
17
/LayoutTests/imported/w3c/web-platform-tests/css/css-images/META.yml
17
/LayoutTests/imported/w3c/web-platform-tests/css/css-images/META.yml
18
/LayoutTests/imported/w3c/web-platform-tests/css/css-images/conic-gradient-angle-expected.html
19
/LayoutTests/imported/w3c/web-platform-tests/css/css-images/conic-gradient-angle-negative-expected.html
20
/LayoutTests/imported/w3c/web-platform-tests/css/css-images/conic-gradient-angle-negative.html
21
/LayoutTests/imported/w3c/web-platform-tests/css/css-images/conic-gradient-angle.html
22
/LayoutTests/imported/w3c/web-platform-tests/css/css-images/conic-gradient-center-expected.html
23
/LayoutTests/imported/w3c/web-platform-tests/css/css-images/conic-gradient-center.html
18
/LayoutTests/imported/w3c/web-platform-tests/css/css-images/css-image-fallbacks-and-annotations-expected.html
24
/LayoutTests/imported/w3c/web-platform-tests/css/css-images/css-image-fallbacks-and-annotations-expected.html
19
/LayoutTests/imported/w3c/web-platform-tests/css/css-images/css-image-fallbacks-and-annotations.html
25
/LayoutTests/imported/w3c/web-platform-tests/css/css-images/css-image-fallbacks-and-annotations.html
20
/LayoutTests/imported/w3c/web-platform-tests/css/css-images/css-image-fallbacks-and-annotations002-expected.html
26
/LayoutTests/imported/w3c/web-platform-tests/css/css-images/css-image-fallbacks-and-annotations002-expected.html
Lines 31-40 List of files: a/LayoutTests/imported/w3c/web-platform-tests/css/css-images/w3c-import.log_sec2
31
/LayoutTests/imported/w3c/web-platform-tests/css/css-images/gradient-button.html
37
/LayoutTests/imported/w3c/web-platform-tests/css/css-images/gradient-button.html
32
/LayoutTests/imported/w3c/web-platform-tests/css/css-images/gradient-content-box-expected.html
38
/LayoutTests/imported/w3c/web-platform-tests/css/css-images/gradient-content-box-expected.html
33
/LayoutTests/imported/w3c/web-platform-tests/css/css-images/gradient-content-box.html
39
/LayoutTests/imported/w3c/web-platform-tests/css/css-images/gradient-content-box.html
34
/LayoutTests/imported/w3c/web-platform-tests/css/css-images/gradient-crash-expected.html
35
/LayoutTests/imported/w3c/web-platform-tests/css/css-images/gradient-crash.html
36
/LayoutTests/imported/w3c/web-platform-tests/css/css-images/gradient-move-stops-expected.html
40
/LayoutTests/imported/w3c/web-platform-tests/css/css-images/gradient-move-stops-expected.html
37
/LayoutTests/imported/w3c/web-platform-tests/css/css-images/gradient-move-stops.html
41
/LayoutTests/imported/w3c/web-platform-tests/css/css-images/gradient-move-stops.html
42
/LayoutTests/imported/w3c/web-platform-tests/css/css-images/gradient-refcrash-expected.html
43
/LayoutTests/imported/w3c/web-platform-tests/css/css-images/gradient-refcrash.html
38
/LayoutTests/imported/w3c/web-platform-tests/css/css-images/gradients-with-border-expected.html
44
/LayoutTests/imported/w3c/web-platform-tests/css/css-images/gradients-with-border-expected.html
39
/LayoutTests/imported/w3c/web-platform-tests/css/css-images/gradients-with-border.html
45
/LayoutTests/imported/w3c/web-platform-tests/css/css-images/gradients-with-border.html
40
/LayoutTests/imported/w3c/web-platform-tests/css/css-images/gradients-with-transparent-expected.html
46
/LayoutTests/imported/w3c/web-platform-tests/css/css-images/gradients-with-transparent-expected.html
Lines 42-52 List of files: a/LayoutTests/imported/w3c/web-platform-tests/css/css-images/w3c-import.log_sec3
42
/LayoutTests/imported/w3c/web-platform-tests/css/css-images/idlharness.html
48
/LayoutTests/imported/w3c/web-platform-tests/css/css-images/idlharness.html
43
/LayoutTests/imported/w3c/web-platform-tests/css/css-images/image-fit-001.xht
49
/LayoutTests/imported/w3c/web-platform-tests/css/css-images/image-fit-001.xht
44
/LayoutTests/imported/w3c/web-platform-tests/css/css-images/image-fit-006.xht
50
/LayoutTests/imported/w3c/web-platform-tests/css/css-images/image-fit-006.xht
51
/LayoutTests/imported/w3c/web-platform-tests/css/css-images/infinite-radial-gradient-refcrash-expected.html
52
/LayoutTests/imported/w3c/web-platform-tests/css/css-images/infinite-radial-gradient-refcrash.html
45
/LayoutTests/imported/w3c/web-platform-tests/css/css-images/inheritance.html
53
/LayoutTests/imported/w3c/web-platform-tests/css/css-images/inheritance.html
46
/LayoutTests/imported/w3c/web-platform-tests/css/css-images/linear-gradient-1-expected.html
54
/LayoutTests/imported/w3c/web-platform-tests/css/css-images/linear-gradient-1-expected.html
47
/LayoutTests/imported/w3c/web-platform-tests/css/css-images/linear-gradient-1.html
55
/LayoutTests/imported/w3c/web-platform-tests/css/css-images/linear-gradient-1.html
48
/LayoutTests/imported/w3c/web-platform-tests/css/css-images/linear-gradient-2-expected.html
56
/LayoutTests/imported/w3c/web-platform-tests/css/css-images/linear-gradient-2-expected.html
49
/LayoutTests/imported/w3c/web-platform-tests/css/css-images/linear-gradient-2.html
57
/LayoutTests/imported/w3c/web-platform-tests/css/css-images/linear-gradient-2.html
58
/LayoutTests/imported/w3c/web-platform-tests/css/css-images/multiple-position-color-stop-conic-2-expected.html
59
/LayoutTests/imported/w3c/web-platform-tests/css/css-images/multiple-position-color-stop-conic-2.html
50
/LayoutTests/imported/w3c/web-platform-tests/css/css-images/multiple-position-color-stop-conic-expected.html
60
/LayoutTests/imported/w3c/web-platform-tests/css/css-images/multiple-position-color-stop-conic-expected.html
51
/LayoutTests/imported/w3c/web-platform-tests/css/css-images/multiple-position-color-stop-conic.html
61
/LayoutTests/imported/w3c/web-platform-tests/css/css-images/multiple-position-color-stop-conic.html
52
/LayoutTests/imported/w3c/web-platform-tests/css/css-images/multiple-position-color-stop-linear-2-expected.html
62
/LayoutTests/imported/w3c/web-platform-tests/css/css-images/multiple-position-color-stop-linear-2-expected.html
Lines 57-62 List of files: a/LayoutTests/imported/w3c/web-platform-tests/css/css-images/w3c-import.log_sec4
57
/LayoutTests/imported/w3c/web-platform-tests/css/css-images/multiple-position-color-stop-radial-2.html
67
/LayoutTests/imported/w3c/web-platform-tests/css/css-images/multiple-position-color-stop-radial-2.html
58
/LayoutTests/imported/w3c/web-platform-tests/css/css-images/multiple-position-color-stop-radial-expected.html
68
/LayoutTests/imported/w3c/web-platform-tests/css/css-images/multiple-position-color-stop-radial-expected.html
59
/LayoutTests/imported/w3c/web-platform-tests/css/css-images/multiple-position-color-stop-radial.html
69
/LayoutTests/imported/w3c/web-platform-tests/css/css-images/multiple-position-color-stop-radial.html
70
/LayoutTests/imported/w3c/web-platform-tests/css/css-images/normalization-conic-2-expected.html
71
/LayoutTests/imported/w3c/web-platform-tests/css/css-images/normalization-conic-2.html
72
/LayoutTests/imported/w3c/web-platform-tests/css/css-images/normalization-conic-degenerate-expected.html
73
/LayoutTests/imported/w3c/web-platform-tests/css/css-images/normalization-conic-degenerate.html
74
/LayoutTests/imported/w3c/web-platform-tests/css/css-images/normalization-conic-expected.html
75
/LayoutTests/imported/w3c/web-platform-tests/css/css-images/normalization-conic.html
76
/LayoutTests/imported/w3c/web-platform-tests/css/css-images/normalization-linear-2-expected.html
77
/LayoutTests/imported/w3c/web-platform-tests/css/css-images/normalization-linear-2.html
78
/LayoutTests/imported/w3c/web-platform-tests/css/css-images/normalization-linear-degenerate-expected.html
79
/LayoutTests/imported/w3c/web-platform-tests/css/css-images/normalization-linear-degenerate.html
80
/LayoutTests/imported/w3c/web-platform-tests/css/css-images/normalization-linear-expected.html
81
/LayoutTests/imported/w3c/web-platform-tests/css/css-images/normalization-linear.html
82
/LayoutTests/imported/w3c/web-platform-tests/css/css-images/normalization-radial-2-expected.html
83
/LayoutTests/imported/w3c/web-platform-tests/css/css-images/normalization-radial-2.html
84
/LayoutTests/imported/w3c/web-platform-tests/css/css-images/normalization-radial-degenerate-expected.html
85
/LayoutTests/imported/w3c/web-platform-tests/css/css-images/normalization-radial-degenerate.html
86
/LayoutTests/imported/w3c/web-platform-tests/css/css-images/normalization-radial-expected.html
87
/LayoutTests/imported/w3c/web-platform-tests/css/css-images/normalization-radial.html
88
/LayoutTests/imported/w3c/web-platform-tests/css/css-images/out-of-range-color-stop-conic-expected.html
89
/LayoutTests/imported/w3c/web-platform-tests/css/css-images/out-of-range-color-stop-conic.html
90
/LayoutTests/imported/w3c/web-platform-tests/css/css-images/repeating-conic-gradient-expected.html
91
/LayoutTests/imported/w3c/web-platform-tests/css/css-images/repeating-conic-gradient.html
92
/LayoutTests/imported/w3c/web-platform-tests/css/css-images/tiled-conic-gradients-expected.html
93
/LayoutTests/imported/w3c/web-platform-tests/css/css-images/tiled-conic-gradients.html
60
/LayoutTests/imported/w3c/web-platform-tests/css/css-images/tiled-gradients-expected.html
94
/LayoutTests/imported/w3c/web-platform-tests/css/css-images/tiled-gradients-expected.html
61
/LayoutTests/imported/w3c/web-platform-tests/css/css-images/tiled-gradients.html
95
/LayoutTests/imported/w3c/web-platform-tests/css/css-images/tiled-gradients.html
62
/LayoutTests/imported/w3c/web-platform-tests/css/css-images/tiled-radial-gradients-expected.html
96
/LayoutTests/imported/w3c/web-platform-tests/css/css-images/tiled-radial-gradients-expected.html
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-inline/parsing/line-height-computed-expected.txt -12 lines
Lines 1-12 a/LayoutTests/imported/w3c/web-platform-tests/css/css-inline/parsing/line-height-computed-expected.txt_sec1
1
2
PASS Property line-height value 'normal' 
3
PASS Property line-height value '0' 
4
PASS Property line-height value '2' 
5
PASS Property line-height value '0px' 
6
PASS Property line-height value '10px' 
7
PASS Property line-height value '0%' 
8
PASS Property line-height value '200%' 
9
FAIL Property line-height value 'calc(200% + 10px)' assert_equals: expected "90px" but got "normal"
10
PASS Property line-height value 'calc(10px - 0.5em)' 
11
PASS Property line-height value 'calc(10px + 0.5em)' 
12
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-inline/parsing/line-height-computed.html -36 lines
Lines 1-36 a/LayoutTests/imported/w3c/web-platform-tests/css/css-inline/parsing/line-height-computed.html_sec1
1
<!DOCTYPE html>
2
<html>
3
<head>
4
<meta charset="utf-8">
5
<title>CSS Inline Layout: getComputedStyle().lineHeight</title>
6
<link rel="help" href="https://drafts.csswg.org/css-inline-3/#line-height-property">
7
<meta name="assert" content="line-height computed value is normal or a length.">
8
<script src="/resources/testharness.js"></script>
9
<script src="/resources/testharnessreport.js"></script>
10
<script src="/css/support/computed-testcommon.js"></script>
11
<style>
12
  #container {
13
    font-size: 40px;
14
  }
15
</style>
16
</head>
17
<body>
18
<div id="container">
19
  <div id="target"></div>
20
</div>
21
<script>
22
test_computed_value("line-height", "normal");
23
24
test_computed_value("line-height", "0", "0px");
25
test_computed_value("line-height", "2", "80px");
26
test_computed_value("line-height", "0px");
27
test_computed_value("line-height", "10px");
28
test_computed_value("line-height", "0%", "0px");
29
test_computed_value("line-height", "200%", "80px");
30
test_computed_value("line-height", "calc(200% + 10px)", "90px");
31
32
test_computed_value('line-height', 'calc(10px - 0.5em)', '0px');
33
test_computed_value('line-height', 'calc(10px + 0.5em)', '30px');
34
</script>
35
</body>
36
</html>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-lists/add-inline-child-after-marker-001.html -1 / +1 lines
Lines 3-9 a/LayoutTests/imported/w3c/web-platform-tests/css/css-lists/add-inline-child-after-marker-001.html_sec1
3
<title>CSS Lists: Add inline child after marker</title>
3
<title>CSS Lists: Add inline child after marker</title>
4
<link rel=help href="https://www.w3.org/TR/CSS22/generate.html#lists">
4
<link rel=help href="https://www.w3.org/TR/CSS22/generate.html#lists">
5
<link rel=match href="add-inline-child-after-marker-001-ref.html">
5
<link rel=match href="add-inline-child-after-marker-001-ref.html">
6
<!--  https://bugs.chromium.org/p/chromium/issues/detail?id=344941  -->
6
<!-- https://bugs.chromium.org/p/chromium/issues/detail?id=344941 -->
7
7
8
<p>The test passes if you see the list marker followed by the text "inline" and "axxx" in a line below.</p>
8
<p>The test passes if you see the list marker followed by the text "inline" and "axxx" in a line below.</p>
9
9
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-lists/add-inline-child-after-marker-002-expected.html +14 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-lists/add-inline-child-after-marker-002-expected.html_sec1
1
<!DOCTYPE html>
2
<meta charset="utf-8">
3
<title>CSS Lists: Add inline child after marker</title>
4
5
<p>The test passes if you see the list marker followed by the text "axxx" in the same line.</p>
6
7
<ul>
8
  <li>
9
    <span> </span>
10
    <div style="overflow:hidden;">
11
      <span>a</span>xxx
12
    </div>
13
  </li>
14
</ul>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-lists/add-inline-child-after-marker-002.html +26 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-lists/add-inline-child-after-marker-002.html_sec1
1
<!DOCTYPE html>
2
<meta charset="utf-8">
3
<title>CSS Lists: Add inline child after marker</title>
4
<link rel=help href="https://www.w3.org/TR/CSS22/generate.html#lists">
5
<link rel=match href="add-inline-child-after-marker-002-ref.html">
6
<!-- https://bugs.chromium.org/p/chromium/issues/detail?id=1049633 -->
7
8
<p>The test passes if you see the list marker followed by the text "axxx" in the same line.</p>
9
10
<ul>
11
  <li id="liTarget">
12
    <div id="divTarget" style="overflow:hidden;">
13
      <span>a</span>xxx
14
    </div>
15
  </li>
16
</ul>
17
<script>
18
  document.body.offsetHeight;
19
  var new_span=document.createElement("span");
20
  var text_node=document.createTextNode(" ");
21
  new_span.appendChild(text_node);
22
23
  var div_target=document.getElementById("divTarget");
24
  var li_target=document.getElementById("liTarget");
25
  li_target.insertBefore(new_span,div_target);
26
</script>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-lists/animations/list-style-image-interpolation-expected.txt +222 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-lists/animations/list-style-image-interpolation-expected.txt_sec1
1
2
FAIL CSS Transitions: property <list-style-image> from neutral to [url(../resources/stripes-20.png)] at (-0.3) should be [url(../resources/green-20.png)] assert_equals: expected "url ( http : / / localhost : 8800 / ... / green - 20.png ) " but got "cross - fade ( url ( http : / / localhost : 8800 / ... / green - 20.png ) , url ( http : / / localhost : 8800 / ... / stripes - 20.png ) , - 0.3 ) "
3
PASS CSS Transitions: property <list-style-image> from neutral to [url(../resources/stripes-20.png)] at (0) should be [url(../resources/green-20.png)] 
4
FAIL CSS Transitions: property <list-style-image> from neutral to [url(../resources/stripes-20.png)] at (0.3) should be [url(../resources/green-20.png)] assert_equals: expected "url ( http : / / localhost : 8800 / ... / green - 20.png ) " but got "cross - fade ( url ( http : / / localhost : 8800 / ... / green - 20.png ) , url ( http : / / localhost : 8800 / ... / stripes - 20.png ) , 0.3 ) "
5
FAIL CSS Transitions: property <list-style-image> from neutral to [url(../resources/stripes-20.png)] at (0.6) should be [url(../resources/stripes-20.png)] assert_equals: expected "url ( http : / / localhost : 8800 / ... / stripes - 20.png ) " but got "cross - fade ( url ( http : / / localhost : 8800 / ... / green - 20.png ) , url ( http : / / localhost : 8800 / ... / stripes - 20.png ) , 0.6 ) "
6
PASS CSS Transitions: property <list-style-image> from neutral to [url(../resources/stripes-20.png)] at (1) should be [url(../resources/stripes-20.png)] 
7
FAIL CSS Transitions: property <list-style-image> from neutral to [url(../resources/stripes-20.png)] at (1.5) should be [url(../resources/stripes-20.png)] assert_equals: expected "url ( http : / / localhost : 8800 / ... / stripes - 20.png ) " but got "cross - fade ( url ( http : / / localhost : 8800 / ... / green - 20.png ) , url ( http : / / localhost : 8800 / ... / stripes - 20.png ) , 1.5 ) "
8
FAIL CSS Transitions with transition: all: property <list-style-image> from neutral to [url(../resources/stripes-20.png)] at (-0.3) should be [url(../resources/green-20.png)] assert_equals: expected "url ( http : / / localhost : 8800 / ... / green - 20.png ) " but got "cross - fade ( url ( http : / / localhost : 8800 / ... / green - 20.png ) , url ( http : / / localhost : 8800 / ... / stripes - 20.png ) , - 0.3 ) "
9
PASS CSS Transitions with transition: all: property <list-style-image> from neutral to [url(../resources/stripes-20.png)] at (0) should be [url(../resources/green-20.png)] 
10
FAIL CSS Transitions with transition: all: property <list-style-image> from neutral to [url(../resources/stripes-20.png)] at (0.3) should be [url(../resources/green-20.png)] assert_equals: expected "url ( http : / / localhost : 8800 / ... / green - 20.png ) " but got "cross - fade ( url ( http : / / localhost : 8800 / ... / green - 20.png ) , url ( http : / / localhost : 8800 / ... / stripes - 20.png ) , 0.3 ) "
11
FAIL CSS Transitions with transition: all: property <list-style-image> from neutral to [url(../resources/stripes-20.png)] at (0.6) should be [url(../resources/stripes-20.png)] assert_equals: expected "url ( http : / / localhost : 8800 / ... / stripes - 20.png ) " but got "cross - fade ( url ( http : / / localhost : 8800 / ... / green - 20.png ) , url ( http : / / localhost : 8800 / ... / stripes - 20.png ) , 0.6 ) "
12
PASS CSS Transitions with transition: all: property <list-style-image> from neutral to [url(../resources/stripes-20.png)] at (1) should be [url(../resources/stripes-20.png)] 
13
FAIL CSS Transitions with transition: all: property <list-style-image> from neutral to [url(../resources/stripes-20.png)] at (1.5) should be [url(../resources/stripes-20.png)] assert_equals: expected "url ( http : / / localhost : 8800 / ... / stripes - 20.png ) " but got "cross - fade ( url ( http : / / localhost : 8800 / ... / green - 20.png ) , url ( http : / / localhost : 8800 / ... / stripes - 20.png ) , 1.5 ) "
14
FAIL CSS Animations: property <list-style-image> from neutral to [url(../resources/stripes-20.png)] at (-0.3) should be [url(../resources/green-20.png)] assert_equals: expected "url ( http : / / localhost : 8800 / ... / green - 20.png ) " but got "cross - fade ( url ( http : / / localhost : 8800 / ... / green - 20.png ) , url ( http : / / localhost : 8800 / ... / stripes - 20.png ) , - 0.3 ) "
15
PASS CSS Animations: property <list-style-image> from neutral to [url(../resources/stripes-20.png)] at (0) should be [url(../resources/green-20.png)] 
16
FAIL CSS Animations: property <list-style-image> from neutral to [url(../resources/stripes-20.png)] at (0.3) should be [url(../resources/green-20.png)] assert_equals: expected "url ( http : / / localhost : 8800 / ... / green - 20.png ) " but got "cross - fade ( url ( http : / / localhost : 8800 / ... / green - 20.png ) , url ( http : / / localhost : 8800 / ... / stripes - 20.png ) , 0.3 ) "
17
FAIL CSS Animations: property <list-style-image> from neutral to [url(../resources/stripes-20.png)] at (0.6) should be [url(../resources/stripes-20.png)] assert_equals: expected "url ( http : / / localhost : 8800 / ... / stripes - 20.png ) " but got "cross - fade ( url ( http : / / localhost : 8800 / ... / green - 20.png ) , url ( http : / / localhost : 8800 / ... / stripes - 20.png ) , 0.6 ) "
18
PASS CSS Animations: property <list-style-image> from neutral to [url(../resources/stripes-20.png)] at (1) should be [url(../resources/stripes-20.png)] 
19
FAIL CSS Animations: property <list-style-image> from neutral to [url(../resources/stripes-20.png)] at (1.5) should be [url(../resources/stripes-20.png)] assert_equals: expected "url ( http : / / localhost : 8800 / ... / stripes - 20.png ) " but got "cross - fade ( url ( http : / / localhost : 8800 / ... / green - 20.png ) , url ( http : / / localhost : 8800 / ... / stripes - 20.png ) , 1.5 ) "
20
FAIL Web Animations: property <list-style-image> from neutral to [url(../resources/stripes-20.png)] at (-0.3) should be [url(../resources/green-20.png)] assert_equals: expected "url ( http : / / localhost : 8800 / ... / green - 20.png ) " but got "url ( http : / / localhost : 8800 / ... / stripes - 20.png ) "
21
FAIL Web Animations: property <list-style-image> from neutral to [url(../resources/stripes-20.png)] at (0) should be [url(../resources/green-20.png)] assert_equals: expected "url ( http : / / localhost : 8800 / ... / green - 20.png ) " but got "url ( http : / / localhost : 8800 / ... / stripes - 20.png ) "
22
FAIL Web Animations: property <list-style-image> from neutral to [url(../resources/stripes-20.png)] at (0.3) should be [url(../resources/green-20.png)] assert_equals: expected "url ( http : / / localhost : 8800 / ... / green - 20.png ) " but got "url ( http : / / localhost : 8800 / ... / stripes - 20.png ) "
23
PASS Web Animations: property <list-style-image> from neutral to [url(../resources/stripes-20.png)] at (0.6) should be [url(../resources/stripes-20.png)] 
24
PASS Web Animations: property <list-style-image> from neutral to [url(../resources/stripes-20.png)] at (1) should be [url(../resources/stripes-20.png)] 
25
PASS Web Animations: property <list-style-image> from neutral to [url(../resources/stripes-20.png)] at (1.5) should be [url(../resources/stripes-20.png)] 
26
FAIL CSS Transitions: property <list-style-image> from [initial] to [url(../resources/stripes-20.png)] at (-0.3) should be [none] assert_equals: expected "none " but got "url ( http : / / localhost : 8800 / ... / stripes - 20.png ) "
27
FAIL CSS Transitions: property <list-style-image> from [initial] to [url(../resources/stripes-20.png)] at (0) should be [none] assert_equals: expected "none " but got "url ( http : / / localhost : 8800 / ... / stripes - 20.png ) "
28
FAIL CSS Transitions: property <list-style-image> from [initial] to [url(../resources/stripes-20.png)] at (0.3) should be [none] assert_equals: expected "none " but got "url ( http : / / localhost : 8800 / ... / stripes - 20.png ) "
29
PASS CSS Transitions: property <list-style-image> from [initial] to [url(../resources/stripes-20.png)] at (0.6) should be [url(../resources/stripes-20.png)] 
30
PASS CSS Transitions: property <list-style-image> from [initial] to [url(../resources/stripes-20.png)] at (1) should be [url(../resources/stripes-20.png)] 
31
PASS CSS Transitions: property <list-style-image> from [initial] to [url(../resources/stripes-20.png)] at (1.5) should be [url(../resources/stripes-20.png)] 
32
FAIL CSS Transitions with transition: all: property <list-style-image> from [initial] to [url(../resources/stripes-20.png)] at (-0.3) should be [none] assert_equals: expected "none " but got "url ( http : / / localhost : 8800 / ... / stripes - 20.png ) "
33
FAIL CSS Transitions with transition: all: property <list-style-image> from [initial] to [url(../resources/stripes-20.png)] at (0) should be [none] assert_equals: expected "none " but got "url ( http : / / localhost : 8800 / ... / stripes - 20.png ) "
34
FAIL CSS Transitions with transition: all: property <list-style-image> from [initial] to [url(../resources/stripes-20.png)] at (0.3) should be [none] assert_equals: expected "none " but got "url ( http : / / localhost : 8800 / ... / stripes - 20.png ) "
35
PASS CSS Transitions with transition: all: property <list-style-image> from [initial] to [url(../resources/stripes-20.png)] at (0.6) should be [url(../resources/stripes-20.png)] 
36
PASS CSS Transitions with transition: all: property <list-style-image> from [initial] to [url(../resources/stripes-20.png)] at (1) should be [url(../resources/stripes-20.png)] 
37
PASS CSS Transitions with transition: all: property <list-style-image> from [initial] to [url(../resources/stripes-20.png)] at (1.5) should be [url(../resources/stripes-20.png)] 
38
FAIL CSS Animations: property <list-style-image> from [initial] to [url(../resources/stripes-20.png)] at (-0.3) should be [none] assert_equals: expected "none " but got "url ( http : / / localhost : 8800 / ... / stripes - 20.png ) "
39
FAIL CSS Animations: property <list-style-image> from [initial] to [url(../resources/stripes-20.png)] at (0) should be [none] assert_equals: expected "none " but got "url ( http : / / localhost : 8800 / ... / stripes - 20.png ) "
40
FAIL CSS Animations: property <list-style-image> from [initial] to [url(../resources/stripes-20.png)] at (0.3) should be [none] assert_equals: expected "none " but got "url ( http : / / localhost : 8800 / ... / stripes - 20.png ) "
41
PASS CSS Animations: property <list-style-image> from [initial] to [url(../resources/stripes-20.png)] at (0.6) should be [url(../resources/stripes-20.png)] 
42
PASS CSS Animations: property <list-style-image> from [initial] to [url(../resources/stripes-20.png)] at (1) should be [url(../resources/stripes-20.png)] 
43
PASS CSS Animations: property <list-style-image> from [initial] to [url(../resources/stripes-20.png)] at (1.5) should be [url(../resources/stripes-20.png)] 
44
FAIL Web Animations: property <list-style-image> from [initial] to [url(../resources/stripes-20.png)] at (-0.3) should be [none] assert_equals: expected "none " but got "url ( http : / / localhost : 8800 / ... / stripes - 20.png ) "
45
FAIL Web Animations: property <list-style-image> from [initial] to [url(../resources/stripes-20.png)] at (0) should be [none] assert_equals: expected "none " but got "url ( http : / / localhost : 8800 / ... / stripes - 20.png ) "
46
FAIL Web Animations: property <list-style-image> from [initial] to [url(../resources/stripes-20.png)] at (0.3) should be [none] assert_equals: expected "none " but got "url ( http : / / localhost : 8800 / ... / stripes - 20.png ) "
47
PASS Web Animations: property <list-style-image> from [initial] to [url(../resources/stripes-20.png)] at (0.6) should be [url(../resources/stripes-20.png)] 
48
PASS Web Animations: property <list-style-image> from [initial] to [url(../resources/stripes-20.png)] at (1) should be [url(../resources/stripes-20.png)] 
49
PASS Web Animations: property <list-style-image> from [initial] to [url(../resources/stripes-20.png)] at (1.5) should be [url(../resources/stripes-20.png)] 
50
FAIL CSS Transitions: property <list-style-image> from [inherit] to [url(../resources/stripes-20.png)] at (-0.3) should be [url(../resources/blue-20.png)] assert_equals: expected "url ( http : / / localhost : 8800 / ... / blue - 20.png ) " but got "cross - fade ( url ( http : / / localhost : 8800 / ... / blue - 20.png ) , url ( http : / / localhost : 8800 / ... / stripes - 20.png ) , - 0.3 ) "
51
PASS CSS Transitions: property <list-style-image> from [inherit] to [url(../resources/stripes-20.png)] at (0) should be [url(../resources/blue-20.png)] 
52
FAIL CSS Transitions: property <list-style-image> from [inherit] to [url(../resources/stripes-20.png)] at (0.3) should be [url(../resources/blue-20.png)] assert_equals: expected "url ( http : / / localhost : 8800 / ... / blue - 20.png ) " but got "cross - fade ( url ( http : / / localhost : 8800 / ... / blue - 20.png ) , url ( http : / / localhost : 8800 / ... / stripes - 20.png ) , 0.3 ) "
53
FAIL CSS Transitions: property <list-style-image> from [inherit] to [url(../resources/stripes-20.png)] at (0.6) should be [url(../resources/stripes-20.png)] assert_equals: expected "url ( http : / / localhost : 8800 / ... / stripes - 20.png ) " but got "cross - fade ( url ( http : / / localhost : 8800 / ... / blue - 20.png ) , url ( http : / / localhost : 8800 / ... / stripes - 20.png ) , 0.6 ) "
54
PASS CSS Transitions: property <list-style-image> from [inherit] to [url(../resources/stripes-20.png)] at (1) should be [url(../resources/stripes-20.png)] 
55
FAIL CSS Transitions: property <list-style-image> from [inherit] to [url(../resources/stripes-20.png)] at (1.5) should be [url(../resources/stripes-20.png)] assert_equals: expected "url ( http : / / localhost : 8800 / ... / stripes - 20.png ) " but got "cross - fade ( url ( http : / / localhost : 8800 / ... / blue - 20.png ) , url ( http : / / localhost : 8800 / ... / stripes - 20.png ) , 1.5 ) "
56
FAIL CSS Transitions with transition: all: property <list-style-image> from [inherit] to [url(../resources/stripes-20.png)] at (-0.3) should be [url(../resources/blue-20.png)] assert_equals: expected "url ( http : / / localhost : 8800 / ... / blue - 20.png ) " but got "cross - fade ( url ( http : / / localhost : 8800 / ... / blue - 20.png ) , url ( http : / / localhost : 8800 / ... / stripes - 20.png ) , - 0.3 ) "
57
PASS CSS Transitions with transition: all: property <list-style-image> from [inherit] to [url(../resources/stripes-20.png)] at (0) should be [url(../resources/blue-20.png)] 
58
FAIL CSS Transitions with transition: all: property <list-style-image> from [inherit] to [url(../resources/stripes-20.png)] at (0.3) should be [url(../resources/blue-20.png)] assert_equals: expected "url ( http : / / localhost : 8800 / ... / blue - 20.png ) " but got "cross - fade ( url ( http : / / localhost : 8800 / ... / blue - 20.png ) , url ( http : / / localhost : 8800 / ... / stripes - 20.png ) , 0.3 ) "
59
FAIL CSS Transitions with transition: all: property <list-style-image> from [inherit] to [url(../resources/stripes-20.png)] at (0.6) should be [url(../resources/stripes-20.png)] assert_equals: expected "url ( http : / / localhost : 8800 / ... / stripes - 20.png ) " but got "cross - fade ( url ( http : / / localhost : 8800 / ... / blue - 20.png ) , url ( http : / / localhost : 8800 / ... / stripes - 20.png ) , 0.6 ) "
60
PASS CSS Transitions with transition: all: property <list-style-image> from [inherit] to [url(../resources/stripes-20.png)] at (1) should be [url(../resources/stripes-20.png)] 
61
FAIL CSS Transitions with transition: all: property <list-style-image> from [inherit] to [url(../resources/stripes-20.png)] at (1.5) should be [url(../resources/stripes-20.png)] assert_equals: expected "url ( http : / / localhost : 8800 / ... / stripes - 20.png ) " but got "cross - fade ( url ( http : / / localhost : 8800 / ... / blue - 20.png ) , url ( http : / / localhost : 8800 / ... / stripes - 20.png ) , 1.5 ) "
62
FAIL CSS Animations: property <list-style-image> from [inherit] to [url(../resources/stripes-20.png)] at (-0.3) should be [url(../resources/blue-20.png)] assert_equals: expected "url ( http : / / localhost : 8800 / ... / blue - 20.png ) " but got "cross - fade ( url ( http : / / localhost : 8800 / ... / blue - 20.png ) , url ( http : / / localhost : 8800 / ... / stripes - 20.png ) , - 0.3 ) "
63
PASS CSS Animations: property <list-style-image> from [inherit] to [url(../resources/stripes-20.png)] at (0) should be [url(../resources/blue-20.png)] 
64
FAIL CSS Animations: property <list-style-image> from [inherit] to [url(../resources/stripes-20.png)] at (0.3) should be [url(../resources/blue-20.png)] assert_equals: expected "url ( http : / / localhost : 8800 / ... / blue - 20.png ) " but got "cross - fade ( url ( http : / / localhost : 8800 / ... / blue - 20.png ) , url ( http : / / localhost : 8800 / ... / stripes - 20.png ) , 0.3 ) "
65
FAIL CSS Animations: property <list-style-image> from [inherit] to [url(../resources/stripes-20.png)] at (0.6) should be [url(../resources/stripes-20.png)] assert_equals: expected "url ( http : / / localhost : 8800 / ... / stripes - 20.png ) " but got "cross - fade ( url ( http : / / localhost : 8800 / ... / blue - 20.png ) , url ( http : / / localhost : 8800 / ... / stripes - 20.png ) , 0.6 ) "
66
PASS CSS Animations: property <list-style-image> from [inherit] to [url(../resources/stripes-20.png)] at (1) should be [url(../resources/stripes-20.png)] 
67
FAIL CSS Animations: property <list-style-image> from [inherit] to [url(../resources/stripes-20.png)] at (1.5) should be [url(../resources/stripes-20.png)] assert_equals: expected "url ( http : / / localhost : 8800 / ... / stripes - 20.png ) " but got "cross - fade ( url ( http : / / localhost : 8800 / ... / blue - 20.png ) , url ( http : / / localhost : 8800 / ... / stripes - 20.png ) , 1.5 ) "
68
FAIL Web Animations: property <list-style-image> from [inherit] to [url(../resources/stripes-20.png)] at (-0.3) should be [url(../resources/blue-20.png)] assert_equals: expected "url ( http : / / localhost : 8800 / ... / blue - 20.png ) " but got "url ( http : / / localhost : 8800 / ... / stripes - 20.png ) "
69
FAIL Web Animations: property <list-style-image> from [inherit] to [url(../resources/stripes-20.png)] at (0) should be [url(../resources/blue-20.png)] assert_equals: expected "url ( http : / / localhost : 8800 / ... / blue - 20.png ) " but got "url ( http : / / localhost : 8800 / ... / stripes - 20.png ) "
70
FAIL Web Animations: property <list-style-image> from [inherit] to [url(../resources/stripes-20.png)] at (0.3) should be [url(../resources/blue-20.png)] assert_equals: expected "url ( http : / / localhost : 8800 / ... / blue - 20.png ) " but got "url ( http : / / localhost : 8800 / ... / stripes - 20.png ) "
71
PASS Web Animations: property <list-style-image> from [inherit] to [url(../resources/stripes-20.png)] at (0.6) should be [url(../resources/stripes-20.png)] 
72
PASS Web Animations: property <list-style-image> from [inherit] to [url(../resources/stripes-20.png)] at (1) should be [url(../resources/stripes-20.png)] 
73
PASS Web Animations: property <list-style-image> from [inherit] to [url(../resources/stripes-20.png)] at (1.5) should be [url(../resources/stripes-20.png)] 
74
FAIL CSS Transitions: property <list-style-image> from [unset] to [url(../resources/stripes-20.png)] at (-0.3) should be [url(../resources/blue-20.png)] assert_equals: expected "url ( http : / / localhost : 8800 / ... / blue - 20.png ) " but got "cross - fade ( url ( http : / / localhost : 8800 / ... / blue - 20.png ) , url ( http : / / localhost : 8800 / ... / stripes - 20.png ) , - 0.3 ) "
75
PASS CSS Transitions: property <list-style-image> from [unset] to [url(../resources/stripes-20.png)] at (0) should be [url(../resources/blue-20.png)] 
76
FAIL CSS Transitions: property <list-style-image> from [unset] to [url(../resources/stripes-20.png)] at (0.3) should be [url(../resources/blue-20.png)] assert_equals: expected "url ( http : / / localhost : 8800 / ... / blue - 20.png ) " but got "cross - fade ( url ( http : / / localhost : 8800 / ... / blue - 20.png ) , url ( http : / / localhost : 8800 / ... / stripes - 20.png ) , 0.3 ) "
77
FAIL CSS Transitions: property <list-style-image> from [unset] to [url(../resources/stripes-20.png)] at (0.6) should be [url(../resources/stripes-20.png)] assert_equals: expected "url ( http : / / localhost : 8800 / ... / stripes - 20.png ) " but got "cross - fade ( url ( http : / / localhost : 8800 / ... / blue - 20.png ) , url ( http : / / localhost : 8800 / ... / stripes - 20.png ) , 0.6 ) "
78
PASS CSS Transitions: property <list-style-image> from [unset] to [url(../resources/stripes-20.png)] at (1) should be [url(../resources/stripes-20.png)] 
79
FAIL CSS Transitions: property <list-style-image> from [unset] to [url(../resources/stripes-20.png)] at (1.5) should be [url(../resources/stripes-20.png)] assert_equals: expected "url ( http : / / localhost : 8800 / ... / stripes - 20.png ) " but got "cross - fade ( url ( http : / / localhost : 8800 / ... / blue - 20.png ) , url ( http : / / localhost : 8800 / ... / stripes - 20.png ) , 1.5 ) "
80
FAIL CSS Transitions with transition: all: property <list-style-image> from [unset] to [url(../resources/stripes-20.png)] at (-0.3) should be [url(../resources/blue-20.png)] assert_equals: expected "url ( http : / / localhost : 8800 / ... / blue - 20.png ) " but got "cross - fade ( url ( http : / / localhost : 8800 / ... / blue - 20.png ) , url ( http : / / localhost : 8800 / ... / stripes - 20.png ) , - 0.3 ) "
81
PASS CSS Transitions with transition: all: property <list-style-image> from [unset] to [url(../resources/stripes-20.png)] at (0) should be [url(../resources/blue-20.png)] 
82
FAIL CSS Transitions with transition: all: property <list-style-image> from [unset] to [url(../resources/stripes-20.png)] at (0.3) should be [url(../resources/blue-20.png)] assert_equals: expected "url ( http : / / localhost : 8800 / ... / blue - 20.png ) " but got "cross - fade ( url ( http : / / localhost : 8800 / ... / blue - 20.png ) , url ( http : / / localhost : 8800 / ... / stripes - 20.png ) , 0.3 ) "
83
FAIL CSS Transitions with transition: all: property <list-style-image> from [unset] to [url(../resources/stripes-20.png)] at (0.6) should be [url(../resources/stripes-20.png)] assert_equals: expected "url ( http : / / localhost : 8800 / ... / stripes - 20.png ) " but got "cross - fade ( url ( http : / / localhost : 8800 / ... / blue - 20.png ) , url ( http : / / localhost : 8800 / ... / stripes - 20.png ) , 0.6 ) "
84
PASS CSS Transitions with transition: all: property <list-style-image> from [unset] to [url(../resources/stripes-20.png)] at (1) should be [url(../resources/stripes-20.png)] 
85
FAIL CSS Transitions with transition: all: property <list-style-image> from [unset] to [url(../resources/stripes-20.png)] at (1.5) should be [url(../resources/stripes-20.png)] assert_equals: expected "url ( http : / / localhost : 8800 / ... / stripes - 20.png ) " but got "cross - fade ( url ( http : / / localhost : 8800 / ... / blue - 20.png ) , url ( http : / / localhost : 8800 / ... / stripes - 20.png ) , 1.5 ) "
86
FAIL CSS Animations: property <list-style-image> from [unset] to [url(../resources/stripes-20.png)] at (-0.3) should be [url(../resources/blue-20.png)] assert_equals: expected "url ( http : / / localhost : 8800 / ... / blue - 20.png ) " but got "cross - fade ( url ( http : / / localhost : 8800 / ... / blue - 20.png ) , url ( http : / / localhost : 8800 / ... / stripes - 20.png ) , - 0.3 ) "
87
PASS CSS Animations: property <list-style-image> from [unset] to [url(../resources/stripes-20.png)] at (0) should be [url(../resources/blue-20.png)] 
88
FAIL CSS Animations: property <list-style-image> from [unset] to [url(../resources/stripes-20.png)] at (0.3) should be [url(../resources/blue-20.png)] assert_equals: expected "url ( http : / / localhost : 8800 / ... / blue - 20.png ) " but got "cross - fade ( url ( http : / / localhost : 8800 / ... / blue - 20.png ) , url ( http : / / localhost : 8800 / ... / stripes - 20.png ) , 0.3 ) "
89
FAIL CSS Animations: property <list-style-image> from [unset] to [url(../resources/stripes-20.png)] at (0.6) should be [url(../resources/stripes-20.png)] assert_equals: expected "url ( http : / / localhost : 8800 / ... / stripes - 20.png ) " but got "cross - fade ( url ( http : / / localhost : 8800 / ... / blue - 20.png ) , url ( http : / / localhost : 8800 / ... / stripes - 20.png ) , 0.6 ) "
90
PASS CSS Animations: property <list-style-image> from [unset] to [url(../resources/stripes-20.png)] at (1) should be [url(../resources/stripes-20.png)] 
91
FAIL CSS Animations: property <list-style-image> from [unset] to [url(../resources/stripes-20.png)] at (1.5) should be [url(../resources/stripes-20.png)] assert_equals: expected "url ( http : / / localhost : 8800 / ... / stripes - 20.png ) " but got "cross - fade ( url ( http : / / localhost : 8800 / ... / blue - 20.png ) , url ( http : / / localhost : 8800 / ... / stripes - 20.png ) , 1.5 ) "
92
FAIL Web Animations: property <list-style-image> from [unset] to [url(../resources/stripes-20.png)] at (-0.3) should be [url(../resources/blue-20.png)] assert_equals: expected "url ( http : / / localhost : 8800 / ... / blue - 20.png ) " but got "url ( http : / / localhost : 8800 / ... / stripes - 20.png ) "
93
FAIL Web Animations: property <list-style-image> from [unset] to [url(../resources/stripes-20.png)] at (0) should be [url(../resources/blue-20.png)] assert_equals: expected "url ( http : / / localhost : 8800 / ... / blue - 20.png ) " but got "url ( http : / / localhost : 8800 / ... / stripes - 20.png ) "
94
FAIL Web Animations: property <list-style-image> from [unset] to [url(../resources/stripes-20.png)] at (0.3) should be [url(../resources/blue-20.png)] assert_equals: expected "url ( http : / / localhost : 8800 / ... / blue - 20.png ) " but got "url ( http : / / localhost : 8800 / ... / stripes - 20.png ) "
95
PASS Web Animations: property <list-style-image> from [unset] to [url(../resources/stripes-20.png)] at (0.6) should be [url(../resources/stripes-20.png)] 
96
PASS Web Animations: property <list-style-image> from [unset] to [url(../resources/stripes-20.png)] at (1) should be [url(../resources/stripes-20.png)] 
97
PASS Web Animations: property <list-style-image> from [unset] to [url(../resources/stripes-20.png)] at (1.5) should be [url(../resources/stripes-20.png)] 
98
PASS CSS Transitions: property <list-style-image> from [url(../resources/stripes-20.png)] to [url(../resources/stripes-20.png)] at (-0.3) should be [url(../resources/stripes-20.png)] 
99
PASS CSS Transitions: property <list-style-image> from [url(../resources/stripes-20.png)] to [url(../resources/stripes-20.png)] at (0) should be [url(../resources/stripes-20.png)] 
100
PASS CSS Transitions: property <list-style-image> from [url(../resources/stripes-20.png)] to [url(../resources/stripes-20.png)] at (0.3) should be [url(../resources/stripes-20.png)] 
101
PASS CSS Transitions: property <list-style-image> from [url(../resources/stripes-20.png)] to [url(../resources/stripes-20.png)] at (0.5) should be [url(../resources/stripes-20.png)] 
102
PASS CSS Transitions: property <list-style-image> from [url(../resources/stripes-20.png)] to [url(../resources/stripes-20.png)] at (0.6) should be [url(../resources/stripes-20.png)] 
103
PASS CSS Transitions: property <list-style-image> from [url(../resources/stripes-20.png)] to [url(../resources/stripes-20.png)] at (1) should be [url(../resources/stripes-20.png)] 
104
PASS CSS Transitions: property <list-style-image> from [url(../resources/stripes-20.png)] to [url(../resources/stripes-20.png)] at (1.5) should be [url(../resources/stripes-20.png)] 
105
PASS CSS Transitions with transition: all: property <list-style-image> from [url(../resources/stripes-20.png)] to [url(../resources/stripes-20.png)] at (-0.3) should be [url(../resources/stripes-20.png)] 
106
PASS CSS Transitions with transition: all: property <list-style-image> from [url(../resources/stripes-20.png)] to [url(../resources/stripes-20.png)] at (0) should be [url(../resources/stripes-20.png)] 
107
PASS CSS Transitions with transition: all: property <list-style-image> from [url(../resources/stripes-20.png)] to [url(../resources/stripes-20.png)] at (0.3) should be [url(../resources/stripes-20.png)] 
108
PASS CSS Transitions with transition: all: property <list-style-image> from [url(../resources/stripes-20.png)] to [url(../resources/stripes-20.png)] at (0.5) should be [url(../resources/stripes-20.png)] 
109
PASS CSS Transitions with transition: all: property <list-style-image> from [url(../resources/stripes-20.png)] to [url(../resources/stripes-20.png)] at (0.6) should be [url(../resources/stripes-20.png)] 
110
PASS CSS Transitions with transition: all: property <list-style-image> from [url(../resources/stripes-20.png)] to [url(../resources/stripes-20.png)] at (1) should be [url(../resources/stripes-20.png)] 
111
PASS CSS Transitions with transition: all: property <list-style-image> from [url(../resources/stripes-20.png)] to [url(../resources/stripes-20.png)] at (1.5) should be [url(../resources/stripes-20.png)] 
112
FAIL CSS Animations: property <list-style-image> from [url(../resources/stripes-20.png)] to [url(../resources/stripes-20.png)] at (-0.3) should be [url(../resources/stripes-20.png)] assert_equals: expected "url ( http : / / localhost : 8800 / ... / stripes - 20.png ) " but got "cross - fade ( url ( http : / / localhost : 8800 / ... / stripes - 20.png ) , url ( http : / / localhost : 8800 / ... / stripes - 20.png ) , - 0.3 ) "
113
PASS CSS Animations: property <list-style-image> from [url(../resources/stripes-20.png)] to [url(../resources/stripes-20.png)] at (0) should be [url(../resources/stripes-20.png)] 
114
FAIL CSS Animations: property <list-style-image> from [url(../resources/stripes-20.png)] to [url(../resources/stripes-20.png)] at (0.3) should be [url(../resources/stripes-20.png)] assert_equals: expected "url ( http : / / localhost : 8800 / ... / stripes - 20.png ) " but got "cross - fade ( url ( http : / / localhost : 8800 / ... / stripes - 20.png ) , url ( http : / / localhost : 8800 / ... / stripes - 20.png ) , 0.3 ) "
115
FAIL CSS Animations: property <list-style-image> from [url(../resources/stripes-20.png)] to [url(../resources/stripes-20.png)] at (0.5) should be [url(../resources/stripes-20.png)] assert_equals: expected "url ( http : / / localhost : 8800 / ... / stripes - 20.png ) " but got "cross - fade ( url ( http : / / localhost : 8800 / ... / stripes - 20.png ) , url ( http : / / localhost : 8800 / ... / stripes - 20.png ) , 0.5 ) "
116
FAIL CSS Animations: property <list-style-image> from [url(../resources/stripes-20.png)] to [url(../resources/stripes-20.png)] at (0.6) should be [url(../resources/stripes-20.png)] assert_equals: expected "url ( http : / / localhost : 8800 / ... / stripes - 20.png ) " but got "cross - fade ( url ( http : / / localhost : 8800 / ... / stripes - 20.png ) , url ( http : / / localhost : 8800 / ... / stripes - 20.png ) , 0.6 ) "
117
PASS CSS Animations: property <list-style-image> from [url(../resources/stripes-20.png)] to [url(../resources/stripes-20.png)] at (1) should be [url(../resources/stripes-20.png)] 
118
FAIL CSS Animations: property <list-style-image> from [url(../resources/stripes-20.png)] to [url(../resources/stripes-20.png)] at (1.5) should be [url(../resources/stripes-20.png)] assert_equals: expected "url ( http : / / localhost : 8800 / ... / stripes - 20.png ) " but got "cross - fade ( url ( http : / / localhost : 8800 / ... / stripes - 20.png ) , url ( http : / / localhost : 8800 / ... / stripes - 20.png ) , 1.5 ) "
119
PASS Web Animations: property <list-style-image> from [url(../resources/stripes-20.png)] to [url(../resources/stripes-20.png)] at (-0.3) should be [url(../resources/stripes-20.png)] 
120
PASS Web Animations: property <list-style-image> from [url(../resources/stripes-20.png)] to [url(../resources/stripes-20.png)] at (0) should be [url(../resources/stripes-20.png)] 
121
PASS Web Animations: property <list-style-image> from [url(../resources/stripes-20.png)] to [url(../resources/stripes-20.png)] at (0.3) should be [url(../resources/stripes-20.png)] 
122
PASS Web Animations: property <list-style-image> from [url(../resources/stripes-20.png)] to [url(../resources/stripes-20.png)] at (0.5) should be [url(../resources/stripes-20.png)] 
123
PASS Web Animations: property <list-style-image> from [url(../resources/stripes-20.png)] to [url(../resources/stripes-20.png)] at (0.6) should be [url(../resources/stripes-20.png)] 
124
PASS Web Animations: property <list-style-image> from [url(../resources/stripes-20.png)] to [url(../resources/stripes-20.png)] at (1) should be [url(../resources/stripes-20.png)] 
125
PASS Web Animations: property <list-style-image> from [url(../resources/stripes-20.png)] to [url(../resources/stripes-20.png)] at (1.5) should be [url(../resources/stripes-20.png)] 
126
FAIL CSS Transitions: property <list-style-image> from [none] to [url(../resources/stripes-20.png)] at (-0.3) should be [none] assert_equals: expected "none " but got "url ( http : / / localhost : 8800 / ... / stripes - 20.png ) "
127
FAIL CSS Transitions: property <list-style-image> from [none] to [url(../resources/stripes-20.png)] at (0) should be [none] assert_equals: expected "none " but got "url ( http : / / localhost : 8800 / ... / stripes - 20.png ) "
128
FAIL CSS Transitions: property <list-style-image> from [none] to [url(../resources/stripes-20.png)] at (0.3) should be [none] assert_equals: expected "none " but got "url ( http : / / localhost : 8800 / ... / stripes - 20.png ) "
129
PASS CSS Transitions: property <list-style-image> from [none] to [url(../resources/stripes-20.png)] at (0.6) should be [url(../resources/stripes-20.png)] 
130
PASS CSS Transitions: property <list-style-image> from [none] to [url(../resources/stripes-20.png)] at (1) should be [url(../resources/stripes-20.png)] 
131
PASS CSS Transitions: property <list-style-image> from [none] to [url(../resources/stripes-20.png)] at (1.5) should be [url(../resources/stripes-20.png)] 
132
FAIL CSS Transitions with transition: all: property <list-style-image> from [none] to [url(../resources/stripes-20.png)] at (-0.3) should be [none] assert_equals: expected "none " but got "url ( http : / / localhost : 8800 / ... / stripes - 20.png ) "
133
FAIL CSS Transitions with transition: all: property <list-style-image> from [none] to [url(../resources/stripes-20.png)] at (0) should be [none] assert_equals: expected "none " but got "url ( http : / / localhost : 8800 / ... / stripes - 20.png ) "
134
FAIL CSS Transitions with transition: all: property <list-style-image> from [none] to [url(../resources/stripes-20.png)] at (0.3) should be [none] assert_equals: expected "none " but got "url ( http : / / localhost : 8800 / ... / stripes - 20.png ) "
135
PASS CSS Transitions with transition: all: property <list-style-image> from [none] to [url(../resources/stripes-20.png)] at (0.6) should be [url(../resources/stripes-20.png)] 
136
PASS CSS Transitions with transition: all: property <list-style-image> from [none] to [url(../resources/stripes-20.png)] at (1) should be [url(../resources/stripes-20.png)] 
137
PASS CSS Transitions with transition: all: property <list-style-image> from [none] to [url(../resources/stripes-20.png)] at (1.5) should be [url(../resources/stripes-20.png)] 
138
FAIL CSS Animations: property <list-style-image> from [none] to [url(../resources/stripes-20.png)] at (-0.3) should be [none] assert_equals: expected "none " but got "url ( http : / / localhost : 8800 / ... / stripes - 20.png ) "
139
FAIL CSS Animations: property <list-style-image> from [none] to [url(../resources/stripes-20.png)] at (0) should be [none] assert_equals: expected "none " but got "url ( http : / / localhost : 8800 / ... / stripes - 20.png ) "
140
FAIL CSS Animations: property <list-style-image> from [none] to [url(../resources/stripes-20.png)] at (0.3) should be [none] assert_equals: expected "none " but got "url ( http : / / localhost : 8800 / ... / stripes - 20.png ) "
141
PASS CSS Animations: property <list-style-image> from [none] to [url(../resources/stripes-20.png)] at (0.6) should be [url(../resources/stripes-20.png)] 
142
PASS CSS Animations: property <list-style-image> from [none] to [url(../resources/stripes-20.png)] at (1) should be [url(../resources/stripes-20.png)] 
143
PASS CSS Animations: property <list-style-image> from [none] to [url(../resources/stripes-20.png)] at (1.5) should be [url(../resources/stripes-20.png)] 
144
FAIL Web Animations: property <list-style-image> from [none] to [url(../resources/stripes-20.png)] at (-0.3) should be [none] assert_equals: expected "none " but got "url ( http : / / localhost : 8800 / ... / stripes - 20.png ) "
145
FAIL Web Animations: property <list-style-image> from [none] to [url(../resources/stripes-20.png)] at (0) should be [none] assert_equals: expected "none " but got "url ( http : / / localhost : 8800 / ... / stripes - 20.png ) "
146
FAIL Web Animations: property <list-style-image> from [none] to [url(../resources/stripes-20.png)] at (0.3) should be [none] assert_equals: expected "none " but got "url ( http : / / localhost : 8800 / ... / stripes - 20.png ) "
147
PASS Web Animations: property <list-style-image> from [none] to [url(../resources/stripes-20.png)] at (0.6) should be [url(../resources/stripes-20.png)] 
148
PASS Web Animations: property <list-style-image> from [none] to [url(../resources/stripes-20.png)] at (1) should be [url(../resources/stripes-20.png)] 
149
PASS Web Animations: property <list-style-image> from [none] to [url(../resources/stripes-20.png)] at (1.5) should be [url(../resources/stripes-20.png)] 
150
FAIL CSS Transitions: property <list-style-image> from [url(../resources/green-20.png)] to [url(../resources/stripes-20.png)] at (-0.3) should be [url(../resources/green-20.png)] assert_equals: expected "url ( http : / / localhost : 8800 / ... / green - 20.png ) " but got "cross - fade ( url ( http : / / localhost : 8800 / ... / green - 20.png ) , url ( http : / / localhost : 8800 / ... / stripes - 20.png ) , - 0.3 ) "
151
PASS CSS Transitions: property <list-style-image> from [url(../resources/green-20.png)] to [url(../resources/stripes-20.png)] at (0) should be [url(../resources/green-20.png)] 
152
FAIL CSS Transitions: property <list-style-image> from [url(../resources/green-20.png)] to [url(../resources/stripes-20.png)] at (0.3) should be [url(../resources/green-20.png)] assert_equals: expected "url ( http : / / localhost : 8800 / ... / green - 20.png ) " but got "cross - fade ( url ( http : / / localhost : 8800 / ... / green - 20.png ) , url ( http : / / localhost : 8800 / ... / stripes - 20.png ) , 0.3 ) "
153
FAIL CSS Transitions: property <list-style-image> from [url(../resources/green-20.png)] to [url(../resources/stripes-20.png)] at (0.6) should be [url(../resources/stripes-20.png)] assert_equals: expected "url ( http : / / localhost : 8800 / ... / stripes - 20.png ) " but got "cross - fade ( url ( http : / / localhost : 8800 / ... / green - 20.png ) , url ( http : / / localhost : 8800 / ... / stripes - 20.png ) , 0.6 ) "
154
PASS CSS Transitions: property <list-style-image> from [url(../resources/green-20.png)] to [url(../resources/stripes-20.png)] at (1) should be [url(../resources/stripes-20.png)] 
155
FAIL CSS Transitions: property <list-style-image> from [url(../resources/green-20.png)] to [url(../resources/stripes-20.png)] at (1.5) should be [url(../resources/stripes-20.png)] assert_equals: expected "url ( http : / / localhost : 8800 / ... / stripes - 20.png ) " but got "cross - fade ( url ( http : / / localhost : 8800 / ... / green - 20.png ) , url ( http : / / localhost : 8800 / ... / stripes - 20.png ) , 1.5 ) "
156
FAIL CSS Transitions with transition: all: property <list-style-image> from [url(../resources/green-20.png)] to [url(../resources/stripes-20.png)] at (-0.3) should be [url(../resources/green-20.png)] assert_equals: expected "url ( http : / / localhost : 8800 / ... / green - 20.png ) " but got "cross - fade ( url ( http : / / localhost : 8800 / ... / green - 20.png ) , url ( http : / / localhost : 8800 / ... / stripes - 20.png ) , - 0.3 ) "
157
PASS CSS Transitions with transition: all: property <list-style-image> from [url(../resources/green-20.png)] to [url(../resources/stripes-20.png)] at (0) should be [url(../resources/green-20.png)] 
158
FAIL CSS Transitions with transition: all: property <list-style-image> from [url(../resources/green-20.png)] to [url(../resources/stripes-20.png)] at (0.3) should be [url(../resources/green-20.png)] assert_equals: expected "url ( http : / / localhost : 8800 / ... / green - 20.png ) " but got "cross - fade ( url ( http : / / localhost : 8800 / ... / green - 20.png ) , url ( http : / / localhost : 8800 / ... / stripes - 20.png ) , 0.3 ) "
159
FAIL CSS Transitions with transition: all: property <list-style-image> from [url(../resources/green-20.png)] to [url(../resources/stripes-20.png)] at (0.6) should be [url(../resources/stripes-20.png)] assert_equals: expected "url ( http : / / localhost : 8800 / ... / stripes - 20.png ) " but got "cross - fade ( url ( http : / / localhost : 8800 / ... / green - 20.png ) , url ( http : / / localhost : 8800 / ... / stripes - 20.png ) , 0.6 ) "
160
PASS CSS Transitions with transition: all: property <list-style-image> from [url(../resources/green-20.png)] to [url(../resources/stripes-20.png)] at (1) should be [url(../resources/stripes-20.png)] 
161
FAIL CSS Transitions with transition: all: property <list-style-image> from [url(../resources/green-20.png)] to [url(../resources/stripes-20.png)] at (1.5) should be [url(../resources/stripes-20.png)] assert_equals: expected "url ( http : / / localhost : 8800 / ... / stripes - 20.png ) " but got "cross - fade ( url ( http : / / localhost : 8800 / ... / green - 20.png ) , url ( http : / / localhost : 8800 / ... / stripes - 20.png ) , 1.5 ) "
162
FAIL CSS Animations: property <list-style-image> from [url(../resources/green-20.png)] to [url(../resources/stripes-20.png)] at (-0.3) should be [url(../resources/green-20.png)] assert_equals: expected "url ( http : / / localhost : 8800 / ... / green - 20.png ) " but got "cross - fade ( url ( http : / / localhost : 8800 / ... / green - 20.png ) , url ( http : / / localhost : 8800 / ... / stripes - 20.png ) , - 0.3 ) "
163
PASS CSS Animations: property <list-style-image> from [url(../resources/green-20.png)] to [url(../resources/stripes-20.png)] at (0) should be [url(../resources/green-20.png)] 
164
FAIL CSS Animations: property <list-style-image> from [url(../resources/green-20.png)] to [url(../resources/stripes-20.png)] at (0.3) should be [url(../resources/green-20.png)] assert_equals: expected "url ( http : / / localhost : 8800 / ... / green - 20.png ) " but got "cross - fade ( url ( http : / / localhost : 8800 / ... / green - 20.png ) , url ( http : / / localhost : 8800 / ... / stripes - 20.png ) , 0.3 ) "
165
FAIL CSS Animations: property <list-style-image> from [url(../resources/green-20.png)] to [url(../resources/stripes-20.png)] at (0.6) should be [url(../resources/stripes-20.png)] assert_equals: expected "url ( http : / / localhost : 8800 / ... / stripes - 20.png ) " but got "cross - fade ( url ( http : / / localhost : 8800 / ... / green - 20.png ) , url ( http : / / localhost : 8800 / ... / stripes - 20.png ) , 0.6 ) "
166
PASS CSS Animations: property <list-style-image> from [url(../resources/green-20.png)] to [url(../resources/stripes-20.png)] at (1) should be [url(../resources/stripes-20.png)] 
167
FAIL CSS Animations: property <list-style-image> from [url(../resources/green-20.png)] to [url(../resources/stripes-20.png)] at (1.5) should be [url(../resources/stripes-20.png)] assert_equals: expected "url ( http : / / localhost : 8800 / ... / stripes - 20.png ) " but got "cross - fade ( url ( http : / / localhost : 8800 / ... / green - 20.png ) , url ( http : / / localhost : 8800 / ... / stripes - 20.png ) , 1.5 ) "
168
FAIL Web Animations: property <list-style-image> from [url(../resources/green-20.png)] to [url(../resources/stripes-20.png)] at (-0.3) should be [url(../resources/green-20.png)] assert_equals: expected "url ( http : / / localhost : 8800 / ... / green - 20.png ) " but got "url ( http : / / localhost : 8800 / ... / stripes - 20.png ) "
169
PASS Web Animations: property <list-style-image> from [url(../resources/green-20.png)] to [url(../resources/stripes-20.png)] at (0) should be [url(../resources/green-20.png)] 
170
FAIL Web Animations: property <list-style-image> from [url(../resources/green-20.png)] to [url(../resources/stripes-20.png)] at (0.3) should be [url(../resources/green-20.png)] assert_equals: expected "url ( http : / / localhost : 8800 / ... / green - 20.png ) " but got "url ( http : / / localhost : 8800 / ... / stripes - 20.png ) "
171
PASS Web Animations: property <list-style-image> from [url(../resources/green-20.png)] to [url(../resources/stripes-20.png)] at (0.6) should be [url(../resources/stripes-20.png)] 
172
PASS Web Animations: property <list-style-image> from [url(../resources/green-20.png)] to [url(../resources/stripes-20.png)] at (1) should be [url(../resources/stripes-20.png)] 
173
PASS Web Animations: property <list-style-image> from [url(../resources/green-20.png)] to [url(../resources/stripes-20.png)] at (1.5) should be [url(../resources/stripes-20.png)] 
174
FAIL CSS Transitions: property <list-style-image> from [url(../resources/green-20.png)] to [linear-gradient(45deg, blue, orange)] at (-0.3) should be [url(../resources/green-20.png)] assert_equals: expected "url ( http : / / localhost : 8800 / ... / green - 20.png ) " but got "linear - gradient ( 45deg , blue , orange ) "
175
FAIL CSS Transitions: property <list-style-image> from [url(../resources/green-20.png)] to [linear-gradient(45deg, blue, orange)] at (0) should be [url(../resources/green-20.png)] assert_equals: expected "url ( http : / / localhost : 8800 / ... / green - 20.png ) " but got "linear - gradient ( 45deg , blue , orange ) "
176
FAIL CSS Transitions: property <list-style-image> from [url(../resources/green-20.png)] to [linear-gradient(45deg, blue, orange)] at (0.3) should be [url(../resources/green-20.png)] assert_equals: expected "url ( http : / / localhost : 8800 / ... / green - 20.png ) " but got "linear - gradient ( 45deg , blue , orange ) "
177
PASS CSS Transitions: property <list-style-image> from [url(../resources/green-20.png)] to [linear-gradient(45deg, blue, orange)] at (0.6) should be [linear-gradient(45deg, blue, orange)] 
178
PASS CSS Transitions: property <list-style-image> from [url(../resources/green-20.png)] to [linear-gradient(45deg, blue, orange)] at (1) should be [linear-gradient(45deg, blue, orange)] 
179
PASS CSS Transitions: property <list-style-image> from [url(../resources/green-20.png)] to [linear-gradient(45deg, blue, orange)] at (1.5) should be [linear-gradient(45deg, blue, orange)] 
180
FAIL CSS Transitions with transition: all: property <list-style-image> from [url(../resources/green-20.png)] to [linear-gradient(45deg, blue, orange)] at (-0.3) should be [url(../resources/green-20.png)] assert_equals: expected "url ( http : / / localhost : 8800 / ... / green - 20.png ) " but got "linear - gradient ( 45deg , blue , orange ) "
181
FAIL CSS Transitions with transition: all: property <list-style-image> from [url(../resources/green-20.png)] to [linear-gradient(45deg, blue, orange)] at (0) should be [url(../resources/green-20.png)] assert_equals: expected "url ( http : / / localhost : 8800 / ... / green - 20.png ) " but got "linear - gradient ( 45deg , blue , orange ) "
182
FAIL CSS Transitions with transition: all: property <list-style-image> from [url(../resources/green-20.png)] to [linear-gradient(45deg, blue, orange)] at (0.3) should be [url(../resources/green-20.png)] assert_equals: expected "url ( http : / / localhost : 8800 / ... / green - 20.png ) " but got "linear - gradient ( 45deg , blue , orange ) "
183
PASS CSS Transitions with transition: all: property <list-style-image> from [url(../resources/green-20.png)] to [linear-gradient(45deg, blue, orange)] at (0.6) should be [linear-gradient(45deg, blue, orange)] 
184
PASS CSS Transitions with transition: all: property <list-style-image> from [url(../resources/green-20.png)] to [linear-gradient(45deg, blue, orange)] at (1) should be [linear-gradient(45deg, blue, orange)] 
185
PASS CSS Transitions with transition: all: property <list-style-image> from [url(../resources/green-20.png)] to [linear-gradient(45deg, blue, orange)] at (1.5) should be [linear-gradient(45deg, blue, orange)] 
186
FAIL CSS Animations: property <list-style-image> from [url(../resources/green-20.png)] to [linear-gradient(45deg, blue, orange)] at (-0.3) should be [url(../resources/green-20.png)] assert_equals: expected "url ( http : / / localhost : 8800 / ... / green - 20.png ) " but got "linear - gradient ( 45deg , blue , orange ) "
187
FAIL CSS Animations: property <list-style-image> from [url(../resources/green-20.png)] to [linear-gradient(45deg, blue, orange)] at (0) should be [url(../resources/green-20.png)] assert_equals: expected "url ( http : / / localhost : 8800 / ... / green - 20.png ) " but got "linear - gradient ( 45deg , blue , orange ) "
188
FAIL CSS Animations: property <list-style-image> from [url(../resources/green-20.png)] to [linear-gradient(45deg, blue, orange)] at (0.3) should be [url(../resources/green-20.png)] assert_equals: expected "url ( http : / / localhost : 8800 / ... / green - 20.png ) " but got "linear - gradient ( 45deg , blue , orange ) "
189
PASS CSS Animations: property <list-style-image> from [url(../resources/green-20.png)] to [linear-gradient(45deg, blue, orange)] at (0.6) should be [linear-gradient(45deg, blue, orange)] 
190
PASS CSS Animations: property <list-style-image> from [url(../resources/green-20.png)] to [linear-gradient(45deg, blue, orange)] at (1) should be [linear-gradient(45deg, blue, orange)] 
191
PASS CSS Animations: property <list-style-image> from [url(../resources/green-20.png)] to [linear-gradient(45deg, blue, orange)] at (1.5) should be [linear-gradient(45deg, blue, orange)] 
192
FAIL Web Animations: property <list-style-image> from [url(../resources/green-20.png)] to [linear-gradient(45deg, blue, orange)] at (-0.3) should be [url(../resources/green-20.png)] assert_equals: expected "url ( http : / / localhost : 8800 / ... / green - 20.png ) " but got "linear - gradient ( 45deg , blue , orange ) "
193
FAIL Web Animations: property <list-style-image> from [url(../resources/green-20.png)] to [linear-gradient(45deg, blue, orange)] at (0) should be [url(../resources/green-20.png)] assert_equals: expected "url ( http : / / localhost : 8800 / ... / green - 20.png ) " but got "linear - gradient ( 45deg , blue , orange ) "
194
FAIL Web Animations: property <list-style-image> from [url(../resources/green-20.png)] to [linear-gradient(45deg, blue, orange)] at (0.3) should be [url(../resources/green-20.png)] assert_equals: expected "url ( http : / / localhost : 8800 / ... / green - 20.png ) " but got "linear - gradient ( 45deg , blue , orange ) "
195
PASS Web Animations: property <list-style-image> from [url(../resources/green-20.png)] to [linear-gradient(45deg, blue, orange)] at (0.6) should be [linear-gradient(45deg, blue, orange)] 
196
PASS Web Animations: property <list-style-image> from [url(../resources/green-20.png)] to [linear-gradient(45deg, blue, orange)] at (1) should be [linear-gradient(45deg, blue, orange)] 
197
PASS Web Animations: property <list-style-image> from [url(../resources/green-20.png)] to [linear-gradient(45deg, blue, orange)] at (1.5) should be [linear-gradient(45deg, blue, orange)] 
198
FAIL CSS Transitions: property <list-style-image> from [linear-gradient(-45deg, red, yellow)] to [linear-gradient(45deg, blue, orange)] at (-0.3) should be [linear-gradient(-45deg, red, yellow)] assert_equals: expected "linear - gradient ( - 45deg , red , yellow ) " but got "linear - gradient ( 45deg , blue , orange ) "
199
FAIL CSS Transitions: property <list-style-image> from [linear-gradient(-45deg, red, yellow)] to [linear-gradient(45deg, blue, orange)] at (0) should be [linear-gradient(-45deg, red, yellow)] assert_equals: expected "linear - gradient ( - 45deg , red , yellow ) " but got "linear - gradient ( 45deg , blue , orange ) "
200
FAIL CSS Transitions: property <list-style-image> from [linear-gradient(-45deg, red, yellow)] to [linear-gradient(45deg, blue, orange)] at (0.3) should be [linear-gradient(-45deg, red, yellow)] assert_equals: expected "linear - gradient ( - 45deg , red , yellow ) " but got "linear - gradient ( 45deg , blue , orange ) "
201
PASS CSS Transitions: property <list-style-image> from [linear-gradient(-45deg, red, yellow)] to [linear-gradient(45deg, blue, orange)] at (0.6) should be [linear-gradient(45deg, blue, orange)] 
202
PASS CSS Transitions: property <list-style-image> from [linear-gradient(-45deg, red, yellow)] to [linear-gradient(45deg, blue, orange)] at (1) should be [linear-gradient(45deg, blue, orange)] 
203
PASS CSS Transitions: property <list-style-image> from [linear-gradient(-45deg, red, yellow)] to [linear-gradient(45deg, blue, orange)] at (1.5) should be [linear-gradient(45deg, blue, orange)] 
204
FAIL CSS Transitions with transition: all: property <list-style-image> from [linear-gradient(-45deg, red, yellow)] to [linear-gradient(45deg, blue, orange)] at (-0.3) should be [linear-gradient(-45deg, red, yellow)] assert_equals: expected "linear - gradient ( - 45deg , red , yellow ) " but got "linear - gradient ( 45deg , blue , orange ) "
205
FAIL CSS Transitions with transition: all: property <list-style-image> from [linear-gradient(-45deg, red, yellow)] to [linear-gradient(45deg, blue, orange)] at (0) should be [linear-gradient(-45deg, red, yellow)] assert_equals: expected "linear - gradient ( - 45deg , red , yellow ) " but got "linear - gradient ( 45deg , blue , orange ) "
206
FAIL CSS Transitions with transition: all: property <list-style-image> from [linear-gradient(-45deg, red, yellow)] to [linear-gradient(45deg, blue, orange)] at (0.3) should be [linear-gradient(-45deg, red, yellow)] assert_equals: expected "linear - gradient ( - 45deg , red , yellow ) " but got "linear - gradient ( 45deg , blue , orange ) "
207
PASS CSS Transitions with transition: all: property <list-style-image> from [linear-gradient(-45deg, red, yellow)] to [linear-gradient(45deg, blue, orange)] at (0.6) should be [linear-gradient(45deg, blue, orange)] 
208
PASS CSS Transitions with transition: all: property <list-style-image> from [linear-gradient(-45deg, red, yellow)] to [linear-gradient(45deg, blue, orange)] at (1) should be [linear-gradient(45deg, blue, orange)] 
209
PASS CSS Transitions with transition: all: property <list-style-image> from [linear-gradient(-45deg, red, yellow)] to [linear-gradient(45deg, blue, orange)] at (1.5) should be [linear-gradient(45deg, blue, orange)] 
210
FAIL CSS Animations: property <list-style-image> from [linear-gradient(-45deg, red, yellow)] to [linear-gradient(45deg, blue, orange)] at (-0.3) should be [linear-gradient(-45deg, red, yellow)] assert_equals: expected "linear - gradient ( - 45deg , red , yellow ) " but got "linear - gradient ( 45deg , blue , orange ) "
211
FAIL CSS Animations: property <list-style-image> from [linear-gradient(-45deg, red, yellow)] to [linear-gradient(45deg, blue, orange)] at (0) should be [linear-gradient(-45deg, red, yellow)] assert_equals: expected "linear - gradient ( - 45deg , red , yellow ) " but got "linear - gradient ( 45deg , blue , orange ) "
212
FAIL CSS Animations: property <list-style-image> from [linear-gradient(-45deg, red, yellow)] to [linear-gradient(45deg, blue, orange)] at (0.3) should be [linear-gradient(-45deg, red, yellow)] assert_equals: expected "linear - gradient ( - 45deg , red , yellow ) " but got "linear - gradient ( 45deg , blue , orange ) "
213
PASS CSS Animations: property <list-style-image> from [linear-gradient(-45deg, red, yellow)] to [linear-gradient(45deg, blue, orange)] at (0.6) should be [linear-gradient(45deg, blue, orange)] 
214
PASS CSS Animations: property <list-style-image> from [linear-gradient(-45deg, red, yellow)] to [linear-gradient(45deg, blue, orange)] at (1) should be [linear-gradient(45deg, blue, orange)] 
215
PASS CSS Animations: property <list-style-image> from [linear-gradient(-45deg, red, yellow)] to [linear-gradient(45deg, blue, orange)] at (1.5) should be [linear-gradient(45deg, blue, orange)] 
216
FAIL Web Animations: property <list-style-image> from [linear-gradient(-45deg, red, yellow)] to [linear-gradient(45deg, blue, orange)] at (-0.3) should be [linear-gradient(-45deg, red, yellow)] assert_equals: expected "linear - gradient ( - 45deg , red , yellow ) " but got "linear - gradient ( 45deg , blue , orange ) "
217
FAIL Web Animations: property <list-style-image> from [linear-gradient(-45deg, red, yellow)] to [linear-gradient(45deg, blue, orange)] at (0) should be [linear-gradient(-45deg, red, yellow)] assert_equals: expected "linear - gradient ( - 45deg , red , yellow ) " but got "linear - gradient ( 45deg , blue , orange ) "
218
FAIL Web Animations: property <list-style-image> from [linear-gradient(-45deg, red, yellow)] to [linear-gradient(45deg, blue, orange)] at (0.3) should be [linear-gradient(-45deg, red, yellow)] assert_equals: expected "linear - gradient ( - 45deg , red , yellow ) " but got "linear - gradient ( 45deg , blue , orange ) "
219
PASS Web Animations: property <list-style-image> from [linear-gradient(-45deg, red, yellow)] to [linear-gradient(45deg, blue, orange)] at (0.6) should be [linear-gradient(45deg, blue, orange)] 
220
PASS Web Animations: property <list-style-image> from [linear-gradient(-45deg, red, yellow)] to [linear-gradient(45deg, blue, orange)] at (1) should be [linear-gradient(45deg, blue, orange)] 
221
PASS Web Animations: property <list-style-image> from [linear-gradient(-45deg, red, yellow)] to [linear-gradient(45deg, blue, orange)] at (1.5) should be [linear-gradient(45deg, blue, orange)] 
222
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-lists/animations/list-style-image-interpolation.html +147 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-lists/animations/list-style-image-interpolation.html_sec1
1
<!DOCTYPE html>
2
<meta charset="UTF-8">
3
<title>list-style-image interpolation</title>
4
<link rel="help" href="https://drafts.csswg.org/css-lists-3/#propdef-list-style-image">
5
<meta name="assert" content="list-style-image supports animation">
6
7
<script src="/resources/testharness.js"></script>
8
<script src="/resources/testharnessreport.js"></script>
9
<script src="/css/support/interpolation-testcommon.js"></script>
10
11
<style>
12
.parent {
13
  list-style-image: url(../resources/blue-20.png);
14
}
15
.target {
16
  background-color: black;
17
  width: 100px;
18
  list-style-image: url(../resources/green-20.png);
19
}
20
.expected {
21
  background-color: green;
22
}
23
</style>
24
25
<body>
26
<template id="target-template">
27
  <ul>
28
    <li class="target"></li>
29
  </ul>
30
</template>
31
<script>
32
test_interpolation({
33
  property: 'list-style-image',
34
  from: neutralKeyframe,
35
  to: 'url(../resources/stripes-20.png)',
36
}, [
37
  {at: -0.3, expect: 'url(../resources/green-20.png)'},
38
  {at: 0, expect: 'url(../resources/green-20.png)'},
39
  {at: 0.3, expect: 'url(../resources/green-20.png)'},
40
  {at: 0.6, expect: 'url(../resources/stripes-20.png)'},
41
  {at: 1, expect: 'url(../resources/stripes-20.png)'},
42
  {at: 1.5, expect: 'url(../resources/stripes-20.png)'},
43
]);
44
45
test_interpolation({
46
  property: 'list-style-image',
47
  from: 'initial',
48
  to: 'url(../resources/stripes-20.png)',
49
}, [
50
  {at: -0.3, expect: 'none'},
51
  {at: 0, expect: 'none'},
52
  {at: 0.3, expect: 'none'},
53
  {at: 0.6, expect: 'url(../resources/stripes-20.png)'},
54
  {at: 1, expect: 'url(../resources/stripes-20.png)'},
55
  {at: 1.5, expect: 'url(../resources/stripes-20.png)'},
56
]);
57
58
test_interpolation({
59
  property: 'list-style-image',
60
  from: 'inherit',
61
  to: 'url(../resources/stripes-20.png)',
62
}, [
63
  {at: -0.3, expect: 'url(../resources/blue-20.png)'},
64
  {at: 0, expect: 'url(../resources/blue-20.png)'},
65
  {at: 0.3, expect: 'url(../resources/blue-20.png)'},
66
  {at: 0.6, expect: 'url(../resources/stripes-20.png)'},
67
  {at: 1, expect: 'url(../resources/stripes-20.png)'},
68
  {at: 1.5, expect: 'url(../resources/stripes-20.png)'},
69
]);
70
71
test_interpolation({
72
  property: 'list-style-image',
73
  from: 'unset',
74
  to: 'url(../resources/stripes-20.png)',
75
}, [
76
  {at: -0.3, expect: 'url(../resources/blue-20.png)'},
77
  {at: 0, expect: 'url(../resources/blue-20.png)'},
78
  {at: 0.3, expect: 'url(../resources/blue-20.png)'},
79
  {at: 0.6, expect: 'url(../resources/stripes-20.png)'},
80
  {at: 1, expect: 'url(../resources/stripes-20.png)'},
81
  {at: 1.5, expect: 'url(../resources/stripes-20.png)'},
82
]);
83
84
// Constant image
85
test_no_interpolation({
86
  property: 'list-style-image',
87
  from: 'url(../resources/stripes-20.png)',
88
  to: 'url(../resources/stripes-20.png)',
89
});
90
91
// None to image
92
test_interpolation({
93
  property: 'list-style-image',
94
  from: 'none',
95
  to: 'url(../resources/stripes-20.png)',
96
}, [
97
  {at: -0.3, expect: 'none'},
98
  {at: 0, expect: 'none'},
99
  {at: 0.3, expect: 'none'},
100
  {at: 0.6, expect: 'url(../resources/stripes-20.png)'},
101
  {at: 1, expect: 'url(../resources/stripes-20.png)'},
102
  {at: 1.5, expect: 'url(../resources/stripes-20.png)'},
103
]);
104
105
// Image to image
106
test_interpolation({
107
  property: 'list-style-image',
108
  from: 'url(../resources/green-20.png)',
109
  to: 'url(../resources/stripes-20.png)',
110
}, [
111
  {at: -0.3, expect: 'url(../resources/green-20.png)'},
112
  {at: 0, expect: 'url(../resources/green-20.png)'},
113
  {at: 0.3, expect: 'url(../resources/green-20.png)'},
114
  {at: 0.6, expect: 'url(../resources/stripes-20.png)'},
115
  {at: 1, expect: 'url(../resources/stripes-20.png)'},
116
  {at: 1.5, expect: 'url(../resources/stripes-20.png)'},
117
]);
118
119
// Image to gradient
120
test_interpolation({
121
  property: 'list-style-image',
122
  from: 'url(../resources/green-20.png)',
123
  to: 'linear-gradient(45deg, blue, orange)',
124
}, [
125
  {at: -0.3, expect: 'url(../resources/green-20.png)'},
126
  {at: 0, expect: 'url(../resources/green-20.png)'},
127
  {at: 0.3, expect: 'url(../resources/green-20.png)'},
128
  {at: 0.6, expect: 'linear-gradient(45deg, blue, orange)'},
129
  {at: 1, expect: 'linear-gradient(45deg, blue, orange)'},
130
  {at: 1.5, expect: 'linear-gradient(45deg, blue, orange)'},
131
]);
132
133
// Gradient to gradient
134
test_interpolation({
135
  property: 'list-style-image',
136
  from: 'linear-gradient(-45deg, red, yellow)',
137
  to: 'linear-gradient(45deg, blue, orange)',
138
}, [
139
  {at: -0.3, expect: 'linear-gradient(-45deg, red, yellow)'},
140
  {at: 0, expect: 'linear-gradient(-45deg, red, yellow)'},
141
  {at: 0.3, expect: 'linear-gradient(-45deg, red, yellow)'},
142
  {at: 0.6, expect: 'linear-gradient(45deg, blue, orange)'},
143
  {at: 1, expect: 'linear-gradient(45deg, blue, orange)'},
144
  {at: 1.5, expect: 'linear-gradient(45deg, blue, orange)'},
145
]);
146
</script>
147
</body>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-lists/animations/w3c-import.log +17 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-lists/animations/w3c-import.log_sec1
1
The tests in this directory were imported from the W3C repository.
2
Do NOT modify these tests directly in WebKit.
3
Instead, create a pull request on the WPT github:
4
	https://github.com/web-platform-tests/wpt
5
6
Then run the Tools/Scripts/import-w3c-tests in WebKit to reimport
7
8
Do NOT modify or remove this file.
9
10
------------------------------------------------------------------------
11
Properties requiring vendor prefixes:
12
None
13
Property values requiring vendor prefixes:
14
None
15
------------------------------------------------------------------------
16
List of files:
17
/LayoutTests/imported/w3c/web-platform-tests/css/css-lists/animations/list-style-image-interpolation.html
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-lists/change-list-descendant-display-expected.html +17 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-lists/change-list-descendant-display-expected.html_sec1
1
<!DOCTYPE html>
2
<meta charset="utf-8">
3
<title>CSS Lists: test the change of descendant's display</title>
4
<link rel="author" title="Oriol Brufau" href="mailto:obrufau@igalia.com">
5
<style>
6
.inline {
7
  display: inline;
8
}
9
</style>
10
<ol>
11
  <li><div class="target inline">text</div></li>
12
  <li><div class="target">text</div></li>
13
  <li><div><div class="target inline">text</div></div></li>
14
  <li><div><div class="target">text</div></div></li>
15
  <li><div><div><div class="target inline">text</div></div></div></li>
16
  <li><div><div><div class="target">text</div></div></div></li>
17
</ol>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-lists/change-list-descendant-display.html +34 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-lists/change-list-descendant-display.html_sec1
1
<!DOCTYPE html>
2
<html class="reftest-wait">
3
<meta charset="utf-8">
4
<title>CSS Lists: test the change of descendant's display</title>
5
<link rel="author" title="Oriol Brufau" href="mailto:obrufau@igalia.com">
6
<link rel="match" href="change-list-descendant-display-ref.html">
7
<link rel="help" href="https://www.w3.org/TR/CSS22/generate.html#lists">
8
<meta name="assert" content="Check that an outside marker looks good when
9
  the descendant of the list item that contains the 1st line box changes
10
  from 'display: block' to 'display: inline' or vice versa.">
11
<style>
12
.inline {
13
  display: inline;
14
}
15
</style>
16
<ol>
17
  <li><div class="target">text</div></li>
18
  <li><div class="target inline">text</div></li>
19
  <li><div><div class="target">text</div></div></li>
20
  <li><div><div class="target inline">text</div></div></li>
21
  <li><div><div><div class="target">text</div></div></div></li>
22
  <li><div><div><div class="target inline">text</div></div></div></li>
23
</ol>
24
<script src="/common/reftest-wait.js"></script>
25
<script>
26
addEventListener("load", async () => {
27
  for (let target of document.querySelectorAll(".target")) {
28
    await new Promise(resolve => requestAnimationFrame(resolve));
29
    target.classList.toggle("inline");
30
  }
31
  takeScreenshot();
32
}, {once: true});
33
</script>
34
</html>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-lists/change-list-style-position-001-expected.html +14 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-lists/change-list-style-position-001-expected.html_sec1
1
<!DOCTYPE html>
2
<meta charset="utf-8">
3
<title>CSS Lists: test the change of list-style-position</title>
4
5
<p>The test passes if you see the list marker followed by the text "inline" and "axxx" in a line below.</p>
6
7
<ul>
8
  <li style="list-style-position:inside;">
9
    <span>inline</span>
10
    <div style="overflow:hidden;">
11
      <span>a</span>xxx
12
    </div>
13
  </li>
14
</ul>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-lists/change-list-style-position-001.html +20 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-lists/change-list-style-position-001.html_sec1
1
<!DOCTYPE html>
2
<meta charset="utf-8">
3
<title>CSS Lists: test the change of list-style-position</title>
4
<link rel=help href="https://www.w3.org/TR/CSS22/generate.html#lists">
5
<link rel=match href="change-list-style-position-001-ref.html">
6
7
<p>The test passes if you see the list marker followed by the text "inline" and "axxx" in a line below.</p>
8
9
<ul>
10
  <li>
11
    <span>inline</span>
12
    <div style="overflow:hidden;">
13
      <span>a</span>xxx
14
    </div>
15
  </li>
16
</ul>
17
<script>
18
  document.body.offsetHeight;
19
  document.querySelector("li").style.listStylePosition = "inside";
20
</script>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-lists/change-list-style-position-002-expected.html +14 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-lists/change-list-style-position-002-expected.html_sec1
1
<!DOCTYPE html>
2
<meta charset="utf-8">
3
<title>CSS Lists: test the change of list-style-position</title>
4
<style>
5
div {
6
  display: list-item;
7
  margin-left: 40px;
8
  border: 5px solid;
9
}
10
div > div { list-style-type: decimal }
11
div > div > div { list-style-type: lower-roman }
12
.inside { list-style-position: inside }
13
</style>
14
<div><div><div class="inside">text</div></div></div>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-lists/change-list-style-position-002.html +24 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-lists/change-list-style-position-002.html_sec1
1
<!DOCTYPE html>
2
<meta charset="utf-8">
3
<title>CSS Lists: test the change of list-style-position</title>
4
<link rel="author" title="Oriol Brufau" href="mailto:obrufau@igalia.com">
5
<link rel="match" href="change-list-style-position-002-ref.html">
6
<link rel="help" href="https://www.w3.org/TR/CSS22/generate.html#lists">
7
<style>
8
div {
9
  display: list-item;
10
  margin-left: 40px;
11
  border: 5px solid;
12
}
13
div > div { list-style-type: decimal }
14
div > div > div { list-style-type: lower-roman }
15
.inside { list-style-position: inside }
16
</style>
17
<div><div id="bar"><div id="baz">text</div></div></div>
18
<script>
19
document.getElementById("bar").className = "inside";
20
document.body.offsetHeight;
21
document.getElementById("bar").className = "";
22
document.body.offsetHeight;
23
document.getElementById("baz").className = "inside";
24
</script>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-lists/change-list-style-position-003-expected.html +15 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-lists/change-list-style-position-003-expected.html_sec1
1
<!DOCTYPE html>
2
<meta charset="utf-8">
3
<title>CSS Lists: test the change of list-style-position</title>
4
<style>
5
div {
6
  border: 5px solid orange;
7
  display: list-item;
8
  list-style-position: inside;
9
  margin-left: 40px;
10
}
11
div > div {
12
  list-style-type: decimal;
13
}
14
</style>
15
<div><div>text</div></div>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-lists/change-list-style-position-003.html +21 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-lists/change-list-style-position-003.html_sec1
1
<!DOCTYPE html>
2
<meta charset="utf-8">
3
<title>CSS Lists: test the change of list-style-position</title>
4
<link rel="author" title="Oriol Brufau" href="mailto:obrufau@igalia.com">
5
<link rel="match" href="change-list-style-position-003-ref.html">
6
<link rel="help" href="https://www.w3.org/TR/CSS22/generate.html#lists">
7
<style>
8
div {
9
  border: 5px solid orange;
10
  display: list-item;
11
  margin-left: 40px;
12
}
13
div > div {
14
  list-style-type: decimal;
15
}
16
</style>
17
<div><div>text</div></div>
18
<script>
19
document.body.offsetHeight;
20
document.body.style.listStylePosition = "inside";
21
</script>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-lists/change-list-style-type-expected.html +45 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-lists/change-list-style-type-expected.html_sec1
1
<!DOCTYPE html>
2
<meta charset="utf-8">
3
<title>CSS Lists: test the change of list-style-type</title>
4
<link rel=help href="https://www.w3.org/TR/CSS22/generate.html#lists">
5
<link rel=help href="https://bugs.chromium.org/p/chromium/issues/detail?id=966750">
6
<style type="text/css">
7
.inside {
8
  list-style-position: inside;
9
}
10
11
.none2symbol {
12
  list-style-type: square;
13
}
14
15
.symbol2none {
16
  list-style-type: none;
17
}
18
19
.symbol2symbol {
20
  list-style-type: square;
21
}
22
23
.symbol2ordinal {
24
  list-style-type: upper-roman;
25
}
26
27
.ordinal2ordinal {
28
  list-style-type: decimal;
29
}
30
</style>
31
32
<ul class="inside"><li class="none2symbol">inside: none to square</li></ul>
33
<ul><li class="none2symbol">outside: none to square</li></ul>
34
35
<ul class="inside"><li class="symbol2none">inside: square to none</li></ul>
36
<ul><li class="symbol2none">outside: square to none</li></ul>
37
38
<ul class="inside"><li class="symbol2symbol">inside: disc to square</li></ul>
39
<ul><li class="symbol2symbol">outside: disc to square</li></ul>
40
41
<ul class="inside"><li class="symbol2ordinal">inside: disc to upper-roman</li></ul>
42
<ul><li class="symbol2ordinal">outside: disc to upper-roman</li></ul>
43
44
<ul class="inside"><li class="ordinal2ordinal">inside: upper-roman to decimal</li></ul>
45
<ul><li class="ordinal2ordinal">outside: upper-roman to decimal</li></ul>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-lists/change-list-style-type.html +71 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-lists/change-list-style-type.html_sec1
1
<!DOCTYPE html>
2
<meta charset="utf-8">
3
<title>CSS Lists: test the change of list-style-type</title>
4
<link rel=help href="https://www.w3.org/TR/CSS22/generate.html#lists">
5
<link rel=help href="https://bugs.chromium.org/p/chromium/issues/detail?id=966750">
6
<style type="text/css">
7
.inside {
8
  list-style-position: inside;
9
}
10
11
.none2symbol {
12
  list-style-type: none;
13
}
14
15
.symbol2none {
16
  list-style-type: square;
17
}
18
19
.symbol2symbol {
20
  list-style-type: disc;
21
}
22
23
.symbol2ordinal {
24
  list-style-type: disc;
25
}
26
27
.ordinal2ordinal {
28
  list-style-type: upper-roman;
29
}
30
</style>
31
32
<ul class="inside"><li class="none2symbol">inside: none to square</li></ul>
33
<ul><li class="none2symbol">outside: none to square</li></ul>
34
35
<ul class="inside"><li class="symbol2none">inside: square to none</li></ul>
36
<ul><li class="symbol2none">outside: square to none</li></ul>
37
38
<ul class="inside"><li class="symbol2symbol">inside: disc to square</li></ul>
39
<ul><li class="symbol2symbol">outside: disc to square</li></ul>
40
41
<ul class="inside"><li class="symbol2ordinal">inside: disc to upper-roman</li></ul>
42
<ul><li class="symbol2ordinal">outside: disc to upper-roman</li></ul>
43
44
<ul class="inside"><li class="ordinal2ordinal">inside: upper-roman to decimal</li></ul>
45
<ul><li class="ordinal2ordinal">outside: upper-roman to decimal</li></ul>
46
47
<script>
48
document.body.offsetLeft;
49
</script>
50
51
<style type="text/css">
52
.none2symbol {
53
  list-style-type: square;
54
}
55
56
.symbol2none {
57
  list-style-type: none;
58
}
59
60
.symbol2symbol {
61
  list-style-type: square;
62
}
63
64
.symbol2ordinal {
65
  list-style-type: upper-roman;
66
}
67
68
.ordinal2ordinal {
69
  list-style-type: decimal;
70
}
71
</style>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-lists/counter-list-item-expected.html +78 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-lists/counter-list-item-expected.html_sec1
1
<!DOCTYPE HTML>
2
3
<h2>Test counter(list-item), using generated content</h2>
4
5
<div style="float: left; width: 200px">
6
7
Ordered lists
8
9
<ol>
10
    <li>1 a 1</li>
11
    <li>2 b 2</li>
12
    <li>3 c 3</li>
13
</ol>
14
15
<ol>
16
    <li value="30">30 a 30</li>
17
    <li value="31">31 b 31</li>
18
    <li value="32">32 c 32</li>
19
</ol>
20
21
<ol>
22
    <li>1 a 1</li>
23
    <li>2 b 2</li>
24
    <li value="30">30 c 30</li>
25
    <li value="31">31 d 31</li>
26
    <li value="35">35 e 35</li>
27
    <li value="36">36 f 36</li>
28
</ol>
29
30
</div>
31
32
<div style="float: left; width: 200px">
33
34
Reversed ordered lists
35
36
<ol>
37
    <li value="3">3 a 3</li>
38
    <li value="2">2 b 2</li>
39
    <li value="1">1 c 1</li>
40
</ol>
41
42
<ol>
43
    <li value="30">30 a 30</li>
44
    <li value="29">29 b 29</li>
45
    <li value="28">28 c 28</li>
46
</ol>
47
48
<ol>
49
    <li value="6">6 a 6</li>
50
    <li value="5">5 b 5</li>
51
    <li value="30">30 c 30</li>
52
    <li value="29">29 d 29</li>
53
    <li value="35">35 e 35</li>
54
    <li value="34">34 f 34</li>
55
</ol>
56
57
</div>
58
59
<div style="float: left; width: 200px">
60
61
Unordered lists
62
63
<ul>
64
    <li>1 a 1</li>
65
    <li>2 b 2</li>
66
    <li>3 c 3</li>
67
</ul>
68
69
<ul>
70
    <li>1 a 1</li>
71
    <li>2 b 2</li>
72
    <li>30 c 30</li>
73
    <li>31 d 31</li>
74
    <li>35 e 35</li>
75
    <li>36 f 36</li>
76
</ul>
77
78
</div>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-lists/counter-list-item.html +89 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-lists/counter-list-item.html_sec1
1
<!DOCTYPE HTML>
2
<link rel="help" href="https://drafts.csswg.org/css-lists/#list-item-counter">
3
<link rel="match" href="counter-list-item-ref.html">
4
5
<style>
6
li:before {
7
    content: counter(list-item) " ";
8
}
9
li:after {
10
    content: " " counter(list-item);
11
}
12
</style>
13
14
<h2>Test counter(list-item), using generated content</h2>
15
16
<div style="float: left; width: 200px">
17
18
Ordered lists
19
20
<ol>
21
    <li>a</li>
22
    <li>b</li>
23
    <li>c</li>
24
</ol>
25
26
<ol start="30">
27
    <li>a</li>
28
    <li>b</li>
29
    <li>c</li>
30
</ol>
31
32
<ol>
33
    <li>a</li>
34
    <li>b</li>
35
    <li value="30">c</li>
36
    <li>d</li>
37
    <li value="35">e</li>
38
    <li>f</li>
39
</ol>
40
41
</div>
42
43
<div style="float: left; width: 200px">
44
45
Reversed ordered lists
46
47
<ol reversed>
48
    <li>a</li>
49
    <li>b</li>
50
    <li>c</li>
51
</ol>
52
53
<ol start="30" reversed>
54
    <li>a</li>
55
    <li>b</li>
56
    <li>c</li>
57
</ol>
58
59
<ol reversed>
60
    <li>a</li>
61
    <li>b</li>
62
    <li value="30">c</li>
63
    <li>d</li>
64
    <li value="35">e</li>
65
    <li>f</li>
66
</ol>
67
68
</div>
69
70
<div style="float: left; width: 200px">
71
72
Unordered lists
73
74
<ul>
75
    <li>a</li>
76
    <li>b</li>
77
    <li>c</li>
78
</ul>
79
80
<ul>
81
    <li>a</li>
82
    <li>b</li>
83
    <li value="30">c</li>
84
    <li>d</li>
85
    <li value="35">e</li>
86
    <li>f</li>
87
</ul>
88
89
</div>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-lists/counter-reset-increment-display-contents-expected.html -6 lines
Lines 1-6 a/LayoutTests/imported/w3c/web-platform-tests/css/css-lists/counter-reset-increment-display-contents-expected.html_sec1
1
<!DOCTYPE html>
2
<meta charset="utf-8">
3
<title>CSS Test Reference</title>
4
<link rel="author" title="Rune Lillesveen" href="mailto:futhark@chromium.org">
5
<p>You should see the number 7 below.</p>
6
<div>7</div>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-lists/counter-reset-increment-display-contents.html -19 lines
Lines 1-19 a/LayoutTests/imported/w3c/web-platform-tests/css/css-lists/counter-reset-increment-display-contents.html_sec1
1
<!DOCTYPE html>
2
<meta charset="utf-8">
3
<title>CSS Lists: counter-reset and counter-increment on display:contents</title>
4
<link rel="author" title="Rune Lillesveen" href="mailto:futhark@chromium.org">
5
<link rel="help" href="https://drafts.csswg.org/css-lists/#counters-without-boxes">
6
<link rel="match" href="counter-7-ref.html">
7
<style>
8
  .inc { counter-increment: x }
9
  .reset-6 { counter-reset: x 6 }
10
  .reset-666 { counter-reset: x 666 }
11
  .contents { display: contents }
12
  .result::before { content: counter(x) }
13
</style>
14
<p>You should see the number 7 below.</p>
15
<div>
16
  <span class="reset-6"></span>
17
  <span class="contents reset-666 inc"></span>
18
  <span class="inc result"></span>
19
</div>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-lists/counter-reset-increment-display-none-expected.html -6 lines
Lines 1-6 a/LayoutTests/imported/w3c/web-platform-tests/css/css-lists/counter-reset-increment-display-none-expected.html_sec1
1
<!DOCTYPE html>
2
<meta charset="utf-8">
3
<title>CSS Test Reference</title>
4
<link rel="author" title="Rune Lillesveen" href="mailto:futhark@chromium.org">
5
<p>You should see the number 7 below.</p>
6
<div>7</div>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-lists/counter-reset-increment-display-none.html -19 lines
Lines 1-19 a/LayoutTests/imported/w3c/web-platform-tests/css/css-lists/counter-reset-increment-display-none.html_sec1
1
<!DOCTYPE html>
2
<meta charset="utf-8">
3
<title>CSS Lists: counter-reset and counter-increment on display:none</title>
4
<link rel="author" title="Rune Lillesveen" href="mailto:futhark@chromium.org">
5
<link rel="help" href="https://drafts.csswg.org/css-lists/#counters-without-boxes">
6
<link rel="match" href="counter-7-ref.html">
7
<style>
8
  .inc { counter-increment: x }
9
  .reset-6 { counter-reset: x 6 }
10
  .reset-666 { counter-reset: x 666 }
11
  .none { display: none }
12
  .result::before { content: counter(x) }
13
</style>
14
<p>You should see the number 7 below.</p>
15
<div>
16
  <span class="reset-6"></span>
17
  <span class="none reset-666 inc"></span>
18
  <span class="inc result"></span>
19
</div>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-lists/counter-reset-increment-set-display-contents-expected.html +6 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-lists/counter-reset-increment-set-display-contents-expected.html_sec1
1
<!DOCTYPE html>
2
<meta charset="utf-8">
3
<title>CSS Test Reference</title>
4
<link rel="author" title="Rune Lillesveen" href="mailto:futhark@chromium.org">
5
<p>You should see the number 7 below.</p>
6
<div>7</div>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-lists/counter-reset-increment-set-display-contents.html +21 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-lists/counter-reset-increment-set-display-contents.html_sec1
1
<!DOCTYPE html>
2
<meta charset="utf-8">
3
<title>CSS Lists: counter-reset, counter-set and counter-increment on display:contents</title>
4
<link rel="author" title="Rune Lillesveen" href="mailto:futhark@chromium.org">
5
<link rel="help" href="https://drafts.csswg.org/css-lists/#counters-without-boxes">
6
<link rel="match" href="counter-7-ref.html">
7
<style>
8
  .inc { counter-increment: x }
9
  .reset-6 { counter-reset: x 6 }
10
  .reset-666 { counter-reset: x 666 }
11
  .set-666 { counter-set: x 666 }
12
  .contents { display: contents }
13
  .result::before { content: counter(x) }
14
</style>
15
<p>You should see the number 7 below.</p>
16
<div>
17
  <span class="reset-6"></span>
18
  <span class="contents reset-666 inc"></span>
19
  <span class="contents set-666"></span>
20
  <span class="inc result"></span>
21
</div>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-lists/counter-reset-increment-set-display-none-expected.html +6 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-lists/counter-reset-increment-set-display-none-expected.html_sec1
1
<!DOCTYPE html>
2
<meta charset="utf-8">
3
<title>CSS Test Reference</title>
4
<link rel="author" title="Rune Lillesveen" href="mailto:futhark@chromium.org">
5
<p>You should see the number 7 below.</p>
6
<div>7</div>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-lists/counter-reset-increment-set-display-none.html +21 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-lists/counter-reset-increment-set-display-none.html_sec1
1
<!DOCTYPE html>
2
<meta charset="utf-8">
3
<title>CSS Lists: counter-reset, counter-set and counter-increment on display:none</title>
4
<link rel="author" title="Rune Lillesveen" href="mailto:futhark@chromium.org">
5
<link rel="help" href="https://drafts.csswg.org/css-lists/#counters-without-boxes">
6
<link rel="match" href="counter-7-ref.html">
7
<style>
8
  .inc { counter-increment: x }
9
  .reset-6 { counter-reset: x 6 }
10
  .reset-666 { counter-reset: x 666 }
11
  .set-666 { counter-set: x 666 }
12
  .none { display: none }
13
  .result::before { content: counter(x) }
14
</style>
15
<p>You should see the number 7 below.</p>
16
<div>
17
  <span class="reset-6"></span>
18
  <span class="none reset-666 inc"></span>
19
  <span class="none set-666"></span>
20
  <span class="inc result"></span>
21
</div>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-lists/counter-set-001-expected.html +37 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-lists/counter-set-001-expected.html_sec1
1
<!DOCTYPE HTML>
2
<!--
3
     Any copyright is dedicated to the Public Domain.
4
     http://creativecommons.org/publicdomain/zero/1.0/
5
-->
6
<html><head>
7
  <meta charset="utf-8">
8
  <title>CSS Lists: basic tests for 'counter-set'</title>
9
  <link rel="author" title="Mats Palmgren" href="mailto:mats@mozilla.org">
10
  <style>
11
html,body {
12
  color:black; background-color:white; font:16px/1 monospace; padding:0; margin:0;
13
}
14
  </style>
15
</head>
16
<body>
17
18
<span>7</span><!-- "7" -->
19
<span>0</span><!-- "0" -->
20
<span>7</span><!-- "7" -->
21
<span>6</span><!-- "6" -->
22
<span>0</span><!-- "0" -->
23
<x>
24
  <span>2</span><!-- "2" -->
25
</x>
26
<span>3</span><!-- "3" -->
27
<x>
28
  <span>0</span><!-- "0" -->
29
  <span>2</span><!-- "2" -->
30
  <x>
31
    <span>2.5</span><!-- "2.5" -->
32
  </x>
33
</x>
34
<span>3</span><!-- "3" -->
35
36
</body>
37
</html>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-lists/counter-set-001.html +40 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-lists/counter-set-001.html_sec1
1
<!DOCTYPE HTML>
2
<!--
3
     Any copyright is dedicated to the Public Domain.
4
     http://creativecommons.org/publicdomain/zero/1.0/
5
-->
6
<html><head>
7
  <meta charset="utf-8">
8
  <title>CSS Lists: basic tests for 'counter-set'</title>
9
  <link rel="author" title="Mats Palmgren" href="mailto:mats@mozilla.org">
10
  <link rel="help" href="https://drafts.csswg.org/css-lists/#propdef-counter-set">
11
  <link rel="match" href="counter-set-001-ref.html">
12
  <style>
13
html,body {
14
  color:black; background-color:white; font:16px/1 monospace; padding:0; margin:0;
15
}
16
span::before { content: counters(n, '.'); }
17
  </style>
18
</head>
19
<body>
20
21
<span style="counter-set: n 7"></span><!-- "7" -->
22
<span style="counter-set: n"></span><!-- "0" -->
23
<span style="counter-set: n 8 n 7"></span><!-- "7" -->
24
<span style="counter-set: n 6; counter-increment: n 2"></span><!-- "6" -->
25
<span style="counter-set: n; counter-increment: n 2"></span><!-- "0" -->
26
<x style="counter-reset: n 9">
27
  <span style="counter-set: n 2"></span><!-- "2" -->
28
</x>
29
<span style="counter-increment: n"></span><!-- "3" -->
30
<x style="counter-reset: n 9">
31
  <span style="counter-set: n"></span><!-- "0" -->
32
  <span style="counter-set: n 2"></span><!-- "2" -->
33
  <x style="counter-reset: n 1">
34
    <span style="counter-set: n 5"></span><!-- "2.5" -->
35
  </x>
36
</x>
37
<span style="counter-increment: n"></span><!-- "3" -->
38
39
</body>
40
</html>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-lists/counter-set-002-expected.html +14 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-lists/counter-set-002-expected.html_sec1
1
<!DOCTYPE html>
2
<!--
3
     Any copyright is dedicated to the Public Domain.
4
     http://creativecommons.org/publicdomain/zero/1.0/
5
-->
6
<html><head>
7
  <meta charset="utf-8">
8
  <title>CSS Lists: dynamic update test for 'counter-set'</title>
9
  <link rel="author" title="Mats Palmgren" href="mailto:mats@mozilla.org">
10
</head>
11
<body>
12
<ol><li></li></ol>
13
</body>
14
</html>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-lists/counter-set-002.html +17 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-lists/counter-set-002.html_sec1
1
<!DOCTYPE html>
2
<!--
3
     Any copyright is dedicated to the Public Domain.
4
     http://creativecommons.org/publicdomain/zero/1.0/
5
-->
6
<html><head>
7
  <meta charset="utf-8">
8
  <title>CSS Lists: dynamic update test for 'counter-set'</title>
9
  <link rel="author" title="Mats Palmgren" href="mailto:mats@mozilla.org">
10
  <link rel="help" href="https://drafts.csswg.org/css-lists/#propdef-counter-set">
11
  <link rel="match" href="counter-set-002-ref.html">
12
</head>
13
<body onload="document.getElementById('item').style=''">
14
<noscript>Test not run - javascript required.</noscript>
15
<ol><li id="item" style="counter-increment: list-item 3"></li></ol>
16
</body>
17
</html>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-lists/inherit-overwrites-expected.txt +4 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-lists/inherit-overwrites-expected.txt_sec1
1
2
FAIL Inheritance of counter-reset replaces existing value assert_equals: expected "second 0 first 1" but got "second 0 fifth 0 first 1"
3
FAIL Inheritance of counter-increment replaces existing value assert_equals: expected "second 2 first 0" but got "second 2 fourth 0 first 0"
4
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-lists/inherit-overwrites.html +44 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-lists/inherit-overwrites.html_sec1
1
<!DOCTYPE html>
2
<html>
3
<head>
4
<meta charset="utf-8">
5
<title>Inheritance replaces existing value of counter properties</title>
6
<link rel="help" href="https://drafts.csswg.org/css-lists/#property-index">
7
<meta name="assert" content="Inheritance replaces existing value of counter properties.">
8
<script src="/resources/testharness.js"></script>
9
<script src="/resources/testharnessreport.js"></script>
10
<style>
11
  #container {
12
    counter-reset: first 1;
13
    counter-increment: second 2;
14
    counter-set: third 3;
15
  }
16
  .target {
17
    counter-reset: fourth 4;
18
    counter-increment: fifth 5;
19
    counter-set: sixth 6;
20
  }
21
</style>
22
</head>
23
<body>
24
<div id="container">
25
  <div id="target"></div>
26
</div>
27
<script>
28
'use strict';
29
const container = document.getElementById('container');
30
31
// 'counter-set' can be added.
32
for (let property of ['counter-reset', 'counter-increment']) {
33
  test(() => {
34
    const target = document.createElement('div');
35
    target.classList += 'target';
36
    container.appendChild(target);
37
    target.style[property] = 'inherit';
38
    assert_equals(getComputedStyle(target)[property], getComputedStyle(container)[property]);
39
  }, 'Inheritance of ' + property + ' replaces existing value');
40
}
41
42
</script>
43
</body>
44
</html>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-lists/inheritance-expected.txt -1 lines
Lines 1-4 a/LayoutTests/imported/w3c/web-platform-tests/css/css-lists/inheritance-expected.txt_sec1
1
Blocked access to external URL https://example.com/
2
1
3
PASS Property counter-increment has initial value none 
2
PASS Property counter-increment has initial value none 
4
PASS Property counter-increment does not inherit 
3
PASS Property counter-increment does not inherit 
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-lists/inheritance.html -3 / +3 lines
Lines 6-13 a/LayoutTests/imported/w3c/web-platform-tests/css/css-lists/inheritance.html_sec1
6
<link rel="help" href="https://drafts.csswg.org/css-lists/#property-index">
6
<link rel="help" href="https://drafts.csswg.org/css-lists/#property-index">
7
<meta name="assert" content="Properties inherit or not according to the spec.">
7
<meta name="assert" content="Properties inherit or not according to the spec.">
8
<meta name="assert" content="Properties have initial values according to the spec.">
8
<meta name="assert" content="Properties have initial values according to the spec.">
9
<script src="../../../../../resources/testharness.js"></script>
9
<script src="/resources/testharness.js"></script>
10
<script src="../../../../../resources/testharnessreport.js"></script>
10
<script src="/resources/testharnessreport.js"></script>
11
<script src="/css/support/inheritance-testcommon.js"></script>
11
<script src="/css/support/inheritance-testcommon.js"></script>
12
</head>
12
</head>
13
<body>
13
<body>
Lines 17-23 a/LayoutTests/imported/w3c/web-platform-tests/css/css-lists/inheritance.html_sec2
17
<script>
17
<script>
18
assert_not_inherited('counter-increment', 'none', 'foo 123');
18
assert_not_inherited('counter-increment', 'none', 'foo 123');
19
assert_not_inherited('counter-reset', 'none', 'foo 123');
19
assert_not_inherited('counter-reset', 'none', 'foo 123');
20
assert_inherited('list-style-image', 'none', 'url("https://example.com/")');
20
assert_inherited('list-style-image', 'none', 'url("data:,a")');
21
assert_inherited('list-style-position', 'outside', 'inside');
21
assert_inherited('list-style-position', 'outside', 'inside');
22
assert_inherited('list-style-type', 'disc', 'square');
22
assert_inherited('list-style-type', 'disc', 'square');
23
</script>
23
</script>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-lists/inline-block-list-expected.html +61 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-lists/inline-block-list-expected.html_sec1
1
<!DOCTYPE html>
2
<!--
3
     Any copyright is dedicated to the Public Domain.
4
     http://creativecommons.org/publicdomain/zero/1.0/
5
-->
6
<head>
7
  <meta charset="utf-8">
8
  <title>CSS Reference: inline flow-root list-item</title>
9
  <link rel="author" title="Mats Palmgren" href="mailto:mats@mozilla.com">
10
<style>
11
html,body {
12
  color:black; background-color:white; font:14px/1 monospace; padding:0; margin:0;
13
}
14
ol,ul,li { margin:0; padding:0; }
15
body { margin-left: 40px; }
16
17
li { border: 1px solid; display: list-item; }
18
19
.wrap { width: 22ch; }
20
.m { width: -webkit-min-content; width: min-content; }
21
ib { display:inline-block; }
22
</style>
23
</head>
24
<body>
25
26
<div class="wrap">
27
<li>A A A A A A A A A A A A A A A A A A A A </li>
28
<li class=m>B</li>
29
30
<ol>
31
<li>A A A A A A A A A A A A A A A A A A A A </li>
32
<ib><li class=m>B</li></ib>
33
<ib><li class=m>C</li></ib>
34
</ol>
35
36
<ol style="display:inline">
37
<ib><li>A A A A A A A A A A A A A A A A A A A A </li></ib>
38
<ib><li class=m>B</li></ib>
39
<ib><li class=m>C</li></ib>
40
</ol>
41
42
<ol style="display:inline">
43
<li>A A A A A A A A A A A A A A A A A A A A </li>
44
<li>B<ol>
45
<li>a a a a a a a a a a a a a a a a a a a a </li>
46
<li class=m>b</li>
47
</ol></li>
48
<li class=m>C</li>
49
</ol>
50
51
<ul>
52
<li>A A A A A A A A A A A A A A A A A A A A </li>
53
<li>B<ol style="display:inline">
54
<li>a a a a a a a a a a a a a a a a a a a a </li>
55
<li class=m>b</li>
56
</ol></li>
57
<li class=m>C</li>
58
</ul>
59
</div>
60
61
</body>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-lists/inline-block-list-marker-expected.html +62 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-lists/inline-block-list-marker-expected.html_sec1
1
<!DOCTYPE html>
2
<!--
3
     Any copyright is dedicated to the Public Domain.
4
     http://creativecommons.org/publicdomain/zero/1.0/
5
-->
6
<head>
7
  <meta charset="utf-8">
8
  <title>CSS Reference: inline flow-root list-item with ::marker</title>
9
  <link rel="author" title="Mats Palmgren" href="mailto:mats@mozilla.com">
10
<style>
11
html,body {
12
  color:black; background-color:white; font:14px/1 monospace; padding:0; margin:0;
13
}
14
ol,ul,li { margin:0; padding:0; }
15
body { margin-left: 40px; }
16
17
li { border: 1px solid; display: list-item; }
18
li::marker { content: counters(list-item, ".") " "; }
19
20
.wrap { width: 22ch; }
21
.m { width: -webkit-min-content; width: min-content; }
22
ib { display:inline-block; }
23
</style>
24
</head>
25
<body>
26
27
<div class="wrap">
28
<li>A A A A A A A A A A A A A A A A A A A A </li>
29
<li class=m>B</li>
30
31
<ol>
32
<li>A A A A A A A A A A A A A A A A A A A A </li>
33
<ib><li class=m>B</li></ib>
34
<ib><li class=m>C</li></ib>
35
</ol>
36
37
<ol style="display:inline">
38
<ib><li>A A A A A A A A A A A A A A A A A A A A </li></ib>
39
<ib><li class=m>B</li></ib>
40
<ib><li class=m>C</li></ib>
41
</ol>
42
43
<ol style="display:inline">
44
<li>A A A A A A A A A A A A A A A A A A A A </li>
45
<li>B<ol>
46
<li>a a a a a a a a a a a a a a a a a a a a </li>
47
<li class=m>b</li>
48
</ol></li>
49
<li class=m>C</li>
50
</ol>
51
52
<ul>
53
<li>A A A A A A A A A A A A A A A A A A A A </li>
54
<li>B<ol style="display:inline">
55
<li>a a a a a a a a a a a a a a a a a a a a </li>
56
<li class=m>b</li>
57
</ol></li>
58
<li class=m>C</li>
59
</ul>
60
</div>
61
62
</body>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-lists/inline-block-list-marker.html +63 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-lists/inline-block-list-marker.html_sec1
1
<!DOCTYPE html>
2
<!--
3
     Any copyright is dedicated to the Public Domain.
4
     http://creativecommons.org/publicdomain/zero/1.0/
5
-->
6
<head>
7
  <meta charset="utf-8">
8
  <title>CSS Test: inline flow-root list-item with ::marker</title>
9
  <link rel="author" title="Mats Palmgren" href="mailto:mats@mozilla.com">
10
  <link rel="help" href="https://drafts.csswg.org/css-lists-3/#marker-pseudo">
11
  <link rel="help" href="https://drafts.csswg.org/css-display/#propdef-display">
12
  <link rel="help" href="https://bugzilla.mozilla.org/show_bug.cgi?id=1105868">
13
  <link rel="match" href="inline-block-list-marker-ref.html">
14
<style>
15
html,body {
16
  color:black; background-color:white; font:14px/1 monospace; padding:0; margin:0;
17
}
18
ol,ul,li { margin:0; padding:0; }
19
body { margin-left: 40px; }
20
21
li { display: inline flow-root list-item; border: 1px solid; }
22
li::marker { content: counters(list-item, ".") " "; }
23
.wrap { width: 22ch; }
24
</style>
25
</head>
26
<body>
27
28
<div class="wrap">
29
<li>A A A A A A A A A A A A A A A A A A A A </li>
30
<li>B</li>
31
32
<ol>
33
<li>A A A A A A A A A A A A A A A A A A A A </li>
34
<li>B</li>
35
<li>C</li>
36
</ol>
37
38
<ol style="display:inline">
39
<li>A A A A A A A A A A A A A A A A A A A A </li>
40
<li>B</li>
41
<li>C</li>
42
</ol>
43
44
<ol style="display:inline">
45
<li>A A A A A A A A A A A A A A A A A A A A </li>
46
<li>B<ol>
47
<li>a a a a a a a a a a a a a a a a a a a a </li>
48
<li>b</li>
49
</ol></li>
50
<li>C</li>
51
</ol>
52
53
<ul>
54
<li>A A A A A A A A A A A A A A A A A A A A </li>
55
<li>B<ol style="display:inline">
56
<li>a a a a a a a a a a a a a a a a a a a a </li>
57
<li>b</li>
58
</ol></li>
59
<li>C</li>
60
</ul>
61
</div>
62
63
</body>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-lists/inline-block-list.html +62 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-lists/inline-block-list.html_sec1
1
<!DOCTYPE html>
2
<!--
3
     Any copyright is dedicated to the Public Domain.
4
     http://creativecommons.org/publicdomain/zero/1.0/
5
-->
6
<head>
7
  <meta charset="utf-8">
8
  <title>CSS Test: inline flow-root list-item</title>
9
  <link rel="author" title="Mats Palmgren" href="mailto:mats@mozilla.com">
10
  <link rel="help" href="https://drafts.csswg.org/css-lists-3/#declaring-a-list-item">
11
  <link rel="help" href="https://drafts.csswg.org/css-display/#propdef-display">
12
  <link rel="help" href="https://bugzilla.mozilla.org/show_bug.cgi?id=1105868">
13
  <link rel="match" href="inline-block-list-ref.html">
14
<style>
15
html,body {
16
  color:black; background-color:white; font:14px/1 monospace; padding:0; margin:0;
17
}
18
ol,ul,li { margin:0; padding:0; }
19
body { margin-left: 40px; }
20
21
li { border: 1px solid; display: inline flow-root list-item; }
22
.wrap { width: 22ch; }
23
</style>
24
</head>
25
<body>
26
27
<div class="wrap">
28
<li>A A A A A A A A A A A A A A A A A A A A </li>
29
<li>B</li>
30
31
<ol>
32
<li>A A A A A A A A A A A A A A A A A A A A </li>
33
<li>B</li>
34
<li>C</li>
35
</ol>
36
37
<ol style="display:inline">
38
<li>A A A A A A A A A A A A A A A A A A A A </li>
39
<li>B</li>
40
<li>C</li>
41
</ol>
42
43
<ol style="display:inline">
44
<li>A A A A A A A A A A A A A A A A A A A A </li>
45
<li>B<ol>
46
<li>a a a a a a a a a a a a a a a a a a a a </li>
47
<li>b</li>
48
</ol></li>
49
<li>C</li>
50
</ol>
51
52
<ul>
53
<li>A A A A A A A A A A A A A A A A A A A A </li>
54
<li>B<ol style="display:inline">
55
<li>a a a a a a a a a a a a a a a a a a a a </li>
56
<li>b</li>
57
</ol></li>
58
<li>C</li>
59
</ul>
60
</div>
61
62
</body>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-lists/inline-list-expected.html +49 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-lists/inline-list-expected.html_sec1
1
<!DOCTYPE html>
2
<!--
3
     Any copyright is dedicated to the Public Domain.
4
     http://creativecommons.org/publicdomain/zero/1.0/
5
-->
6
<head>
7
  <meta charset="utf-8">
8
  <title>CSS Reference: inline list-item</title>
9
  <link rel="author" title="Mats Palmgren" href="mailto:mats@mozilla.com">
10
<style>
11
html,body {
12
  color:black; background-color:white; font:14px/1 monospace; padding:0; margin:0;
13
}
14
ol,ul,li { margin:0; padding:0; }
15
body { margin-left: 40px; }
16
17
span { border: 1px solid; }
18
li { display: list-item; list-style-position: inside; }
19
20
.wrap { width: 22ch; }
21
ib { display:inline-block; }
22
</style>
23
</head>
24
<body>
25
26
<div class="wrap">
27
<span><ib><li>A</li></ib> A A A A A A A A A A A A A A A A A A A </span><span><ib><li value=2></li></ib>B</span>
28
29
<ol>
30
<span><ib><li>A</li></ib> A A A A A A A A A A A A A A A A A A A </span><span><ib><li>B</li></ib></span>
31
<span><ib><li>C</li></ib></span>
32
</ol>
33
34
<ol style="display:inline">
35
<span><ib><li>A</li></ib> A A A A A A A A A A A A A A A A A A A </span><span><ib><li>B</li></ib></span>
36
<span><ib><li>C</li></ib></span></ol><ol style="display:inline">
37
<span><ib><li>A</li></ib> A A A A A A A A A A A A A A A A A A A </span><span><ib><li></li></ib>B<ol>
38
<span><ib><li>a</li></ib> a a a a a a a a a a a a a a a a a a a </span><span><ib><li>b</li></ib></span>
39
</ol></li></ib></span>
40
<span><ib><li>C</li></ib></span>
41
</ol>
42
43
<ul>
44
<span><ib><li>A</li></ib> A A A A A A A A A A A A A A A A A A A </span><span><ib><li></li></ib><br>B <ol style="display:inline"><span><ib><li>a</li></ib> a a a a a a a a a a a a a a a a a a a </span><span><ib><li>b</li></ib></span>
45
</ol></span><span><ib><li>C</li></ib></span>
46
</ul>
47
</div>
48
49
</body>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-lists/inline-list-marker-expected.html +51 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-lists/inline-list-marker-expected.html_sec1
1
<!DOCTYPE html>
2
<!--
3
     Any copyright is dedicated to the Public Domain.
4
     http://creativecommons.org/publicdomain/zero/1.0/
5
-->
6
<head>
7
  <meta charset="utf-8">
8
  <title>CSS Reference: inline list-item with ::marker</title>
9
  <link rel="author" title="Mats Palmgren" href="mailto:mats@mozilla.com">
10
<style>
11
html,body {
12
  color:black; background-color:white; font:16px/1 monospace; padding:0; margin:0;
13
}
14
ol,ul,li { margin:0; padding:0; }
15
body { margin-left: 40px; }
16
17
span { border: 1px solid; }
18
.wrap { width: 22ch; }
19
ib { display:inline-block; }
20
</style>
21
</head>
22
<body>
23
24
<div class="wrap">
25
<span>1 A A A A A A A A A A A A A A A A A A A A </span><span>2 B</span>
26
27
<ol>
28
<span>1 A A A A A A A A A A A A A A A A A A A A </span><span>2 B</span>
29
<span>3 C</span>
30
</ol>
31
32
<ol style="display:inline">
33
<span>1 A A A A A A A A A A A A A A A A A A A A </span><span>2 B</span>
34
<span>3 C</span>
35
</ol>
36
37
<ol style="display:inline">
38
<span>1 A A A A A A A A A A A A A A A A A A A A </span><span>2 B<ol>
39
<span>2.1 a a a a a a a a a a a a a a a a a a a a </span><span>2.2 b</span>
40
</ol></span>
41
<span>3 C</span>
42
</ol>
43
44
<ul>
45
<span>1 A A A A A A A A A A A A A A A A A A A A </span><span>2 B
46
<ol style="display:inline"><span>2.1 a a a a a a a a a a a a a a a a a a a a </span><span>2.2 b</span>
47
</ol></span><span>3 C</span>
48
</ul>
49
</div>
50
51
</body>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-lists/inline-list-marker.html +63 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-lists/inline-list-marker.html_sec1
1
<!DOCTYPE html>
2
<!--
3
     Any copyright is dedicated to the Public Domain.
4
     http://creativecommons.org/publicdomain/zero/1.0/
5
-->
6
<head>
7
  <meta charset="utf-8">
8
  <title>CSS Test: inline list-item with ::marker</title>
9
  <link rel="author" title="Mats Palmgren" href="mailto:mats@mozilla.com">
10
  <link rel="help" href="https://drafts.csswg.org/css-lists-3/#marker-pseudo">
11
  <link rel="help" href="https://drafts.csswg.org/css-display/#propdef-display">
12
  <link rel="help" href="https://bugzilla.mozilla.org/show_bug.cgi?id=1105868">
13
  <link rel="match" href="inline-list-marker-ref.html">
14
<style>
15
html,body {
16
  color:black; background-color:white; font:16px/1 monospace; padding:0; margin:0;
17
}
18
ol,ul,li { margin:0; padding:0; }
19
body { margin-left: 40px; }
20
21
li { display: inline list-item; border: 1px solid; }
22
li::marker { content: counters(list-item, ".") " "; }
23
.wrap { width: 22ch; }
24
</style>
25
</head>
26
<body>
27
28
<div class="wrap">
29
<li>A A A A A A A A A A A A A A A A A A A A </li>
30
<li>B</li>
31
32
<ol>
33
<li>A A A A A A A A A A A A A A A A A A A A </li>
34
<li>B</li>
35
<li>C</li>
36
</ol>
37
38
<ol style="display:inline">
39
<li>A A A A A A A A A A A A A A A A A A A A </li>
40
<li>B</li>
41
<li>C</li>
42
</ol>
43
44
<ol style="display:inline">
45
<li>A A A A A A A A A A A A A A A A A A A A </li>
46
<li>B<ol>
47
<li>a a a a a a a a a a a a a a a a a a a a </li>
48
<li>b</li>
49
</ol></li>
50
<li>C</li>
51
</ol>
52
53
<ul>
54
<li>A A A A A A A A A A A A A A A A A A A A </li>
55
<li>B<ol style="display:inline">
56
<li>a a a a a a a a a a a a a a a a a a a a </li>
57
<li>b</li>
58
</ol></li>
59
<li>C</li>
60
</ul>
61
</div>
62
63
</body>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-lists/inline-list-with-table-child-expected.html +40 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-lists/inline-list-with-table-child-expected.html_sec1
1
<!DOCTYPE HTML>
2
<!--
3
     Any copyright is dedicated to the Public Domain.
4
     http://creativecommons.org/publicdomain/zero/1.0/
5
-->
6
<html><head>
7
  <meta charset="utf-8">
8
  <title>CSS Reference: table boxes inside inline list-items</title>
9
  <link rel="author" title="Mats Palmgren" href="mailto:mats@mozilla.com">
10
  <style>
11
html,body {
12
  color:black; background-color:white; font:16px/1 monospace;
13
}
14
15
.l1 { display: inline list-item; }
16
.l2 { display: inline flow-root list-item; }
17
18
span {
19
  border: 1px solid;
20
}
21
22
div { background: blue; }
23
  </style>
24
</head>
25
<body>
26
27
A<span class="l1">B<div style="display:inline-table">T</div>C</span>
28
A<span class="l1">B<div style="display:inline-table">T</div>C</span>
29
A<span class="l1">B<div style="display:inline-table">T</div>C</span>
30
A<span class="l1">B<x><div style="display:inline-table">T</div></x>C</span>
31
A<span class="l1">B<x style="display:block"><div style="display:inline-table">T</div></x>C</span>
32
33
A<span class="l2">B<div style="display:table">T</div>C</span>
34
A<span class="l2">B<div style="display:table">T</div>C</span>
35
A<span class="l2">B<div style="display:table">T</div>C</span>
36
A<span class="l2">B<x><div style="display:inline-table">T</div></x>C</span>
37
A<span class="l2">B<x style="display:block"><div style="display:table">T</div></x>C</span>
38
39
</body>
40
</html>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-lists/inline-list-with-table-child.html +44 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-lists/inline-list-with-table-child.html_sec1
1
<!DOCTYPE HTML>
2
<!--
3
     Any copyright is dedicated to the Public Domain.
4
     http://creativecommons.org/publicdomain/zero/1.0/
5
-->
6
<html><head>
7
  <meta charset="utf-8">
8
  <title>CSS Test: table boxes inside inline list-items</title>
9
  <link rel="author" title="Mats Palmgren" href="mailto:mats@mozilla.com">
10
  <link rel="help" href="https://drafts.csswg.org/css-tables-3/#ref-for-inline-table②">
11
  <link rel="help" href="https://drafts.csswg.org/css-display/#propdef-display">
12
  <link rel="help" href="https://bugzilla.mozilla.org/show_bug.cgi?id=1105868">
13
  <link rel="match" href="inline-list-with-table-child-ref.html">
14
  <style>
15
html,body {
16
  color:black; background-color:white; font:16px/1 monospace;
17
}
18
19
.l1 { display: inline list-item; }
20
.l2 { display: inline flow-root list-item; }
21
22
span {
23
  border: 1px solid;
24
}
25
26
div { background: blue; }
27
  </style>
28
</head>
29
<body>
30
31
A<span class="l1">B<div style="display:table-cell">T</div>C</span>
32
A<span class="l1">B<div style="display:table-row">T</div>C</span>
33
A<span class="l1">B<div style="display:table-row-group">T</div>C</span>
34
A<span class="l1">B<div style="display:inline-table">T</div>C</span>
35
A<span class="l1">B<div style="display:table">T</div>C</span>
36
37
A<span class="l2">B<div style="display:table-cell">T</div>C</span>
38
A<span class="l2">B<div style="display:table-row">T</div>C</span>
39
A<span class="l2">B<div style="display:table-row-group">T</div>C</span>
40
A<span class="l2">B<div style="display:inline-table">T</div>C</span>
41
A<span class="l2">B<div style="display:table">T</div>C</span>
42
43
</body>
44
</html>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-lists/inline-list.html +62 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-lists/inline-list.html_sec1
1
<!DOCTYPE html>
2
<!--
3
     Any copyright is dedicated to the Public Domain.
4
     http://creativecommons.org/publicdomain/zero/1.0/
5
-->
6
<head>
7
  <meta charset="utf-8">
8
  <title>CSS Test: inline list-item</title>
9
  <link rel="author" title="Mats Palmgren" href="mailto:mats@mozilla.com">
10
  <link rel="help" href="https://drafts.csswg.org/css-lists-3/#declaring-a-list-item">
11
  <link rel="help" href="https://drafts.csswg.org/css-display/#propdef-display">
12
  <link rel="help" href="https://bugzilla.mozilla.org/show_bug.cgi?id=1105868">
13
  <link rel="match" href="inline-list-ref.html">
14
<style>
15
html,body {
16
  color:black; background-color:white; font:14px/1 monospace; padding:0; margin:0;
17
}
18
ol,ul,li { margin:0; padding:0; }
19
body { margin-left: 40px; }
20
21
li { border: 1px solid; display: inline list-item; }
22
.wrap { width: 22ch; }
23
</style>
24
</head>
25
<body>
26
27
<div class="wrap">
28
<li>A A A A A A A A A A A A A A A A A A A A </li>
29
<li>B</li>
30
31
<ol>
32
<li>A A A A A A A A A A A A A A A A A A A A </li>
33
<li>B</li>
34
<li>C</li>
35
</ol>
36
37
<ol style="display:inline">
38
<li>A A A A A A A A A A A A A A A A A A A A </li>
39
<li>B</li>
40
<li>C</li>
41
</ol>
42
43
<ol style="display:inline">
44
<li>A A A A A A A A A A A A A A A A A A A A </li>
45
<li>B<ol>
46
<li>a a a a a a a a a a a a a a a a a a a a </li>
47
<li>b</li>
48
</ol></li>
49
<li>C</li>
50
</ol>
51
52
<ul>
53
<li>A A A A A A A A A A A A A A A A A A A A </li>
54
<li>B<ol style="display:inline">
55
<li>a a a a a a a a a a a a a a a a a a a a </li>
56
<li>b</li>
57
</ol></li>
58
<li>C</li>
59
</ul>
60
</div>
61
62
</body>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-lists/li-counter-increment-computed-style-expected.txt +9 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-lists/li-counter-increment-computed-style-expected.txt_sec1
1
No explicit counter.
2
Inherited
3
Value attribute.
4
Explicit list-item counter.
5
Explicit and redundant list-item counter.
6
Other counter.
7
8
FAIL list-item counter-increment shouldn't be visible from computed style assert_equals: Inherited expected "none" but got ""
9
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-lists/li-counter-increment-computed-style.html +20 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-lists/li-counter-increment-computed-style.html_sec1
1
<!doctype html>
2
<title>Magic list-item counter-increment shouldn't be visible from computed style</title>
3
<link rel="help" href="https://drafts.csswg.org/css-lists/#declaring-a-list-item">
4
<link rel="help" href="https://drafts.csswg.org/css-lists/#list-item-counter">
5
<link rel="author" href="mailto:emilio@crisal.io" title="Emilio Cobos Álvarez">
6
<link rel="author" href="https://mozilla.org" title="Mozilla">
7
<script src="/resources/testharness.js"></script>
8
<script src="/resources/testharnessreport.js"></script>
9
<li data-expected="none">No explicit counter.
10
<li><span style="counter-increment:inherit" data-expected="none">Inherited
11
<li value="10" data-expected="none">Value attribute.
12
<li style="counter-increment: list-item 10" data-expected="list-item 10">Explicit list-item counter.
13
<li style="counter-increment: list-item 1" data-expected="list-item 1">Explicit and redundant list-item counter.
14
<li style="counter-increment: foo 10" data-expected="foo 10">Other counter.
15
<script>
16
test(function() {
17
  for (const element of document.querySelectorAll("[data-expected]"))
18
    assert_equals(getComputedStyle(element).counterIncrement, element.getAttribute("data-expected"), element.innerText);
19
}, "list-item counter-increment shouldn't be visible from computed style");
20
</script>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-lists/li-insert-child-expected.html +51 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-lists/li-insert-child-expected.html_sec1
1
<!DOCTYPE HTML>
2
<!--
3
     Any copyright is dedicated to the Public Domain.
4
     http://creativecommons.org/publicdomain/zero/1.0/
5
-->
6
<html><head>
7
  <meta charset="utf-8">
8
  <title>Reference: Insert text node as first child in LI</title>
9
  <link rel="author" title="Mats Palmgren" href="mailto:mats@mozilla.org">
10
  <style>
11
    ul.inside { list-style-position: inside; }
12
    .before::before { content: "before"; }
13
    .after::after { content: "after"; }
14
  </style>
15
</head>
16
<body>
17
18
<ul class="inside">
19
  <li>AB</li>
20
</ul>
21
22
<ul class="inside">
23
  <li class="before">AB</li>
24
</ul>
25
26
<ul class="inside">
27
  <li class="after">AB</li>
28
</ul>
29
30
<ul class="inside">
31
  <li class="before after">AB</li>
32
</ul>
33
34
<ul>
35
  <li>AB</li>
36
</ul>
37
38
<ul>
39
  <li class="before">AB</li>
40
</ul>
41
42
<ul>
43
  <li class="after">AB</li>
44
</ul>
45
46
<ul>
47
  <li class="before after">AB</li>
48
</ul>
49
50
</body>
51
</html>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-lists/li-insert-child.html +60 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-lists/li-insert-child.html_sec1
1
<!DOCTYPE HTML>
2
<!--
3
     Any copyright is dedicated to the Public Domain.
4
     http://creativecommons.org/publicdomain/zero/1.0/
5
-->
6
<html class="reftest-wait"><head>
7
  <meta charset="utf-8">
8
  <title>Test: Insert text node as first child in LI</title>
9
  <link rel="author" title="Mats Palmgren" href="mailto:mats@mozilla.org">
10
  <link rel="help" href="https://bugzilla.mozilla.org/show_bug.cgi?id=1567773">
11
  <link rel="match" href="li-insert-child-ref.html">
12
  <style>
13
    ul.inside { list-style-position: inside; }
14
    .before::before { content: "before"; }
15
    .after::after { content: "after"; }
16
  </style>
17
</head>
18
<body>
19
20
<ul class="inside">
21
  <li>B</li>
22
</ul>
23
24
<ul class="inside">
25
  <li class="before">B</li>
26
</ul>
27
28
<ul class="inside">
29
  <li class="after">B</li>
30
</ul>
31
32
<ul class="inside">
33
  <li class="before after">B</li>
34
</ul>
35
36
<ul>
37
  <li>B</li>
38
</ul>
39
40
<ul>
41
  <li class="before">B</li>
42
</ul>
43
44
<ul>
45
  <li class="after">B</li>
46
</ul>
47
48
<ul>
49
  <li class="before after">B</li>
50
</ul>
51
52
<script>
53
document.body.offsetHeight;
54
let items = Array.prototype.slice.call(document.querySelectorAll('li'));
55
items.map(li => li.insertBefore(document.createTextNode('A'), li.firstChild));
56
document.documentElement.className = '';
57
</script>
58
59
</body>
60
</html>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-lists/li-list-item-counter-expected.html +26 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-lists/li-list-item-counter-expected.html_sec1
1
<!DOCTYPE HTML>
2
<!--
3
     Any copyright is dedicated to the Public Domain.
4
     http://creativecommons.org/publicdomain/zero/1.0/
5
-->
6
<html><head>
7
  <meta charset="utf-8">
8
  <title>Reference:_CSS Lists: 'counter-increment:list-item' on LI</title>
9
  <link rel="author" title="Mats Palmgren" href="mailto:mats@mozilla.org">
10
  <style>
11
html,body {
12
  color:black; background-color:white; font:16px/1 monospace; padding:0; margin:0;
13
}
14
body { margin-left: 10em; }
15
  </style>
16
</head>
17
<body>
18
19
<ol><li value=0>a<li value=4>b<li value=4>c</ol>
20
<ol><li value=0>a<li value=4>b<li value=4>c</ol>
21
<ol><li value=-1>a<li value=4>b<li value=3>c</ol>
22
<ol><li value=0>a<li value=4>b<li value=4>c</ol>
23
<ol><li value=2>a<li value=4>b<li value=6>c</ol>
24
25
</body>
26
</html>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-lists/li-list-item-counter.html +32 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-lists/li-list-item-counter.html_sec1
1
<!DOCTYPE HTML>
2
<!--
3
     Any copyright is dedicated to the Public Domain.
4
     http://creativecommons.org/publicdomain/zero/1.0/
5
-->
6
<html><head>
7
  <meta charset="utf-8">
8
  <title>CSS Lists: 'counter-increment:list-item' on LI</title>
9
  <link rel="author" title="Mats Palmgren" href="mailto:mats@mozilla.org">
10
  <link rel="help" href="https://drafts.csswg.org/css-lists/#propdef-counter-increment">
11
  <link rel="match" href="li-list-item-counter-ref.html">
12
  <style>
13
html,body {
14
  color:black; background-color:white; font:16px/1 monospace; padding:0; margin:0;
15
}
16
body { margin-left: 10em; }
17
li { counter-increment: list-item 0; }
18
.dec { counter-increment:list-item -1; }
19
.zero { counter-increment:list-item 1 list-item -1; }
20
.two { counter-increment:list-item 3 list-item -1; }
21
  </style>
22
</head>
23
<body>
24
25
<ol><li>a<li value=4>b<li>c</ol>
26
<ol><li>a<li value=4 style="counter-increment:list-item 5">b<li>c</ol>
27
<ol><li class=dec>a<li value=4 class=dec>b<li class=dec>c</ol>
28
<ol><li class=zero>a<li value=4 class=zero>b<li class=zero>c</ol>
29
<ol><li class=two>a<li value=4 class=two>b<li class=two>c</ol>
30
31
</body>
32
</html>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-lists/li-value-counter-reset-001-expected.html +27 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-lists/li-value-counter-reset-001-expected.html_sec1
1
<!DOCTYPE HTML>
2
<!--
3
     Any copyright is dedicated to the Public Domain.
4
     http://creativecommons.org/publicdomain/zero/1.0/
5
-->
6
<html><head>
7
  <meta charset="utf-8">
8
  <title>Reference:_CSS Lists: 'counter-set:list-item' trumps LI @value</title>
9
  <link rel="author" title="Mats Palmgren" href="mailto:mats@mozilla.org">
10
  <style>
11
html,body {
12
  color:black; background-color:white; font:16px/1 monospace; padding:0; margin:0;
13
}
14
body { margin-left: 10em; }
15
  </style>
16
</head>
17
<body>
18
19
<ol><li>a<li value=99>b</ol>
20
<ol><li>a<li value=99>b</ol>
21
<ol><li>a<li value=4>b</ol>
22
<ol><li>a<li value=99>b</ol>
23
<ol><li>a<li value=51>b</ol>
24
<ol><li>a<li value=88>b</ol>
25
26
</body>
27
</html>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-lists/li-value-counter-reset-001.html +30 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-lists/li-value-counter-reset-001.html_sec1
1
<!DOCTYPE HTML>
2
<!--
3
     Any copyright is dedicated to the Public Domain.
4
     http://creativecommons.org/publicdomain/zero/1.0/
5
-->
6
<html><head>
7
  <meta charset="utf-8">
8
  <title>CSS Lists: 'counter-set:list-item' trumps LI @value</title>
9
  <link rel="author" title="Mats Palmgren" href="mailto:mats@mozilla.org">
10
  <link rel="help" href="https://drafts.csswg.org/css-lists/#propdef-counter-set">
11
  <link rel="match" href="li-value-counter-reset-001-ref.html">
12
  <style>
13
html,body {
14
  color:black; background-color:white; font:16px/1 monospace; padding:0; margin:0;
15
}
16
body { margin-left: 10em; }
17
li.set { counter-set: list-item 99; }
18
  </style>
19
</head>
20
<body>
21
22
<ol><li>a<li value=4 class=set>b</ol>
23
<ol><li>a<li value=4 class=set style="counter-increment:list-item 50">b</ol>
24
<ol><li>a<li value=4 style="counter-increment:list-item 50">b</ol>
25
<ol><li>a<li class=set style="counter-increment:list-item 50">b</ol>
26
<ol><li>a<li style="counter-increment:list-item 50">b</ol>
27
<ol><li>a<li value=4 class=set style="counter-set:list-item 88">b</ol>
28
29
</body>
30
</html>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-lists/li-value-reversed-001-expected.html +7 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-lists/li-value-reversed-001-expected.html_sec1
1
<!doctype html>
2
<title>CSS Test Reference</title>
3
<ol>
4
 <li value=3>three
5
 <li value=6>six
6
 <li value=5>five
7
</ol>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-lists/li-value-reversed-001.html +14 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-lists/li-value-reversed-001.html_sec1
1
<!doctype html>
2
<title>Interaction of ol reversed and list-item value</title>
3
<link rel="help" href="https://bugzilla.mozilla.org/show_bug.cgi?id=1573907">
4
<link rel="help" href="https://html.spec.whatwg.org/#attr-ol-reversed">
5
<link rel="help" href="https://html.spec.whatwg.org/#ordinal-value">
6
<link rel="author" title="L. David Baron" href="https://dbaron.org/">
7
<link rel="author" title="Emilio Cobos Álvarez" href="mailto:emilio@crisal.io">
8
<link rel="author" title="Mozilla" href="https://mozilla.org">
9
<link rel="match" href="li-value-reversed-001-ref.html">
10
<ol reversed>
11
 <li>three
12
 <li value=6>six
13
 <li>five
14
</ol>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-lists/li-value-reversed-002-expected.html +10 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-lists/li-value-reversed-002-expected.html_sec1
1
<!doctype html>
2
<title>CSS Test Reference</title>
3
<ol>
4
 <li value=6>six
5
 <li value=5>five
6
 <li value=7>seven
7
 <li value=6>six
8
 <li value=10>ten
9
 <li value=9>nine
10
</ol>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-lists/li-value-reversed-002.html +17 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-lists/li-value-reversed-002.html_sec1
1
<!doctype html>
2
<title>Interaction of ol reversed and list-item value</title>
3
<link rel="help" href="https://bugzilla.mozilla.org/show_bug.cgi?id=1573907">
4
<link rel="help" href="https://html.spec.whatwg.org/#attr-ol-reversed">
5
<link rel="help" href="https://html.spec.whatwg.org/#ordinal-value">
6
<link rel="author" title="L. David Baron" href="https://dbaron.org/">
7
<link rel="author" title="Emilio Cobos Álvarez" href="mailto:emilio@crisal.io">
8
<link rel="author" title="Mozilla" href="https://mozilla.org">
9
<link rel="match" href="li-value-reversed-002-ref.html">
10
<ol reversed>
11
 <li>six
12
 <li>five
13
 <li value=7>seven
14
 <li>six
15
 <li value=10>ten
16
 <li>nine
17
</ol>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-lists/li-value-reversed-003-expected.html +10 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-lists/li-value-reversed-003-expected.html_sec1
1
<!doctype html>
2
<title>CSS Test Reference</title>
3
<ol>
4
 <li value=6>six
5
 <li value=5>five
6
 <li value=7>seven
7
 <li value=6>six
8
 <li value=10>ten
9
 <li value=9>nine
10
</ol>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-lists/li-value-reversed-003.html +16 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-lists/li-value-reversed-003.html_sec1
1
<!doctype html>
2
<title>Interaction of ol reversed and list-item value</title>
3
<link rel="help" href="https://bugzilla.mozilla.org/show_bug.cgi?id=1573907">
4
<link rel="help" href="https://html.spec.whatwg.org/#attr-ol-reversed">
5
<link rel="help" href="https://html.spec.whatwg.org/#ordinal-value">
6
<link rel="author" title="Emilio Cobos Álvarez" href="mailto:emilio@crisal.io">
7
<link rel="author" title="Mozilla" href="https://mozilla.org">
8
<link rel="match" href="li-value-reversed-002-ref.html">
9
<ol reversed>
10
 <li>six
11
 <li>five
12
 <li style="counter-set: list-item 7">seven
13
 <li style="counter-increment: list-item -1">six
14
 <li style="counter-set: list-item 10; counter-increment: list-item 1">ten
15
 <li>nine
16
</ol>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-lists/li-value-reversed-004-expected.html +7 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-lists/li-value-reversed-004-expected.html_sec1
1
<!doctype html>
2
<title>CSS Test Reference</title>
3
<ol>
4
 <li value=2>two
5
 <div></div>
6
 <li value=0>zero
7
</ol>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-lists/li-value-reversed-004.html +13 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-lists/li-value-reversed-004.html_sec1
1
<!doctype html>
2
<title>Non-list items with explicit list-item counter increments don't increment the ol reversed start value</title>
3
<link rel="help" href="https://bugzilla.mozilla.org/show_bug.cgi?id=1573907">
4
<link rel="help" href="https://html.spec.whatwg.org/#attr-ol-reversed">
5
<link rel="help" href="https://html.spec.whatwg.org/#ordinal-value">
6
<link rel="author" title="Emilio Cobos Álvarez" href="mailto:emilio@crisal.io">
7
<link rel="author" title="Mozilla" href="https://mozilla.org">
8
<link rel="match" href="li-value-reversed-004-ref.html">
9
<ol reversed>
10
 <li>two
11
 <div style="counter-increment: list-item -1"></div>
12
 <li>zero
13
</ol>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-lists/li-value-reversed-005-expected.html +7 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-lists/li-value-reversed-005-expected.html_sec1
1
<!doctype html>
2
<title>CSS Test Reference</title>
3
<ol>
4
 <li value=2>two
5
 <div></div>
6
 <li value=0>zero
7
</ol>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-lists/li-value-reversed-005.html +13 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-lists/li-value-reversed-005.html_sec1
1
<!doctype html>
2
<title>Non-list items with explicit list-item counter increments don't increment the ol reversed start value</title>
3
<link rel="help" href="https://bugzilla.mozilla.org/show_bug.cgi?id=1573907">
4
<link rel="help" href="https://html.spec.whatwg.org/#attr-ol-reversed">
5
<link rel="help" href="https://html.spec.whatwg.org/#ordinal-value">
6
<link rel="author" title="Emilio Cobos Álvarez" href="mailto:emilio@crisal.io">
7
<link rel="author" title="Mozilla" href="https://mozilla.org">
8
<link rel="match" href="li-value-reversed-004-ref.html">
9
<ol reversed>
10
 <li>two
11
 <div style="counter-increment: list-item 1; counter-set: list-item 1"></div>
12
 <li>zero
13
</ol>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-lists/li-with-overflow-hidden-change-list-style-position-001.html -1 / +1 lines
Lines 3-9 a/LayoutTests/imported/w3c/web-platform-tests/css/css-lists/li-with-overflow-hidden-change-list-style-position-001.html_sec1
3
<title>CSS Lists: test inside and outside switch</title>
3
<title>CSS Lists: test inside and outside switch</title>
4
<link rel=help href="https://www.w3.org/TR/CSS22/generate.html#lists">
4
<link rel=help href="https://www.w3.org/TR/CSS22/generate.html#lists">
5
<link rel=match href="li-with-overflow-hidden-change-list-style-position-001-ref.html">
5
<link rel=match href="li-with-overflow-hidden-change-list-style-position-001-ref.html">
6
<!--  https://bugs.chromium.org/p/chromium/issues/detail?id=344941  -->
6
<!-- https://bugs.chromium.org/p/chromium/issues/detail?id=344941 -->
7
7
8
<p>The test passes if the first li is inside and the second one is outside.</p>
8
<p>The test passes if the first li is inside and the second one is outside.</p>
9
9
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-lists/list-and-block-textarea-001.html -10 / +11 lines
Lines 2-24 a/LayoutTests/imported/w3c/web-platform-tests/css/css-lists/list-and-block-textarea-001.html_sec1
2
<meta charset="utf-8">
2
<meta charset="utf-8">
3
<title>CSS Lists: test list with textarea as its first child</title>
3
<title>CSS Lists: test list with textarea as its first child</title>
4
<link rel=help href="https://www.w3.org/TR/CSS22/generate.html#lists">
4
<link rel=help href="https://www.w3.org/TR/CSS22/generate.html#lists">
5
<!--  https://bugs.chromium.org/p/chromium/issues/detail?id=767408  -->
5
<!-- https://bugs.chromium.org/p/chromium/issues/detail?id=767408 -->
6
6
7
<script src="../../../../../resources/testharness.js"></script>
7
<script src="/resources/testharness.js"></script>
8
<script src="../../../../../resources/testharnessreport.js"></script>
8
<script src="/resources/testharnessreport.js"></script>
9
9
10
<style>
10
<style>
11
textarea {
11
12
  border: 0px;
12
ul, textarea {
13
  padding: 0px;
13
  font-size: 16px;
14
}
14
}
15
</style>
15
</style>
16
16
17
<div id="log"></div>
17
<div id="log"></div>
18
18
19
<ul>
19
<ul>
20
  <li id="target">
20
  <li id="target1">
21
    <textarea rows="3" cols="20" style="display:block; height:45px">
21
    <textarea id="target2" rows="3" cols="20" style="display:block; height:45px">
22
      hello
22
      hello
23
    </textarea>
23
    </textarea>
24
  </li>
24
  </li>
Lines 26-33 textarea { a/LayoutTests/imported/w3c/web-platform-tests/css/css-lists/list-and-block-textarea-001.html_sec2
26
26
27
<script>
27
<script>
28
test(function() {
28
test(function() {
29
  var height = document.getElementById("target").offsetHeight;
29
  var height1 = document.getElementById("target1").offsetHeight;
30
  assert_equals(height, 45, "the height of li should be 45px, and no extra line generated")
30
  var height2 = document.getElementById("target2").offsetHeight;
31
  assert_equals(height1, height2, "List marker and textarea should be in the same line, no line-break between them.")
31
}, "list and block textarea");
32
}, "list and block textarea");
32
33
33
</script>
34
</script>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-lists/list-and-flex-001.html -1 / +1 lines
Lines 3-9 a/LayoutTests/imported/w3c/web-platform-tests/css/css-lists/list-and-flex-001.html_sec1
3
<title>CSS Lists: test list with flex as its first child</title>
3
<title>CSS Lists: test list with flex as its first child</title>
4
<link rel=help href="https://www.w3.org/TR/CSS22/generate.html#lists">
4
<link rel=help href="https://www.w3.org/TR/CSS22/generate.html#lists">
5
<link rel=match href="list-and-flex-001-ref.html">
5
<link rel=match href="list-and-flex-001-ref.html">
6
<!--  https://bugs.chromium.org/p/chromium/issues/detail?id=767408  -->
6
<!-- https://bugs.chromium.org/p/chromium/issues/detail?id=767408 -->
7
7
8
<p>There should be no extra line generated between the marker and the flex.</p>
8
<p>There should be no extra line generated between the marker and the flex.</p>
9
9
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-lists/list-and-grid-001.html -1 / +1 lines
Lines 3-9 a/LayoutTests/imported/w3c/web-platform-tests/css/css-lists/list-and-grid-001.html_sec1
3
<title>CSS Lists: test list with grid as its first child</title>
3
<title>CSS Lists: test list with grid as its first child</title>
4
<link rel=help href="https://www.w3.org/TR/CSS22/generate.html#lists">
4
<link rel=help href="https://www.w3.org/TR/CSS22/generate.html#lists">
5
<link rel=match href="list-and-grid-001-ref.html">
5
<link rel=match href="list-and-grid-001-ref.html">
6
<!--  https://bugs.chromium.org/p/chromium/issues/detail?id=767408  -->
6
<!-- https://bugs.chromium.org/p/chromium/issues/detail?id=767408 -->
7
7
8
<p>There should be no extra line generated between the marker and the grid.</p>
8
<p>There should be no extra line generated between the marker and the grid.</p>
9
9
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-lists/list-and-margin-collapse-001.html -3 / +3 lines
Lines 2-11 a/LayoutTests/imported/w3c/web-platform-tests/css/css-lists/list-and-margin-collapse-001.html_sec1
2
<meta charset="utf-8">
2
<meta charset="utf-8">
3
<title>CSS Lists: test the margin collapse of marker</title>
3
<title>CSS Lists: test the margin collapse of marker</title>
4
<link rel=help href="https://www.w3.org/TR/CSS22/generate.html#lists">
4
<link rel=help href="https://www.w3.org/TR/CSS22/generate.html#lists">
5
<!--  https://bugs.chromium.org/p/chromium/issues/detail?id=767408  -->
5
<!-- https://bugs.chromium.org/p/chromium/issues/detail?id=767408 -->
6
6
7
<script src="../../../../../resources/testharness.js"></script>
7
<script src="/resources/testharness.js"></script>
8
<script src="../../../../../resources/testharnessreport.js"></script>
8
<script src="/resources/testharnessreport.js"></script>
9
9
10
<div id="log"></div>
10
<div id="log"></div>
11
11
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-lists/list-and-margin-collapse-002-expected.txt +3 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-lists/list-and-margin-collapse-002-expected.txt_sec1
1
2
PASS list and margin collapse 
3
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-lists/list-and-margin-collapse-002.html +31 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-lists/list-and-margin-collapse-002.html_sec1
1
<!DOCTYPE html>
2
<meta charset="utf-8">
3
<title>CSS Lists: test the margin collapse of marker</title>
4
<link rel=help href="https://www.w3.org/TR/CSS22/generate.html#lists">
5
<link rel="help" href="http://crbug.com/969741">
6
7
<script src="/resources/testharness.js"></script>
8
<script src="/resources/testharnessreport.js"></script>
9
10
<div id="log"></div>
11
12
<div id="target_with_marker" style="overflow:hidden; width:100px;">
13
  <div style="margin-bottom:100px;"></div>
14
  <div style="display:list-item; margin-left:100px; height:0px;"></div>
15
  <div style="margin-top:100px;"></div>
16
</div>
17
18
<div id="target_without_marker" style="overflow:hidden; width:100px;">
19
  <div style="margin-bottom:100px;"></div>
20
  <div style="display:list-item; margin-left:100px; list-style:none;"></div>
21
  <div style="margin-top:100px;"></div>
22
</div>
23
24
<script>
25
test(function() {
26
  var height_with_marker = document.getElementById("target_with_marker").clientHeight;
27
  assert_equals(height_with_marker, 200, "Should not allow margin-collapsing through if list is with marker.");
28
  var height_without_marker = document.getElementById("target_without_marker").clientHeight;
29
  assert_equals(height_without_marker, 100, "Should allow margin-collapsing through if list is without marker.");
30
}, "list and margin collapse");
31
</script>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-lists/list-and-writing-mode-001.html -3 / +3 lines
Lines 2-11 a/LayoutTests/imported/w3c/web-platform-tests/css/css-lists/list-and-writing-mode-001.html_sec1
2
<meta charset="utf-8">
2
<meta charset="utf-8">
3
<title>CSS Lists: test list with root writing-mode as its first child</title>
3
<title>CSS Lists: test list with root writing-mode as its first child</title>
4
<link rel=help href="https://www.w3.org/TR/CSS22/generate.html#lists">
4
<link rel=help href="https://www.w3.org/TR/CSS22/generate.html#lists">
5
<!--  https://bugs.chromium.org/p/chromium/issues/detail?id=767408  -->
5
<!-- https://bugs.chromium.org/p/chromium/issues/detail?id=767408 -->
6
6
7
<script src="../../../../../resources/testharness.js"></script>
7
<script src="/resources/testharness.js"></script>
8
<script src="../../../../../resources/testharnessreport.js"></script>
8
<script src="/resources/testharnessreport.js"></script>
9
9
10
<div id="log"></div>
10
<div id="log"></div>
11
11
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-lists/list-inside-contain-expected.txt +5 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-lists/list-inside-contain-expected.txt_sec1
1
PASS if no crash or DCHECK failure.
2
3
4
PASS CSS Lists: list inside a contain ul 
5
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-lists/list-inside-contain.html +32 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-lists/list-inside-contain.html_sec1
1
<!DOCTYPE html>
2
<head>
3
  <meta charset="utf-8">
4
  <title>CSS Lists: list inside a contain ul</title>
5
  <link rel=help href="https://www.w3.org/TR/CSS22/generate.html#lists">
6
  <link rel="help" href="http://crbug.com/1004764">
7
  <script src="/resources/testharness.js"></script>
8
  <script src="/resources/testharnessreport.js"></script>
9
10
  <style>
11
    ul { contain: size layout; }
12
    li { list-style: inside; columns: 1; background-image: url(#svgvar00008); }
13
  </style>
14
</head>
15
16
<script>
17
setup({ single_test: true });
18
19
function changeBackground() {
20
  document.getElementById("target").style.setProperty("background", "url(data:image/gif;base64,R0lGODlhEAAQAMQAAORHHOVSKudfOulrSOp3WOyDZu6QdvCchPGolfO0o/XBs/fNwfjZ0frl3/zy7////wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5BAkAABAALAAAAAAQABAAAAVVICSOZGlCQAosJ6mu7fiyZeKqNKToQGDsM8hBADgUXoGAiqhSvp5QAnQKGIgUhwFUYLCVDFCrKUE1lBavAViFIDlTImbKC5Gm2hB0SlBCBMQiB0UjIQA7) no-repeat scroll top right");
21
22
  done();
23
}
24
</script>
25
26
<body onload=requestAnimationFrame(changeBackground)>
27
  <p>PASS if no crash or DCHECK failure.</p>
28
  <ul>
29
    <li id="target">
30
    </li>
31
  </ul>
32
</body>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-lists/list-item-definition-expected.html +14 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-lists/list-item-definition-expected.html_sec1
1
<!doctype html>
2
<title>CSS Test Reference</title>
3
<link rel="author" href="mailto:emilio@crisal.io" title="Emilio Cobos Álvarez">
4
<link rel="author" href="https://mozilla.org" title="Mozilla">
5
<ol>
6
  <svg style="display: list-item"></svg>
7
  <img style="display: list-item">
8
  <img style="display: list-item" alt="Foo">
9
  <li value="4">Foo
10
  <li>Bar
11
  <div style="display: list-item"><div style="display: list-item">Before</div>WithBefore</div>
12
  <div style="display: list-item">WithAfter<div style="display: list-item">After</div></div>
13
  <li value="10">Baz
14
</ol>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-lists/list-item-definition.html +27 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-lists/list-item-definition.html_sec1
1
<!doctype html>
2
<title>The definition of what a list-item is only depends on the display value</title>
3
<link rel="help" href="https://drafts.csswg.org/css-lists/#list-item">
4
<link rel="help" href="https://bugzilla.mozilla.org/show_bug.cgi?id=1539171">
5
<link rel="help" href="https://bugzilla.mozilla.org/show_bug.cgi?id=1543758">
6
<link rel="author" href="mailto:emilio@crisal.io" title="Emilio Cobos Álvarez">
7
<link rel="author" href="https://mozilla.org" title="Mozilla">
8
<link rel="match" href="list-item-definition-ref.html">
9
<style>
10
  .before::before, .after::after {
11
    display: list-item;
12
    content: "Before";
13
  }
14
  .after::after {
15
    content: "After";
16
  }
17
</style>
18
<ol>
19
  <svg style="display: list-item"></svg>
20
  <img style="display: list-item">
21
  <img style="display: list-item" alt="Foo">
22
  <div style="display: list-item">Foo</div>
23
  <li>Bar
24
  <li class="before">WithBefore
25
  <li class="after">WithAfter
26
  <li>Baz
27
</ol>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-lists/list-marker-alignment-expected.html +9 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-lists/list-marker-alignment-expected.html_sec1
1
<!DOCTYPE html>
2
<div style="display:inline-block;">
3
  <ul>
4
    <li>
5
        xx
6
    </li>
7
    xx
8
  </ul>
9
</div>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-lists/list-marker-alignment.html +13 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-lists/list-marker-alignment.html_sec1
1
<!DOCTYPE html>
2
<link rel="help" href="https://crbug.com/1051181">
3
<link rel="match" href="list-marker-alignment-ref.html">
4
<meta name="assert" content="This test checks the list marker aligns to the first baseline.">
5
<div style="display:inline-block;">
6
  <ul>
7
    <li>
8
      <p>
9
        xx<br>xx
10
      </p>
11
    </li>
12
  </ul>
13
</div>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-lists/list-marker-symbol-bidi-expected.html +125 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-lists/list-marker-symbol-bidi-expected.html_sec1
1
<!DOCTYPE html>
2
<meta charset="utf-8">
3
<title>CSS Reference: Symbol markers with unicode-bidi</title>
4
<link rel="author" title="Oriol Brufau" href="mailto:obrufau@igalia.com">
5
<style>
6
section {
7
  float: left;
8
}
9
.inside {
10
  list-style-position: inside;
11
}
12
span {
13
  float: right;
14
}
15
</style>
16
<section>
17
  <ul dir="ltr">
18
    <li class="outside embed-none">text</li>
19
    <li class="outside embed-item">text</li>
20
    <li class="outside embed-marker">text</li>
21
    <li class="outside embed-both">text</li>
22
    <li class="inside embed-none">text</li>
23
    <li class="inside embed-item">text</li>
24
    <li class="inside embed-marker">text</li>
25
    <li class="inside embed-both">text</li>
26
  </ul>
27
  <ul dir="rtl">
28
    <li class="outside isolate-none">text</li>
29
    <li class="outside isolate-item">text</li>
30
    <li class="outside isolate-marker">text</li>
31
    <li class="outside isolate-both">text</li>
32
    <li class="inside isolate-none">text</li>
33
    <li class="inside isolate-item">text</li>
34
    <li class="inside isolate-marker">text</li>
35
    <li class="inside isolate-both">text</li>
36
  </ul>
37
</section>
38
<section>
39
  <ul dir="ltr">
40
    <li class="outside isolate-none">text</li>
41
    <li class="outside isolate-item">text</li>
42
    <li class="outside isolate-marker">text</li>
43
    <li class="outside isolate-both">text</li>
44
    <li class="inside isolate-none">text</li>
45
    <li class="inside isolate-item">text</li>
46
    <li class="inside isolate-marker">text</li>
47
    <li class="inside isolate-both">text</li>
48
  </ul>
49
  <ul dir="rtl">
50
    <li class="outside isolate-none">text</li>
51
    <li class="outside isolate-item">text</li>
52
    <li class="outside isolate-marker">text</li>
53
    <li class="outside isolate-both">text</li>
54
    <li class="inside isolate-none">text</li>
55
    <li class="inside isolate-item">text</li>
56
    <li class="inside isolate-marker">text</li>
57
    <li class="inside isolate-both">text</li>
58
  </ul>
59
</section>
60
<section>
61
  <ul dir="ltr">
62
    <li class="outside override-none">text</li>
63
    <li class="outside override-item">text</li>
64
    <li class="outside override-marker">text</li>
65
    <li class="outside override-both">text</li>
66
    <li class="inside override-none">text</li>
67
    <li class="inside override-item">text</li>
68
    <li class="inside override-marker">text</li>
69
    <li class="inside override-both">text</li>
70
  </ul>
71
  <ul dir="rtl">
72
    <li class="outside override-none">text</li>
73
    <li class="outside override-item">txet</li>
74
    <li class="outside override-marker">text</li>
75
    <li class="outside override-both">txet</li>
76
    <li class="inside override-none">text</li>
77
    <li class="inside override-item">txet</li>
78
    <li class="inside override-marker">text</li>
79
    <li class="inside override-both">txet</li>
80
  </ul>
81
</section>
82
<section>
83
  <ul dir="ltr">
84
    <li class="outside isolateoverride-none">text</li>
85
    <li class="outside isolateoverride-item">text</li>
86
    <li class="outside isolateoverride-marker">text</li>
87
    <li class="outside isolateoverride-both">text</li>
88
    <li class="inside isolateoverride-none">text</li>
89
    <li class="inside isolateoverride-item">text</li>
90
    <li class="inside isolateoverride-marker">text</li>
91
    <li class="inside isolateoverride-both">text</li>
92
  </ul>
93
  <ul dir="rtl">
94
    <li class="outside isolateoverride-none">text</li>
95
    <li class="outside isolateoverride-item">txet</li>
96
    <li class="outside isolateoverride-marker">text</li>
97
    <li class="outside isolateoverride-both">txet</li>
98
    <li class="inside isolateoverride-none">text</li>
99
    <li class="inside isolateoverride-item">txet</li>
100
    <li class="inside isolateoverride-marker">text</li>
101
    <li class="inside isolateoverride-both">txet</li>
102
  </ul>
103
</section>
104
<section>
105
  <ul dir="ltr">
106
    <li class="outside plaintext-none">text</li>
107
    <li class="outside plaintext-item">text</li>
108
    <li class="outside plaintext-marker">text</li>
109
    <li class="outside plaintext-both">text</li>
110
    <li class="inside plaintext-none">text</li>
111
    <li class="inside plaintext-item">text</li>
112
    <li class="inside plaintext-marker">text</li>
113
    <li class="inside plaintext-both">text</li>
114
  </ul>
115
  <ul dir="rtl">
116
    <li class="outside plaintext-none">text</li>
117
    <li class="outside plaintext-item">text</li>
118
    <li class="outside plaintext-marker">text</li>
119
    <li class="outside plaintext-both">text</li>
120
    <li class="inside plaintext-none">text</li>
121
    <li class="inside plaintext-item"><span>text</span></li>
122
    <li class="inside plaintext-marker">text</li>
123
    <li class="inside plaintext-both"><span>text</span></li>
124
  </ul>
125
</section>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-lists/list-marker-symbol-bidi.html +147 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-lists/list-marker-symbol-bidi.html_sec1
1
<!DOCTYPE html>
2
<meta charset="utf-8">
3
<title>Symbol markers with unicode-bidi</title>
4
<link rel="author" title="Oriol Brufau" href="mailto:obrufau@igalia.com">
5
<link rel="help" href="https://drafts.csswg.org/css-lists/#markers" title="3. Markers">
6
<link rel="match" href="list-marker-symbol-bidi-ref.html">
7
<meta name="assert" content="This test checks that symbol markers are painted independently of unicode-bidi.">
8
<style>
9
section {
10
  float: left;
11
}
12
.inside {
13
  list-style-position: inside;
14
}
15
.embed-item, .embed-both {
16
  unicode-bidi: embed;
17
}
18
.isolate-item, .isolate-both {
19
  unicode-bidi: isolate;
20
}
21
.override-item, .override-both {
22
  unicode-bidi: bidi-override;
23
}
24
.isolateoverride-item, .isolateoverride-both {
25
  unicode-bidi: isolate-override;
26
}
27
.plaintext-item, .plaintext-both {
28
  unicode-bidi: plaintext;
29
}
30
.embed-item::marker, .embed-none::marker,
31
.isolate-item::marker, .isolate-none::marker,
32
.override-item::marker, .override-none::marker,
33
.paintext-item::marker, .paintext-none::marker,
34
.isolateoverride-item::marker, .isolateoverride-none::marker {
35
  unicode-bidi: normal;
36
}
37
</style>
38
<section>
39
  <ul dir="ltr">
40
    <li class="outside embed-none">text</li>
41
    <li class="outside embed-item">text</li>
42
    <li class="outside embed-marker">text</li>
43
    <li class="outside embed-both">text</li>
44
    <li class="inside embed-none">text</li>
45
    <li class="inside embed-item">text</li>
46
    <li class="inside embed-marker">text</li>
47
    <li class="inside embed-both">text</li>
48
  </ul>
49
  <ul dir="rtl">
50
    <li class="outside isolate-none">text</li>
51
    <li class="outside isolate-item">text</li>
52
    <li class="outside isolate-marker">text</li>
53
    <li class="outside isolate-both">text</li>
54
    <li class="inside isolate-none">text</li>
55
    <li class="inside isolate-item">text</li>
56
    <li class="inside isolate-marker">text</li>
57
    <li class="inside isolate-both">text</li>
58
  </ul>
59
</section>
60
<section>
61
  <ul dir="ltr">
62
    <li class="outside isolate-none">text</li>
63
    <li class="outside isolate-item">text</li>
64
    <li class="outside isolate-marker">text</li>
65
    <li class="outside isolate-both">text</li>
66
    <li class="inside isolate-none">text</li>
67
    <li class="inside isolate-item">text</li>
68
    <li class="inside isolate-marker">text</li>
69
    <li class="inside isolate-both">text</li>
70
  </ul>
71
  <ul dir="rtl">
72
    <li class="outside isolate-none">text</li>
73
    <li class="outside isolate-item">text</li>
74
    <li class="outside isolate-marker">text</li>
75
    <li class="outside isolate-both">text</li>
76
    <li class="inside isolate-none">text</li>
77
    <li class="inside isolate-item">text</li>
78
    <li class="inside isolate-marker">text</li>
79
    <li class="inside isolate-both">text</li>
80
  </ul>
81
</section>
82
<section>
83
  <ul dir="ltr">
84
    <li class="outside override-none">text</li>
85
    <li class="outside override-item">text</li>
86
    <li class="outside override-marker">text</li>
87
    <li class="outside override-both">text</li>
88
    <li class="inside override-none">text</li>
89
    <li class="inside override-item">text</li>
90
    <li class="inside override-marker">text</li>
91
    <li class="inside override-both">text</li>
92
  </ul>
93
  <ul dir="rtl">
94
    <li class="outside override-none">text</li>
95
    <li class="outside override-item">text</li>
96
    <li class="outside override-marker">text</li>
97
    <li class="outside override-both">text</li>
98
    <li class="inside override-none">text</li>
99
    <li class="inside override-item">text</li>
100
    <li class="inside override-marker">text</li>
101
    <li class="inside override-both">text</li>
102
  </ul>
103
</section>
104
<section>
105
  <ul dir="ltr">
106
    <li class="outside isolateoverride-none">text</li>
107
    <li class="outside isolateoverride-item">text</li>
108
    <li class="outside isolateoverride-marker">text</li>
109
    <li class="outside isolateoverride-both">text</li>
110
    <li class="inside isolateoverride-none">text</li>
111
    <li class="inside isolateoverride-item">text</li>
112
    <li class="inside isolateoverride-marker">text</li>
113
    <li class="inside isolateoverride-both">text</li>
114
  </ul>
115
  <ul dir="rtl">
116
    <li class="outside isolateoverride-none">text</li>
117
    <li class="outside isolateoverride-item">text</li>
118
    <li class="outside isolateoverride-marker">text</li>
119
    <li class="outside isolateoverride-both">text</li>
120
    <li class="inside isolateoverride-none">text</li>
121
    <li class="inside isolateoverride-item">text</li>
122
    <li class="inside isolateoverride-marker">text</li>
123
    <li class="inside isolateoverride-both">text</li>
124
  </ul>
125
</section>
126
<section>
127
  <ul dir="ltr">
128
    <li class="outside plaintext-none">text</li>
129
    <li class="outside plaintext-item">text</li>
130
    <li class="outside plaintext-marker">text</li>
131
    <li class="outside plaintext-both">text</li>
132
    <li class="inside plaintext-none">text</li>
133
    <li class="inside plaintext-item">text</li>
134
    <li class="inside plaintext-marker">text</li>
135
    <li class="inside plaintext-both">text</li>
136
  </ul>
137
  <ul dir="rtl">
138
    <li class="outside plaintext-none">text</li>
139
    <li class="outside plaintext-item">text</li>
140
    <li class="outside plaintext-marker">text</li>
141
    <li class="outside plaintext-both">text</li>
142
    <li class="inside plaintext-none">text</li>
143
    <li class="inside plaintext-item">text</li>
144
    <li class="inside plaintext-marker">text</li>
145
    <li class="inside plaintext-both">text</li>
146
  </ul>
147
</section>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-lists/list-marker-with-lineheight-and-overflow-hidden-001.html -1 / +1 lines
Lines 3-9 a/LayoutTests/imported/w3c/web-platform-tests/css/css-lists/list-marker-with-lineheight-and-overflow-hidden-001.html_sec1
3
<title>CSS Lists: test list with overflow:hidden and line-height firstchild</title>
3
<title>CSS Lists: test list with overflow:hidden and line-height firstchild</title>
4
<link rel=help href="https://www.w3.org/TR/CSS22/generate.html#lists">
4
<link rel=help href="https://www.w3.org/TR/CSS22/generate.html#lists">
5
<link rel=match href="list-marker-with-lineheight-and-overflow-hidden-001-ref.html">
5
<link rel=match href="list-marker-with-lineheight-and-overflow-hidden-001-ref.html">
6
<!--  https://bugs.chromium.org/p/chromium/issues/detail?id=344941  -->
6
<!-- https://bugs.chromium.org/p/chromium/issues/detail?id=344941 -->
7
7
8
<p>This test passes if there is a marker for each li and followed by "text" in the same line.</p>
8
<p>This test passes if there is a marker for each li and followed by "text" in the same line.</p>
9
9
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-lists/list-style-image-zoom-dynamic-expected.html +35 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-lists/list-style-image-zoom-dynamic-expected.html_sec1
1
<!DOCTYPE html>
2
<html class="reftest-waitt">
3
<meta charset="utf-8">
4
<title>CSS Reference: Image list markers with dynamic zoom</title>
5
<link rel="author" title="Oriol Brufau" href="mailto:obrufau@igalia.com">
6
<style>
7
body {
8
  zoom: 2;
9
}
10
ol {
11
  list-style-position: inside;
12
}
13
.gradient {
14
  list-style-image: linear-gradient(blue, cyan);
15
}
16
.image {
17
  list-style-image: url("/css/support/blue-100.png");
18
}
19
.svg {
20
  list-style-image: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' style='background: blue'></svg>");
21
}
22
</style>
23
<ol>
24
  <li class="gradient">text</li>
25
  <li class="image">text</li>
26
  <li class="svg">text</li>
27
</ol>
28
<script src="/common/reftest-wait.js"></script>
29
<script>
30
// Use a "load" event listener to ensure the images have been loaded.
31
addEventListener("load", () => {
32
  takeScreenshot();
33
}, {once: true});
34
</script>
35
</html>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-lists/list-style-image-zoom-dynamic.html +40 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-lists/list-style-image-zoom-dynamic.html_sec1
1
<!DOCTYPE html>
2
<html class="reftest-wait">
3
<meta charset="utf-8">
4
<title>CSS Test: Image list markers with dynamic zoom</title>
5
<link rel="author" title="Oriol Brufau" href="mailto:obrufau@igalia.com">
6
<link rel="help" href="https://drafts.csswg.org/css-lists/#image-markers">
7
<link rel="match" href="list-style-image-zoom-dynamic-ref.html">
8
<meta name="assert" content="Checks that, if the non-standard 'zoom' property is supported, list marker images are correctly updated when the 'zoom' value changes dynamically.">
9
<style>
10
.zoom {
11
  zoom: 2;
12
}
13
ol {
14
  list-style-position: inside;
15
}
16
.gradient {
17
  list-style-image: linear-gradient(blue, cyan);
18
}
19
.image {
20
  list-style-image: url("/css/support/blue-100.png");
21
}
22
.svg {
23
  list-style-image: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' style='background: blue'></svg>");
24
}
25
</style>
26
<ol>
27
  <li class="gradient">text</li>
28
  <li class="image">text</li>
29
  <li class="svg">text</li>
30
</ol>
31
<script src="/common/reftest-wait.js"></script>
32
<script>
33
// Use a "load" event listener to ensure the images have been loaded.
34
addEventListener("load", () => {
35
  document.body.offsetLeft;
36
  document.body.classList.add("zoom");
37
  takeScreenshot();
38
}, {once: true});
39
</script>
40
</html>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-lists/list-style-type-armenian-002.xht -73 / +73 lines
Lines 24-103 ol { margin: 0; padding-left: 8em; } a/LayoutTests/imported/w3c/web-platform-tests/css/css-lists/list-style-type-armenian-002.xht_sec1
24
24
25
25
26
<div class="test">
26
<div class="test">
27
			<ol class="armenian">
27
  <ol class="armenian">
28
				<li title="1">Ա</li>
28
    <li title="1">Ա</li>
29
				<li title="2">Բ</li>
29
    <li title="2">Բ</li>
30
				<li title="3">Գ</li>
30
    <li title="3">Գ</li>
31
				<li title="4">Դ</li>
31
    <li title="4">Դ</li>
32
				<li title="5">Ե</li>
32
    <li title="5">Ե</li>
33
				<li title="6">Զ</li>
33
    <li title="6">Զ</li>
34
				<li title="7">Է</li>
34
    <li title="7">Է</li>
35
				<li title="8">Ը</li>
35
    <li title="8">Ը</li>
36
				<li title="9">Թ</li>
36
    <li title="9">Թ</li>
37
				<li title="10">Ժ</li>
37
    <li title="10">Ժ</li>
38
				<li title="11">ԺԱ</li>
38
    <li title="11">ԺԱ</li>
39
				<li title="12">ԺԲ</li>
39
    <li title="12">ԺԲ</li>
40
			</ol>
40
  </ol>
41
			<ol class="armenian" start="43">
41
  <ol class="armenian" start="43">
42
				<li title="43">ԽԳ</li>
42
    <li title="43">ԽԳ</li>
43
			</ol>
43
  </ol>
44
			<ol class="armenian" start="77">
44
  <ol class="armenian" start="77">
45
				<li title="77">ՀԷ</li>
45
    <li title="77">ՀԷ</li>
46
			</ol>
46
  </ol>
47
			<ol class="armenian" start="80">
47
  <ol class="armenian" start="80">
48
				<li title="80">Ձ</li>
48
    <li title="80">Ձ</li>
49
			</ol>
49
  </ol>
50
			<ol class="armenian" start="99">
50
  <ol class="armenian" start="99">
51
				<li title="99">ՂԹ</li>
51
    <li title="99">ՂԹ</li>
52
				<li title="100">Ճ</li>
52
    <li title="100">Ճ</li>
53
				<li title="101">ՃԱ</li>
53
    <li title="101">ՃԱ</li>
54
			</ol>
54
  </ol>
55
			<ol class="armenian" start="222">
55
  <ol class="armenian" start="222">
56
				<li title="222">ՄԻԲ</li>
56
    <li title="222">ՄԻԲ</li>
57
			</ol>
57
  </ol>
58
			<ol class="armenian" start="540">
58
  <ol class="armenian" start="540">
59
				<li title="540">ՇԽ</li>
59
    <li title="540">ՇԽ</li>
60
			</ol>
60
  </ol>
61
			<ol class="armenian" start="999">
61
  <ol class="armenian" start="999">
62
				<li title="999">ՋՂԹ</li>
62
    <li title="999">ՋՂԹ</li>
63
				<li title="1000">Ռ</li>
63
    <li title="1000">Ռ</li>
64
			</ol>
64
  </ol>
65
			<ol class="armenian" start="1005">
65
  <ol class="armenian" start="1005">
66
				<li title="1005">ՌԵ</li>
66
    <li title="1005">ՌԵ</li>
67
			</ol>
67
  </ol>
68
			<ol class="armenian" start="1060">
68
  <ol class="armenian" start="1060">
69
				<li title="1060">ՌԿ</li>
69
    <li title="1060">ՌԿ</li>
70
			</ol>
70
  </ol>
71
			<ol class="armenian" start="1065">
71
  <ol class="armenian" start="1065">
72
				<li title="1065">ՌԿԵ</li>
72
    <li title="1065">ՌԿԵ</li>
73
			</ol>
73
  </ol>
74
			<ol class="armenian" start="1800">
74
  <ol class="armenian" start="1800">
75
				<li title="1800">ՌՊ</li>
75
    <li title="1800">ՌՊ</li>
76
			</ol>
76
  </ol>
77
			<ol class="armenian" start="1860">
77
  <ol class="armenian" start="1860">
78
				<li title="1860">ՌՊԿ</li>
78
    <li title="1860">ՌՊԿ</li>
79
			</ol>
79
  </ol>
80
			<ol class="armenian" start="1865">
80
  <ol class="armenian" start="1865">
81
				<li title="1865">ՌՊԿԵ</li>
81
    <li title="1865">ՌՊԿԵ</li>
82
			</ol>
82
  </ol>
83
			<ol class="armenian" start="5865">
83
  <ol class="armenian" start="5865">
84
				<li title="5865">ՐՊԿԵ</li>
84
    <li title="5865">ՐՊԿԵ</li>
85
			</ol>
85
  </ol>
86
			<ol class="armenian" start="7005">
86
  <ol class="armenian" start="7005">
87
				<li title="7005">ՈՒԵ</li>
87
    <li title="7005">ՈՒԵ</li>
88
			</ol>
88
  </ol>
89
			<ol class="armenian" start="7800">
89
  <ol class="armenian" start="7800">
90
				<li title="7800">ՈՒՊ</li>
90
    <li title="7800">ՈՒՊ</li>
91
			</ol>
91
  </ol>
92
			<ol class="armenian" start="7865">
92
  <ol class="armenian" start="7865">
93
				<li title="7865">ՈՒՊԿԵ</li>
93
    <li title="7865">ՈՒՊԿԵ</li>
94
			</ol>
94
  </ol>
95
			<ol class="armenian" start="9999">
95
  <ol class="armenian" start="9999">
96
				<li title="9999">ՔՋՂԹ</li>
96
    <li title="9999">ՔՋՂԹ</li>
97
			</ol>
97
  </ol>
98
		</div>
98
</div>
99
99
100
100
101
<!-- p class="notes">Notes: <br />CSS2.1 CR specifies an armenian property, but does not specify in any detail the mechanism for implementing it. Expectations for behavior in these tests are based on the descriptions of lower-armenian and upper-armenian in the version of the CSS3 Lists module current at the time this test was last updated.</p><p class="notes">The test uses the start attribute to reduce the size of the list.  This attribute is deprecated or unavailable in some formats, causing the test page not to validate, but appears to be supported in major browsers anyway (and will be reinstated in HTML5).</p><p class="notes">Both upper and lowercase variants are shown here because the test is about the generative mechanism. The case is tested elsewhere.</p -->
101
<!--p class="notes">Notes: <br />CSS2.1 CR specifies an armenian property, but does not specify in any detail the mechanism for implementing it. Expectations for behavior in these tests are based on the descriptions of lower-armenian and upper-armenian in the version of the CSS3 Lists module current at the time this test was last updated.</p><p class="notes">The test uses the start attribute to reduce the size of the list.  This attribute is deprecated or unavailable in some formats, causing the test page not to validate, but appears to be supported in major browsers anyway (and will be reinstated in HTML5).</p><p class="notes">Both upper and lowercase variants are shown here because the test is about the generative mechanism. The case is tested elsewhere.</p-->
102
</body>
102
</body>
103
</html>
103
</html>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-lists/list-style-type-armenian-003.xht -12 / +12 lines
Lines 24-42 ol { margin: 0; padding-left: 8em; } a/LayoutTests/imported/w3c/web-platform-tests/css/css-lists/list-style-type-armenian-003.xht_sec1
24
24
25
25
26
<div class="test">
26
<div class="test">
27
			<ol class="armenian" start="10000">
27
  <ol class="armenian" start="10000">
28
				<li title="10,000">Ա̂</li>
28
    <li title="10,000">Ա̂</li>
29
				<li title="10,001">Ա̂Ա</li>
29
    <li title="10,001">Ա̂Ա</li>
30
			</ol>
30
  </ol>
31
			<ol class="armenian" start="55465">
31
  <ol class="armenian" start="55465">
32
				<li title="55,465">Ե̂ՐՆԿԵ</li>
32
    <li title="55,465">Ե̂ՐՆԿԵ</li>
33
			</ol>
33
  </ol>
34
			<ol class="armenian" start="655465">
34
  <ol class="armenian" start="655465">
35
				<li title="655,465">Կ̂Ե̂ՐՆԿԵ</li>
35
    <li title="655,465">Կ̂Ե̂ՐՆԿԵ</li>
36
			</ol>
36
  </ol>
37
		</div>
37
</div>
38
38
39
39
40
<!-- p class="notes">Notes: <br />CSS2.1 CR specifies an armenian property, but does not specify in any detail the mechanism for implementing it. Expectations for behavior in these tests are based on the descriptions of lower-armenian and upper-armenian in the version of the CSS3 Lists module current at the time this test was last updated.</p><p class="notes">The test uses the start attribute to reduce the size of the list.  This attribute is deprecated or unavailable in some formats, causing the test page not to validate, but appears to be supported in major browsers anyway (and will be reinstated in HTML5).</p><p class="notes">Both upper and lowercase variants are shown here because the test is about the generative mechanism. The case is tested elsewhere.</p -->
40
<!--p class="notes">Notes: <br />CSS2.1 CR specifies an armenian property, but does not specify in any detail the mechanism for implementing it. Expectations for behavior in these tests are based on the descriptions of lower-armenian and upper-armenian in the version of the CSS3 Lists module current at the time this test was last updated.</p><p class="notes">The test uses the start attribute to reduce the size of the list.  This attribute is deprecated or unavailable in some formats, causing the test page not to validate, but appears to be supported in major browsers anyway (and will be reinstated in HTML5).</p><p class="notes">Both upper and lowercase variants are shown here because the test is about the generative mechanism. The case is tested elsewhere.</p-->
41
</body>
41
</body>
42
</html>
42
</html>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-lists/list-type-none-style-image-expected.html +17 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-lists/list-type-none-style-image-expected.html_sec1
1
<!DOCTYPE html>
2
<html>
3
  <head>
4
    <title>Reference: CSS Lists: 'list-style-image' takes precedence over 'list-style-type: none'</title>
5
    <link rel="author" title="Emil A Eklund" href="mailto:eae@chromium.org">
6
    <style>
7
      li {
8
        list-style-image: url('../../images/green-16x16.png');
9
      }
10
    </style>
11
  </head>
12
  <body>
13
    <ul>
14
      <li>Should have a green square list marker.</li>
15
    </ul>
16
  </body>
17
</html>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-lists/list-type-none-style-image.html +22 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-lists/list-type-none-style-image.html_sec1
1
<!DOCTYPE html>
2
<html>
3
  <head>
4
    <title>CSS Lists: 'list-style-image' takes precedence over 'list-style-type: none'</title>
5
    <link rel="author" title="Emil A Eklund" href="mailto:eae@chromium.org">
6
    <link rel="help" href="https://www.w3.org/TR/CSS2/generate.html#propdef-list-style-image">
7
    <link rel="match" href="list-type-none-style-image-ref.html">
8
    <style>
9
      ul {
10
        list-style-type: none;
11
      }
12
      li {
13
        list-style-image: url('../../images/green-16x16.png');
14
      }
15
    </style>
16
  </head>
17
  <body>
18
    <ul>
19
      <li>Should have a green square list marker.</li>
20
    </ul>
21
  </body>
22
</html>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-lists/list-with-image-display-changed-001.html -1 / +1 lines
Lines 3-9 a/LayoutTests/imported/w3c/web-platform-tests/css/css-lists/list-with-image-display-changed-001.html_sec1
3
<title>CSS Lists: test list with firstchild changing display</title>
3
<title>CSS Lists: test list with firstchild changing display</title>
4
<link rel=help href="https://github.com/w3c/csswg-drafts/issues/2787">
4
<link rel=help href="https://github.com/w3c/csswg-drafts/issues/2787">
5
<link rel=match href="list-with-image-display-changed-001-ref.html">
5
<link rel=match href="list-with-image-display-changed-001-ref.html">
6
<!--  https://bugs.chromium.org/p/chromium/issues/detail?id=715288  -->
6
<!-- https://bugs.chromium.org/p/chromium/issues/detail?id=715288 -->
7
<meta name="assert" content="
7
<meta name="assert" content="
8
    After the display of img being changed from block to inline, then back to block,
8
    After the display of img being changed from block to inline, then back to block,
9
    the final position of marker should be the same as the beginning." />
9
    the final position of marker should be the same as the beginning." />
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-lists/nested-list-with-list-style-type-none-expected.txt +5 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-lists/nested-list-with-list-style-type-none-expected.txt_sec1
1
PASS if no crash or DCHECK failure in quirks mode.
2
3
4
PASS CSS Lists: test the margin collapse of marker 
5
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-lists/nested-list-with-list-style-type-none.html +29 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-lists/nested-list-with-list-style-type-none.html_sec1
1
<meta charset="utf-8">
2
<title>CSS Lists: test the margin collapse of marker</title>
3
<link rel=help href="https://www.w3.org/TR/CSS22/generate.html#lists">
4
<link rel="help" href="http://crbug.com/985298">
5
<script src="/resources/testharness.js"></script>
6
<script src="/resources/testharnessreport.js"></script>
7
8
<style>
9
li {
10
  list-style-type:none;
11
  list-style-image:url(images/white.gif);
12
}
13
</style>
14
<body>
15
  <p>PASS if no crash or DCHECK failure in quirks mode.</p>
16
  <ul>
17
    <li>
18
      <ul></ul>
19
    </li>
20
  </ul>
21
  <script type="text/javascript">
22
    setup({ single_test: true });
23
    // TODO(jugglinmike): If accepted, WPT RFC #33 will introduce a new test
24
    // type intended to simplify tests like this one. Refactor this test to the
25
    // new test type following its acceptance.
26
    // https://github.com/web-platform-tests/rfcs/pull/33
27
    done();
28
  </script>
29
</body>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-lists/nested-marker-dynamic-expected.html +15 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-lists/nested-marker-dynamic-expected.html_sec1
1
<!doctype html>
2
<title>CSS test reference</title>
3
<link rel="author" href="mailto:emilio@crisal.io" title="Emilio Cobos Álvarez">
4
<link rel="author" href="https://mozilla.org" title="Mozilla">
5
<style>
6
  li::marker {
7
    color: blue;
8
  }
9
  div {
10
    display: list-item;
11
  }
12
</style>
13
<ol>
14
  <li><div>Before</div>Foo<div>After</div>
15
  <li><div>Before</div>Bar<div>After</div>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-lists/nested-marker-dynamic.html +36 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-lists/nested-marker-dynamic.html_sec1
1
<!doctype html>
2
<title>::marker pseudo-elements generated by ::before and ::after are not addressable by selectors</title>
3
<link rel="help" href="https://drafts.csswg.org/css-lists/#list-item">
4
<link rel="help" href="https://bugzilla.mozilla.org/show_bug.cgi?id=1539171">
5
<link rel="help" href="https://bugzilla.mozilla.org/show_bug.cgi?id=1543758">
6
<link rel="author" href="mailto:emilio@crisal.io" title="Emilio Cobos Álvarez">
7
<link rel="author" href="https://mozilla.org" title="Mozilla">
8
<link rel="match" href="nested-marker-ref.html">
9
<style>
10
  li, ::marker {
11
    color: red;
12
  }
13
  li::before, li::after {
14
    display: list-item;
15
    content: "Before";
16
  }
17
  li::after {
18
    content: "After";
19
  }
20
  .tweak::marker {
21
    color: blue;
22
  }
23
  .tweak, .tweak::before, .tweak::after {
24
    color: initial;
25
  }
26
</style>
27
<ol>
28
  <li>Foo
29
  <li>Bar
30
<script>
31
  window.onload = function() {
32
    document.body.offsetTop;
33
    for (let li of document.querySelectorAll("li"))
34
      li.classList.add("tweak");
35
  }
36
</script>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-lists/nested-marker-expected.html +15 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-lists/nested-marker-expected.html_sec1
1
<!doctype html>
2
<title>CSS test reference</title>
3
<link rel="author" href="mailto:emilio@crisal.io" title="Emilio Cobos Álvarez">
4
<link rel="author" href="https://mozilla.org" title="Mozilla">
5
<style>
6
  li::marker {
7
    color: blue;
8
  }
9
  div {
10
    display: list-item;
11
  }
12
</style>
13
<ol>
14
  <li><div>Before</div>Foo<div>After</div>
15
  <li><div>Before</div>Bar<div>After</div>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-lists/nested-marker.html +26 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-lists/nested-marker.html_sec1
1
<!doctype html>
2
<title>::marker pseudo-elements generated by ::before and ::after are not addressable by global selectors</title>
3
<link rel="help" href="https://drafts.csswg.org/css-lists/#list-item">
4
<link rel="help" href="https://bugzilla.mozilla.org/show_bug.cgi?id=1539171">
5
<link rel="help" href="https://bugzilla.mozilla.org/show_bug.cgi?id=1543758">
6
<link rel="author" href="mailto:emilio@crisal.io" title="Emilio Cobos Álvarez">
7
<link rel="author" href="https://mozilla.org" title="Mozilla">
8
<link rel="match" href="nested-marker-ref.html">
9
<style>
10
  ::marker {
11
    color: red;
12
  }
13
  li::marker {
14
    color: blue;
15
  }
16
  li::before, li::after {
17
    display: list-item;
18
    content: "Before";
19
  }
20
  li::after {
21
    content: "After";
22
  }
23
</style>
24
<ol>
25
  <li>Foo
26
  <li>Bar
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-lists/ol-change-display-type-expected.html +23 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-lists/ol-change-display-type-expected.html_sec1
1
<!DOCTYPE html>
2
<meta charset="utf-8">
3
<link rel=help href="https://crbug.com/1020669">
4
<style>
5
  .item {
6
    display: list-item;
7
  }
8
  .item:after {
9
    content: counter(section);
10
    display: list-item;
11
  }
12
  .table-header {
13
    display: table-header-group;
14
  }
15
</style>
16
<body>
17
  <ol reversed="reversed">
18
    <span class="table-header">
19
      <figure class="item"></figure>
20
    </span>
21
  </ol>
22
</body>
23
</html>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-lists/ol-change-display-type.html +29 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-lists/ol-change-display-type.html_sec1
1
<!DOCTYPE html>
2
<meta charset="utf-8">
3
<title>CSS Lists: Change display type of reverse ol list element.</title>
4
<link rel=help href="https://crbug.com/1020669">
5
<link rel=match href="ol-change-display-type-ref.html">
6
<style>
7
  .item {
8
    display: list-item;
9
  }
10
  .item:after {
11
    content: counter(section);
12
    display: list-item;
13
  }
14
  .table-header {
15
    display: table-header-group;
16
  }
17
</style>
18
<body>
19
  <ol reversed="reversed">
20
    <span id="span">
21
      <figure class="item"></figure>
22
    </span>
23
  </ol>
24
</body>
25
<script>
26
  document.body.offsetTop;
27
  document.getElementById('span').setAttribute('class', 'table-header');
28
</script>
29
</html>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-lists/parsing/content-invalid-expected.txt +26 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-lists/parsing/content-invalid-expected.txt_sec1
1
2
FAIL e.style['content'] = "counter(foo, none)" should not set the property value assert_equals: expected "" but got "counter(foo, none)"
3
FAIL e.style['content'] = "counters(foo, \"\", none)" should not set the property value assert_equals: expected "" but got "counter(foo, none)"
4
PASS e.style['content'] = "counter(foo, unset)" should not set the property value 
5
PASS e.style['content'] = "counters(foo, \"\", unset)" should not set the property value 
6
PASS e.style['content'] = "counter(foo, initial)" should not set the property value 
7
PASS e.style['content'] = "counters(foo, \"\", initial)" should not set the property value 
8
PASS e.style['content'] = "counter(foo, inherit)" should not set the property value 
9
PASS e.style['content'] = "counters(foo, \"\", inherit)" should not set the property value 
10
FAIL e.style['content'] = "\"z\" counter(foo, none)" should not set the property value assert_equals: expected "" but got "z counter(foo, none)"
11
FAIL e.style['content'] = "\"z\" counters(foo, \"\", none)" should not set the property value assert_equals: expected "" but got "z counter(foo, none)"
12
PASS e.style['content'] = "\"z\" counter(foo, unset)" should not set the property value 
13
PASS e.style['content'] = "\"z\" counters(foo, \"\", unset)" should not set the property value 
14
PASS e.style['content'] = "\"z\" counter(foo, initial)" should not set the property value 
15
PASS e.style['content'] = "\"z\" counters(foo, \"\", initial)" should not set the property value 
16
PASS e.style['content'] = "\"z\" counter(foo, inherit)" should not set the property value 
17
PASS e.style['content'] = "\"z\" counters(foo, \"\", inherit)" should not set the property value 
18
FAIL e.style['content'] = "counter(foo, none) \"z\"" should not set the property value assert_equals: expected "" but got "counter(foo, none) z"
19
FAIL e.style['content'] = "counters(foo, \"\", none) \"z\"" should not set the property value assert_equals: expected "" but got "counter(foo, none) z"
20
PASS e.style['content'] = "counter(foo, unset) \"z\"" should not set the property value 
21
PASS e.style['content'] = "counters(foo, \"\", unset) \"z\"" should not set the property value 
22
PASS e.style['content'] = "counter(foo, initial) \"z\"" should not set the property value 
23
PASS e.style['content'] = "counters(foo, \"\", initial) \"z\"" should not set the property value 
24
PASS e.style['content'] = "counter(foo, inherit) \"z\"" should not set the property value 
25
PASS e.style['content'] = "counters(foo, \"\", inherit) \"z\"" should not set the property value 
26
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-lists/parsing/content-invalid.html +41 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-lists/parsing/content-invalid.html_sec1
1
<!DOCTYPE html>
2
<html>
3
<head>
4
<meta charset="utf-8">
5
<title>CSS Lists: parsing counter()/counters() values for the 'content' property</title>
6
<link rel="help" href="https://drafts.csswg.org/css-lists-3/#counter-functions">
7
<script src="/resources/testharness.js"></script>
8
<script src="/resources/testharnessreport.js"></script>
9
<script src="/css/support/parsing-testcommon.js"></script>
10
</head>
11
<body>
12
<script>
13
test_invalid_value('content', 'counter(foo, none)');
14
test_invalid_value('content', 'counters(foo, "", none)');
15
test_invalid_value('content', 'counter(foo, unset)');
16
test_invalid_value('content', 'counters(foo, "", unset)');
17
test_invalid_value('content', 'counter(foo, initial)');
18
test_invalid_value('content', 'counters(foo, "", initial)');
19
test_invalid_value('content', 'counter(foo, inherit)');
20
test_invalid_value('content', 'counters(foo, "", inherit)');
21
22
test_invalid_value('content', '"z" counter(foo, none)');
23
test_invalid_value('content', '"z" counters(foo, "", none)');
24
test_invalid_value('content', '"z" counter(foo, unset)');
25
test_invalid_value('content', '"z" counters(foo, "", unset)');
26
test_invalid_value('content', '"z" counter(foo, initial)');
27
test_invalid_value('content', '"z" counters(foo, "", initial)');
28
test_invalid_value('content', '"z" counter(foo, inherit)');
29
test_invalid_value('content', '"z" counters(foo, "", inherit)');
30
31
test_invalid_value('content', 'counter(foo, none) "z"');
32
test_invalid_value('content', 'counters(foo, "", none) "z"');
33
test_invalid_value('content', 'counter(foo, unset) "z"');
34
test_invalid_value('content', 'counters(foo, "", unset) "z"');
35
test_invalid_value('content', 'counter(foo, initial) "z"');
36
test_invalid_value('content', 'counters(foo, "", initial) "z"');
37
test_invalid_value('content', 'counter(foo, inherit) "z"');
38
test_invalid_value('content', 'counters(foo, "", inherit) "z"');
39
</script>
40
</body>
41
</html>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-lists/parsing/counter-increment-invalid-expected.txt +7 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-lists/parsing/counter-increment-invalid-expected.txt_sec1
1
2
PASS e.style['counter-increment'] = "none chapter" should not set the property value 
3
PASS e.style['counter-increment'] = "3" should not set the property value 
4
PASS e.style['counter-increment'] = "99 imagenum" should not set the property value 
5
PASS e.style['counter-increment'] = "section -1, imagenum 99" should not set the property value 
6
PASS e.style['counter-increment'] = "section 3.14" should not set the property value 
7
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-lists/parsing/counter-increment-invalid.html +21 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-lists/parsing/counter-increment-invalid.html_sec1
1
<!DOCTYPE html>
2
<html>
3
<head>
4
<meta charset="utf-8">
5
<title>CSS Lists: parsing counter-increment with invalid values</title>
6
<link rel="help" href="https://drafts.csswg.org/css-lists-3/#propdef-counter-increment">
7
<meta name="assert" content="counter-increment supports only the grammar '[ <counter-name> <integer>? ]+ | none'.">
8
<script src="/resources/testharness.js"></script>
9
<script src="/resources/testharnessreport.js"></script>
10
<script src="/css/support/parsing-testcommon.js"></script>
11
</head>
12
<body>
13
<script>
14
test_invalid_value('counter-increment', 'none chapter');
15
test_invalid_value('counter-increment', '3');
16
test_invalid_value('counter-increment', '99 imagenum');
17
test_invalid_value('counter-increment', 'section -1, imagenum 99');
18
test_invalid_value('counter-increment', 'section 3.14');
19
</script>
20
</body>
21
</html>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-lists/parsing/counter-increment-valid-expected.txt +6 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-lists/parsing/counter-increment-valid-expected.txt_sec1
1
2
PASS e.style['counter-increment'] = "none" should set the property value 
3
PASS e.style['counter-increment'] = "chapter" should set the property value 
4
PASS e.style['counter-increment'] = "section -1" should set the property value 
5
PASS e.style['counter-increment'] = "first -1 second third 99" should set the property value 
6
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-lists/parsing/counter-increment-valid.html +20 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-lists/parsing/counter-increment-valid.html_sec1
1
<!DOCTYPE html>
2
<html>
3
<head>
4
<meta charset="utf-8">
5
<title>CSS Lists: parsing counter-increment with valid values</title>
6
<link rel="help" href="https://drafts.csswg.org/css-lists-3/#propdef-counter-increment">
7
<meta name="assert" content="counter-increment supports the full grammar '[ <counter-name> <integer>? ]+ | none'.">
8
<script src="/resources/testharness.js"></script>
9
<script src="/resources/testharnessreport.js"></script>
10
<script src="/css/support/parsing-testcommon.js"></script>
11
</head>
12
<body>
13
<script>
14
test_valid_value('counter-increment', 'none');
15
test_valid_value('counter-increment', 'chapter', 'chapter 1');
16
test_valid_value('counter-increment', 'section -1');
17
test_valid_value('counter-increment', 'first -1 second third 99', 'first -1 second 1 third 99');
18
</script>
19
</body>
20
</html>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-lists/parsing/counter-reset-invalid-expected.txt +7 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-lists/parsing/counter-reset-invalid-expected.txt_sec1
1
2
PASS e.style['counter-reset'] = "none chapter" should not set the property value 
3
PASS e.style['counter-reset'] = "3" should not set the property value 
4
PASS e.style['counter-reset'] = "99 imagenum" should not set the property value 
5
PASS e.style['counter-reset'] = "section -1, imagenum 99" should not set the property value 
6
PASS e.style['counter-reset'] = "section 3.14" should not set the property value 
7
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-lists/parsing/counter-reset-invalid.html +21 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-lists/parsing/counter-reset-invalid.html_sec1
1
<!DOCTYPE html>
2
<html>
3
<head>
4
<meta charset="utf-8">
5
<title>CSS Lists: parsing counter-reset with invalid values</title>
6
<link rel="help" href="https://drafts.csswg.org/css-lists-3/#propdef-counter-reset">
7
<meta name="assert" content="counter-reset supports only the grammar '[ <counter-name> <integer>? ]+ | none'.">
8
<script src="/resources/testharness.js"></script>
9
<script src="/resources/testharnessreport.js"></script>
10
<script src="/css/support/parsing-testcommon.js"></script>
11
</head>
12
<body>
13
<script>
14
test_invalid_value('counter-reset', 'none chapter');
15
test_invalid_value('counter-reset', '3');
16
test_invalid_value('counter-reset', '99 imagenum');
17
test_invalid_value('counter-reset', 'section -1, imagenum 99');
18
test_invalid_value('counter-reset', 'section 3.14');
19
</script>
20
</body>
21
</html>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-lists/parsing/counter-reset-valid-expected.txt +6 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-lists/parsing/counter-reset-valid-expected.txt_sec1
1
2
PASS e.style['counter-reset'] = "none" should set the property value 
3
PASS e.style['counter-reset'] = "chapter" should set the property value 
4
PASS e.style['counter-reset'] = "section -1" should set the property value 
5
PASS e.style['counter-reset'] = "first -1 second third 99" should set the property value 
6
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-lists/parsing/counter-reset-valid.html +20 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-lists/parsing/counter-reset-valid.html_sec1
1
<!DOCTYPE html>
2
<html>
3
<head>
4
<meta charset="utf-8">
5
<title>CSS Lists: parsing counter-reset with valid values</title>
6
<link rel="help" href="https://drafts.csswg.org/css-lists-3/#propdef-counter-reset">
7
<meta name="assert" content="counter-reset supports the full grammar '[ <counter-name> <integer>? ]+ | none'.">
8
<script src="/resources/testharness.js"></script>
9
<script src="/resources/testharnessreport.js"></script>
10
<script src="/css/support/parsing-testcommon.js"></script>
11
</head>
12
<body>
13
<script>
14
test_valid_value('counter-reset', 'none');
15
test_valid_value('counter-reset', 'chapter', 'chapter 0');
16
test_valid_value('counter-reset', 'section -1');
17
test_valid_value('counter-reset', 'first -1 second third 99', 'first -1 second 0 third 99');
18
</script>
19
</body>
20
</html>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-lists/parsing/counter-set-computed-expected.txt +8 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-lists/parsing/counter-set-computed-expected.txt_sec1
1
2
FAIL Property counter-set value 'none' assert_true: counter-set doesn't seem to be supported in the computed style expected true got false
3
FAIL Property counter-set value 'myCounter' assert_true: counter-set doesn't seem to be supported in the computed style expected true got false
4
FAIL Property counter-set value 'myCounter 5' assert_true: counter-set doesn't seem to be supported in the computed style expected true got false
5
FAIL Property counter-set value 'myCounter 7 otherCounter 8' assert_true: counter-set doesn't seem to be supported in the computed style expected true got false
6
FAIL Property counter-set value 'myCounter otherCounter 8' assert_true: counter-set doesn't seem to be supported in the computed style expected true got false
7
FAIL Property counter-set value 'myCounter 7 otherCounter' assert_true: counter-set doesn't seem to be supported in the computed style expected true got false
8
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-lists/parsing/counter-set-computed.html +23 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-lists/parsing/counter-set-computed.html_sec1
1
<!DOCTYPE html>
2
<html>
3
<head>
4
<meta charset="utf-8">
5
<title>CSS Lists: getComputedStyle().counterSet</title>
6
<link rel="help" href="https://drafts.csswg.org/css-lists-3/#propdef-counter-set">
7
<meta name="assert" content="tests that counter-set grammar is supported.">
8
<script src="/resources/testharness.js"></script>
9
<script src="/resources/testharnessreport.js"></script>
10
<script src="/css/support/computed-testcommon.js"></script>
11
</head>
12
<body>
13
<div id="target"></div>
14
<script>
15
test_computed_value('counter-set', 'none');
16
test_computed_value('counter-set', 'myCounter', 'myCounter 0');
17
test_computed_value('counter-set', 'myCounter 5');
18
test_computed_value('counter-set', 'myCounter 7 otherCounter 8');
19
test_computed_value('counter-set', 'myCounter otherCounter 8', 'myCounter 0 otherCounter 8');
20
test_computed_value('counter-set', 'myCounter 7 otherCounter', 'myCounter 7 otherCounter 0');
21
</script>
22
</body>
23
</html>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-lists/parsing/counter-set-invalid-expected.txt +7 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-lists/parsing/counter-set-invalid-expected.txt_sec1
1
2
PASS e.style['counter-set'] = "none chapter" should not set the property value 
3
PASS e.style['counter-set'] = "3" should not set the property value 
4
PASS e.style['counter-set'] = "99 imagenum" should not set the property value 
5
PASS e.style['counter-set'] = "section -1, imagenum 99" should not set the property value 
6
PASS e.style['counter-set'] = "section 3.14" should not set the property value 
7
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-lists/parsing/counter-set-invalid.html +21 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-lists/parsing/counter-set-invalid.html_sec1
1
<!DOCTYPE html>
2
<html>
3
<head>
4
<meta charset="utf-8">
5
<title>CSS Lists: parsing counter-set with invalid values</title>
6
<link rel="help" href="https://drafts.csswg.org/css-lists-3/#propdef-counter-set">
7
<meta name="assert" content="counter-set supports only the grammar '[ <counter-name> <integer>? ]+ | none'.">
8
<script src="/resources/testharness.js"></script>
9
<script src="/resources/testharnessreport.js"></script>
10
<script src="/css/support/parsing-testcommon.js"></script>
11
</head>
12
<body>
13
<script>
14
test_invalid_value('counter-set', 'none chapter');
15
test_invalid_value('counter-set', '3');
16
test_invalid_value('counter-set', '99 imagenum');
17
test_invalid_value('counter-set', 'section -1, imagenum 99');
18
test_invalid_value('counter-set', 'section 3.14');
19
</script>
20
</body>
21
</html>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-lists/parsing/counter-set-valid-expected.txt +6 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-lists/parsing/counter-set-valid-expected.txt_sec1
1
2
FAIL e.style['counter-set'] = "none" should set the property value assert_not_equals: property should be set got disallowed value ""
3
FAIL e.style['counter-set'] = "chapter" should set the property value assert_not_equals: property should be set got disallowed value ""
4
FAIL e.style['counter-set'] = "section -1" should set the property value assert_not_equals: property should be set got disallowed value ""
5
FAIL e.style['counter-set'] = "first -1 second third 99" should set the property value assert_not_equals: property should be set got disallowed value ""
6
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-lists/parsing/counter-set-valid.html +20 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-lists/parsing/counter-set-valid.html_sec1
1
<!DOCTYPE html>
2
<html>
3
<head>
4
<meta charset="utf-8">
5
<title>CSS Lists: parsing counter-set with valid values</title>
6
<link rel="help" href="https://drafts.csswg.org/css-lists-3/#propdef-counter-set">
7
<meta name="assert" content="counter-set supports the full grammar '[ <counter-name> <integer>? ]+ | none'.">
8
<script src="/resources/testharness.js"></script>
9
<script src="/resources/testharnessreport.js"></script>
10
<script src="/css/support/parsing-testcommon.js"></script>
11
</head>
12
<body>
13
<script>
14
test_valid_value('counter-set', 'none');
15
test_valid_value('counter-set', 'chapter', 'chapter 0');
16
test_valid_value('counter-set', 'section -1');
17
test_valid_value('counter-set', 'first -1 second third 99', 'first -1 second 0 third 99');
18
</script>
19
</body>
20
</html>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-lists/parsing/list-style-computed.sub-expected.txt +7 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-lists/parsing/list-style-computed.sub-expected.txt_sec1
1
2
FAIL Property list-style value 'none' assert_equals: expected "outside none none" but got "none outside none"
3
FAIL Property list-style value 'inside' assert_equals: expected "inside none disc" but got "disc inside none"
4
FAIL Property list-style value 'url("https://localhost/")' assert_equals: expected "outside url(\"https://localhost/\") disc" but got "disc outside url(\"https://localhost/\")"
5
FAIL Property list-style value 'square' assert_equals: expected "outside none square" but got "square outside none"
6
FAIL Property list-style value 'inside url("https://localhost/") square' assert_equals: expected "inside url(\"https://localhost/\") square" but got "square inside url(\"https://localhost/\")"
7
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-lists/parsing/list-style-computed.sub.html +24 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-lists/parsing/list-style-computed.sub.html_sec1
1
<!DOCTYPE html>
2
<html>
3
<head>
4
<meta charset="utf-8">
5
<title>CSS Lists: getComputedStyle().listStyle</title>
6
<link rel="help" href="https://drafts.csswg.org/css-lists-3/#propdef-list-style">
7
<meta name="assert" content="list-style computed value is as specified.">
8
<script src="/resources/testharness.js"></script>
9
<script src="/resources/testharnessreport.js"></script>
10
<script src="/css/support/computed-testcommon.js"></script>
11
</head>
12
<body>
13
<div id="target"></div>
14
<script>
15
test_computed_value('list-style', 'none', 'outside none none');
16
17
test_computed_value('list-style', 'inside', 'inside none disc');
18
test_computed_value('list-style', 'url("https://{{host}}/")', 'outside url("https://{{host}}/") disc');
19
test_computed_value('list-style', 'square', 'outside none square');
20
21
test_computed_value('list-style', 'inside url("https://{{host}}/") square');
22
</script>
23
</body>
24
</html>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-lists/parsing/list-style-image-computed.sub-expected.txt +9 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-lists/parsing/list-style-image-computed.sub-expected.txt_sec1
1
2
PASS Property list-style-image value 'none' 
3
PASS Property list-style-image value 'url("https://localhost/")' 
4
FAIL Property list-style-image value 'linear-gradient(to left bottom, red , blue )' assert_equals: expected "linear-gradient(to left bottom, rgb(255, 0, 0), rgb(0, 0, 255))" but got "linear-gradient(to left bottom, red, blue)"
5
PASS Property list-style-image value 'radial-gradient(10px at 20px 30px, rgb(255, 0, 0), rgb(0, 0, 255))' 
6
FAIL Property list-style-image value 'radial-gradient(circle calc(-0.5em + 10px) at calc(-1em + 10px) calc(-2em + 10px), rgb(255, 0, 0), rgb(0, 0, 255))' assert_equals: expected "radial-gradient(0px at -30px -70px, rgb(255, 0, 0), rgb(0, 0, 255))" but got "radial-gradient(calc(-0.5em + 10px) at calc(-1em + 10px) calc(-2em + 10px), rgb(255, 0, 0), rgb(0, 0, 255))"
7
FAIL Property list-style-image value 'radial-gradient(ellipse calc(-0.5em + 10px) calc(0.5em + 10px) at 20px 30px, rgb(255, 0, 0), rgb(0, 0, 255))' assert_equals: expected "radial-gradient(0px 30px at 20px 30px, rgb(255, 0, 0), rgb(0, 0, 255))" but got "radial-gradient(calc(-0.5em + 10px) calc(0.5em + 10px) at 20px 30px, rgb(255, 0, 0), rgb(0, 0, 255))"
8
FAIL Property list-style-image value 'radial-gradient(ellipse calc(0.5em + 10px) calc(-0.5em + 10px) at 20px 30px, rgb(255, 0, 0), rgb(0, 0, 255))' assert_equals: expected "radial-gradient(30px 0px at 20px 30px, rgb(255, 0, 0), rgb(0, 0, 255))" but got "radial-gradient(calc(0.5em + 10px) calc(-0.5em + 10px) at 20px 30px, rgb(255, 0, 0), rgb(0, 0, 255))"
9
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-lists/parsing/list-style-image-computed.sub.html +32 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-lists/parsing/list-style-image-computed.sub.html_sec1
1
<!DOCTYPE html>
2
<html>
3
<head>
4
<meta charset="utf-8">
5
<title>CSS Lists: getComputedStyle().listStyleImage</title>
6
<link rel="help" href="https://drafts.csswg.org/css-lists-3/#propdef-list-style-image">
7
<meta name="assert" content="list-style-image computed value is as specified.">
8
<script src="/resources/testharness.js"></script>
9
<script src="/resources/testharnessreport.js"></script>
10
<script src="/css/support/computed-testcommon.js"></script>
11
<style>
12
  #target {
13
    font-size: 40px;
14
  }
15
</style>
16
</head>
17
<body>
18
<div id="target"></div>
19
<script>
20
test_computed_value('list-style-image', 'none');
21
22
test_computed_value('list-style-image', 'url("https://{{host}}/")');
23
24
test_computed_value('list-style-image', 'linear-gradient(to left bottom, red , blue )', 'linear-gradient(to left bottom, rgb(255, 0, 0), rgb(0, 0, 255))');
25
26
test_computed_value('list-style-image', 'radial-gradient(10px at 20px 30px, rgb(255, 0, 0), rgb(0, 0, 255))');
27
test_computed_value('list-style-image', 'radial-gradient(circle calc(-0.5em + 10px) at calc(-1em + 10px) calc(-2em + 10px), rgb(255, 0, 0), rgb(0, 0, 255))', 'radial-gradient(0px at -30px -70px, rgb(255, 0, 0), rgb(0, 0, 255))');
28
test_computed_value('list-style-image', 'radial-gradient(ellipse calc(-0.5em + 10px) calc(0.5em + 10px) at 20px 30px, rgb(255, 0, 0), rgb(0, 0, 255))', 'radial-gradient(0px 30px at 20px 30px, rgb(255, 0, 0), rgb(0, 0, 255))');
29
test_computed_value('list-style-image', 'radial-gradient(ellipse calc(0.5em + 10px) calc(-0.5em + 10px) at 20px 30px, rgb(255, 0, 0), rgb(0, 0, 255))', 'radial-gradient(30px 0px at 20px 30px, rgb(255, 0, 0), rgb(0, 0, 255))');
30
</script>
31
</body>
32
</html>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-lists/parsing/list-style-image-invalid-expected.txt +4 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-lists/parsing/list-style-image-invalid-expected.txt_sec1
1
2
PASS e.style['list-style-image'] = "auto" should not set the property value 
3
PASS e.style['list-style-image'] = "url(\"https://example.com/\") none" should not set the property value 
4
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-lists/parsing/list-style-image-invalid.html +18 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-lists/parsing/list-style-image-invalid.html_sec1
1
<!DOCTYPE html>
2
<html>
3
<head>
4
<meta charset="utf-8">
5
<title>CSS Lists: parsing list-style-image with invalid values</title>
6
<link rel="help" href="https://drafts.csswg.org/css-lists-3/#propdef-list-style-image">
7
<meta name="assert" content="list-style-image supports only the grammar '<image> | none'.">
8
<script src="/resources/testharness.js"></script>
9
<script src="/resources/testharnessreport.js"></script>
10
<script src="/css/support/parsing-testcommon.js"></script>
11
</head>
12
<body>
13
<script>
14
test_invalid_value('list-style-image', 'auto');
15
test_invalid_value('list-style-image', 'url("https://example.com/") none');
16
</script>
17
</body>
18
</html>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-lists/parsing/list-style-image-valid-expected.txt +5 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-lists/parsing/list-style-image-valid-expected.txt_sec1
1
2
PASS e.style['list-style-image'] = "none" should set the property value 
3
PASS e.style['list-style-image'] = "url(\"https://example.com/\")" should set the property value 
4
PASS e.style['list-style-image'] = "linear-gradient(to left bottom, red, blue)" should set the property value 
5
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-lists/parsing/list-style-image-valid.html +23 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-lists/parsing/list-style-image-valid.html_sec1
1
<!DOCTYPE html>
2
<html>
3
<head>
4
<meta charset="utf-8">
5
<title>CSS Lists: parsing list-style-image with valid values</title>
6
<link rel="help" href="https://drafts.csswg.org/css-lists-3/#propdef-list-style-image">
7
<meta name="assert" content="list-style-image supports the full grammar '<image> | none'.">
8
<script src="/resources/testharness.js"></script>
9
<script src="/resources/testharnessreport.js"></script>
10
<script src="/css/support/parsing-testcommon.js"></script>
11
</head>
12
<body>
13
<script>
14
test_valid_value('list-style-image', 'none');
15
16
test_valid_value('list-style-image', 'url("https://example.com/")');
17
18
test_valid_value('list-style-image', 'linear-gradient(to left bottom, red, blue)');
19
20
// TODO: Add cross-fade tests when browsers add support.
21
</script>
22
</body>
23
</html>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-lists/parsing/list-style-invalid-expected.txt +4 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-lists/parsing/list-style-invalid-expected.txt_sec1
1
2
PASS e.style['list-style'] = "inside disc outside" should not set the property value 
3
PASS e.style['list-style'] = "square circle" should not set the property value 
4
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-lists/parsing/list-style-invalid.html +18 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-lists/parsing/list-style-invalid.html_sec1
1
<!DOCTYPE html>
2
<html>
3
<head>
4
<meta charset="utf-8">
5
<title>CSS Lists: parsing list-style with invalid values</title>
6
<link rel="help" href="https://drafts.csswg.org/css-lists-3/#propdef-list-style">
7
<meta name="assert" content="list-style supports only the grammar '<'list-style-position'> || <'list-style-image'> || <'list-style-type'>'.">
8
<script src="/resources/testharness.js"></script>
9
<script src="/resources/testharnessreport.js"></script>
10
<script src="/css/support/parsing-testcommon.js"></script>
11
</head>
12
<body>
13
<script>
14
test_invalid_value('list-style', 'inside disc outside');
15
test_invalid_value('list-style', 'square circle');
16
</script>
17
</body>
18
</html>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-lists/parsing/list-style-position-computed-expected.txt +4 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-lists/parsing/list-style-position-computed-expected.txt_sec1
1
2
PASS Property list-style-position value 'inside' 
3
PASS Property list-style-position value 'outside' 
4
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-lists/parsing/list-style-position-computed.html +19 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-lists/parsing/list-style-position-computed.html_sec1
1
<!DOCTYPE html>
2
<html>
3
<head>
4
<meta charset="utf-8">
5
<title>CSS Lists: getComputedStyle().listStylePosition</title>
6
<link rel="help" href="https://drafts.csswg.org/css-lists-3/#propdef-list-style-position">
7
<meta name="assert" content="list-style-position computed value is as specified.">
8
<script src="/resources/testharness.js"></script>
9
<script src="/resources/testharnessreport.js"></script>
10
<script src="/css/support/computed-testcommon.js"></script>
11
</head>
12
<body>
13
<div id="target"></div>
14
<script>
15
test_computed_value('list-style-position', 'inside');
16
test_computed_value('list-style-position', 'outside');
17
</script>
18
</body>
19
</html>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-lists/parsing/list-style-position-invalid-expected.txt +4 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-lists/parsing/list-style-position-invalid-expected.txt_sec1
1
2
PASS e.style['list-style-position'] = "auto" should not set the property value 
3
PASS e.style['list-style-position'] = "inside outside" should not set the property value 
4
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-lists/parsing/list-style-position-invalid.html +18 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-lists/parsing/list-style-position-invalid.html_sec1
1
<!DOCTYPE html>
2
<html>
3
<head>
4
<meta charset="utf-8">
5
<title>CSS Lists: parsing list-style-position with invalid values</title>
6
<link rel="help" href="https://drafts.csswg.org/css-lists-3/#propdef-list-style-position">
7
<meta name="assert" content="list-style-position supports only the grammar 'inside | outside'.">
8
<script src="/resources/testharness.js"></script>
9
<script src="/resources/testharnessreport.js"></script>
10
<script src="/css/support/parsing-testcommon.js"></script>
11
</head>
12
<body>
13
<script>
14
test_invalid_value('list-style-position', 'auto');
15
test_invalid_value('list-style-position', 'inside outside');
16
</script>
17
</body>
18
</html>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-lists/parsing/list-style-position-valid-expected.txt +4 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-lists/parsing/list-style-position-valid-expected.txt_sec1
1
2
PASS e.style['list-style-position'] = "inside" should set the property value 
3
PASS e.style['list-style-position'] = "outside" should set the property value 
4
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-lists/parsing/list-style-position-valid.html +18 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-lists/parsing/list-style-position-valid.html_sec1
1
<!DOCTYPE html>
2
<html>
3
<head>
4
<meta charset="utf-8">
5
<title>CSS Lists: parsing list-style-position with valid values</title>
6
<link rel="help" href="https://drafts.csswg.org/css-lists-3/#propdef-list-style-position">
7
<meta name="assert" content="list-style-position supports the full grammar 'inside | outside'.">
8
<script src="/resources/testharness.js"></script>
9
<script src="/resources/testharnessreport.js"></script>
10
<script src="/css/support/parsing-testcommon.js"></script>
11
</head>
12
<body>
13
<script>
14
test_valid_value('list-style-position', 'inside');
15
test_valid_value('list-style-position', 'outside');
16
</script>
17
</body>
18
</html>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-lists/parsing/list-style-shorthand.sub-expected.txt +6 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-lists/parsing/list-style-shorthand.sub-expected.txt_sec1
1
2
PASS e.style['list-style'] = "square url(\"https://localhost/\") inside" should set list-style-image 
3
PASS e.style['list-style'] = "square url(\"https://localhost/\") inside" should set list-style-position 
4
PASS e.style['list-style'] = "square url(\"https://localhost/\") inside" should set list-style-type 
5
PASS e.style['list-style'] = "square url(\"https://localhost/\") inside" should not set unrelated longhands 
6
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-lists/parsing/list-style-shorthand.sub.html +21 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-lists/parsing/list-style-shorthand.sub.html_sec1
1
<!DOCTYPE html>
2
<html>
3
<head>
4
<meta charset="utf-8">
5
<title>CSS Lists: list-style sets longhands</title>
6
<link rel="help" href="https://drafts.csswg.org/css-lists-3/#propdef-list-style">
7
<meta name="assert" content="list-style supports the full grammar '<'list-style-position'> || <'list-style-image'> || <'list-style-type'>'.">
8
<script src="/resources/testharness.js"></script>
9
<script src="/resources/testharnessreport.js"></script>
10
<script src="/css/support/shorthand-testcommon.js"></script>
11
</head>
12
<body>
13
<script>
14
test_shorthand_value('list-style', 'square url("https://{{host}}/") inside', {
15
  'list-style-position': 'inside',
16
  'list-style-image': 'url("https://{{host}}/")',
17
  'list-style-type': 'square'
18
});
19
</script>
20
</body>
21
</html>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-lists/parsing/list-style-type-invalid-expected.txt +10 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-lists/parsing/list-style-type-invalid-expected.txt_sec1
1
2
PASS e.style['list-style-type'] = "\"marker string\" none" should not set the property value 
3
PASS e.style['list-style-type'] = "counter-Style-Name \"marker string\"" should not set the property value 
4
PASS e.style['list-style-type'] = "symbols(cyclic)" should not set the property value 
5
PASS e.style['list-style-type'] = "symbols(numeric \"n\")" should not set the property value 
6
PASS e.style['list-style-type'] = "symbols(alphabetic \"a\")" should not set the property value 
7
PASS e.style['list-style-type'] = "symbols(\"s\" symbolic)" should not set the property value 
8
PASS e.style['list-style-type'] = "symbols(fixed url(\"https://example.com\"))" should not set the property value 
9
PASS e.style['list-style-type'] = "symbols(repeating '○' '●')" should not set the property value 
10
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-lists/parsing/list-style-type-invalid.html +28 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-lists/parsing/list-style-type-invalid.html_sec1
1
<!DOCTYPE html>
2
<html>
3
<head>
4
<meta charset="utf-8">
5
<title>CSS Lists: parsing list-style-type with invalid values</title>
6
<link rel="help" href="https://drafts.csswg.org/css-lists-3/#propdef-list-style-type">
7
<meta name="assert" content="list-style-type supports only the grammar '<counter-style> | <string> | none'.">
8
<meta name="assert" content="If the system is alphabetic or numeric, there must be at least two <string>s or <image>s, or else the function is invalid.">
9
<script src="/resources/testharness.js"></script>
10
<script src="/resources/testharnessreport.js"></script>
11
<script src="/css/support/parsing-testcommon.js"></script>
12
</head>
13
<body>
14
<script>
15
test_invalid_value('list-style-type', '"marker string" none');
16
test_invalid_value('list-style-type', 'counter-Style-Name "marker string"');
17
test_invalid_value('list-style-type', 'symbols(cyclic)');
18
test_invalid_value('list-style-type', 'symbols(numeric "n")');
19
test_invalid_value('list-style-type', 'symbols(alphabetic "a")');
20
test_invalid_value('list-style-type', 'symbols("s" symbolic)');
21
test_invalid_value('list-style-type', 'symbols(fixed url("https://example.com"))');
22
23
// Example in an early spec.
24
test_invalid_value('list-style-type', "symbols(repeating '○' '●')");
25
26
</script>
27
</body>
28
</html>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-lists/parsing/list-style-valid-expected.txt +7 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-lists/parsing/list-style-valid-expected.txt_sec1
1
2
PASS e.style['list-style'] = "none" should set the property value 
3
PASS e.style['list-style'] = "inside" should set the property value 
4
PASS e.style['list-style'] = "url(\"https://example.com/\")" should set the property value 
5
PASS e.style['list-style'] = "square" should set the property value 
6
FAIL e.style['list-style'] = "square url(\"https://example.com/\") inside" should set the property value assert_equals: serialization should be canonical expected "inside url(\"https://example.com/\") square" but got "square inside url(\"https://example.com/\")"
7
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-lists/parsing/list-style-valid.html +23 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-lists/parsing/list-style-valid.html_sec1
1
<!DOCTYPE html>
2
<html>
3
<head>
4
<meta charset="utf-8">
5
<title>CSS Lists: parsing list-style with valid values</title>
6
<link rel="help" href="https://drafts.csswg.org/css-lists-3/#propdef-list-style">
7
<meta name="assert" content="list-style supports the full grammar '<'list-style-position'> || <'list-style-image'> || <'list-style-type'>'.">
8
<script src="/resources/testharness.js"></script>
9
<script src="/resources/testharnessreport.js"></script>
10
<script src="/css/support/parsing-testcommon.js"></script>
11
</head>
12
<body>
13
<script>
14
test_valid_value('list-style', 'none');
15
16
test_valid_value('list-style', 'inside');
17
test_valid_value('list-style', 'url("https://example.com/")');
18
test_valid_value('list-style', 'square');
19
20
test_valid_value('list-style', 'square url("https://example.com/") inside', 'inside url("https://example.com/") square');
21
</script>
22
</body>
23
</html>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-lists/parsing/w3c-import.log +19 lines
Lines 14-18 Property values requiring vendor prefixes: a/LayoutTests/imported/w3c/web-platform-tests/css/css-lists/parsing/w3c-import.log_sec1
14
None
14
None
15
------------------------------------------------------------------------
15
------------------------------------------------------------------------
16
List of files:
16
List of files:
17
/LayoutTests/imported/w3c/web-platform-tests/css/css-lists/parsing/content-invalid.html
18
/LayoutTests/imported/w3c/web-platform-tests/css/css-lists/parsing/counter-increment-invalid.html
19
/LayoutTests/imported/w3c/web-platform-tests/css/css-lists/parsing/counter-increment-valid.html
20
/LayoutTests/imported/w3c/web-platform-tests/css/css-lists/parsing/counter-reset-invalid.html
21
/LayoutTests/imported/w3c/web-platform-tests/css/css-lists/parsing/counter-reset-valid.html
22
/LayoutTests/imported/w3c/web-platform-tests/css/css-lists/parsing/counter-set-computed.html
23
/LayoutTests/imported/w3c/web-platform-tests/css/css-lists/parsing/counter-set-invalid.html
24
/LayoutTests/imported/w3c/web-platform-tests/css/css-lists/parsing/counter-set-valid.html
25
/LayoutTests/imported/w3c/web-platform-tests/css/css-lists/parsing/list-style-computed.sub.html
26
/LayoutTests/imported/w3c/web-platform-tests/css/css-lists/parsing/list-style-image-computed.sub.html
27
/LayoutTests/imported/w3c/web-platform-tests/css/css-lists/parsing/list-style-image-invalid.html
28
/LayoutTests/imported/w3c/web-platform-tests/css/css-lists/parsing/list-style-image-valid.html
29
/LayoutTests/imported/w3c/web-platform-tests/css/css-lists/parsing/list-style-invalid.html
30
/LayoutTests/imported/w3c/web-platform-tests/css/css-lists/parsing/list-style-position-computed.html
31
/LayoutTests/imported/w3c/web-platform-tests/css/css-lists/parsing/list-style-position-invalid.html
32
/LayoutTests/imported/w3c/web-platform-tests/css/css-lists/parsing/list-style-position-valid.html
33
/LayoutTests/imported/w3c/web-platform-tests/css/css-lists/parsing/list-style-shorthand.sub.html
17
/LayoutTests/imported/w3c/web-platform-tests/css/css-lists/parsing/list-style-type-computed.html
34
/LayoutTests/imported/w3c/web-platform-tests/css/css-lists/parsing/list-style-type-computed.html
35
/LayoutTests/imported/w3c/web-platform-tests/css/css-lists/parsing/list-style-type-invalid.html
18
/LayoutTests/imported/w3c/web-platform-tests/css/css-lists/parsing/list-style-type-valid.html
36
/LayoutTests/imported/w3c/web-platform-tests/css/css-lists/parsing/list-style-type-valid.html
37
/LayoutTests/imported/w3c/web-platform-tests/css/css-lists/parsing/list-style-valid.html
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-lists/resources/w3c-import.log +3 lines
Lines 14-17 Property values requiring vendor prefixes: a/LayoutTests/imported/w3c/web-platform-tests/css/css-lists/resources/w3c-import.log_sec1
14
None
14
None
15
------------------------------------------------------------------------
15
------------------------------------------------------------------------
16
List of files:
16
List of files:
17
/LayoutTests/imported/w3c/web-platform-tests/css/css-lists/resources/blue-20.png
18
/LayoutTests/imported/w3c/web-platform-tests/css/css-lists/resources/green-20.png
19
/LayoutTests/imported/w3c/web-platform-tests/css/css-lists/resources/stripes-20.png
17
/LayoutTests/imported/w3c/web-platform-tests/css/css-lists/resources/white.gif
20
/LayoutTests/imported/w3c/web-platform-tests/css/css-lists/resources/white.gif
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-lists/w3c-import.log -4 / +69 lines
Lines 17-33 List of files: a/LayoutTests/imported/w3c/web-platform-tests/css/css-lists/w3c-import.log_sec1
17
/LayoutTests/imported/w3c/web-platform-tests/css/css-lists/META.yml
17
/LayoutTests/imported/w3c/web-platform-tests/css/css-lists/META.yml
18
/LayoutTests/imported/w3c/web-platform-tests/css/css-lists/add-inline-child-after-marker-001-expected.html
18
/LayoutTests/imported/w3c/web-platform-tests/css/css-lists/add-inline-child-after-marker-001-expected.html
19
/LayoutTests/imported/w3c/web-platform-tests/css/css-lists/add-inline-child-after-marker-001.html
19
/LayoutTests/imported/w3c/web-platform-tests/css/css-lists/add-inline-child-after-marker-001.html
20
/LayoutTests/imported/w3c/web-platform-tests/css/css-lists/add-inline-child-after-marker-002-expected.html
21
/LayoutTests/imported/w3c/web-platform-tests/css/css-lists/add-inline-child-after-marker-002.html
22
/LayoutTests/imported/w3c/web-platform-tests/css/css-lists/change-list-descendant-display-expected.html
23
/LayoutTests/imported/w3c/web-platform-tests/css/css-lists/change-list-descendant-display.html
24
/LayoutTests/imported/w3c/web-platform-tests/css/css-lists/change-list-style-position-001-expected.html
25
/LayoutTests/imported/w3c/web-platform-tests/css/css-lists/change-list-style-position-001.html
26
/LayoutTests/imported/w3c/web-platform-tests/css/css-lists/change-list-style-position-002-expected.html
27
/LayoutTests/imported/w3c/web-platform-tests/css/css-lists/change-list-style-position-002.html
28
/LayoutTests/imported/w3c/web-platform-tests/css/css-lists/change-list-style-position-003-expected.html
29
/LayoutTests/imported/w3c/web-platform-tests/css/css-lists/change-list-style-position-003.html
30
/LayoutTests/imported/w3c/web-platform-tests/css/css-lists/change-list-style-type-expected.html
31
/LayoutTests/imported/w3c/web-platform-tests/css/css-lists/change-list-style-type.html
20
/LayoutTests/imported/w3c/web-platform-tests/css/css-lists/counter-increment-inside-display-contents-expected.html
32
/LayoutTests/imported/w3c/web-platform-tests/css/css-lists/counter-increment-inside-display-contents-expected.html
21
/LayoutTests/imported/w3c/web-platform-tests/css/css-lists/counter-increment-inside-display-contents.html
33
/LayoutTests/imported/w3c/web-platform-tests/css/css-lists/counter-increment-inside-display-contents.html
22
/LayoutTests/imported/w3c/web-platform-tests/css/css-lists/counter-invalid-expected.html
34
/LayoutTests/imported/w3c/web-platform-tests/css/css-lists/counter-invalid-expected.html
23
/LayoutTests/imported/w3c/web-platform-tests/css/css-lists/counter-invalid.htm
35
/LayoutTests/imported/w3c/web-platform-tests/css/css-lists/counter-invalid.htm
24
/LayoutTests/imported/w3c/web-platform-tests/css/css-lists/counter-reset-increment-display-contents-expected.html
36
/LayoutTests/imported/w3c/web-platform-tests/css/css-lists/counter-list-item-expected.html
25
/LayoutTests/imported/w3c/web-platform-tests/css/css-lists/counter-reset-increment-display-contents.html
37
/LayoutTests/imported/w3c/web-platform-tests/css/css-lists/counter-list-item.html
26
/LayoutTests/imported/w3c/web-platform-tests/css/css-lists/counter-reset-increment-display-none-expected.html
38
/LayoutTests/imported/w3c/web-platform-tests/css/css-lists/counter-reset-increment-set-display-contents-expected.html
27
/LayoutTests/imported/w3c/web-platform-tests/css/css-lists/counter-reset-increment-display-none.html
39
/LayoutTests/imported/w3c/web-platform-tests/css/css-lists/counter-reset-increment-set-display-contents.html
40
/LayoutTests/imported/w3c/web-platform-tests/css/css-lists/counter-reset-increment-set-display-none-expected.html
41
/LayoutTests/imported/w3c/web-platform-tests/css/css-lists/counter-reset-increment-set-display-none.html
28
/LayoutTests/imported/w3c/web-platform-tests/css/css-lists/counter-reset-inside-display-contents-expected.html
42
/LayoutTests/imported/w3c/web-platform-tests/css/css-lists/counter-reset-inside-display-contents-expected.html
29
/LayoutTests/imported/w3c/web-platform-tests/css/css-lists/counter-reset-inside-display-contents.html
43
/LayoutTests/imported/w3c/web-platform-tests/css/css-lists/counter-reset-inside-display-contents.html
44
/LayoutTests/imported/w3c/web-platform-tests/css/css-lists/counter-set-001-expected.html
45
/LayoutTests/imported/w3c/web-platform-tests/css/css-lists/counter-set-001.html
46
/LayoutTests/imported/w3c/web-platform-tests/css/css-lists/counter-set-002-expected.html
47
/LayoutTests/imported/w3c/web-platform-tests/css/css-lists/counter-set-002.html
48
/LayoutTests/imported/w3c/web-platform-tests/css/css-lists/inherit-overwrites.html
30
/LayoutTests/imported/w3c/web-platform-tests/css/css-lists/inheritance.html
49
/LayoutTests/imported/w3c/web-platform-tests/css/css-lists/inheritance.html
50
/LayoutTests/imported/w3c/web-platform-tests/css/css-lists/inline-block-list-expected.html
51
/LayoutTests/imported/w3c/web-platform-tests/css/css-lists/inline-block-list-marker-expected.html
52
/LayoutTests/imported/w3c/web-platform-tests/css/css-lists/inline-block-list-marker.html
53
/LayoutTests/imported/w3c/web-platform-tests/css/css-lists/inline-block-list.html
54
/LayoutTests/imported/w3c/web-platform-tests/css/css-lists/inline-list-expected.html
55
/LayoutTests/imported/w3c/web-platform-tests/css/css-lists/inline-list-marker-expected.html
56
/LayoutTests/imported/w3c/web-platform-tests/css/css-lists/inline-list-marker.html
57
/LayoutTests/imported/w3c/web-platform-tests/css/css-lists/inline-list-with-table-child-expected.html
58
/LayoutTests/imported/w3c/web-platform-tests/css/css-lists/inline-list-with-table-child.html
59
/LayoutTests/imported/w3c/web-platform-tests/css/css-lists/inline-list.html
60
/LayoutTests/imported/w3c/web-platform-tests/css/css-lists/li-counter-increment-computed-style.html
61
/LayoutTests/imported/w3c/web-platform-tests/css/css-lists/li-insert-child-expected.html
62
/LayoutTests/imported/w3c/web-platform-tests/css/css-lists/li-insert-child.html
63
/LayoutTests/imported/w3c/web-platform-tests/css/css-lists/li-list-item-counter-expected.html
64
/LayoutTests/imported/w3c/web-platform-tests/css/css-lists/li-list-item-counter.html
65
/LayoutTests/imported/w3c/web-platform-tests/css/css-lists/li-value-counter-reset-001-expected.html
66
/LayoutTests/imported/w3c/web-platform-tests/css/css-lists/li-value-counter-reset-001.html
67
/LayoutTests/imported/w3c/web-platform-tests/css/css-lists/li-value-reversed-001-expected.html
68
/LayoutTests/imported/w3c/web-platform-tests/css/css-lists/li-value-reversed-001.html
69
/LayoutTests/imported/w3c/web-platform-tests/css/css-lists/li-value-reversed-002-expected.html
70
/LayoutTests/imported/w3c/web-platform-tests/css/css-lists/li-value-reversed-002.html
71
/LayoutTests/imported/w3c/web-platform-tests/css/css-lists/li-value-reversed-003-expected.html
72
/LayoutTests/imported/w3c/web-platform-tests/css/css-lists/li-value-reversed-003.html
73
/LayoutTests/imported/w3c/web-platform-tests/css/css-lists/li-value-reversed-004-expected.html
74
/LayoutTests/imported/w3c/web-platform-tests/css/css-lists/li-value-reversed-004.html
75
/LayoutTests/imported/w3c/web-platform-tests/css/css-lists/li-value-reversed-005-expected.html
76
/LayoutTests/imported/w3c/web-platform-tests/css/css-lists/li-value-reversed-005.html
31
/LayoutTests/imported/w3c/web-platform-tests/css/css-lists/li-with-height-001-expected.html
77
/LayoutTests/imported/w3c/web-platform-tests/css/css-lists/li-with-height-001-expected.html
32
/LayoutTests/imported/w3c/web-platform-tests/css/css-lists/li-with-height-001.html
78
/LayoutTests/imported/w3c/web-platform-tests/css/css-lists/li-with-height-001.html
33
/LayoutTests/imported/w3c/web-platform-tests/css/css-lists/li-with-overflow-hidden-change-list-style-position-001-expected.html
79
/LayoutTests/imported/w3c/web-platform-tests/css/css-lists/li-with-overflow-hidden-change-list-style-position-001-expected.html
Lines 38-46 List of files: a/LayoutTests/imported/w3c/web-platform-tests/css/css-lists/w3c-import.log_sec2
38
/LayoutTests/imported/w3c/web-platform-tests/css/css-lists/list-and-grid-001-expected.html
84
/LayoutTests/imported/w3c/web-platform-tests/css/css-lists/list-and-grid-001-expected.html
39
/LayoutTests/imported/w3c/web-platform-tests/css/css-lists/list-and-grid-001.html
85
/LayoutTests/imported/w3c/web-platform-tests/css/css-lists/list-and-grid-001.html
40
/LayoutTests/imported/w3c/web-platform-tests/css/css-lists/list-and-margin-collapse-001.html
86
/LayoutTests/imported/w3c/web-platform-tests/css/css-lists/list-and-margin-collapse-001.html
87
/LayoutTests/imported/w3c/web-platform-tests/css/css-lists/list-and-margin-collapse-002.html
41
/LayoutTests/imported/w3c/web-platform-tests/css/css-lists/list-and-writing-mode-001.html
88
/LayoutTests/imported/w3c/web-platform-tests/css/css-lists/list-and-writing-mode-001.html
89
/LayoutTests/imported/w3c/web-platform-tests/css/css-lists/list-inside-contain.html
90
/LayoutTests/imported/w3c/web-platform-tests/css/css-lists/list-item-definition-expected.html
91
/LayoutTests/imported/w3c/web-platform-tests/css/css-lists/list-item-definition.html
92
/LayoutTests/imported/w3c/web-platform-tests/css/css-lists/list-marker-alignment-expected.html
93
/LayoutTests/imported/w3c/web-platform-tests/css/css-lists/list-marker-alignment.html
94
/LayoutTests/imported/w3c/web-platform-tests/css/css-lists/list-marker-symbol-bidi-expected.html
95
/LayoutTests/imported/w3c/web-platform-tests/css/css-lists/list-marker-symbol-bidi.html
42
/LayoutTests/imported/w3c/web-platform-tests/css/css-lists/list-marker-with-lineheight-and-overflow-hidden-001-expected.html
96
/LayoutTests/imported/w3c/web-platform-tests/css/css-lists/list-marker-with-lineheight-and-overflow-hidden-001-expected.html
43
/LayoutTests/imported/w3c/web-platform-tests/css/css-lists/list-marker-with-lineheight-and-overflow-hidden-001.html
97
/LayoutTests/imported/w3c/web-platform-tests/css/css-lists/list-marker-with-lineheight-and-overflow-hidden-001.html
98
/LayoutTests/imported/w3c/web-platform-tests/css/css-lists/list-style-image-zoom-dynamic-expected.html
99
/LayoutTests/imported/w3c/web-platform-tests/css/css-lists/list-style-image-zoom-dynamic.html
44
/LayoutTests/imported/w3c/web-platform-tests/css/css-lists/list-style-type-armenian-002.xht
100
/LayoutTests/imported/w3c/web-platform-tests/css/css-lists/list-style-type-armenian-002.xht
45
/LayoutTests/imported/w3c/web-platform-tests/css/css-lists/list-style-type-armenian-003.xht
101
/LayoutTests/imported/w3c/web-platform-tests/css/css-lists/list-style-type-armenian-003.xht
46
/LayoutTests/imported/w3c/web-platform-tests/css/css-lists/list-style-type-string-001a-expected.html
102
/LayoutTests/imported/w3c/web-platform-tests/css/css-lists/list-style-type-string-001a-expected.html
Lines 61-65 List of files: a/LayoutTests/imported/w3c/web-platform-tests/css/css-lists/w3c-import.log_sec3
61
/LayoutTests/imported/w3c/web-platform-tests/css/css-lists/list-style-type-string-006.html
117
/LayoutTests/imported/w3c/web-platform-tests/css/css-lists/list-style-type-string-006.html
62
/LayoutTests/imported/w3c/web-platform-tests/css/css-lists/list-style-type-string-007-expected.html
118
/LayoutTests/imported/w3c/web-platform-tests/css/css-lists/list-style-type-string-007-expected.html
63
/LayoutTests/imported/w3c/web-platform-tests/css/css-lists/list-style-type-string-007.html
119
/LayoutTests/imported/w3c/web-platform-tests/css/css-lists/list-style-type-string-007.html
120
/LayoutTests/imported/w3c/web-platform-tests/css/css-lists/list-type-none-style-image-expected.html
121
/LayoutTests/imported/w3c/web-platform-tests/css/css-lists/list-type-none-style-image.html
64
/LayoutTests/imported/w3c/web-platform-tests/css/css-lists/list-with-image-display-changed-001-expected.html
122
/LayoutTests/imported/w3c/web-platform-tests/css/css-lists/list-with-image-display-changed-001-expected.html
65
/LayoutTests/imported/w3c/web-platform-tests/css/css-lists/list-with-image-display-changed-001.html
123
/LayoutTests/imported/w3c/web-platform-tests/css/css-lists/list-with-image-display-changed-001.html
124
/LayoutTests/imported/w3c/web-platform-tests/css/css-lists/nested-list-with-list-style-type-none.html
125
/LayoutTests/imported/w3c/web-platform-tests/css/css-lists/nested-marker-dynamic-expected.html
126
/LayoutTests/imported/w3c/web-platform-tests/css/css-lists/nested-marker-dynamic.html
127
/LayoutTests/imported/w3c/web-platform-tests/css/css-lists/nested-marker-expected.html
128
/LayoutTests/imported/w3c/web-platform-tests/css/css-lists/nested-marker.html
129
/LayoutTests/imported/w3c/web-platform-tests/css/css-lists/ol-change-display-type-expected.html
130
/LayoutTests/imported/w3c/web-platform-tests/css/css-lists/ol-change-display-type.html
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-logical/META.yml -1 lines
Lines 1-4 a/LayoutTests/imported/w3c/web-platform-tests/css/css-logical/META.yml_sec1
1
spec: https://drafts.csswg.org/css-logical/
1
spec: https://drafts.csswg.org/css-logical/
2
suggested_reviewers:
2
suggested_reviewers:
3
  - atanassov
4
  - fantasai
3
  - fantasai
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-logical/animation-001-expected.txt +1 lines
Lines 21-26 FAIL Animations with implicit from values update when the writing-mode is change a/LayoutTests/imported/w3c/web-platform-tests/css/css-logical/animation-001-expected.txt_sec1
21
FAIL Animations with overlapping physical and logical properties update when the writing-mode is changed assert_equals: expected "50px" but got "0px"
21
FAIL Animations with overlapping physical and logical properties update when the writing-mode is changed assert_equals: expected "50px" but got "0px"
22
FAIL Animations update when the writing-mode is changed through a CSS variable assert_equals: expected "50px" but got "0px"
22
FAIL Animations update when the writing-mode is changed through a CSS variable assert_equals: expected "50px" but got "0px"
23
FAIL Animations update when the direction is changed assert_equals: expected "50px" but got "0px"
23
FAIL Animations update when the direction is changed assert_equals: expected "50px" but got "0px"
24
FAIL Logical shorthand with variable references animates correctly assert_equals: expected (string) "250px" but got (undefined) undefined
24
PASS writing-mode is not animatable 
25
PASS writing-mode is not animatable 
25
PASS direction is not animatable 
26
PASS direction is not animatable 
26
27
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-logical/animation-001.html +12 lines
Lines 299-304 test(t => { a/LayoutTests/imported/w3c/web-platform-tests/css/css-logical/animation-001.html_sec1
299
  assert_equals(getComputedStyle(div).marginRight, '50px');
299
  assert_equals(getComputedStyle(div).marginRight, '50px');
300
}, 'Animations update when the direction is changed');
300
}, 'Animations update when the direction is changed');
301
301
302
test(t => {
303
  const div = addDiv(t);
304
  const anim = div.animate(
305
    {
306
      insetBlock: ['var(--200px)', 'var(--300px)'],
307
    },
308
    1000
309
  );
310
  anim.currentTime = 500;
311
  assert_equals(getComputedStyle(div).insetBlockStart, '250px');
312
}, 'Logical shorthand with variable references animates correctly');
313
302
test(t => {
314
test(t => {
303
  const div = addDiv(t);
315
  const div = addDiv(t);
304
  const anim = div.animate(
316
  const anim = div.animate(
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-logical/animation-002-expected.txt +1 lines
Lines 12-16 FAIL Filling animations update when the writing-mode is changed assert_equals: e a/LayoutTests/imported/w3c/web-platform-tests/css/css-logical/animation-002-expected.txt_sec1
12
FAIL The number of interpolating properties can be increased when the writing-mode is changed assert_equals: expected "50px" but got "0px"
12
FAIL The number of interpolating properties can be increased when the writing-mode is changed assert_equals: expected "50px" but got "0px"
13
FAIL The number of interpolating properties can be decreased when the writing-mode is changed assert_equals: expected "150px" but got "100px"
13
FAIL The number of interpolating properties can be decreased when the writing-mode is changed assert_equals: expected "150px" but got "100px"
14
FAIL Animations update when the writing-mode is changed through a CSS variable assert_equals: expected "50px" but got "0px"
14
FAIL Animations update when the writing-mode is changed through a CSS variable assert_equals: expected "50px" but got "0px"
15
FAIL Logical shorthand with variable references animates correctly assert_equals: expected (string) "250px" but got (undefined) undefined
15
FAIL Animations update when the direction is changed assert_equals: expected "50px" but got "0px"
16
FAIL Animations update when the direction is changed assert_equals: expected "50px" but got "0px"
16
17
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-logical/animation-002.html +13 lines
Lines 196-201 test(t => { a/LayoutTests/imported/w3c/web-platform-tests/css/css-logical/animation-002.html_sec1
196
  assert_equals(getComputedStyle(div).height, '0px');
196
  assert_equals(getComputedStyle(div).height, '0px');
197
}, 'Animations update when the writing-mode is changed through a CSS variable');
197
}, 'Animations update when the writing-mode is changed through a CSS variable');
198
198
199
test(t => {
200
  addStyle(t, { ':root': '--200px: 200px; --300px: 300px' });
201
  addStyle(t, {
202
    '@keyframes anim': 'from { inset-block: var(--200px) } to { inset-block: var(--300px) }',
203
  });
204
  const div = addDiv(t, {
205
    style:
206
      'animation: anim 10s -5s paused linear;'
207
      + ' width: 0px; height: 0px;'
208
  });
209
  assert_equals(getComputedStyle(div).insetBlockStart, '250px');
210
}, 'Logical shorthand with variable references animates correctly');
211
199
test(t => {
212
test(t => {
200
  addStyle(t, {
213
  addStyle(t, {
201
    '@keyframes anim':
214
    '@keyframes anim':
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-logical/animation-003.tentative-expected.txt -1 / +1 lines
Lines 1-3 a/LayoutTests/imported/w3c/web-platform-tests/css/css-logical/animation-003.tentative-expected.txt_sec1
1
1
2
FAIL Logical properties are represented as physical properties in keyframes assert_own_property: expected property "height" missing
2
FAIL Logical properties are represented as physical properties in keyframes undefined is not an object (evaluating 'anim.effect')
3
3
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-logical/animation-004-expected.txt +20 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-logical/animation-004-expected.txt_sec1
1
2
Harness Error (TIMEOUT), message = null
3
4
FAIL Logical properties can be transitioned assert_equals: expected "50px" but got "100px"
5
FAIL Logical properties in transitions respect the writing-mode assert_equals: expected "50px" but got "100px"
6
FAIL Logical properties in transitions respect the direction assert_equals: expected "50px" but got "100px"
7
PASS Declaration order is respected within declaration blocks 
8
PASS Logical properties are able to override physical properties in declaration blocks 
9
PASS Declaration order is respected amongst logical properties within declaration blocks 
10
PASS Physical properties and logical properties can be mixed 
11
PASS Declaration order is respected on each keyframe individually 
12
FAIL Transitions update when the writing-mode is changed assert_equals: expected "50px" but got "100px"
13
TIMEOUT Filling transitions update when the writing-mode is changed Test timed out
14
FAIL The number of interpolating properties can be increased when the writing-mode is changed assert_equals: expected "50px" but got "100px"
15
FAIL The number of interpolating properties can be decreased when the writing-mode is changed assert_equals: expected "150px" but got "200px"
16
FAIL Transitions update when the writing-mode is changed through a CSS variable assert_equals: expected "50px" but got "100px"
17
FAIL Transitions update when the direction is changed assert_equals: expected "50px" but got "100px"
18
PASS Transitions from logical to physical update when the direction is changed 
19
FAIL Transitions from physical to logical update when the direction is changed assert_equals: expected "150px" but got "100px"
20
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-logical/animation-004.html +284 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-logical/animation-004.html_sec1
1
<!doctype html>
2
<meta charset=utf-8>
3
<title>Animating CSS logical properties using CSS Transitions</title>
4
<link rel="help" href="https://drafts.csswg.org/css-logical/#box">
5
<meta name="assert" content="The specified values of these properties are separate from the specified values of the parallel physical properties, but the flow-relative and physical properties share computed values.">
6
<script src="/resources/testharness.js"></script>
7
<script src="/resources/testharnessreport.js"></script>
8
<script src="../css-animations/support/testcommon.js"></script>
9
10
<div id="log"></div>
11
<div id="test"></div>
12
<script>
13
'use strict';
14
15
const testEl = document.getElementById("test");
16
17
function makeDeclaration(object = {}) {
18
  return Object.entries(object).map(([prop, val]) => prop + ": " + val).join("; ");
19
}
20
21
/**
22
 * Starts a CSS transition in testEl. By default, the transition will affect the properies
23
 * specified in finalStyles, be linear, last 10 seconds and start halfway, but this can be
24
 * overridden in baseStyles.
25
 *
26
 * @param t  The testharness.js Test object.
27
 * @param baseStyles  A dictionary object with property names and values to set on the
28
 *                    element before starting the transition.
29
 * @param finalStyles  A dictionary object with property names and values towards which
30
 *                     the element will transition.
31
 * @param [transitionStyles]  An optional dictionary object to costumize the transition.
32
 */
33
function transition(t, baseStyles, finalStyles, transitionStyles = {}) {
34
  // Clear styles from previous test.
35
  testEl.style.cssText = "";
36
  testEl.className = "";
37
  getComputedStyle(testEl).height;
38
39
  // Set base and final styles
40
  addStyle(t, {
41
    "#test": makeDeclaration(baseStyles),
42
    "#test.transition": makeDeclaration(finalStyles),
43
  });
44
  getComputedStyle(testEl).height;
45
46
  // Set transition styles
47
  const defaultTransition = {
48
    "transition-property": Object.keys(finalStyles).join(", "),
49
    "transition-timing-function": "linear",
50
    "transition-duration": "10s",
51
    "transition-delay": "-5s",
52
  };
53
  addStyle(t, {
54
    "#test": makeDeclaration(Object.assign(defaultTransition, transitionStyles)),
55
  });
56
57
  // Start the transition
58
  testEl.className = "transition";
59
}
60
61
test(t => {
62
  transition(t, {
63
    "block-size": "0px",
64
  }, {
65
    "block-size": "100px",
66
  });
67
  assert_equals(getComputedStyle(testEl).height, '50px');
68
}, 'Logical properties can be transitioned');
69
70
test(t => {
71
  transition(t, {
72
    "block-size": "0px",
73
    "writing-mode": "vertical-rl",
74
  }, {
75
    "block-size": "100px",
76
  });
77
  assert_equals(getComputedStyle(testEl).width, '50px');
78
  assert_equals(getComputedStyle(testEl).height, '0px');
79
}, 'Logical properties in transitions respect the writing-mode');
80
81
test(t => {
82
  transition(t, {
83
    "margin-inline-start": "0px",
84
    "direction": "rtl",
85
  }, {
86
    "margin-inline-start": "100px",
87
  });
88
  assert_equals(getComputedStyle(testEl).marginLeft, '0px');
89
  assert_equals(getComputedStyle(testEl).marginRight, '50px');
90
}, 'Logical properties in transitions respect the direction');
91
92
test(t => {
93
  transition(t, {
94
    "block-size": "0px",
95
    "height": "200px",
96
  }, {
97
    "block-size": "100px",
98
    "height": "300px",
99
  });
100
  assert_equals(getComputedStyle(testEl).height, '250px');
101
}, 'Declaration order is respected within declaration blocks');
102
103
test(t => {
104
  transition(t, {}, {
105
    "margin-top": "200px",
106
    "margin-block-start": "100px"
107
  }, {
108
    "transition-timing-function": "step-start",
109
  });
110
  assert_equals(getComputedStyle(testEl).marginTop, '100px');
111
}, 'Logical properties are able to override physical properties in declaration blocks');
112
113
test(t => {
114
  transition(t, {}, {
115
    "margin-inline": "200px",
116
    "margin-inline-start": "0px",
117
    "margin-inline-start": "100px",
118
  }, {
119
    "transition-timing-function": "step-start",
120
  });
121
  assert_equals(getComputedStyle(testEl).marginLeft, '100px');
122
}, 'Declaration order is respected amongst logical properties within declaration blocks');
123
124
test(t => {
125
  transition(t, {
126
    "block-size": "200px",
127
  }, {
128
    "height": "300px",
129
  });
130
  assert_equals(getComputedStyle(testEl).height, '250px');
131
}, 'Physical properties and logical properties can be mixed');
132
133
test(t => {
134
  transition(t, {
135
    "height": "100px",
136
    "block-size": "200px",
137
  }, {
138
    "block-size": "100px",
139
    "height": "300px",
140
  });
141
  assert_equals(getComputedStyle(testEl).height, '250px');
142
}, 'Declaration order is respected on each keyframe individually');
143
144
test(t => {
145
  transition(t, {
146
    "width": "0px",
147
    "height": "0px",
148
    "block-size": "0px",
149
  }, {
150
    "block-size": "100px",
151
  });
152
  assert_equals(getComputedStyle(testEl).width, '0px');
153
  assert_equals(getComputedStyle(testEl).height, '50px');
154
155
  testEl.style.writingMode = 'vertical-rl';
156
  assert_equals(getComputedStyle(testEl).width, '50px');
157
  assert_equals(getComputedStyle(testEl).height, '0px');
158
}, 'Transitions update when the writing-mode is changed');
159
160
promise_test(async t => {
161
  transition(t, {
162
    "width": "0px",
163
    "height": "0px",
164
    "block-size": "0px",
165
  }, {
166
    "block-size": "100px",
167
  }, {
168
    "transition-delay": "-9.9s",
169
  });
170
  const watcher = new EventWatcher(t, testEl, [ 'transitionend' ]);
171
  await watcher.wait_for('transitionend');
172
173
  assert_equals(getComputedStyle(testEl).width, '0px');
174
  assert_equals(getComputedStyle(testEl).height, '100px');
175
176
  testEl.style.transition = 'none';
177
  testEl.style.writingMode = 'vertical-rl';
178
  assert_equals(getComputedStyle(testEl).width, '100px');
179
  assert_equals(getComputedStyle(testEl).height, '0px');
180
}, 'Filling transitions update when the writing-mode is changed');
181
182
test(t => {
183
  transition(t, {
184
    "width": "0px",
185
    "height": "0px",
186
  }, {
187
    "block-size": "100px",
188
    "height": "200px",
189
  });
190
191
  // Initially we are interpolating the height from 0 to 200px
192
  assert_equals(getComputedStyle(testEl).width, '0px');
193
  assert_equals(getComputedStyle(testEl).height, '100px');
194
195
  // But once we change the writing-mode, we will be interpolating *both*
196
  // the height (from 0px to 200px) *and* the width (from 0px to 100px).
197
  testEl.style.writingMode = 'vertical-rl';
198
  assert_equals(getComputedStyle(testEl).width, '50px');
199
  assert_equals(getComputedStyle(testEl).height, '100px');
200
}, 'The number of interpolating properties can be increased when the'
201
   + ' writing-mode is changed');
202
203
test(t => {
204
  transition(t, {
205
    "width": "100px",
206
    "height": "100px",
207
  }, {
208
    "width": "500px",
209
    "block-size": "200px",
210
  });
211
212
  // Initially we are interpolating the width (100px -> 500px) and the height
213
  // (100px -> 200px).
214
  assert_equals(getComputedStyle(testEl).width, '300px');
215
  assert_equals(getComputedStyle(testEl).height, '150px');
216
217
  // Once we change the writing-mode, we will be interpolating *only* the
218
  // width (300px -> 200px).
219
  testEl.style.writingMode = 'vertical-rl';
220
  assert_equals(getComputedStyle(testEl).width, '250px');
221
  assert_equals(getComputedStyle(testEl).height, '100px');
222
}, 'The number of interpolating properties can be decreased when the'
223
   + ' writing-mode is changed');
224
225
test(t => {
226
  addStyle(t, { ':root': '--writingMode: horizontal-tb' });
227
  transition(t, {
228
    "width": "0px",
229
    "height": "0px",
230
    "writing-mode": "var(--writingMode)",
231
    "block-size": "0px",
232
  }, {
233
    "block-size": "100px"
234
  });
235
  assert_equals(getComputedStyle(testEl).width, '0px');
236
  assert_equals(getComputedStyle(testEl).height, '50px');
237
238
  testEl.style.setProperty('--writingMode', 'vertical-rl');
239
  assert_equals(getComputedStyle(testEl).width, '50px');
240
  assert_equals(getComputedStyle(testEl).height, '0px');
241
}, 'Transitions update when the writing-mode is changed through a CSS variable');
242
243
test(t => {
244
  transition(t, {
245
    "margin-inline-start": "0px",
246
  }, {
247
    "margin-inline-start": "100px",
248
  });
249
  assert_equals(getComputedStyle(testEl).marginLeft, '50px');
250
  assert_equals(getComputedStyle(testEl).marginRight, '0px');
251
252
  testEl.style.direction = 'rtl';
253
  assert_equals(getComputedStyle(testEl).marginLeft, '0px');
254
  assert_equals(getComputedStyle(testEl).marginRight, '50px');
255
}, 'Transitions update when the direction is changed');
256
257
test(t => {
258
  transition(t, {
259
    "margin-inline-start": "100px",
260
  }, {
261
    "margin-left": "200px",
262
  });
263
  assert_equals(getComputedStyle(testEl).marginLeft, '150px');
264
  assert_equals(getComputedStyle(testEl).marginRight, '0px');
265
266
  testEl.style.direction = 'rtl';
267
  assert_equals(getComputedStyle(testEl).marginLeft, '150px');
268
  assert_equals(getComputedStyle(testEl).marginRight, '100px');
269
}, 'Transitions from logical to physical update when the direction is changed');
270
271
test(t => {
272
  transition(t, {
273
    "margin-left": "200px",
274
  }, {
275
    "margin-inline-start": "100px",
276
  });
277
  assert_equals(getComputedStyle(testEl).marginLeft, '150px');
278
  assert_equals(getComputedStyle(testEl).marginRight, '0px');
279
280
  testEl.style.direction = 'rtl';
281
  assert_equals(getComputedStyle(testEl).marginLeft, '200px');
282
  assert_equals(getComputedStyle(testEl).marginRight, '50px');
283
}, 'Transitions from physical to logical update when the direction is changed');
284
</script>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-logical/animations/float-interpolation-expected.txt +30 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-logical/animations/float-interpolation-expected.txt_sec1
1
2
PASS CSS Transitions: property <float> from [left] to [right] at (-0.3) should be [right] 
3
PASS CSS Transitions: property <float> from [left] to [right] at (0) should be [right] 
4
PASS CSS Transitions: property <float> from [left] to [right] at (0.3) should be [right] 
5
PASS CSS Transitions: property <float> from [left] to [right] at (0.5) should be [right] 
6
PASS CSS Transitions: property <float> from [left] to [right] at (0.6) should be [right] 
7
PASS CSS Transitions: property <float> from [left] to [right] at (1) should be [right] 
8
PASS CSS Transitions: property <float> from [left] to [right] at (1.5) should be [right] 
9
PASS CSS Transitions with transition: all: property <float> from [left] to [right] at (-0.3) should be [right] 
10
PASS CSS Transitions with transition: all: property <float> from [left] to [right] at (0) should be [right] 
11
PASS CSS Transitions with transition: all: property <float> from [left] to [right] at (0.3) should be [right] 
12
PASS CSS Transitions with transition: all: property <float> from [left] to [right] at (0.5) should be [right] 
13
PASS CSS Transitions with transition: all: property <float> from [left] to [right] at (0.6) should be [right] 
14
PASS CSS Transitions with transition: all: property <float> from [left] to [right] at (1) should be [right] 
15
PASS CSS Transitions with transition: all: property <float> from [left] to [right] at (1.5) should be [right] 
16
FAIL CSS Animations: property <float> from [left] to [right] at (-0.3) should be [left] assert_equals: expected "left " but got "none "
17
FAIL CSS Animations: property <float> from [left] to [right] at (0) should be [left] assert_equals: expected "left " but got "none "
18
FAIL CSS Animations: property <float> from [left] to [right] at (0.3) should be [left] assert_equals: expected "left " but got "none "
19
FAIL CSS Animations: property <float> from [left] to [right] at (0.5) should be [right] assert_equals: expected "right " but got "none "
20
FAIL CSS Animations: property <float> from [left] to [right] at (0.6) should be [right] assert_equals: expected "right " but got "none "
21
FAIL CSS Animations: property <float> from [left] to [right] at (1) should be [right] assert_equals: expected "right " but got "none "
22
FAIL CSS Animations: property <float> from [left] to [right] at (1.5) should be [right] assert_equals: expected "right " but got "none "
23
FAIL Web Animations: property <float> from [left] to [right] at (-0.3) should be [left] assert_equals: expected "left " but got "none "
24
FAIL Web Animations: property <float> from [left] to [right] at (0) should be [left] assert_equals: expected "left " but got "none "
25
FAIL Web Animations: property <float> from [left] to [right] at (0.3) should be [left] assert_equals: expected "left " but got "none "
26
FAIL Web Animations: property <float> from [left] to [right] at (0.5) should be [right] assert_equals: expected "right " but got "none "
27
FAIL Web Animations: property <float> from [left] to [right] at (0.6) should be [right] assert_equals: expected "right " but got "none "
28
FAIL Web Animations: property <float> from [left] to [right] at (1) should be [right] assert_equals: expected "right " but got "none "
29
FAIL Web Animations: property <float> from [left] to [right] at (1.5) should be [right] assert_equals: expected "right " but got "none "
30
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-logical/animations/float-interpolation.html +24 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-logical/animations/float-interpolation.html_sec1
1
<!DOCTYPE html>
2
<meta charset="UTF-8">
3
<title>float interpolation</title>
4
<link rel="help" href="https://drafts.csswg.org/css-logical/#float-clear">
5
<meta name="assert" content="float supports animation">
6
7
<script src="/resources/testharness.js"></script>
8
<script src="/resources/testharnessreport.js"></script>
9
<script src="/css/support/interpolation-testcommon.js"></script>
10
11
<style>
12
.expected { color: green; }
13
</style>
14
15
<body>
16
<template id="target-template">float</template>
17
<script>
18
test_no_interpolation({
19
  property: 'float',
20
  from: 'left',
21
  to: 'right',
22
});
23
</script>
24
</body>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-logical/animations/w3c-import.log +17 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-logical/animations/w3c-import.log_sec1
1
The tests in this directory were imported from the W3C repository.
2
Do NOT modify these tests directly in WebKit.
3
Instead, create a pull request on the WPT github:
4
	https://github.com/web-platform-tests/wpt
5
6
Then run the Tools/Scripts/import-w3c-tests in WebKit to reimport
7
8
Do NOT modify or remove this file.
9
10
------------------------------------------------------------------------
11
Properties requiring vendor prefixes:
12
None
13
Property values requiring vendor prefixes:
14
None
15
------------------------------------------------------------------------
16
List of files:
17
/LayoutTests/imported/w3c/web-platform-tests/css/css-logical/animations/float-interpolation.html
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-logical/getComputedStyle-listing-expected.txt +32 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-logical/getComputedStyle-listing-expected.txt_sec1
1
2
PASS border-block-end-color 
3
PASS border-block-end-style 
4
PASS border-block-end-width 
5
PASS border-block-start-color 
6
PASS border-block-start-style 
7
PASS border-block-start-width 
8
PASS border-inline-end-color 
9
PASS border-inline-end-style 
10
PASS border-inline-end-width 
11
PASS border-inline-start-color 
12
PASS border-inline-start-style 
13
PASS border-inline-start-width 
14
FAIL inset-block-start assert_true: The computed style has the property inset-block-start or insetBlockStart. expected true got false
15
FAIL inset-block-end assert_true: The computed style has the property inset-block-end or insetBlockEnd. expected true got false
16
FAIL inset-inline-start assert_true: The computed style has the property inset-inline-start or insetInlineStart. expected true got false
17
FAIL inset-inline-end assert_true: The computed style has the property inset-inline-end or insetInlineEnd. expected true got false
18
PASS margin-block-start 
19
PASS margin-block-end 
20
PASS margin-inline-start 
21
PASS margin-inline-end 
22
PASS padding-block-start 
23
PASS padding-block-end 
24
PASS padding-inline-start 
25
PASS padding-inline-end 
26
PASS block-size 
27
PASS inline-size 
28
PASS max-block-size 
29
PASS max-inline-size 
30
PASS min-block-size 
31
PASS min-inline-size 
32
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-logical/getComputedStyle-listing.html +106 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-logical/getComputedStyle-listing.html_sec1
1
<!DOCTYPE html>
2
<meta charset="utf-8" />
3
<title>CSS Logical Properties: computed style listing</title>
4
<link rel="author" title="Oriol Brufau" href="mailto:obrufau@igalia.com" />
5
<link rel="help" href="https://drafts.csswg.org/css-logical/#margin-properties">
6
<meta name="assert" content="This test checks that the logical properties are properly exposed in a computed CSSStyleDeclaration." />
7
<script src="/resources/testharness.js"></script>
8
<script src="/resources/testharnessreport.js"></script>
9
10
<div id="log"></div>
11
12
<script>
13
function hasProperty(object, property) {
14
  // This checks the [[HasProperty]] internal method.
15
  return property in object;
16
}
17
18
function hasPropertyValue(object, property) {
19
  // This checks the [[Get]] internal method.
20
  return object[property] !== undefined;
21
}
22
23
function hasPropertyDescriptor(object, property) {
24
  // This checks [[GetOwnProperty]], iterating the prototype chain.
25
  while (object) {
26
    if (Reflect.getOwnPropertyDescriptor(object, property)) {
27
      return true;
28
    }
29
    object = Reflect.getPrototypeOf(object);
30
  }
31
  return false;
32
}
33
34
function hasPropertyKey(object, property) {
35
  // This checks [[OwnPropertyKeys]], iterating the prototype chain.
36
  while (object) {
37
    if (Reflect.ownKeys(object).includes(property)) {
38
      return true;
39
    }
40
    object = Reflect.getPrototypeOf(object);
41
  }
42
  return false;
43
}
44
45
function hasItem(object, item) {
46
  // This checks the CSSStyleDeclaration::item WebIDL getter.
47
  for (let i = 0; i < object.length; ++i) {
48
    if (object.item(i) === item) {
49
      return true;
50
    }
51
  }
52
  return false;
53
}
54
55
function check(property) {
56
  const cs = getComputedStyle(document.body);
57
  const camelCase = property.replace(/-(.)/g, (_, b) => b.toUpperCase());
58
  test(function() {
59
    assert_true(hasProperty(cs, property) || hasProperty(cs, camelCase),
60
      `The computed style has the property ${property} or ${camelCase}.`);
61
    assert_true(hasPropertyValue(cs, property) || hasPropertyValue(cs, camelCase),
62
      `The computed style has a value for for the property ${property} or ${camelCase}.`);
63
    assert_true(hasPropertyDescriptor(cs, property) || hasPropertyDescriptor(cs, camelCase),
64
      `The computed style has a property descriptor for ${property} or ${camelCase}.`);
65
    assert_true(hasPropertyKey(cs, property) || hasPropertyKey(cs, camelCase),
66
      `The computed style contains ${property} or ${camelCase} in the property list.`);
67
    assert_true(hasItem(cs, property) || hasItem(cs, camelCase),
68
      `The computed style contains the item ${property} or ${camelCase}.`);
69
  }, property);
70
}
71
72
check("border-block-end-color");
73
check("border-block-end-style");
74
check("border-block-end-width");
75
check("border-block-start-color");
76
check("border-block-start-style");
77
check("border-block-start-width");
78
check("border-inline-end-color");
79
check("border-inline-end-style");
80
check("border-inline-end-width");
81
check("border-inline-start-color");
82
check("border-inline-start-style");
83
check("border-inline-start-width");
84
85
check("inset-block-start");
86
check("inset-block-end");
87
check("inset-inline-start");
88
check("inset-inline-end");
89
90
check("margin-block-start");
91
check("margin-block-end");
92
check("margin-inline-start");
93
check("margin-inline-end");
94
95
check("padding-block-start");
96
check("padding-block-end");
97
check("padding-inline-start");
98
check("padding-inline-end");
99
100
check("block-size");
101
check("inline-size");
102
check("max-block-size");
103
check("max-inline-size");
104
check("min-block-size");
105
check("min-inline-size");
106
</script>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-logical/inheritance-expected.txt +70 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-logical/inheritance-expected.txt_sec1
1
2
PASS Property block-size has initial value 0px 
3
PASS Property block-size does not inherit 
4
PASS Property border-block-end-color has initial value rgb(0, 0, 255) 
5
PASS Property border-block-end-color does not inherit 
6
PASS Property border-block-end-style has initial value none 
7
PASS Property border-block-end-style does not inherit 
8
PASS Property border-block-end-width has initial value 3px 
9
PASS Property border-block-end-width does not inherit 
10
PASS Property border-block-start-color has initial value rgb(0, 0, 255) 
11
PASS Property border-block-start-color does not inherit 
12
PASS Property border-block-start-style has initial value none 
13
PASS Property border-block-start-style does not inherit 
14
PASS Property border-block-start-width has initial value 3px 
15
PASS Property border-block-start-width does not inherit 
16
FAIL Property border-end-end-radius has initial value 0px assert_true: border-end-end-radius doesn't seem to be supported in the computed style expected true got false
17
FAIL Property border-end-end-radius does not inherit assert_true: expected true got false
18
FAIL Property border-end-start-radius has initial value 0px assert_true: border-end-start-radius doesn't seem to be supported in the computed style expected true got false
19
FAIL Property border-end-start-radius does not inherit assert_true: expected true got false
20
PASS Property border-inline-end-color has initial value rgb(0, 0, 255) 
21
PASS Property border-inline-end-color does not inherit 
22
PASS Property border-inline-end-style has initial value none 
23
PASS Property border-inline-end-style does not inherit 
24
PASS Property border-inline-end-width has initial value 3px 
25
PASS Property border-inline-end-width does not inherit 
26
PASS Property border-inline-start-color has initial value rgb(0, 0, 255) 
27
PASS Property border-inline-start-color does not inherit 
28
PASS Property border-inline-start-style has initial value none 
29
PASS Property border-inline-start-style does not inherit 
30
PASS Property border-inline-start-width has initial value 3px 
31
PASS Property border-inline-start-width does not inherit 
32
FAIL Property border-start-end-radius has initial value 0px assert_true: border-start-end-radius doesn't seem to be supported in the computed style expected true got false
33
FAIL Property border-start-end-radius does not inherit assert_true: expected true got false
34
FAIL Property border-start-start-radius has initial value 0px assert_true: border-start-start-radius doesn't seem to be supported in the computed style expected true got false
35
FAIL Property border-start-start-radius does not inherit assert_true: expected true got false
36
PASS Property inline-size has initial value 294px 
37
PASS Property inline-size does not inherit 
38
FAIL Property inset-block-end has initial value auto assert_true: inset-block-end doesn't seem to be supported in the computed style expected true got false
39
FAIL Property inset-block-end does not inherit assert_true: expected true got false
40
FAIL Property inset-block-start has initial value auto assert_true: inset-block-start doesn't seem to be supported in the computed style expected true got false
41
FAIL Property inset-block-start does not inherit assert_true: expected true got false
42
FAIL Property inset-inline-end has initial value auto assert_true: inset-inline-end doesn't seem to be supported in the computed style expected true got false
43
FAIL Property inset-inline-end does not inherit assert_true: expected true got false
44
FAIL Property inset-inline-start has initial value auto assert_true: inset-inline-start doesn't seem to be supported in the computed style expected true got false
45
FAIL Property inset-inline-start does not inherit assert_true: expected true got false
46
PASS Property margin-block-end has initial value 0px 
47
PASS Property margin-block-end does not inherit 
48
PASS Property margin-block-start has initial value 0px 
49
PASS Property margin-block-start does not inherit 
50
PASS Property margin-inline-end has initial value 0px 
51
PASS Property margin-inline-end does not inherit 
52
PASS Property margin-inline-start has initial value 0px 
53
PASS Property margin-inline-start does not inherit 
54
PASS Property max-block-size has initial value none 
55
PASS Property max-block-size does not inherit 
56
PASS Property max-inline-size has initial value none 
57
PASS Property max-inline-size does not inherit 
58
PASS Property min-block-size has initial value 0px 
59
PASS Property min-block-size does not inherit 
60
PASS Property min-inline-size has initial value 0px 
61
PASS Property min-inline-size does not inherit 
62
PASS Property padding-block-end has initial value 0px 
63
PASS Property padding-block-end does not inherit 
64
PASS Property padding-block-start has initial value 0px 
65
PASS Property padding-block-start does not inherit 
66
PASS Property padding-inline-end has initial value 0px 
67
PASS Property padding-inline-end does not inherit 
68
PASS Property padding-inline-start has initial value 0px 
69
PASS Property padding-inline-start does not inherit 
70
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-logical/inheritance.html +95 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-logical/inheritance.html_sec1
1
<!DOCTYPE html>
2
<html>
3
<head>
4
<meta charset="utf-8">
5
<title>Inheritance of CSS Logical Properties and Values properties</title>
6
<link rel="help" href="https://www.w3.org/TR/css-logical-1/#property-index">
7
<meta name="assert" content="Properties do not inherit.">
8
<meta name="assert" content="Properties have initial values according to the spec.">
9
<script src="/resources/testharness.js"></script>
10
<script src="/resources/testharnessreport.js"></script>
11
<script src="/css/support/inheritance-testcommon.js"></script>
12
</head>
13
<body>
14
<div id="reference-container">
15
  <div id="reference"></div>
16
</div>
17
<div id="container">
18
  <div id="target"></div>
19
</div>
20
<style>
21
#reference-container {
22
  width: 300px;
23
}
24
#reference-container, #reference {
25
  border-style: solid; /* Avoid border-top-width computed style 0 */
26
  border-top-width: medium;
27
}
28
29
#container, #target {
30
  border-block-end-style: solid; /* Avoid border-block-end-width computed style 0 */
31
  border-block-start-style: solid;
32
  border-inline-end-style: solid;
33
  border-inline-start-style: solid;
34
}
35
36
#container {
37
  color: blue;
38
  width: 300px;
39
}
40
</style>
41
<script>
42
'use strict';
43
const blue = "rgb(0, 0, 255)";
44
const green = "rgb(0, 128, 0)";
45
const mediumWidth = getComputedStyle(reference).borderTopWidth; // e.g. 3px
46
const referenceWidth = getComputedStyle(reference).width; // e.g. 294px
47
48
assert_not_inherited('block-size', '0px', '10px');
49
50
assert_not_inherited('border-block-end-color', blue, green);
51
assert_not_inherited('border-block-end-style', 'none', 'dotted');
52
assert_not_inherited('border-block-end-width', mediumWidth, '10px');
53
54
assert_not_inherited('border-block-start-color', blue, green);
55
assert_not_inherited('border-block-start-style', 'none', 'dotted');
56
assert_not_inherited('border-block-start-width', mediumWidth, '10px');
57
58
assert_not_inherited('border-end-end-radius', '0px', '10px 20px');
59
assert_not_inherited('border-end-start-radius', '0px', '10px 20px');
60
61
assert_not_inherited('border-inline-end-color', blue, green);
62
assert_not_inherited('border-inline-end-style', 'none', 'dotted');
63
assert_not_inherited('border-inline-end-width', mediumWidth, '10px');
64
65
assert_not_inherited('border-inline-start-color', blue, green);
66
assert_not_inherited('border-inline-start-style', 'none', 'dotted');
67
assert_not_inherited('border-inline-start-width', mediumWidth, '10px');
68
69
assert_not_inherited('border-start-end-radius', '0px', '10px 20px');
70
assert_not_inherited('border-start-start-radius', '0px', '10px 20px');
71
72
assert_not_inherited('inline-size', referenceWidth, '10px');
73
74
assert_not_inherited('inset-block-end', 'auto', '10px');
75
assert_not_inherited('inset-block-start', 'auto', '10px');
76
assert_not_inherited('inset-inline-end', 'auto', '10px');
77
assert_not_inherited('inset-inline-start', 'auto', '10px');
78
79
assert_not_inherited('margin-block-end', '0px', '10px');
80
assert_not_inherited('margin-block-start', '0px', '10px');
81
assert_not_inherited('margin-inline-end', '0px', '10px');
82
assert_not_inherited('margin-inline-start', '0px', '10px');
83
84
assert_not_inherited('max-block-size', 'none', '10px');
85
assert_not_inherited('max-inline-size', 'none', '10px');
86
assert_not_inherited('min-block-size', '0px', '10px');
87
assert_not_inherited('min-inline-size', '0px', '10px');
88
89
assert_not_inherited('padding-block-end', '0px', '10px');
90
assert_not_inherited('padding-block-start', '0px', '10px');
91
assert_not_inherited('padding-inline-end', '0px', '10px');
92
assert_not_inherited('padding-inline-start', '0px', '10px');
93
</script>
94
</body>
95
</html>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-logical/logical-box-border-color.html -1 / +1 lines
Lines 1-4 a/LayoutTests/imported/w3c/web-platform-tests/css/css-logical/logical-box-border-color.html_sec1
1
<!DOCTYPE html> <!-- webkit-test-runner [ internal:CSSLogicalEnabled=true ] -->
1
<!DOCTYPE html><!-- webkit-test-runner [ internal:CSSLogicalEnabled=true ] -->
2
<meta charset="utf-8" />
2
<meta charset="utf-8" />
3
<title>CSS Logical Properties: Flow-Relative Border Colors</title>
3
<title>CSS Logical Properties: Flow-Relative Border Colors</title>
4
<link rel="author" title="Oriol Brufau" href="mailto:obrufau@igalia.com" />
4
<link rel="author" title="Oriol Brufau" href="mailto:obrufau@igalia.com" />
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-logical/logical-box-border-radius-expected.txt +43 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-logical/logical-box-border-radius-expected.txt_sec1
1
2
FAIL Test that logical border-*-radius properties are supported. assert_equals: logical properties in inline style, border-start-start-radius expected "1px" but got ""
3
FAIL Test that logical border-*-radius properties share computed values with their physical associates, with 'writing-mode: horizontal-tb; direction: ltr; '. assert_equals: logical properties on one declaration, writing mode properties on another, 'writing-mode: horizontal-tb; direction: ltr; ', border-start-start-radius expected "1px" but got ""
4
PASS Test that border-*-radius shorthands set the computed value of both logical and physical longhands, with 'writing-mode: horizontal-tb; direction: ltr; '. 
5
FAIL Test that border-*-radius properties honor order of appearance when both logical and physical associates are declared, with 'writing-mode: horizontal-tb; direction: ltr; '. assert_equals: 'border-start-start-radius' last on single declaration, 'writing-mode: horizontal-tb; direction: ltr; ', border-top-left-radius expected "5px" but got "1px"
6
FAIL Test that border-*-radius properties honor selector specificty when both logical and physical associates are declared, with 'writing-mode: horizontal-tb; direction: ltr; '. assert_equals: 'border-start-start-radius', two declarations, 'writing-mode: horizontal-tb; direction: ltr; ', border-top-left-radius expected "5px" but got "1px"
7
FAIL Test that logical border-*-radius properties share computed values with their physical associates, with 'writing-mode: horizontal-tb; direction: rtl; '. assert_equals: logical properties on one declaration, writing mode properties on another, 'writing-mode: horizontal-tb; direction: rtl; ', border-start-start-radius expected "1px" but got ""
8
PASS Test that border-*-radius shorthands set the computed value of both logical and physical longhands, with 'writing-mode: horizontal-tb; direction: rtl; '. 
9
FAIL Test that border-*-radius properties honor order of appearance when both logical and physical associates are declared, with 'writing-mode: horizontal-tb; direction: rtl; '. assert_equals: 'border-start-start-radius' last on single declaration, 'writing-mode: horizontal-tb; direction: rtl; ', border-start-end-radius expected "1px" but got ""
10
FAIL Test that border-*-radius properties honor selector specificty when both logical and physical associates are declared, with 'writing-mode: horizontal-tb; direction: rtl; '. assert_equals: 'border-start-start-radius', two declarations, 'writing-mode: horizontal-tb; direction: rtl; ', border-start-end-radius expected "1px" but got ""
11
FAIL Test that logical border-*-radius properties share computed values with their physical associates, with 'writing-mode: vertical-rl; direction: rtl; '. assert_equals: logical properties on one declaration, writing mode properties on another, 'writing-mode: vertical-rl; direction: rtl; ', border-start-start-radius expected "1px" but got ""
12
PASS Test that border-*-radius shorthands set the computed value of both logical and physical longhands, with 'writing-mode: vertical-rl; direction: rtl; '. 
13
FAIL Test that border-*-radius properties honor order of appearance when both logical and physical associates are declared, with 'writing-mode: vertical-rl; direction: rtl; '. assert_equals: 'border-start-start-radius' last on single declaration, 'writing-mode: vertical-rl; direction: rtl; ', border-end-end-radius expected "1px" but got ""
14
FAIL Test that border-*-radius properties honor selector specificty when both logical and physical associates are declared, with 'writing-mode: vertical-rl; direction: rtl; '. assert_equals: 'border-start-start-radius', two declarations, 'writing-mode: vertical-rl; direction: rtl; ', border-end-end-radius expected "1px" but got ""
15
FAIL Test that logical border-*-radius properties share computed values with their physical associates, with 'writing-mode: sideways-rl; direction: rtl; '. assert_equals: logical properties on one declaration, writing mode properties on another, 'writing-mode: sideways-rl; direction: rtl; ', border-start-start-radius expected "1px" but got ""
16
PASS Test that border-*-radius shorthands set the computed value of both logical and physical longhands, with 'writing-mode: sideways-rl; direction: rtl; '. 
17
FAIL Test that border-*-radius properties honor order of appearance when both logical and physical associates are declared, with 'writing-mode: sideways-rl; direction: rtl; '. assert_equals: 'border-start-start-radius' last on single declaration, 'writing-mode: sideways-rl; direction: rtl; ', border-end-end-radius expected "1px" but got ""
18
FAIL Test that border-*-radius properties honor selector specificty when both logical and physical associates are declared, with 'writing-mode: sideways-rl; direction: rtl; '. assert_equals: 'border-start-start-radius', two declarations, 'writing-mode: sideways-rl; direction: rtl; ', border-end-end-radius expected "1px" but got ""
19
FAIL Test that logical border-*-radius properties share computed values with their physical associates, with 'writing-mode: vertical-rl; direction: ltr; '. assert_equals: logical properties on one declaration, writing mode properties on another, 'writing-mode: vertical-rl; direction: ltr; ', border-start-start-radius expected "1px" but got ""
20
PASS Test that border-*-radius shorthands set the computed value of both logical and physical longhands, with 'writing-mode: vertical-rl; direction: ltr; '. 
21
FAIL Test that border-*-radius properties honor order of appearance when both logical and physical associates are declared, with 'writing-mode: vertical-rl; direction: ltr; '. assert_equals: 'border-start-start-radius' last on single declaration, 'writing-mode: vertical-rl; direction: ltr; ', border-end-start-radius expected "1px" but got ""
22
FAIL Test that border-*-radius properties honor selector specificty when both logical and physical associates are declared, with 'writing-mode: vertical-rl; direction: ltr; '. assert_equals: 'border-start-start-radius', two declarations, 'writing-mode: vertical-rl; direction: ltr; ', border-end-start-radius expected "1px" but got ""
23
FAIL Test that logical border-*-radius properties share computed values with their physical associates, with 'writing-mode: sideways-rl; direction: ltr; '. assert_equals: logical properties on one declaration, writing mode properties on another, 'writing-mode: sideways-rl; direction: ltr; ', border-start-start-radius expected "1px" but got ""
24
PASS Test that border-*-radius shorthands set the computed value of both logical and physical longhands, with 'writing-mode: sideways-rl; direction: ltr; '. 
25
FAIL Test that border-*-radius properties honor order of appearance when both logical and physical associates are declared, with 'writing-mode: sideways-rl; direction: ltr; '. assert_equals: 'border-start-start-radius' last on single declaration, 'writing-mode: sideways-rl; direction: ltr; ', border-end-start-radius expected "1px" but got ""
26
FAIL Test that border-*-radius properties honor selector specificty when both logical and physical associates are declared, with 'writing-mode: sideways-rl; direction: ltr; '. assert_equals: 'border-start-start-radius', two declarations, 'writing-mode: sideways-rl; direction: ltr; ', border-end-start-radius expected "1px" but got ""
27
FAIL Test that logical border-*-radius properties share computed values with their physical associates, with 'writing-mode: vertical-lr; direction: rtl; '. assert_equals: logical properties on one declaration, writing mode properties on another, 'writing-mode: vertical-lr; direction: rtl; ', border-start-start-radius expected "1px" but got ""
28
PASS Test that border-*-radius shorthands set the computed value of both logical and physical longhands, with 'writing-mode: vertical-lr; direction: rtl; '. 
29
FAIL Test that border-*-radius properties honor order of appearance when both logical and physical associates are declared, with 'writing-mode: vertical-lr; direction: rtl; '. assert_equals: 'border-start-start-radius' last on single declaration, 'writing-mode: vertical-lr; direction: rtl; ', border-start-end-radius expected "1px" but got ""
30
FAIL Test that border-*-radius properties honor selector specificty when both logical and physical associates are declared, with 'writing-mode: vertical-lr; direction: rtl; '. assert_equals: 'border-start-start-radius', two declarations, 'writing-mode: vertical-lr; direction: rtl; ', border-start-end-radius expected "1px" but got ""
31
FAIL Test that logical border-*-radius properties share computed values with their physical associates, with 'writing-mode: sideways-lr; direction: ltr; '. assert_equals: logical properties on one declaration, writing mode properties on another, 'writing-mode: sideways-lr; direction: ltr; ', border-start-start-radius expected "1px" but got ""
32
PASS Test that border-*-radius shorthands set the computed value of both logical and physical longhands, with 'writing-mode: sideways-lr; direction: ltr; '. 
33
FAIL Test that border-*-radius properties honor order of appearance when both logical and physical associates are declared, with 'writing-mode: sideways-lr; direction: ltr; '. assert_equals: 'border-start-start-radius' last on single declaration, 'writing-mode: sideways-lr; direction: ltr; ', border-start-end-radius expected "1px" but got ""
34
FAIL Test that border-*-radius properties honor selector specificty when both logical and physical associates are declared, with 'writing-mode: sideways-lr; direction: ltr; '. assert_equals: 'border-start-start-radius', two declarations, 'writing-mode: sideways-lr; direction: ltr; ', border-start-end-radius expected "1px" but got ""
35
FAIL Test that logical border-*-radius properties share computed values with their physical associates, with 'writing-mode: vertical-lr; direction: ltr; '. assert_equals: logical properties on one declaration, writing mode properties on another, 'writing-mode: vertical-lr; direction: ltr; ', border-start-start-radius expected "1px" but got ""
36
PASS Test that border-*-radius shorthands set the computed value of both logical and physical longhands, with 'writing-mode: vertical-lr; direction: ltr; '. 
37
FAIL Test that border-*-radius properties honor order of appearance when both logical and physical associates are declared, with 'writing-mode: vertical-lr; direction: ltr; '. assert_equals: 'border-start-start-radius' last on single declaration, 'writing-mode: vertical-lr; direction: ltr; ', border-top-left-radius expected "5px" but got "1px"
38
FAIL Test that border-*-radius properties honor selector specificty when both logical and physical associates are declared, with 'writing-mode: vertical-lr; direction: ltr; '. assert_equals: 'border-start-start-radius', two declarations, 'writing-mode: vertical-lr; direction: ltr; ', border-top-left-radius expected "5px" but got "1px"
39
FAIL Test that logical border-*-radius properties share computed values with their physical associates, with 'writing-mode: sideways-lr; direction: rtl; '. assert_equals: logical properties on one declaration, writing mode properties on another, 'writing-mode: sideways-lr; direction: rtl; ', border-start-start-radius expected "1px" but got ""
40
PASS Test that border-*-radius shorthands set the computed value of both logical and physical longhands, with 'writing-mode: sideways-lr; direction: rtl; '. 
41
FAIL Test that border-*-radius properties honor order of appearance when both logical and physical associates are declared, with 'writing-mode: sideways-lr; direction: rtl; '. assert_equals: 'border-start-start-radius' last on single declaration, 'writing-mode: sideways-lr; direction: rtl; ', border-top-left-radius expected "5px" but got "1px"
42
FAIL Test that border-*-radius properties honor selector specificty when both logical and physical associates are declared, with 'writing-mode: sideways-lr; direction: rtl; '. assert_equals: 'border-start-start-radius', two declarations, 'writing-mode: sideways-lr; direction: rtl; ', border-top-left-radius expected "5px" but got "1px"
43
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-logical/logical-box-border-radius.html +18 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-logical/logical-box-border-radius.html_sec1
1
<!DOCTYPE html>
2
<meta charset="utf-8" />
3
<title>CSS Logical Properties: flow-relative border-radius</title>
4
<link rel="author" title="Mats Palmgren" href="mailto:mats@mozilla.com" />
5
<link rel="help" href="https://drafts.csswg.org/css-logical-1/#border-radius-properties">
6
<meta name="assert" content="This test checks the interaction of the flow-relative border-*-radius properties with the physical ones in different writing modes." />
7
<script src="/resources/testharness.js"></script>
8
<script src="/resources/testharnessreport.js"></script>
9
10
<div id="log"></div>
11
12
<script type="module">
13
import {runTests, createCornerPropertyGroup} from "./resources/test-box-properties.js";
14
runTests(createCornerPropertyGroup("border-*-radius", {
15
  type: "length",
16
  prerequisites: {"border-style": "solid"},
17
}));
18
</script>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-logical/logical-box-border-shorthands.html -1 / +1 lines
Lines 1-4 a/LayoutTests/imported/w3c/web-platform-tests/css/css-logical/logical-box-border-shorthands.html_sec1
1
<!DOCTYPE html> <!-- webkit-test-runner [ internal:CSSLogicalEnabled=true ] -->
1
<!DOCTYPE html><!-- webkit-test-runner [ internal:CSSLogicalEnabled=true ] -->
2
<meta charset="utf-8" />
2
<meta charset="utf-8" />
3
<title>CSS Logical Properties: Flow-Relative Border Shorthands</title>
3
<title>CSS Logical Properties: Flow-Relative Border Shorthands</title>
4
<link rel="author" title="Oriol Brufau" href="mailto:obrufau@igalia.com" />
4
<link rel="author" title="Oriol Brufau" href="mailto:obrufau@igalia.com" />
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-logical/logical-box-border-style.html -1 / +1 lines
Lines 1-4 a/LayoutTests/imported/w3c/web-platform-tests/css/css-logical/logical-box-border-style.html_sec1
1
<!DOCTYPE html> <!-- webkit-test-runner [ internal:CSSLogicalEnabled=true ] -->
1
<!DOCTYPE html><!-- webkit-test-runner [ internal:CSSLogicalEnabled=true ] -->
2
<meta charset="utf-8" />
2
<meta charset="utf-8" />
3
<title>CSS Logical Properties: Flow-Relative Border Styles</title>
3
<title>CSS Logical Properties: Flow-Relative Border Styles</title>
4
<link rel="author" title="Oriol Brufau" href="mailto:obrufau@igalia.com" />
4
<link rel="author" title="Oriol Brufau" href="mailto:obrufau@igalia.com" />
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-logical/logical-box-border-width.html -1 / +1 lines
Lines 1-4 a/LayoutTests/imported/w3c/web-platform-tests/css/css-logical/logical-box-border-width.html_sec1
1
<!DOCTYPE html> <!-- webkit-test-runner [ internal:CSSLogicalEnabled=true ] -->
1
<!DOCTYPE html><!-- webkit-test-runner [ internal:CSSLogicalEnabled=true ] -->
2
<meta charset="utf-8" />
2
<meta charset="utf-8" />
3
<title>CSS Logical Properties: Flow-Relative Border Widths</title>
3
<title>CSS Logical Properties: Flow-Relative Border Widths</title>
4
<link rel="author" title="Oriol Brufau" href="mailto:obrufau@igalia.com" />
4
<link rel="author" title="Oriol Brufau" href="mailto:obrufau@igalia.com" />
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-logical/logical-box-inset.html -1 / +1 lines
Lines 1-4 a/LayoutTests/imported/w3c/web-platform-tests/css/css-logical/logical-box-inset.html_sec1
1
<!DOCTYPE html> <!-- webkit-test-runner [ internal:CSSLogicalEnabled=true ] -->
1
<!DOCTYPE html><!-- webkit-test-runner [ internal:CSSLogicalEnabled=true ] -->
2
<meta charset="utf-8" />
2
<meta charset="utf-8" />
3
<title>CSS Logical Properties: Flow-Relative Offsets</title>
3
<title>CSS Logical Properties: Flow-Relative Offsets</title>
4
<link rel="author" title="Oriol Brufau" href="mailto:obrufau@igalia.com" />
4
<link rel="author" title="Oriol Brufau" href="mailto:obrufau@igalia.com" />
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-logical/logical-box-margin.html -1 / +1 lines
Lines 1-4 a/LayoutTests/imported/w3c/web-platform-tests/css/css-logical/logical-box-margin.html_sec1
1
<!DOCTYPE html> <!-- webkit-test-runner [ internal:CSSLogicalEnabled=true ] -->
1
<!DOCTYPE html><!-- webkit-test-runner [ internal:CSSLogicalEnabled=true ] -->
2
<meta charset="utf-8" />
2
<meta charset="utf-8" />
3
<title>CSS Logical Properties: Flow-Relative Margins</title>
3
<title>CSS Logical Properties: Flow-Relative Margins</title>
4
<link rel="author" title="Oriol Brufau" href="mailto:obrufau@igalia.com" />
4
<link rel="author" title="Oriol Brufau" href="mailto:obrufau@igalia.com" />
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-logical/logical-box-padding.html -1 / +1 lines
Lines 1-4 a/LayoutTests/imported/w3c/web-platform-tests/css/css-logical/logical-box-padding.html_sec1
1
<!DOCTYPE html> <!-- webkit-test-runner [ internal:CSSLogicalEnabled=true ] -->
1
<!DOCTYPE html><!-- webkit-test-runner [ internal:CSSLogicalEnabled=true ] -->
2
<meta charset="utf-8" />
2
<meta charset="utf-8" />
3
<title>CSS Logical Properties: Flow-Relative Padding</title>
3
<title>CSS Logical Properties: Flow-Relative Padding</title>
4
<link rel="author" title="Oriol Brufau" href="mailto:obrufau@igalia.com" />
4
<link rel="author" title="Oriol Brufau" href="mailto:obrufau@igalia.com" />
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-logical/logical-values-float-clear-expected.txt +6 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-logical/logical-values-float-clear-expected.txt_sec1
1
2
FAIL Test that 'clear: inline-start' is supported. assert_equals: logical values in inline style, clear expected "inline-start" but got ""
3
FAIL Test that 'clear: inline-end' is supported. assert_equals: logical values in inline style, clear expected "inline-end" but got ""
4
FAIL Test that 'float: inline-start' is supported. assert_equals: logical values in inline style, float expected "inline-start" but got ""
5
FAIL Test that 'float: inline-end' is supported. assert_equals: logical values in inline style, float expected "inline-end" but got ""
6
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-logical/logical-values-float-clear-reftest-expected.html +68 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-logical/logical-values-float-clear-reftest-expected.html_sec1
1
<!DOCTYPE html>
2
<meta charset="utf-8" />
3
<title>CSS Reftest Reference</title>
4
<link rel="author" title="Oriol Brufau" href="mailto:obrufau@igalia.com" />
5
<style>
6
.test {
7
  display: block;
8
  overflow: hidden;
9
  width: 300px;
10
}
11
.inline {
12
  display: inline;
13
}
14
.float, .clear {
15
  display: block;
16
  overflow: hidden;
17
  height: 3px;
18
  width: 100px;
19
  background: #f0f;
20
}
21
.clear {
22
  background: #0ff;
23
}
24
</style>
25
<body>
26
<script>
27
function physicalValue(value, containerDirection) {
28
  return ((value === "inline-start") === (containerDirection === "ltr")) ? "left" : "right";
29
}
30
const sides = ["inline-start", "inline-end"];
31
const directions = ["ltr", "rtl"];
32
for (const floatSide of sides) {
33
  for (const clearSide of sides) {
34
    for (const containerDirection of directions) {
35
      for (const inlineParentDirection of [null, ...directions]) {
36
        for (const floatDirection of directions) {
37
          for (const clearDirection of directions) {
38
            const containerEl = document.createElement("div");
39
            containerEl.className = "test";
40
            containerEl.style.direction = containerDirection;
41
            const floatEl = document.createElement("div");
42
            floatEl.className = "float";
43
            floatEl.style.direction = floatDirection;
44
            floatEl.style.float = physicalValue(floatSide, containerDirection);
45
            const clearEl = document.createElement("div");
46
            clearEl.className = "clear";
47
            clearEl.style.direction = floatDirection;
48
            clearEl.style.clear = physicalValue(clearSide, containerDirection);
49
            if (inlineParentDirection) {
50
              const inlineParent = document.createElement("div");
51
              inlineParent.className = "inline";
52
              inlineParent.style.direction = inlineParentDirection;
53
              inlineParent.appendChild(floatEl);
54
              inlineParent.appendChild(clearEl);
55
              containerEl.appendChild(inlineParent);
56
            } else {
57
              containerEl.appendChild(floatEl);
58
              containerEl.appendChild(clearEl);
59
            }
60
            document.body.appendChild(containerEl);
61
          }
62
        }
63
      }
64
    }
65
  }
66
}
67
</script>
68
</body>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-logical/logical-values-float-clear-reftest.html +68 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-logical/logical-values-float-clear-reftest.html_sec1
1
<!DOCTYPE html>
2
<meta charset="utf-8" />
3
<title>CSS Logical Values: Flow-Relative Values for the 'float' property</title>
4
<link rel="author" title="Oriol Brufau" href="mailto:obrufau@igalia.com" />
5
<link rel="help" href="https://drafts.csswg.org/css-logical/#float-clear">
6
<meta name="assert" content="This test checks that the 'inline-start' and 'inline-end' values of the 'float' and 'clear' properties map to the correct physical value." />
7
<link rel="match" href="reference/logical-values-float-clear-reftest-ref.html">
8
<style>
9
.test {
10
  display: block;
11
  overflow: hidden;
12
  width: 300px;
13
}
14
.inline {
15
  display: inline;
16
}
17
.float, .clear {
18
  display: block;
19
  overflow: hidden;
20
  height: 3px;
21
  width: 100px;
22
  background: #f0f;
23
}
24
.clear {
25
  background: #0ff;
26
}
27
</style>
28
<body>
29
<script>
30
const sides = ["inline-start", "inline-end"];
31
const directions = ["ltr", "rtl"];
32
for (const floatSide of sides) {
33
  for (const clearSide of sides) {
34
    for (const containerDirection of directions) {
35
      for (const inlineParentDirection of [null, ...directions]) {
36
        for (const floatDirection of directions) {
37
          for (const clearDirection of directions) {
38
            const containerEl = document.createElement("div");
39
            containerEl.className = "test";
40
            containerEl.style.direction = containerDirection;
41
            const floatEl = document.createElement("div");
42
            floatEl.className = "float";
43
            floatEl.style.direction = floatDirection;
44
            floatEl.style.float = floatSide;
45
            const clearEl = document.createElement("div");
46
            clearEl.className = "clear";
47
            clearEl.style.direction = floatDirection;
48
            clearEl.style.clear = clearSide;
49
            if (inlineParentDirection) {
50
              const inlineParent = document.createElement("div");
51
              inlineParent.className = "inline";
52
              inlineParent.style.direction = inlineParentDirection;
53
              inlineParent.appendChild(floatEl);
54
              inlineParent.appendChild(clearEl);
55
              containerEl.appendChild(inlineParent);
56
            } else {
57
              containerEl.appendChild(floatEl);
58
              containerEl.appendChild(clearEl);
59
            }
60
            document.body.appendChild(containerEl);
61
          }
62
        }
63
      }
64
    }
65
  }
66
}
67
</script>
68
</body>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-logical/logical-values-float-clear.html +17 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-logical/logical-values-float-clear.html_sec1
1
<!DOCTYPE html>
2
<meta charset="utf-8" />
3
<title>CSS Logical Values: Flow-Relative Values for the 'float' and 'clear' Properties</title>
4
<link rel="author" title="Oriol Brufau" href="mailto:obrufau@igalia.com" />
5
<link rel="help" href="https://drafts.csswg.org/css-logical/#float-clear">
6
<meta name="assert" content="This test checks the flow-relative values for 'float' and 'clear' in different writing modes." />
7
<script src="/resources/testharness.js"></script>
8
<script src="/resources/testharnessreport.js"></script>
9
10
<div id="log"></div>
11
12
<script type="module">
13
import {runTests} from "./resources/test-logical-values.js";
14
const values = ["inline-start", "inline-end"];
15
runTests("clear", values);
16
runTests("float", values);
17
</script>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-logical/logical-values-resize-expected.txt +4 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-logical/logical-values-resize-expected.txt_sec1
1
2
FAIL Test that 'resize: block' is supported. assert_equals: logical values in inline style, resize expected "block" but got ""
3
FAIL Test that 'resize: inline' is supported. assert_equals: logical values in inline style, resize expected "inline" but got ""
4
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-logical/logical-values-resize.html +15 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-logical/logical-values-resize.html_sec1
1
<!DOCTYPE html>
2
<meta charset="utf-8" />
3
<title>CSS Logical Values: Flow-Relative Values for the 'resize' Property</title>
4
<link rel="author" title="Oriol Brufau" href="mailto:obrufau@igalia.com" />
5
<link rel="help" href="https://drafts.csswg.org/css-logical/#resize">
6
<meta name="assert" content="This test checks the flow-relative values for 'resize' in different writing modes." />
7
<script src="/resources/testharness.js"></script>
8
<script src="/resources/testharnessreport.js"></script>
9
10
<div id="log"></div>
11
12
<script type="module">
13
import {runTests} from "./resources/test-logical-values.js";
14
runTests("resize", ["block", "inline"]);
15
</script>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-logical/parsing/block-size-computed-expected.txt +9 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-logical/parsing/block-size-computed-expected.txt_sec1
1
2
PASS Property block-size value 'auto' 
3
PASS Property block-size value '10px' 
4
PASS Property block-size value '20%' 
5
PASS Property block-size value 'calc(0.5em + 10px)' 
6
PASS Property block-size value 'calc(-0.5em + 10px)' 
7
PASS Property block-size value 'min-content' 
8
PASS Property block-size value 'max-content' 
9
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-logical/parsing/block-size-computed.html +44 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-logical/parsing/block-size-computed.html_sec1
1
<!DOCTYPE html>
2
<html>
3
<head>
4
<meta charset="utf-8">
5
<title>CSS Logical Properties and Values: getComputedStyle().blockSize</title>
6
<link rel="help" href="https://drafts.csswg.org/css-logical-1/#dimension-properties">
7
<meta name="assert" content="block-size computed value is an absolute length.">
8
<script src="/resources/testharness.js"></script>
9
<script src="/resources/testharnessreport.js"></script>
10
<script src="/css/support/computed-testcommon.js"></script>
11
<style>
12
  #parent {
13
    height: 300px;
14
  }
15
  #target {
16
    width: 0px;
17
    height: 0px;
18
    font-size: 40px;
19
  }
20
  #child {
21
    height: 80px;
22
  }
23
</style>
24
</head>
25
<body>
26
<div id="parent">
27
  <div id="target">
28
    <div id="child">
29
    </div>
30
  </div>
31
</div>
32
<script>
33
test_computed_value("block-size", "auto", "80px"); // child height
34
35
test_computed_value("block-size", "10px");
36
test_computed_value("block-size", "20%", "60px");
37
test_computed_value("block-size", "calc(0.5em + 10px)", "30px");
38
test_computed_value("block-size", "calc(-0.5em + 10px)", "0px");
39
40
test_computed_value("block-size", "min-content", "80px"); // child height
41
test_computed_value("block-size", "max-content", "80px");
42
</script>
43
</body>
44
</html>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-logical/parsing/block-size-invalid-expected.txt +12 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-logical/parsing/block-size-invalid-expected.txt_sec1
1
2
PASS e.style['block-size'] = "none" should not set the property value 
3
PASS e.style['block-size'] = "min-content available" should not set the property value 
4
PASS e.style['block-size'] = "max-content 10px" should not set the property value 
5
PASS e.style['block-size'] = "20% available" should not set the property value 
6
PASS e.style['block-size'] = "-10px" should not set the property value 
7
PASS e.style['block-size'] = "-20%" should not set the property value 
8
PASS e.style['block-size'] = "60" should not set the property value 
9
PASS e.style['block-size'] = "10px 20%" should not set the property value 
10
PASS e.style['block-size'] = "10px border-box" should not set the property value 
11
PASS e.style['block-size'] = "content-box 20%" should not set the property value 
12
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-logical/parsing/block-size-invalid.html +29 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-logical/parsing/block-size-invalid.html_sec1
1
<!DOCTYPE html>
2
<html>
3
<head>
4
<meta charset="utf-8">
5
<title>CSS Logical Properties and Values: parsing block-size with invalid values</title>
6
<link rel="help" href="https://drafts.csswg.org/css-logical-1/#dimension-properties">
7
<meta name="assert" content="block-size supports the full grammar 'auto | <length-percentage> | min-content | max-content | fit-content(<length-percentage>)'.">
8
<script src="/resources/testharness.js"></script>
9
<script src="/resources/testharnessreport.js"></script>
10
<script src="/css/support/parsing-testcommon.js"></script>
11
</head>
12
<body>
13
<script>
14
test_invalid_value("block-size", "none");
15
16
test_invalid_value("block-size", "min-content available");
17
test_invalid_value("block-size", "max-content 10px");
18
test_invalid_value("block-size", "20% available");
19
20
test_invalid_value("block-size", "-10px");
21
test_invalid_value("block-size", "-20%");
22
test_invalid_value("block-size", "60");
23
test_invalid_value("block-size", "10px 20%");
24
25
test_invalid_value("block-size", "10px border-box");
26
test_invalid_value("block-size", "content-box 20%");
27
</script>
28
</body>
29
</html>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-logical/parsing/block-size-valid-expected.txt +8 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-logical/parsing/block-size-valid-expected.txt_sec1
1
2
PASS e.style['block-size'] = "auto" should set the property value 
3
PASS e.style['block-size'] = "10px" should set the property value 
4
PASS e.style['block-size'] = "20%" should set the property value 
5
PASS e.style['block-size'] = "calc(2em + 3ex)" should set the property value 
6
PASS e.style['block-size'] = "min-content" should set the property value 
7
PASS e.style['block-size'] = "max-content" should set the property value 
8
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-logical/parsing/block-size-valid.html +28 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-logical/parsing/block-size-valid.html_sec1
1
<!DOCTYPE html>
2
<html>
3
<head>
4
<meta charset="utf-8">
5
<title>CSS Logical Properties and Values: parsing block-size with valid values</title>
6
<link rel="help" href="https://drafts.csswg.org/css-logical-1/#dimension-properties">
7
<meta name="assert" content="block-size supports the full grammar 'auto | <length-percentage> | min-content | max-content | fit-content(<length-percentage>)'.">
8
<script src="/resources/testharness.js"></script>
9
<script src="/resources/testharnessreport.js"></script>
10
<script src="/css/support/parsing-testcommon.js"></script>
11
</head>
12
<body>
13
<script>
14
test_valid_value("block-size", "auto");
15
16
test_valid_value("block-size", "10px");
17
test_valid_value("block-size", "20%");
18
test_valid_value("block-size", "calc(2em + 3ex)");
19
20
test_valid_value("block-size", "min-content");
21
test_valid_value("block-size", "max-content");
22
23
// The following are not yet supported by browsers:
24
// test_valid_value("block-size", "fit-content(100px)");
25
// test_valid_value("block-size", "fit-content(calc(10% + 10px))");
26
</script>
27
</body>
28
</html>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-logical/parsing/border-block-color-computed-expected.txt +10 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-logical/parsing/border-block-color-computed-expected.txt_sec1
1
2
PASS Property border-block-start-color value 'currentcolor' 
3
PASS Property border-block-start-color value 'rgb(2, 3, 4)' 
4
PASS Property border-block-end-color value 'rgb(34, 51, 68)' 
5
PASS Property border-block-end-color value 'transparent' 
6
FAIL Property border-block-color value 'rgb(34, 51, 68)' assert_true: border-block-color doesn't seem to be supported in the computed style expected true got false
7
FAIL Property border-block-color value 'transparent rgb(2, 3, 4)' assert_true: border-block-color doesn't seem to be supported in the computed style expected true got false
8
FAIL Property border-block-color value 'rgb(2, 3, 4) rgb(2, 3, 4)' assert_true: border-block-color doesn't seem to be supported in the computed style expected true got false
9
FAIL Property border-block-color value 'currentcolor lime' assert_true: border-block-color doesn't seem to be supported in the computed style expected true got false
10
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-logical/parsing/border-block-color-computed.html +31 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-logical/parsing/border-block-color-computed.html_sec1
1
<!DOCTYPE html>
2
<html>
3
<head>
4
<meta charset="utf-8">
5
<title>CSS Logical Properties and Values: getComputedStyle().borderBlockColor</title>
6
<link rel="help" href="https://drafts.csswg.org/css-logical/#propdef-border-block-color">
7
<meta name="assert" content="border-block-color is computed color(s).">
8
<script src="/resources/testharness.js"></script>
9
<script src="/resources/testharnessreport.js"></script>
10
<script src="/css/support/computed-testcommon.js"></script>
11
</head>
12
<body>
13
<div id="box"></div>
14
<div id="target"></div>
15
<style>
16
  #target {
17
    color: lime;
18
  }
19
</style>
20
<script>
21
test_computed_value("border-block-start-color", "currentcolor", 'rgb(0, 255, 0)');
22
test_computed_value("border-block-start-color", "rgb(2, 3, 4)");
23
test_computed_value("border-block-end-color", "rgb(34, 51, 68)");
24
test_computed_value("border-block-end-color", "transparent", "rgba(0, 0, 0, 0)");
25
test_computed_value("border-block-color", "rgb(34, 51, 68)");
26
test_computed_value("border-block-color", "transparent rgb(2, 3, 4)", "rgba(0, 0, 0, 0) rgb(2, 3, 4)");
27
test_computed_value("border-block-color", "rgb(2, 3, 4) rgb(2, 3, 4)", "rgb(2, 3, 4)");
28
test_computed_value("border-block-color", "currentcolor lime", 'rgb(0, 255, 0)');
29
</script>
30
</body>
31
</html>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-logical/parsing/border-block-color-invalid-expected.txt +17 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-logical/parsing/border-block-color-invalid-expected.txt_sec1
1
2
PASS e.style['border-block-start-color'] = "#12" should not set the property value 
3
PASS e.style['border-block-start-color'] = "auto" should not set the property value 
4
PASS e.style['border-block-start-color'] = "red green" should not set the property value 
5
PASS e.style['border-block-start-color'] = "rgb" should not set the property value 
6
PASS e.style['border-block-start-color'] = "rgb(1,2,3,4,5)" should not set the property value 
7
PASS e.style['border-block-start-color'] = "rgb(10%, 20, 30%)" should not set the property value 
8
PASS e.style['border-block-end-color'] = "#123456789" should not set the property value 
9
PASS e.style['border-block-end-color'] = "123" should not set the property value 
10
PASS e.style['border-block-end-color'] = "hsla(1,2,3,4,5)" should not set the property value 
11
PASS e.style['border-block-end-color'] = "red, green" should not set the property value 
12
PASS e.style['border-block-end-color'] = "rgb(1)" should not set the property value 
13
PASS e.style['border-block-end-color'] = "rgba(-2, 300, 400%, -0.5)" should not set the property value 
14
PASS e.style['border-block-color'] = "auto" should not set the property value 
15
PASS e.style['border-block-color'] = "lime, transparent" should not set the property value 
16
PASS e.style['border-block-color'] = "red green blue" should not set the property value 
17
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-logical/parsing/border-block-color-invalid.html +31 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-logical/parsing/border-block-color-invalid.html_sec1
1
<!DOCTYPE html>
2
<html>
3
<head>
4
<meta charset="utf-8">
5
<title>CSS Logical Properties and Values: parsing border-block-color with invalid values</title>
6
<link rel="help" href="https://drafts.csswg.org/css-logical/#propdef-border-block-color">
7
<meta name="assert" content="border-block-color supports only the grammar '<color>{1,2}'.">
8
<script src="/resources/testharness.js"></script>
9
<script src="/resources/testharnessreport.js"></script>
10
<script src="/css/support/parsing-testcommon.js"></script>
11
</head>
12
<body>
13
<script>
14
test_invalid_value("border-block-start-color", "#12");
15
test_invalid_value("border-block-start-color", "auto");
16
test_invalid_value("border-block-start-color", "red green");
17
test_invalid_value("border-block-start-color", "rgb");
18
test_invalid_value("border-block-start-color", "rgb(1,2,3,4,5)");
19
test_invalid_value("border-block-start-color", "rgb(10%, 20, 30%)");
20
test_invalid_value("border-block-end-color", "#123456789");
21
test_invalid_value("border-block-end-color", "123");
22
test_invalid_value("border-block-end-color", "hsla(1,2,3,4,5)");
23
test_invalid_value("border-block-end-color", "red, green");
24
test_invalid_value("border-block-end-color", "rgb(1)");
25
test_invalid_value("border-block-end-color", "rgba(-2, 300, 400%, -0.5)");
26
test_invalid_value("border-block-color", "auto");
27
test_invalid_value("border-block-color", "lime, transparent");
28
test_invalid_value("border-block-color", "red green blue");
29
</script>
30
</body>
31
</html>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-logical/parsing/border-block-color-valid-expected.txt +9 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-logical/parsing/border-block-color-valid-expected.txt_sec1
1
2
PASS e.style['border-block-start-color'] = "currentcolor" should set the property value 
3
PASS e.style['border-block-start-color'] = "rgb(2, 3, 4)" should set the property value 
4
PASS e.style['border-block-end-color'] = "#234" should set the property value 
5
PASS e.style['border-block-end-color'] = "transparent" should set the property value 
6
FAIL e.style['border-block-color'] = "#234" should set the property value assert_not_equals: property should be set got disallowed value ""
7
FAIL e.style['border-block-color'] = "transparent rgb(2, 3, 4)" should set the property value assert_not_equals: property should be set got disallowed value ""
8
FAIL e.style['border-block-color'] = "rgb(2, 3, 4) rgb(2, 3, 4)" should set the property value assert_not_equals: property should be set got disallowed value ""
9
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-logical/parsing/border-block-color-valid.html +23 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-logical/parsing/border-block-color-valid.html_sec1
1
<!DOCTYPE html>
2
<html>
3
<head>
4
<meta charset="utf-8">
5
<title>CSS Logical Properties and Values: parsing border-block-color with valid values</title>
6
<link rel="help" href="https://drafts.csswg.org/css-logical/#propdef-border-block-color">
7
<meta name="assert" content="border-block-color supports the full grammar '<color>{1,2}'.">
8
<script src="/resources/testharness.js"></script>
9
<script src="/resources/testharnessreport.js"></script>
10
<script src="/css/support/parsing-testcommon.js"></script>
11
</head>
12
<body>
13
<script>
14
test_valid_value("border-block-start-color", "currentcolor");
15
test_valid_value("border-block-start-color", "rgb(2, 3, 4)");
16
test_valid_value("border-block-end-color", "#234", "rgb(34, 51, 68)");
17
test_valid_value("border-block-end-color", "transparent");
18
test_valid_value("border-block-color", "#234", "rgb(34, 51, 68)");
19
test_valid_value("border-block-color", "transparent rgb(2, 3, 4)");
20
test_valid_value("border-block-color", "rgb(2, 3, 4) rgb(2, 3, 4)", "rgb(2, 3, 4)");
21
</script>
22
</body>
23
</html>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-logical/parsing/border-block-style-computed-expected.txt +15 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-logical/parsing/border-block-style-computed-expected.txt_sec1
1
2
PASS Property border-block-start-style value 'dotted' 
3
PASS Property border-block-start-style value 'groove' 
4
PASS Property border-block-start-style value 'inset' 
5
PASS Property border-block-start-style value 'none' 
6
PASS Property border-block-start-style value 'solid' 
7
PASS Property border-block-end-style value 'dashed' 
8
PASS Property border-block-end-style value 'double' 
9
PASS Property border-block-end-style value 'hidden' 
10
PASS Property border-block-end-style value 'outset' 
11
PASS Property border-block-end-style value 'ridge' 
12
FAIL Property border-block-style value 'dotted' assert_true: border-block-style doesn't seem to be supported in the computed style expected true got false
13
FAIL Property border-block-style value 'double groove' assert_true: border-block-style doesn't seem to be supported in the computed style expected true got false
14
FAIL Property border-block-style value 'hidden hidden' assert_true: border-block-style doesn't seem to be supported in the computed style expected true got false
15
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-logical/parsing/border-block-style-computed.html +30 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-logical/parsing/border-block-style-computed.html_sec1
1
<!DOCTYPE html>
2
<html>
3
<head>
4
<meta charset="utf-8">
5
<title>CSS Logical Properties and Values: getComputedStyle().borderBlockStyle</title>
6
<link rel="help" href="https://drafts.csswg.org/css-logical/#propdef-border-block-style">
7
<meta name="assert" content="border-block-style is specified keyword(s).">
8
<script src="/resources/testharness.js"></script>
9
<script src="/resources/testharnessreport.js"></script>
10
<script src="/css/support/computed-testcommon.js"></script>
11
</head>
12
<body>
13
<div id="target"></div>
14
<script>
15
test_computed_value("border-block-start-style", "dotted");
16
test_computed_value("border-block-start-style", "groove");
17
test_computed_value("border-block-start-style", "inset");
18
test_computed_value("border-block-start-style", "none");
19
test_computed_value("border-block-start-style", "solid");
20
test_computed_value("border-block-end-style", "dashed");
21
test_computed_value("border-block-end-style", "double");
22
test_computed_value("border-block-end-style", "hidden");
23
test_computed_value("border-block-end-style", "outset");
24
test_computed_value("border-block-end-style", "ridge");
25
test_computed_value("border-block-style", "dotted");
26
test_computed_value("border-block-style", "double groove");
27
test_computed_value("border-block-style", "hidden hidden", "hidden");
28
</script>
29
</body>
30
</html>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-logical/parsing/border-block-style-invalid-expected.txt +8 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-logical/parsing/border-block-style-invalid-expected.txt_sec1
1
2
PASS e.style['border-block-start-style'] = "auto" should not set the property value 
3
PASS e.style['border-block-start-style'] = "hidden, outset" should not set the property value 
4
PASS e.style['border-block-end-style'] = "solid double" should not set the property value 
5
PASS e.style['border-block-style'] = "auto" should not set the property value 
6
PASS e.style['border-block-style'] = "groove, ridge" should not set the property value 
7
PASS e.style['border-block-style'] = "hidden inset dashed" should not set the property value 
8
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-logical/parsing/border-block-style-invalid.html +22 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-logical/parsing/border-block-style-invalid.html_sec1
1
<!DOCTYPE html>
2
<html>
3
<head>
4
<meta charset="utf-8">
5
<title>CSS Logical Properties and Values: parsing border-block-style with invalid values</title>
6
<link rel="help" href="https://drafts.csswg.org/css-logical/#propdef-border-block-style">
7
<meta name="assert" content="border-block-style supports only the grammar '<line-style>{1,2}'.">
8
<script src="/resources/testharness.js"></script>
9
<script src="/resources/testharnessreport.js"></script>
10
<script src="/css/support/parsing-testcommon.js"></script>
11
</head>
12
<body>
13
<script>
14
test_invalid_value("border-block-start-style", "auto");
15
test_invalid_value("border-block-start-style", "hidden, outset");
16
test_invalid_value("border-block-end-style", "solid double");
17
test_invalid_value("border-block-style", "auto");
18
test_invalid_value("border-block-style", "groove, ridge");
19
test_invalid_value("border-block-style", "hidden inset dashed");
20
</script>
21
</body>
22
</html>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-logical/parsing/border-block-style-valid-expected.txt +15 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-logical/parsing/border-block-style-valid-expected.txt_sec1
1
2
PASS e.style['border-block-start-style'] = "dotted" should set the property value 
3
PASS e.style['border-block-start-style'] = "groove" should set the property value 
4
PASS e.style['border-block-start-style'] = "inset" should set the property value 
5
PASS e.style['border-block-start-style'] = "none" should set the property value 
6
PASS e.style['border-block-start-style'] = "solid" should set the property value 
7
PASS e.style['border-block-end-style'] = "dashed" should set the property value 
8
PASS e.style['border-block-end-style'] = "double" should set the property value 
9
PASS e.style['border-block-end-style'] = "hidden" should set the property value 
10
PASS e.style['border-block-end-style'] = "outset" should set the property value 
11
PASS e.style['border-block-end-style'] = "ridge" should set the property value 
12
FAIL e.style['border-block-style'] = "dotted" should set the property value assert_not_equals: property should be set got disallowed value ""
13
FAIL e.style['border-block-style'] = "double groove" should set the property value assert_not_equals: property should be set got disallowed value ""
14
FAIL e.style['border-block-style'] = "hidden hidden" should set the property value assert_not_equals: property should be set got disallowed value ""
15
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-logical/parsing/border-block-style-valid.html +30 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-logical/parsing/border-block-style-valid.html_sec1
1
<!DOCTYPE html>
2
<html>
3
<head>
4
<meta charset="utf-8">
5
<title>CSS Logical Properties and Values: parsing border-block-style with valid values</title>
6
<link rel="help" href="https://drafts.csswg.org/css-logical/#propdef-border-block">
7
<meta name="assert" content="border-block-style supports the full grammar '<line-style>{1,2}'.">
8
<script src="/resources/testharness.js"></script>
9
<script src="/resources/testharnessreport.js"></script>
10
<script src="/css/support/parsing-testcommon.js"></script>
11
</head>
12
<body>
13
<script>
14
// none | hidden | dotted | dashed | solid | double | groove | ridge | inset | outset
15
test_valid_value("border-block-start-style", "dotted");
16
test_valid_value("border-block-start-style", "groove");
17
test_valid_value("border-block-start-style", "inset");
18
test_valid_value("border-block-start-style", "none");
19
test_valid_value("border-block-start-style", "solid");
20
test_valid_value("border-block-end-style", "dashed");
21
test_valid_value("border-block-end-style", "double");
22
test_valid_value("border-block-end-style", "hidden");
23
test_valid_value("border-block-end-style", "outset");
24
test_valid_value("border-block-end-style", "ridge");
25
test_valid_value("border-block-style", "dotted");
26
test_valid_value("border-block-style", "double groove");
27
test_valid_value("border-block-style", "hidden hidden", "hidden");
28
</script>
29
</body>
30
</html>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-logical/parsing/border-block-valid-expected.txt +8 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-logical/parsing/border-block-valid-expected.txt_sec1
1
2
FAIL e.style['border-block'] = "1px dotted red" should set the property value assert_not_equals: property should be set got disallowed value ""
3
FAIL e.style['border-block'] = "double" should set the property value assert_not_equals: property should be set got disallowed value ""
4
PASS e.style['border-block-start'] = "green double thin" should set the property value 
5
PASS e.style['border-block-start'] = "green" should set the property value 
6
PASS e.style['border-block-end'] = "thin" should set the property value 
7
PASS e.style['border-block-end'] = "calc(10px - 0.5em) dotted red" should set the property value 
8
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-logical/parsing/border-block-valid.html +25 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-logical/parsing/border-block-valid.html_sec1
1
<!DOCTYPE html>
2
<html>
3
<head>
4
<meta charset="utf-8">
5
<title>CSS Logical Properties and Values: parsing border-block with valid values</title>
6
<link rel="help" href="https://drafts.csswg.org/css-logical/#propdef-border-block">
7
<meta name="assert" content="border-block supports the full grammar '<line-width> || <line-style> || <color>'.">
8
<script src="/resources/testharness.js"></script>
9
<script src="/resources/testharnessreport.js"></script>
10
<script src="/css/support/parsing-testcommon.js"></script>
11
</head>
12
<body>
13
<script>
14
// Similar to css-backgrounds/parsing/border-valid.html
15
16
test_valid_value("border-block", "1px dotted red");
17
test_valid_value("border-block", "double", ["double", "medium double"]);
18
19
test_valid_value("border-block-start", "green double thin", "thin double green");
20
test_valid_value("border-block-start", "green", ["green", "medium none green"]);
21
test_valid_value("border-block-end", "thin", ["thin", "thin none"]);
22
test_valid_value("border-block-end", "calc(10px - 0.5em) dotted red", "calc(-0.5em + 10px) dotted red");
23
</script>
24
</body>
25
</html>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-logical/parsing/border-block-width-computed-expected.txt +13 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-logical/parsing/border-block-width-computed-expected.txt_sec1
1
2
FAIL Property border-block-start-width value 'calc(10px + 0.5em)' assert_equals: expected "30px" but got "0px"
3
PASS Property border-block-start-width value 'calc(10px - 0.5em)' 
4
FAIL Property border-block-start-width value 'thin' assert_equals: expected "1px" but got "0px"
5
FAIL Property border-block-start-width value 'medium' assert_equals: expected "3px" but got "0px"
6
FAIL Property border-block-end-width value 'calc(10px + 0.5em)' assert_equals: expected "30px" but got "0px"
7
PASS Property border-block-end-width value 'calc(10px - 0.5em)' 
8
FAIL Property border-block-end-width value 'thick' assert_equals: expected "5px" but got "0px"
9
FAIL Property border-block-width value '10px' assert_true: border-block-width doesn't seem to be supported in the computed style expected true got false
10
FAIL Property border-block-width value '10px 20px' assert_true: border-block-width doesn't seem to be supported in the computed style expected true got false
11
FAIL Property border-block-width value '10px 10px' assert_true: border-block-width doesn't seem to be supported in the computed style expected true got false
12
FAIL width is zero if the border block style is none or hidden assert_equals: expected (string) "10px" but got (undefined) undefined
13
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-logical/parsing/border-block-width-computed.html +76 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-logical/parsing/border-block-width-computed.html_sec1
1
<!DOCTYPE html>
2
<html>
3
<head>
4
<meta charset="utf-8">
5
<title>CSS Logical Properties and Values: getComputedStyle().borderBlockWidth</title>
6
<link rel="help" href="https://drafts.csswg.org/css-logical/#propdef-border-block-width">
7
<meta name="assert" content="border-block-width is absolute length; zero if the border block style is none or hidden.">
8
<script src="/resources/testharness.js"></script>
9
<script src="/resources/testharnessreport.js"></script>
10
<script src="/css/support/computed-testcommon.js"></script>
11
</head>
12
<body>
13
<div id="box"></div>
14
<div id="target"></div>
15
<style>
16
  #box {
17
    border-style: dotted; /* Avoid border-*-width computed style 0 */
18
    border-top-width: thin;
19
    border-right-width: medium;
20
    border-bottom-width: thick;
21
  }
22
  #target {
23
    font-size: 40px;
24
    border-block-style: dotted; /* Avoid border-block-*-width computed style 0 */
25
  }
26
</style>
27
<script>
28
'use strict';
29
const box = document.getElementById('box');
30
const thinWidth = getComputedStyle(box).borderTopWidth;
31
const mediumWidth = getComputedStyle(box).borderRightWidth;
32
const thickWidth = getComputedStyle(box).borderBottomWidth;
33
34
test_computed_value("border-block-start-width", "calc(10px + 0.5em)", "30px");
35
test_computed_value("border-block-start-width", "calc(10px - 0.5em)", "0px");
36
test_computed_value("border-block-start-width", "thin", thinWidth);
37
test_computed_value("border-block-start-width", "medium", mediumWidth);
38
39
test_computed_value("border-block-end-width", "calc(10px + 0.5em)", "30px");
40
test_computed_value("border-block-end-width", "calc(10px - 0.5em)", "0px");
41
test_computed_value("border-block-end-width", "thick", thickWidth);
42
43
test_computed_value("border-block-width", "10px");
44
test_computed_value("border-block-width", "10px 20px");
45
test_computed_value("border-block-width", "10px 10px", "10px");
46
test(() => {
47
  box.style.borderBlockStartWidth = '10px';
48
  box.style.borderBlockEndWidth = '10px';
49
50
  box.style.borderBlockStartStyle = 'groove';
51
  box.style.borderBlockEndStyle = 'solid';
52
  assert_equals(getComputedStyle(box).borderBlockStartWidth, '10px');
53
  assert_equals(getComputedStyle(box).borderBlockEndWidth, '10px');
54
  assert_equals(getComputedStyle(box).borderBlockWidth, '10px');
55
56
  box.style.borderBlockStartStyle = 'hidden';
57
  box.style.borderBlockEndStyle = 'dashed';
58
  assert_equals(getComputedStyle(box).borderBlockStartWidth, '0px');
59
  assert_equals(getComputedStyle(box).borderBlockEndWidth, '10px');
60
  assert_equals(getComputedStyle(box).borderBlockWidth, '0px 10px');
61
62
  box.style.borderBlockStartStyle = 'inset';
63
  box.style.borderBlockEndStyle = 'none';
64
  assert_equals(getComputedStyle(box).borderBlockStartWidth, '10px');
65
  assert_equals(getComputedStyle(box).borderBlockEndWidth, '0px');
66
  assert_equals(getComputedStyle(box).borderBlockWidth, '10px 0px');
67
68
  box.style.borderBlockStartStyle = 'none';
69
  box.style.borderBlockEndStyle = 'hidden';
70
  assert_equals(getComputedStyle(box).borderBlockStartWidth, '0px');
71
  assert_equals(getComputedStyle(box).borderBlockEndWidth, '0px');
72
  assert_equals(getComputedStyle(box).borderBlockWidth, '0px');
73
}, 'width is zero if the border block style is none or hidden');
74
</script>
75
</body>
76
</html>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-logical/parsing/border-block-width-invalid-expected.txt +9 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-logical/parsing/border-block-width-invalid-expected.txt_sec1
1
2
PASS e.style['border-block-start-width'] = "-20px" should not set the property value 
3
PASS e.style['border-block-start-width'] = "auto" should not set the property value 
4
PASS e.style['border-block-start-width'] = "medium 40px" should not set the property value 
5
PASS e.style['border-block-end-width'] = "10" should not set the property value 
6
PASS e.style['border-block-end-width'] = "30%" should not set the property value 
7
PASS e.style['border-block-width'] = "thick, thin" should not set the property value 
8
PASS e.style['border-block-width'] = "10px 20px 30px" should not set the property value 
9
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-logical/parsing/border-block-width-invalid.html +25 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-logical/parsing/border-block-width-invalid.html_sec1
1
<!DOCTYPE html>
2
<html>
3
<head>
4
<meta charset="utf-8">
5
<title>CSS Logical Properties and Values: parsing border-block-width with invalid values</title>
6
<link rel="help" href="https://drafts.csswg.org/css-logical/#propdef-border-block-width">
7
<meta name="assert" content="border-block-width supports only the grammar '<line-width>{1,2}'.">
8
<meta name="assert" content="Negative lengths are not allowed.">
9
  <script src="/resources/testharness.js"></script>
10
<script src="/resources/testharnessreport.js"></script>
11
<script src="/css/support/parsing-testcommon.js"></script>
12
</head>
13
<body>
14
<script>
15
test_invalid_value("border-block-start-width", "-20px");
16
test_invalid_value("border-block-start-width", "auto");
17
test_invalid_value("border-block-start-width", "medium 40px");
18
test_invalid_value("border-block-end-width", "10");
19
test_invalid_value("border-block-end-width", "30%");
20
21
test_invalid_value("border-block-width", "thick, thin");
22
test_invalid_value("border-block-width", "10px 20px 30px");
23
</script>
24
</body>
25
</html>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-logical/parsing/border-block-width-valid-expected.txt +12 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-logical/parsing/border-block-width-valid-expected.txt_sec1
1
2
PASS e.style['border-block-start-width'] = "10px" should set the property value 
3
PASS e.style['border-block-start-width'] = "calc(10px + 0.5em)" should set the property value 
4
PASS e.style['border-block-start-width'] = "thick" should set the property value 
5
PASS e.style['border-block-start-width'] = "thin" should set the property value 
6
PASS e.style['border-block-end-width'] = "0" should set the property value 
7
PASS e.style['border-block-end-width'] = "calc(10px - 0.5em)" should set the property value 
8
PASS e.style['border-block-end-width'] = "medium" should set the property value 
9
FAIL e.style['border-block-width'] = "10px" should set the property value assert_not_equals: property should be set got disallowed value ""
10
FAIL e.style['border-block-width'] = "medium calc(10px + 0.5em)" should set the property value assert_not_equals: property should be set got disallowed value ""
11
FAIL e.style['border-block-width'] = "10px 10px" should set the property value assert_not_equals: property should be set got disallowed value ""
12
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-logical/parsing/border-block-width-valid.html +27 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-logical/parsing/border-block-width-valid.html_sec1
1
<!DOCTYPE html>
2
<html>
3
<head>
4
<meta charset="utf-8">
5
<title>CSS Logical Properties and Values: parsing border-block-width with valid values</title>
6
<link rel="help" href="https://drafts.csswg.org/css-logical/#propdef-border-block-width">
7
<meta name="assert" content="border-block-width supports the full grammar '<line-width>{1,2}'.">
8
<script src="/resources/testharness.js"></script>
9
<script src="/resources/testharnessreport.js"></script>
10
<script src="/css/support/parsing-testcommon.js"></script>
11
</head>
12
<body>
13
<script>
14
// <length> | thin | medium | thick
15
test_valid_value("border-block-start-width", "10px");
16
test_valid_value("border-block-start-width", "calc(10px + 0.5em)", "calc(0.5em + 10px)");
17
test_valid_value("border-block-start-width", "thick");
18
test_valid_value("border-block-start-width", "thin");
19
test_valid_value("border-block-end-width", "0", "0px");
20
test_valid_value("border-block-end-width", "calc(10px - 0.5em)", "calc(-0.5em + 10px)");
21
test_valid_value("border-block-end-width", "medium");
22
test_valid_value("border-block-width", "10px");
23
test_valid_value("border-block-width", "medium calc(10px + 0.5em)", "medium calc(0.5em + 10px)");
24
test_valid_value("border-block-width", "10px 10px", "10px");
25
</script>
26
</body>
27
</html>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-logical/parsing/border-inline-color-computed-expected.txt +10 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-logical/parsing/border-inline-color-computed-expected.txt_sec1
1
2
PASS Property border-inline-start-color value 'currentcolor' 
3
PASS Property border-inline-start-color value 'rgb(2, 3, 4)' 
4
PASS Property border-inline-end-color value 'rgb(34, 51, 68)' 
5
PASS Property border-inline-end-color value 'transparent' 
6
FAIL Property border-inline-color value 'rgb(34, 51, 68)' assert_true: border-inline-color doesn't seem to be supported in the computed style expected true got false
7
FAIL Property border-inline-color value 'transparent rgb(2, 3, 4)' assert_true: border-inline-color doesn't seem to be supported in the computed style expected true got false
8
FAIL Property border-inline-color value 'rgb(2, 3, 4) rgb(2, 3, 4)' assert_true: border-inline-color doesn't seem to be supported in the computed style expected true got false
9
FAIL Property border-inline-color value 'currentcolor lime' assert_true: border-inline-color doesn't seem to be supported in the computed style expected true got false
10
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-logical/parsing/border-inline-color-computed.html +31 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-logical/parsing/border-inline-color-computed.html_sec1
1
<!DOCTYPE html>
2
<html>
3
<head>
4
<meta charset="utf-8">
5
<title>CSS Logical Properties and Values: getComputedStyle().borderInlineColor</title>
6
<link rel="help" href="https://drafts.csswg.org/css-logical/#propdef-border-inline-color">
7
<meta name="assert" content="border-inline-color is computed color(s).">
8
<script src="/resources/testharness.js"></script>
9
<script src="/resources/testharnessreport.js"></script>
10
<script src="/css/support/computed-testcommon.js"></script>
11
</head>
12
<body>
13
<div id="box"></div>
14
<div id="target"></div>
15
<style>
16
  #target {
17
    color: lime;
18
  }
19
</style>
20
<script>
21
test_computed_value("border-inline-start-color", "currentcolor", 'rgb(0, 255, 0)');
22
test_computed_value("border-inline-start-color", "rgb(2, 3, 4)");
23
test_computed_value("border-inline-end-color", "rgb(34, 51, 68)");
24
test_computed_value("border-inline-end-color", "transparent", "rgba(0, 0, 0, 0)");
25
test_computed_value("border-inline-color", "rgb(34, 51, 68)");
26
test_computed_value("border-inline-color", "transparent rgb(2, 3, 4)", "rgba(0, 0, 0, 0) rgb(2, 3, 4)");
27
test_computed_value("border-inline-color", "rgb(2, 3, 4) rgb(2, 3, 4)", "rgb(2, 3, 4)");
28
test_computed_value("border-inline-color", "currentcolor lime", 'rgb(0, 255, 0)');
29
</script>
30
</body>
31
</html>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-logical/parsing/border-inline-color-invalid-expected.txt +17 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-logical/parsing/border-inline-color-invalid-expected.txt_sec1
1
2
PASS e.style['border-inline-start-color'] = "#12" should not set the property value 
3
PASS e.style['border-inline-start-color'] = "auto" should not set the property value 
4
PASS e.style['border-inline-start-color'] = "red green" should not set the property value 
5
PASS e.style['border-inline-start-color'] = "rgb" should not set the property value 
6
PASS e.style['border-inline-start-color'] = "rgb(1,2,3,4,5)" should not set the property value 
7
PASS e.style['border-inline-start-color'] = "rgb(10%, 20, 30%)" should not set the property value 
8
PASS e.style['border-inline-end-color'] = "#123456789" should not set the property value 
9
PASS e.style['border-inline-end-color'] = "123" should not set the property value 
10
PASS e.style['border-inline-end-color'] = "hsla(1,2,3,4,5)" should not set the property value 
11
PASS e.style['border-inline-end-color'] = "red, green" should not set the property value 
12
PASS e.style['border-inline-end-color'] = "rgb(1)" should not set the property value 
13
PASS e.style['border-inline-end-color'] = "rgba(-2, 300, 400%, -0.5)" should not set the property value 
14
PASS e.style['border-inline-color'] = "auto" should not set the property value 
15
PASS e.style['border-inline-color'] = "lime, transparent" should not set the property value 
16
PASS e.style['border-inline-color'] = "red green blue" should not set the property value 
17
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-logical/parsing/border-inline-color-invalid.html +31 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-logical/parsing/border-inline-color-invalid.html_sec1
1
<!DOCTYPE html>
2
<html>
3
<head>
4
<meta charset="utf-8">
5
<title>CSS Logical Properties and Values: parsing border-inline-color with invalid values</title>
6
<link rel="help" href="https://drafts.csswg.org/css-logical/#propdef-border-inline-color">
7
<meta name="assert" content="border-inline-color supports only the grammar '<color>{1,2}'.">
8
<script src="/resources/testharness.js"></script>
9
<script src="/resources/testharnessreport.js"></script>
10
<script src="/css/support/parsing-testcommon.js"></script>
11
</head>
12
<body>
13
<script>
14
test_invalid_value("border-inline-start-color", "#12");
15
test_invalid_value("border-inline-start-color", "auto");
16
test_invalid_value("border-inline-start-color", "red green");
17
test_invalid_value("border-inline-start-color", "rgb");
18
test_invalid_value("border-inline-start-color", "rgb(1,2,3,4,5)");
19
test_invalid_value("border-inline-start-color", "rgb(10%, 20, 30%)");
20
test_invalid_value("border-inline-end-color", "#123456789");
21
test_invalid_value("border-inline-end-color", "123");
22
test_invalid_value("border-inline-end-color", "hsla(1,2,3,4,5)");
23
test_invalid_value("border-inline-end-color", "red, green");
24
test_invalid_value("border-inline-end-color", "rgb(1)");
25
test_invalid_value("border-inline-end-color", "rgba(-2, 300, 400%, -0.5)");
26
test_invalid_value("border-inline-color", "auto");
27
test_invalid_value("border-inline-color", "lime, transparent");
28
test_invalid_value("border-inline-color", "red green blue");
29
</script>
30
</body>
31
</html>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-logical/parsing/border-inline-color-valid-expected.txt +9 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-logical/parsing/border-inline-color-valid-expected.txt_sec1
1
2
PASS e.style['border-inline-start-color'] = "currentcolor" should set the property value 
3
PASS e.style['border-inline-start-color'] = "rgb(2, 3, 4)" should set the property value 
4
PASS e.style['border-inline-end-color'] = "#234" should set the property value 
5
PASS e.style['border-inline-end-color'] = "transparent" should set the property value 
6
FAIL e.style['border-inline-color'] = "#234" should set the property value assert_not_equals: property should be set got disallowed value ""
7
FAIL e.style['border-inline-color'] = "transparent rgb(2, 3, 4)" should set the property value assert_not_equals: property should be set got disallowed value ""
8
FAIL e.style['border-inline-color'] = "rgb(2, 3, 4) rgb(2, 3, 4)" should set the property value assert_not_equals: property should be set got disallowed value ""
9
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-logical/parsing/border-inline-color-valid.html +23 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-logical/parsing/border-inline-color-valid.html_sec1
1
<!DOCTYPE html>
2
<html>
3
<head>
4
<meta charset="utf-8">
5
<title>CSS Logical Properties and Values: parsing border-inline-color with valid values</title>
6
<link rel="help" href="https://drafts.csswg.org/css-logical/#propdef-border-inline-color">
7
<meta name="assert" content="border-inline-color supports the full grammar '<color>{1,2}'.">
8
<script src="/resources/testharness.js"></script>
9
<script src="/resources/testharnessreport.js"></script>
10
<script src="/css/support/parsing-testcommon.js"></script>
11
</head>
12
<body>
13
<script>
14
test_valid_value("border-inline-start-color", "currentcolor");
15
test_valid_value("border-inline-start-color", "rgb(2, 3, 4)");
16
test_valid_value("border-inline-end-color", "#234", "rgb(34, 51, 68)");
17
test_valid_value("border-inline-end-color", "transparent");
18
test_valid_value("border-inline-color", "#234", "rgb(34, 51, 68)");
19
test_valid_value("border-inline-color", "transparent rgb(2, 3, 4)");
20
test_valid_value("border-inline-color", "rgb(2, 3, 4) rgb(2, 3, 4)", "rgb(2, 3, 4)");
21
</script>
22
</body>
23
</html>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-logical/parsing/border-inline-style-computed-expected.txt +15 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-logical/parsing/border-inline-style-computed-expected.txt_sec1
1
2
PASS Property border-inline-start-style value 'dotted' 
3
PASS Property border-inline-start-style value 'groove' 
4
PASS Property border-inline-start-style value 'inset' 
5
PASS Property border-inline-start-style value 'none' 
6
PASS Property border-inline-start-style value 'solid' 
7
PASS Property border-inline-end-style value 'dashed' 
8
PASS Property border-inline-end-style value 'double' 
9
PASS Property border-inline-end-style value 'hidden' 
10
PASS Property border-inline-end-style value 'outset' 
11
PASS Property border-inline-end-style value 'ridge' 
12
FAIL Property border-inline-style value 'dotted' assert_true: border-inline-style doesn't seem to be supported in the computed style expected true got false
13
FAIL Property border-inline-style value 'double groove' assert_true: border-inline-style doesn't seem to be supported in the computed style expected true got false
14
FAIL Property border-inline-style value 'hidden hidden' assert_true: border-inline-style doesn't seem to be supported in the computed style expected true got false
15
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-logical/parsing/border-inline-style-computed.html +30 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-logical/parsing/border-inline-style-computed.html_sec1
1
<!DOCTYPE html>
2
<html>
3
<head>
4
<meta charset="utf-8">
5
<title>CSS Logical Properties and Values: getComputedStyle().borderInlineStyle</title>
6
<link rel="help" href="https://drafts.csswg.org/css-logical/#propdef-border-inline-style">
7
<meta name="assert" content="border-inline-style is specified keyword(s).">
8
<script src="/resources/testharness.js"></script>
9
<script src="/resources/testharnessreport.js"></script>
10
<script src="/css/support/computed-testcommon.js"></script>
11
</head>
12
<body>
13
<div id="target"></div>
14
<script>
15
test_computed_value("border-inline-start-style", "dotted");
16
test_computed_value("border-inline-start-style", "groove");
17
test_computed_value("border-inline-start-style", "inset");
18
test_computed_value("border-inline-start-style", "none");
19
test_computed_value("border-inline-start-style", "solid");
20
test_computed_value("border-inline-end-style", "dashed");
21
test_computed_value("border-inline-end-style", "double");
22
test_computed_value("border-inline-end-style", "hidden");
23
test_computed_value("border-inline-end-style", "outset");
24
test_computed_value("border-inline-end-style", "ridge");
25
test_computed_value("border-inline-style", "dotted");
26
test_computed_value("border-inline-style", "double groove");
27
test_computed_value("border-inline-style", "hidden hidden", "hidden");
28
</script>
29
</body>
30
</html>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-logical/parsing/border-inline-style-invalid-expected.txt +8 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-logical/parsing/border-inline-style-invalid-expected.txt_sec1
1
2
PASS e.style['border-inline-start-style'] = "auto" should not set the property value 
3
PASS e.style['border-inline-start-style'] = "hidden, outset" should not set the property value 
4
PASS e.style['border-inline-end-style'] = "solid double" should not set the property value 
5
PASS e.style['border-inline-style'] = "auto" should not set the property value 
6
PASS e.style['border-inline-style'] = "groove, ridge" should not set the property value 
7
PASS e.style['border-inline-style'] = "hidden inset dashed" should not set the property value 
8
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-logical/parsing/border-inline-style-invalid.html +22 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-logical/parsing/border-inline-style-invalid.html_sec1
1
<!DOCTYPE html>
2
<html>
3
<head>
4
<meta charset="utf-8">
5
<title>CSS Logical Properties and Values: parsing border-inline-style with invalid values</title>
6
<link rel="help" href="https://drafts.csswg.org/css-logical/#propdef-border-inline-style">
7
<meta name="assert" content="border-inline-style supports only the grammar '<line-style>{1,2}'.">
8
<script src="/resources/testharness.js"></script>
9
<script src="/resources/testharnessreport.js"></script>
10
<script src="/css/support/parsing-testcommon.js"></script>
11
</head>
12
<body>
13
<script>
14
test_invalid_value("border-inline-start-style", "auto");
15
test_invalid_value("border-inline-start-style", "hidden, outset");
16
test_invalid_value("border-inline-end-style", "solid double");
17
test_invalid_value("border-inline-style", "auto");
18
test_invalid_value("border-inline-style", "groove, ridge");
19
test_invalid_value("border-inline-style", "hidden inset dashed");
20
</script>
21
</body>
22
</html>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-logical/parsing/border-inline-style-valid-expected.txt +15 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-logical/parsing/border-inline-style-valid-expected.txt_sec1
1
2
PASS e.style['border-inline-start-style'] = "dotted" should set the property value 
3
PASS e.style['border-inline-start-style'] = "groove" should set the property value 
4
PASS e.style['border-inline-start-style'] = "inset" should set the property value 
5
PASS e.style['border-inline-start-style'] = "none" should set the property value 
6
PASS e.style['border-inline-start-style'] = "solid" should set the property value 
7
PASS e.style['border-inline-end-style'] = "dashed" should set the property value 
8
PASS e.style['border-inline-end-style'] = "double" should set the property value 
9
PASS e.style['border-inline-end-style'] = "hidden" should set the property value 
10
PASS e.style['border-inline-end-style'] = "outset" should set the property value 
11
PASS e.style['border-inline-end-style'] = "ridge" should set the property value 
12
FAIL e.style['border-inline-style'] = "dotted" should set the property value assert_not_equals: property should be set got disallowed value ""
13
FAIL e.style['border-inline-style'] = "double groove" should set the property value assert_not_equals: property should be set got disallowed value ""
14
FAIL e.style['border-inline-style'] = "hidden hidden" should set the property value assert_not_equals: property should be set got disallowed value ""
15
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-logical/parsing/border-inline-style-valid.html +30 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-logical/parsing/border-inline-style-valid.html_sec1
1
<!DOCTYPE html>
2
<html>
3
<head>
4
<meta charset="utf-8">
5
<title>CSS Logical Properties and Values: parsing border-inline-style with valid values</title>
6
<link rel="help" href="https://drafts.csswg.org/css-logical/#propdef-border-block">
7
<meta name="assert" content="border-inline-style supports the full grammar '<line-style>{1,2}'.">
8
<script src="/resources/testharness.js"></script>
9
<script src="/resources/testharnessreport.js"></script>
10
<script src="/css/support/parsing-testcommon.js"></script>
11
</head>
12
<body>
13
<script>
14
// none | hidden | dotted | dashed | solid | double | groove | ridge | inset | outset
15
test_valid_value("border-inline-start-style", "dotted");
16
test_valid_value("border-inline-start-style", "groove");
17
test_valid_value("border-inline-start-style", "inset");
18
test_valid_value("border-inline-start-style", "none");
19
test_valid_value("border-inline-start-style", "solid");
20
test_valid_value("border-inline-end-style", "dashed");
21
test_valid_value("border-inline-end-style", "double");
22
test_valid_value("border-inline-end-style", "hidden");
23
test_valid_value("border-inline-end-style", "outset");
24
test_valid_value("border-inline-end-style", "ridge");
25
test_valid_value("border-inline-style", "dotted");
26
test_valid_value("border-inline-style", "double groove");
27
test_valid_value("border-inline-style", "hidden hidden", "hidden");
28
</script>
29
</body>
30
</html>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-logical/parsing/border-inline-valid-expected.txt +8 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-logical/parsing/border-inline-valid-expected.txt_sec1
1
2
FAIL e.style['border-inline'] = "1px dotted red" should set the property value assert_not_equals: property should be set got disallowed value ""
3
FAIL e.style['border-inline'] = "double" should set the property value assert_not_equals: property should be set got disallowed value ""
4
PASS e.style['border-inline-start'] = "green double thin" should set the property value 
5
PASS e.style['border-inline-start'] = "green" should set the property value 
6
PASS e.style['border-inline-end'] = "thin" should set the property value 
7
PASS e.style['border-inline-end'] = "calc(10px - 0.5em) dotted red" should set the property value 
8
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-logical/parsing/border-inline-valid.html +25 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-logical/parsing/border-inline-valid.html_sec1
1
<!DOCTYPE html>
2
<html>
3
<head>
4
<meta charset="utf-8">
5
<title>CSS Logical Properties and Values: parsing border-inline with valid values</title>
6
<link rel="help" href="https://drafts.csswg.org/css-logical/#propdef-border-inline">
7
<meta name="assert" content="border-inline supports the full grammar '<line-width> || <line-style> || <color>'.">
8
<script src="/resources/testharness.js"></script>
9
<script src="/resources/testharnessreport.js"></script>
10
<script src="/css/support/parsing-testcommon.js"></script>
11
</head>
12
<body>
13
<script>
14
// Similar to css-backgrounds/parsing/border-valid.html
15
16
test_valid_value("border-inline", "1px dotted red");
17
test_valid_value("border-inline", "double", ["double", "medium double"]);
18
19
test_valid_value("border-inline-start", "green double thin", "thin double green");
20
test_valid_value("border-inline-start", "green", ["green", "medium none green"]);
21
test_valid_value("border-inline-end", "thin", ["thin", "thin none"]);
22
test_valid_value("border-inline-end", "calc(10px - 0.5em) dotted red", "calc(-0.5em + 10px) dotted red");
23
</script>
24
</body>
25
</html>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-logical/parsing/border-inline-width-computed-expected.txt +13 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-logical/parsing/border-inline-width-computed-expected.txt_sec1
1
2
FAIL Property border-inline-start-width value 'calc(10px + 0.5em)' assert_equals: expected "30px" but got "0px"
3
PASS Property border-inline-start-width value 'calc(10px - 0.5em)' 
4
FAIL Property border-inline-start-width value 'thin' assert_equals: expected "1px" but got "0px"
5
FAIL Property border-inline-start-width value 'medium' assert_equals: expected "3px" but got "0px"
6
FAIL Property border-inline-end-width value 'calc(10px + 0.5em)' assert_equals: expected "30px" but got "0px"
7
PASS Property border-inline-end-width value 'calc(10px - 0.5em)' 
8
FAIL Property border-inline-end-width value 'thick' assert_equals: expected "5px" but got "0px"
9
FAIL Property border-inline-width value '10px' assert_true: border-inline-width doesn't seem to be supported in the computed style expected true got false
10
FAIL Property border-inline-width value '10px 20px' assert_true: border-inline-width doesn't seem to be supported in the computed style expected true got false
11
FAIL Property border-inline-width value '10px 10px' assert_true: border-inline-width doesn't seem to be supported in the computed style expected true got false
12
FAIL width is zero if the border block style is none or hidden assert_equals: expected (string) "10px" but got (undefined) undefined
13
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-logical/parsing/border-inline-width-computed.html +76 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-logical/parsing/border-inline-width-computed.html_sec1
1
<!DOCTYPE html>
2
<html>
3
<head>
4
<meta charset="utf-8">
5
<title>CSS Logical Properties and Values: getComputedStyle().borderInlineWidth</title>
6
<link rel="help" href="https://drafts.csswg.org/css-logical/#propdef-border-inline-width">
7
<meta name="assert" content="border-inline-width is absolute length; zero if the border block style is none or hidden.">
8
<script src="/resources/testharness.js"></script>
9
<script src="/resources/testharnessreport.js"></script>
10
<script src="/css/support/computed-testcommon.js"></script>
11
</head>
12
<body>
13
<div id="box"></div>
14
<div id="target"></div>
15
<style>
16
  #box {
17
    border-style: dotted; /* Avoid border-*-width computed style 0 */
18
    border-top-width: thin;
19
    border-right-width: medium;
20
    border-bottom-width: thick;
21
  }
22
  #target {
23
    font-size: 40px;
24
    border-inline-style: dotted; /* Avoid border-inline-*-width computed style 0 */
25
  }
26
</style>
27
<script>
28
'use strict';
29
const box = document.getElementById('box');
30
const thinWidth = getComputedStyle(box).borderTopWidth;
31
const mediumWidth = getComputedStyle(box).borderRightWidth;
32
const thickWidth = getComputedStyle(box).borderBottomWidth;
33
34
test_computed_value("border-inline-start-width", "calc(10px + 0.5em)", "30px");
35
test_computed_value("border-inline-start-width", "calc(10px - 0.5em)", "0px");
36
test_computed_value("border-inline-start-width", "thin", thinWidth);
37
test_computed_value("border-inline-start-width", "medium", mediumWidth);
38
39
test_computed_value("border-inline-end-width", "calc(10px + 0.5em)", "30px");
40
test_computed_value("border-inline-end-width", "calc(10px - 0.5em)", "0px");
41
test_computed_value("border-inline-end-width", "thick", thickWidth);
42
43
test_computed_value("border-inline-width", "10px");
44
test_computed_value("border-inline-width", "10px 20px");
45
test_computed_value("border-inline-width", "10px 10px", "10px");
46
test(() => {
47
  box.style.borderInlineStartWidth = '10px';
48
  box.style.borderInlineEndWidth = '10px';
49
50
  box.style.borderInlineStartStyle = 'groove';
51
  box.style.borderInlineEndStyle = 'solid';
52
  assert_equals(getComputedStyle(box).borderInlineStartWidth, '10px');
53
  assert_equals(getComputedStyle(box).borderInlineEndWidth, '10px');
54
  assert_equals(getComputedStyle(box).borderInlineWidth, '10px');
55
56
  box.style.borderInlineStartStyle = 'hidden';
57
  box.style.borderInlineEndStyle = 'dashed';
58
  assert_equals(getComputedStyle(box).borderInlineStartWidth, '0px');
59
  assert_equals(getComputedStyle(box).borderInlineEndWidth, '10px');
60
  assert_equals(getComputedStyle(box).borderInlineWidth, '0px 10px');
61
62
  box.style.borderInlineStartStyle = 'inset';
63
  box.style.borderInlineEndStyle = 'none';
64
  assert_equals(getComputedStyle(box).borderInlineStartWidth, '10px');
65
  assert_equals(getComputedStyle(box).borderInlineEndWidth, '0px');
66
  assert_equals(getComputedStyle(box).borderInlineWidth, '10px 0px');
67
68
  box.style.borderInlineStartStyle = 'none';
69
  box.style.borderInlineEndStyle = 'hidden';
70
  assert_equals(getComputedStyle(box).borderInlineStartWidth, '0px');
71
  assert_equals(getComputedStyle(box).borderInlineEndWidth, '0px');
72
  assert_equals(getComputedStyle(box).borderInlineWidth, '0px');
73
}, 'width is zero if the border block style is none or hidden');
74
</script>
75
</body>
76
</html>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-logical/parsing/border-inline-width-invalid-expected.txt +9 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-logical/parsing/border-inline-width-invalid-expected.txt_sec1
1
2
PASS e.style['border-inline-start-width'] = "-20px" should not set the property value 
3
PASS e.style['border-inline-start-width'] = "auto" should not set the property value 
4
PASS e.style['border-inline-start-width'] = "medium 40px" should not set the property value 
5
PASS e.style['border-inline-end-width'] = "10" should not set the property value 
6
PASS e.style['border-inline-end-width'] = "30%" should not set the property value 
7
PASS e.style['border-inline-width'] = "thick, thin" should not set the property value 
8
PASS e.style['border-inline-width'] = "10px 20px 30px" should not set the property value 
9
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-logical/parsing/border-inline-width-invalid.html +25 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-logical/parsing/border-inline-width-invalid.html_sec1
1
<!DOCTYPE html>
2
<html>
3
<head>
4
<meta charset="utf-8">
5
<title>CSS Logical Properties and Values: parsing border-inline-width with invalid values</title>
6
<link rel="help" href="https://drafts.csswg.org/css-logical/#propdef-border-inline-width">
7
<meta name="assert" content="border-inline-width supports only the grammar '<line-width>{1,2}'.">
8
<meta name="assert" content="Negative lengths are not allowed.">
9
  <script src="/resources/testharness.js"></script>
10
<script src="/resources/testharnessreport.js"></script>
11
<script src="/css/support/parsing-testcommon.js"></script>
12
</head>
13
<body>
14
<script>
15
test_invalid_value("border-inline-start-width", "-20px");
16
test_invalid_value("border-inline-start-width", "auto");
17
test_invalid_value("border-inline-start-width", "medium 40px");
18
test_invalid_value("border-inline-end-width", "10");
19
test_invalid_value("border-inline-end-width", "30%");
20
21
test_invalid_value("border-inline-width", "thick, thin");
22
test_invalid_value("border-inline-width", "10px 20px 30px");
23
</script>
24
</body>
25
</html>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-logical/parsing/border-inline-width-valid-expected.txt +12 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-logical/parsing/border-inline-width-valid-expected.txt_sec1
1
2
PASS e.style['border-inline-start-width'] = "10px" should set the property value 
3
PASS e.style['border-inline-start-width'] = "calc(10px + 0.5em)" should set the property value 
4
PASS e.style['border-inline-start-width'] = "thick" should set the property value 
5
PASS e.style['border-inline-start-width'] = "thin" should set the property value 
6
PASS e.style['border-inline-end-width'] = "0" should set the property value 
7
PASS e.style['border-inline-end-width'] = "calc(10px - 0.5em)" should set the property value 
8
PASS e.style['border-inline-end-width'] = "medium" should set the property value 
9
FAIL e.style['border-inline-width'] = "10px" should set the property value assert_not_equals: property should be set got disallowed value ""
10
FAIL e.style['border-inline-width'] = "medium calc(10px + 0.5em)" should set the property value assert_not_equals: property should be set got disallowed value ""
11
FAIL e.style['border-inline-width'] = "10px 10px" should set the property value assert_not_equals: property should be set got disallowed value ""
12
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-logical/parsing/border-inline-width-valid.html +27 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-logical/parsing/border-inline-width-valid.html_sec1
1
<!DOCTYPE html>
2
<html>
3
<head>
4
<meta charset="utf-8">
5
<title>CSS Logical Properties and Values: parsing border-inline-width with valid values</title>
6
<link rel="help" href="https://drafts.csswg.org/css-logical/#propdef-border-inline-width">
7
<meta name="assert" content="border-inline-width supports the full grammar '<line-width>{1,2}'.">
8
<script src="/resources/testharness.js"></script>
9
<script src="/resources/testharnessreport.js"></script>
10
<script src="/css/support/parsing-testcommon.js"></script>
11
</head>
12
<body>
13
<script>
14
// <length> | thin | medium | thick
15
test_valid_value("border-inline-start-width", "10px");
16
test_valid_value("border-inline-start-width", "calc(10px + 0.5em)", "calc(0.5em + 10px)");
17
test_valid_value("border-inline-start-width", "thick");
18
test_valid_value("border-inline-start-width", "thin");
19
test_valid_value("border-inline-end-width", "0", "0px");
20
test_valid_value("border-inline-end-width", "calc(10px - 0.5em)", "calc(-0.5em + 10px)");
21
test_valid_value("border-inline-end-width", "medium");
22
test_valid_value("border-inline-width", "10px");
23
test_valid_value("border-inline-width", "medium calc(10px + 0.5em)", "medium calc(0.5em + 10px)");
24
test_valid_value("border-inline-width", "10px 10px", "10px");
25
</script>
26
</body>
27
</html>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-logical/parsing/inline-size-computed-expected.txt +9 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-logical/parsing/inline-size-computed-expected.txt_sec1
1
2
PASS Property inline-size value 'auto' 
3
PASS Property inline-size value '10px' 
4
PASS Property inline-size value '20%' 
5
PASS Property inline-size value 'calc(0.5em + 10px)' 
6
PASS Property inline-size value 'calc(-0.5em + 10px)' 
7
PASS Property inline-size value 'min-content' 
8
PASS Property inline-size value 'max-content' 
9
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-logical/parsing/inline-size-computed.html +44 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-logical/parsing/inline-size-computed.html_sec1
1
<!DOCTYPE html>
2
<html>
3
<head>
4
<meta charset="utf-8">
5
<title>CSS Logical Properties and Values: getComputedStyle().inlineSize</title>
6
<link rel="help" href="https://drafts.csswg.org/css-logical-1/#dimension-properties">
7
<meta name="assert" content="inline-size computed value is an absolute length.">
8
<script src="/resources/testharness.js"></script>
9
<script src="/resources/testharnessreport.js"></script>
10
<script src="/css/support/computed-testcommon.js"></script>
11
<style>
12
  #parent {
13
    width: 200px;
14
  }
15
  #target {
16
    width: 0px;
17
    height: 0px;
18
    font-size: 40px;
19
  }
20
  #child {
21
    width: 60px;
22
  }
23
</style>
24
</head>
25
<body>
26
<div id="parent">
27
  <div id="target">
28
    <div id="child">
29
    </div>
30
  </div>
31
</div>
32
<script>
33
test_computed_value("inline-size", "auto", "200px"); // parent width
34
35
test_computed_value("inline-size", "10px");
36
test_computed_value("inline-size", "20%", "40px");
37
test_computed_value("inline-size", "calc(0.5em + 10px)", "30px");
38
test_computed_value("inline-size", "calc(-0.5em + 10px)", "0px");
39
40
test_computed_value("inline-size", "min-content", "60px"); // child width
41
test_computed_value("inline-size", "max-content", "60px");
42
</script>
43
</body>
44
</html>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-logical/parsing/inline-size-invalid-expected.txt +12 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-logical/parsing/inline-size-invalid-expected.txt_sec1
1
2
PASS e.style['inline-size'] = "none" should not set the property value 
3
PASS e.style['inline-size'] = "min-content available" should not set the property value 
4
PASS e.style['inline-size'] = "max-content 10px" should not set the property value 
5
PASS e.style['inline-size'] = "20% available" should not set the property value 
6
PASS e.style['inline-size'] = "-10px" should not set the property value 
7
PASS e.style['inline-size'] = "-20%" should not set the property value 
8
PASS e.style['inline-size'] = "60" should not set the property value 
9
PASS e.style['inline-size'] = "10px 20%" should not set the property value 
10
PASS e.style['inline-size'] = "10px border-box" should not set the property value 
11
PASS e.style['inline-size'] = "content-box 20%" should not set the property value 
12
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-logical/parsing/inline-size-invalid.html +29 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-logical/parsing/inline-size-invalid.html_sec1
1
<!DOCTYPE html>
2
<html>
3
<head>
4
<meta charset="utf-8">
5
<title>CSS Logical Properties and Values: parsing inline-size with invalid values</title>
6
<link rel="help" href="https://drafts.csswg.org/css-logical-1/#dimension-properties">
7
<meta name="assert" content="inline-size supports the full grammar 'auto | <length-percentage> | min-content | max-content | fit-content(<length-percentage>)'.">
8
<script src="/resources/testharness.js"></script>
9
<script src="/resources/testharnessreport.js"></script>
10
<script src="/css/support/parsing-testcommon.js"></script>
11
</head>
12
<body>
13
<script>
14
test_invalid_value("inline-size", "none");
15
16
test_invalid_value("inline-size", "min-content available");
17
test_invalid_value("inline-size", "max-content 10px");
18
test_invalid_value("inline-size", "20% available");
19
20
test_invalid_value("inline-size", "-10px");
21
test_invalid_value("inline-size", "-20%");
22
test_invalid_value("inline-size", "60");
23
test_invalid_value("inline-size", "10px 20%");
24
25
test_invalid_value("inline-size", "10px border-box");
26
test_invalid_value("inline-size", "content-box 20%");
27
</script>
28
</body>
29
</html>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-logical/parsing/inline-size-valid-expected.txt +8 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-logical/parsing/inline-size-valid-expected.txt_sec1
1
2
PASS e.style['inline-size'] = "auto" should set the property value 
3
PASS e.style['inline-size'] = "10px" should set the property value 
4
PASS e.style['inline-size'] = "20%" should set the property value 
5
PASS e.style['inline-size'] = "calc(2em + 3ex)" should set the property value 
6
PASS e.style['inline-size'] = "min-content" should set the property value 
7
PASS e.style['inline-size'] = "max-content" should set the property value 
8
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-logical/parsing/inline-size-valid.html +28 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-logical/parsing/inline-size-valid.html_sec1
1
<!DOCTYPE html>
2
<html>
3
<head>
4
<meta charset="utf-8">
5
<title>CSS Logical Properties and Values: parsing inline-size with valid values</title>
6
<link rel="help" href="https://drafts.csswg.org/css-logical-1/#dimension-properties">
7
<meta name="assert" content="inline-size supports the full grammar 'auto | <length-percentage> | min-content | max-content | fit-content(<length-percentage>)'.">
8
<script src="/resources/testharness.js"></script>
9
<script src="/resources/testharnessreport.js"></script>
10
<script src="/css/support/parsing-testcommon.js"></script>
11
</head>
12
<body>
13
<script>
14
test_valid_value("inline-size", "auto");
15
16
test_valid_value("inline-size", "10px");
17
test_valid_value("inline-size", "20%");
18
test_valid_value("inline-size", "calc(2em + 3ex)");
19
20
test_valid_value("inline-size", "min-content");
21
test_valid_value("inline-size", "max-content");
22
23
// The following are not yet supported by browsers:
24
// test_valid_value("inline-size", "fit-content(100px)");
25
// test_valid_value("inline-size", "fit-content(calc(10% + 10px))");
26
</script>
27
</body>
28
</html>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-logical/parsing/inset-block-inline-computed-expected.txt +14 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-logical/parsing/inset-block-inline-computed-expected.txt_sec1
1
2
FAIL Property inset-block-start value 'auto' assert_true: inset-block-start doesn't seem to be supported in the computed style expected true got false
3
FAIL Property inset-block-end value '-10px' assert_true: inset-block-end doesn't seem to be supported in the computed style expected true got false
4
FAIL Property inset-inline-start value '-20%' assert_true: inset-inline-start doesn't seem to be supported in the computed style expected true got false
5
FAIL Property inset-inline-end value 'calc(10px - 0.5em)' assert_true: inset-inline-end doesn't seem to be supported in the computed style expected true got false
6
FAIL Property inset-block value 'auto' assert_true: inset-block doesn't seem to be supported in the computed style expected true got false
7
FAIL Property inset-block value '-10px' assert_true: inset-block doesn't seem to be supported in the computed style expected true got false
8
FAIL Property inset-block value 'calc(10px - 0.5em) -20%' assert_true: inset-block doesn't seem to be supported in the computed style expected true got false
9
FAIL Property inset-block value 'auto auto' assert_true: inset-block doesn't seem to be supported in the computed style expected true got false
10
FAIL Property inset-inline value '-20%' assert_true: inset-inline doesn't seem to be supported in the computed style expected true got false
11
FAIL Property inset-inline value 'calc(10px - 0.5em)' assert_true: inset-inline doesn't seem to be supported in the computed style expected true got false
12
FAIL Property inset-inline value '-10px auto' assert_true: inset-inline doesn't seem to be supported in the computed style expected true got false
13
FAIL Property inset-inline value 'auto calc(10px + 0.5em)' assert_true: inset-inline doesn't seem to be supported in the computed style expected true got false
14
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-logical/parsing/inset-block-inline-computed.html +35 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-logical/parsing/inset-block-inline-computed.html_sec1
1
<!DOCTYPE html>
2
<html>
3
<head>
4
<meta charset="utf-8">
5
<title>CSS Logical Properties and Values: getComputedStyle().insetBlock / insetInline</title>
6
<link rel="help" href="https://drafts.csswg.org/css-logical/#propdef-inset-block">
7
<meta name="assert" content="Computed value is as specified, with lengths made absolute.">
8
<script src="/resources/testharness.js"></script>
9
<script src="/resources/testharnessreport.js"></script>
10
<script src="/css/support/computed-testcommon.js"></script>
11
<style>
12
  #target {
13
    font-size: 40px;
14
  }
15
</style>
16
</head>
17
<body>
18
<div id="target"></div>
19
<script>
20
test_computed_value("inset-block-start", "auto");
21
test_computed_value("inset-block-end", "-10px");
22
test_computed_value("inset-inline-start", "-20%");
23
test_computed_value("inset-inline-end", "calc(10px - 0.5em)", "-10px");
24
25
test_computed_value("inset-block", "auto");
26
test_computed_value("inset-block", "-10px");
27
test_computed_value("inset-block", "calc(10px - 0.5em) -20%", "-10px -20%");
28
test_computed_value("inset-block", "auto auto", "auto");
29
test_computed_value("inset-inline", "-20%");
30
test_computed_value("inset-inline", "calc(10px - 0.5em)", "-10px");
31
test_computed_value("inset-inline", "-10px auto");
32
test_computed_value("inset-inline", "auto calc(10px + 0.5em)", "auto 30px");
33
</script>
34
</body>
35
</html>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-logical/parsing/inset-block-inline-invalid-expected.txt +9 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-logical/parsing/inset-block-inline-invalid-expected.txt_sec1
1
2
PASS e.style['inset-block-start'] = "none" should not set the property value 
3
PASS e.style['inset-block-end'] = "10" should not set the property value 
4
PASS e.style['inset-inline-start'] = "20% calc(10px - 0.5em)" should not set the property value 
5
PASS e.style['inset-inline-end'] = "10px, auto" should not set the property value 
6
PASS e.style['inset-block'] = "none" should not set the property value 
7
PASS e.style['inset-block'] = "20%, calc(10px - 0.5em)" should not set the property value 
8
PASS e.style['inset-inline'] = "10px auto 20px" should not set the property value 
9
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-logical/parsing/inset-block-inline-invalid.html +25 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-logical/parsing/inset-block-inline-invalid.html_sec1
1
<!DOCTYPE html>
2
<html>
3
<head>
4
<meta charset="utf-8">
5
<title>CSS Logical Properties and Values: parsing inset-block and inset-inline with invalid values</title>
6
<link rel="help" href="https://drafts.csswg.org/css-logical/#propdef-inset-block">
7
<meta name="assert" content="inset-block, inset-inline support only the grammar '<'top'>{1,2}'.">
8
<meta name="assert" content="inset-block, inset-inline longhands support only the grammar '<'top'>'.">
9
<script src="/resources/testharness.js"></script>
10
<script src="/resources/testharnessreport.js"></script>
11
<script src="/css/support/parsing-testcommon.js"></script>
12
</head>
13
<body>
14
<script>
15
test_invalid_value("inset-block-start", "none");
16
test_invalid_value("inset-block-end", "10");
17
test_invalid_value("inset-inline-start", "20% calc(10px - 0.5em)");
18
test_invalid_value("inset-inline-end", "10px, auto");
19
20
test_invalid_value("inset-block", "none");
21
test_invalid_value("inset-block", "20%, calc(10px - 0.5em)");
22
test_invalid_value("inset-inline", "10px auto 20px");
23
</script>
24
</body>
25
</html>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-logical/parsing/inset-block-inline-shorthand-expected.txt +14 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-logical/parsing/inset-block-inline-shorthand-expected.txt_sec1
1
2
FAIL e.style['inset-block'] = "10px" should set inset-block-end assert_equals: inset-block-end should be canonical expected (string) "10px" but got (undefined) undefined
3
FAIL e.style['inset-block'] = "10px" should set inset-block-start assert_equals: inset-block-start should be canonical expected (string) "10px" but got (undefined) undefined
4
FAIL e.style['inset-block'] = "10px" should not set unrelated longhands assert_true: expected true got false
5
FAIL e.style['inset-block'] = "20% auto" should set inset-block-end assert_equals: inset-block-end should be canonical expected (string) "auto" but got (undefined) undefined
6
FAIL e.style['inset-block'] = "20% auto" should set inset-block-start assert_equals: inset-block-start should be canonical expected (string) "20%" but got (undefined) undefined
7
FAIL e.style['inset-block'] = "20% auto" should not set unrelated longhands assert_true: expected true got false
8
FAIL e.style['inset-inline'] = "30%" should set inset-inline-end assert_equals: inset-inline-end should be canonical expected (string) "30%" but got (undefined) undefined
9
FAIL e.style['inset-inline'] = "30%" should set inset-inline-start assert_equals: inset-inline-start should be canonical expected (string) "30%" but got (undefined) undefined
10
FAIL e.style['inset-inline'] = "30%" should not set unrelated longhands assert_true: expected true got false
11
FAIL e.style['inset-inline'] = "auto 40px" should set inset-inline-end assert_equals: inset-inline-end should be canonical expected (string) "40px" but got (undefined) undefined
12
FAIL e.style['inset-inline'] = "auto 40px" should set inset-inline-start assert_equals: inset-inline-start should be canonical expected (string) "auto" but got (undefined) undefined
13
FAIL e.style['inset-inline'] = "auto 40px" should not set unrelated longhands assert_true: expected true got false
14
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-logical/parsing/inset-block-inline-shorthand.html +35 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-logical/parsing/inset-block-inline-shorthand.html_sec1
1
<!DOCTYPE html>
2
<html>
3
<head>
4
<meta charset="utf-8">
5
<title>CSS Logical Properties and Values: inset-block and inset-inline set longhands</title>
6
<link rel="help" href="https://drafts.csswg.org/css-logical/#propdef-inset-block">
7
<meta name="assert" content="inset-block, inset-inline support the full grammar '<'top'>{1,2}'.">
8
<script src="/resources/testharness.js"></script>
9
<script src="/resources/testharnessreport.js"></script>
10
<script src="/css/support/shorthand-testcommon.js"></script>
11
</head>
12
<body>
13
<script>
14
test_shorthand_value('inset-block', '10px', {
15
  'inset-block-start': '10px',
16
  'inset-block-end': '10px'
17
});
18
19
test_shorthand_value('inset-block', '20% auto', {
20
  'inset-block-start': '20%',
21
  'inset-block-end': 'auto'
22
});
23
24
test_shorthand_value('inset-inline', '30%', {
25
  'inset-inline-start': '30%',
26
  'inset-inline-end': '30%'
27
});
28
29
test_shorthand_value('inset-inline', 'auto 40px', {
30
  'inset-inline-start': 'auto',
31
  'inset-inline-end': '40px'
32
});
33
</script>
34
</body>
35
</html>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-logical/parsing/inset-block-inline-valid-expected.txt +14 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-logical/parsing/inset-block-inline-valid-expected.txt_sec1
1
2
FAIL e.style['inset-block-start'] = "auto" should set the property value assert_not_equals: property should be set got disallowed value ""
3
FAIL e.style['inset-block-end'] = "-10px" should set the property value assert_not_equals: property should be set got disallowed value ""
4
FAIL e.style['inset-inline-start'] = "-20%" should set the property value assert_not_equals: property should be set got disallowed value ""
5
FAIL e.style['inset-inline-end'] = "calc(10px - 0.5em)" should set the property value assert_not_equals: property should be set got disallowed value ""
6
FAIL e.style['inset-block'] = "auto" should set the property value assert_not_equals: property should be set got disallowed value ""
7
FAIL e.style['inset-block'] = "-10px" should set the property value assert_not_equals: property should be set got disallowed value ""
8
FAIL e.style['inset-block'] = "calc(10px - 0.5em) -20%" should set the property value assert_not_equals: property should be set got disallowed value ""
9
FAIL e.style['inset-block'] = "auto auto" should set the property value assert_not_equals: property should be set got disallowed value ""
10
FAIL e.style['inset-inline'] = "-20%" should set the property value assert_not_equals: property should be set got disallowed value ""
11
FAIL e.style['inset-inline'] = "calc(10px - 0.5em)" should set the property value assert_not_equals: property should be set got disallowed value ""
12
FAIL e.style['inset-inline'] = "-10px auto" should set the property value assert_not_equals: property should be set got disallowed value ""
13
FAIL e.style['inset-inline'] = "auto calc(10px + 0.5em)" should set the property value assert_not_equals: property should be set got disallowed value ""
14
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-logical/parsing/inset-block-inline-valid.html +30 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-logical/parsing/inset-block-inline-valid.html_sec1
1
<!DOCTYPE html>
2
<html>
3
<head>
4
<meta charset="utf-8">
5
<title>CSS Logical Properties and Values: parsing inset-block and inset-inline with valid values</title>
6
<link rel="help" href="https://drafts.csswg.org/css-logical/#propdef-inset-block">
7
<meta name="assert" content="inset-block, inset-inline support the full grammar '<'top'>{1,2}'.">
8
<meta name="assert" content="inset-block, inset-inline longhands support the full grammar '<'top'>'.">
9
<script src="/resources/testharness.js"></script>
10
<script src="/resources/testharnessreport.js"></script>
11
<script src="/css/support/parsing-testcommon.js"></script>
12
</head>
13
<body>
14
<script>
15
test_valid_value("inset-block-start", "auto");
16
test_valid_value("inset-block-end", "-10px");
17
test_valid_value("inset-inline-start", "-20%");
18
test_valid_value("inset-inline-end", "calc(10px - 0.5em)", "calc(-0.5em + 10px)");
19
20
test_valid_value("inset-block", "auto");
21
test_valid_value("inset-block", "-10px");
22
test_valid_value("inset-block", "calc(10px - 0.5em) -20%", "calc(-0.5em + 10px) -20%");
23
test_valid_value("inset-block", "auto auto", "auto");
24
test_valid_value("inset-inline", "-20%");
25
test_valid_value("inset-inline", "calc(10px - 0.5em)", "calc(-0.5em + 10px)");
26
test_valid_value("inset-inline", "-10px auto");
27
test_valid_value("inset-inline", "auto calc(10px + 0.5em)", "auto calc(0.5em + 10px)");
28
</script>
29
</body>
30
</html>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-logical/parsing/inset-computed-expected.txt +10 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-logical/parsing/inset-computed-expected.txt_sec1
1
2
FAIL Property inset value 'auto' assert_true: inset doesn't seem to be supported in the computed style expected true got false
3
FAIL Property inset value '-10px' assert_true: inset doesn't seem to be supported in the computed style expected true got false
4
FAIL Property inset value 'calc(10px - 0.5em) -20%' assert_true: inset doesn't seem to be supported in the computed style expected true got false
5
FAIL Property inset value 'auto auto' assert_true: inset doesn't seem to be supported in the computed style expected true got false
6
FAIL Property inset value '10px calc(10px - 0.5em) -30px' assert_true: inset doesn't seem to be supported in the computed style expected true got false
7
FAIL Property inset value 'auto auto auto' assert_true: inset doesn't seem to be supported in the computed style expected true got false
8
FAIL Property inset value '10px 20px auto -30px' assert_true: inset doesn't seem to be supported in the computed style expected true got false
9
FAIL Property inset value 'auto auto auto auto' assert_true: inset doesn't seem to be supported in the computed style expected true got false
10
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-logical/parsing/inset-computed.html +33 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-logical/parsing/inset-computed.html_sec1
1
<!DOCTYPE html>
2
<html>
3
<head>
4
<meta charset="utf-8">
5
<title>CSS Logical Properties and Values: getComputedStyle().inset</title>
6
<link rel="help" href="https://drafts.csswg.org/css-logical/#propdef-inset">
7
<meta name="assert" content="Computed value is as specified, with lengths made absolute.">
8
<script src="/resources/testharness.js"></script>
9
<script src="/resources/testharnessreport.js"></script>
10
<script src="/css/support/computed-testcommon.js"></script>
11
<style>
12
  #target {
13
    font-size: 40px;
14
  }
15
</style>
16
</head>
17
<body>
18
<div id="target"></div>
19
<script>
20
test_computed_value("inset", "auto");
21
test_computed_value("inset", "-10px");
22
23
test_computed_value("inset", "calc(10px - 0.5em) -20%", "-10px -20%");
24
test_computed_value("inset", "auto auto", "auto");
25
26
test_computed_value("inset", "10px calc(10px - 0.5em) -30px", "10px -10px -30px");
27
test_computed_value("inset", "auto auto auto", "auto");
28
29
test_computed_value("inset", "10px 20px auto -30px");
30
test_computed_value("inset", "auto auto auto auto", "auto");
31
</script>
32
</body>
33
</html>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-logical/parsing/inset-invalid-expected.txt +5 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-logical/parsing/inset-invalid-expected.txt_sec1
1
2
PASS e.style['inset'] = "none" should not set the property value 
3
PASS e.style['inset'] = "20%, calc(10px - 0.5em)" should not set the property value 
4
PASS e.style['inset'] = "10px auto 20px auto 30px" should not set the property value 
5
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-logical/parsing/inset-invalid.html +19 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-logical/parsing/inset-invalid.html_sec1
1
<!DOCTYPE html>
2
<html>
3
<head>
4
<meta charset="utf-8">
5
<title>CSS Logical Properties and Values: parsing inset with invalid values</title>
6
<link rel="help" href="https://drafts.csswg.org/css-logical/#propdef-inset">
7
<meta name="assert" content="inset supports only the grammar '<'top'>{1,4}'.">
8
<script src="/resources/testharness.js"></script>
9
<script src="/resources/testharnessreport.js"></script>
10
<script src="/css/support/parsing-testcommon.js"></script>
11
</head>
12
<body>
13
<script>
14
test_invalid_value("inset", "none");
15
test_invalid_value("inset", "20%, calc(10px - 0.5em)");
16
test_invalid_value("inset", "10px auto 20px auto 30px");
17
</script>
18
</body>
19
</html>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-logical/parsing/inset-shorthand-expected.txt +22 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-logical/parsing/inset-shorthand-expected.txt_sec1
1
2
FAIL e.style['inset'] = "1px 2px 3px 4px" should set bottom assert_equals: bottom should be canonical expected "3px" but got ""
3
FAIL e.style['inset'] = "1px 2px 3px 4px" should set left assert_equals: left should be canonical expected "4px" but got ""
4
FAIL e.style['inset'] = "1px 2px 3px 4px" should set right assert_equals: right should be canonical expected "2px" but got ""
5
FAIL e.style['inset'] = "1px 2px 3px 4px" should set top assert_equals: top should be canonical expected "1px" but got ""
6
FAIL e.style['inset'] = "1px 2px 3px 4px" should not set unrelated longhands assert_true: expected true got false
7
FAIL e.style['inset'] = "1px 2px 3px" should set bottom assert_equals: bottom should be canonical expected "3px" but got ""
8
FAIL e.style['inset'] = "1px 2px 3px" should set left assert_equals: left should be canonical expected "2px" but got ""
9
FAIL e.style['inset'] = "1px 2px 3px" should set right assert_equals: right should be canonical expected "2px" but got ""
10
FAIL e.style['inset'] = "1px 2px 3px" should set top assert_equals: top should be canonical expected "1px" but got ""
11
FAIL e.style['inset'] = "1px 2px 3px" should not set unrelated longhands assert_true: expected true got false
12
FAIL e.style['inset'] = "1px 2px" should set bottom assert_equals: bottom should be canonical expected "1px" but got ""
13
FAIL e.style['inset'] = "1px 2px" should set left assert_equals: left should be canonical expected "2px" but got ""
14
FAIL e.style['inset'] = "1px 2px" should set right assert_equals: right should be canonical expected "2px" but got ""
15
FAIL e.style['inset'] = "1px 2px" should set top assert_equals: top should be canonical expected "1px" but got ""
16
FAIL e.style['inset'] = "1px 2px" should not set unrelated longhands assert_true: expected true got false
17
FAIL e.style['inset'] = "1px" should set bottom assert_equals: bottom should be canonical expected "1px" but got ""
18
FAIL e.style['inset'] = "1px" should set left assert_equals: left should be canonical expected "1px" but got ""
19
FAIL e.style['inset'] = "1px" should set right assert_equals: right should be canonical expected "1px" but got ""
20
FAIL e.style['inset'] = "1px" should set top assert_equals: top should be canonical expected "1px" but got ""
21
FAIL e.style['inset'] = "1px" should not set unrelated longhands assert_true: expected true got false
22
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-logical/parsing/inset-shorthand.html +43 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-logical/parsing/inset-shorthand.html_sec1
1
<!DOCTYPE html>
2
<html>
3
<head>
4
<meta charset="utf-8">
5
<title>CSS Logical Properties and Values: inset sets longhands</title>
6
<link rel="help" href="https://drafts.csswg.org/css-logical/#propdef-inset">
7
<meta name="assert" content="inset supports the full grammar '<'top'>{1,4}'.">
8
<script src="/resources/testharness.js"></script>
9
<script src="/resources/testharnessreport.js"></script>
10
<script src="/css/support/shorthand-testcommon.js"></script>
11
</head>
12
<body>
13
<script>
14
test_shorthand_value('inset', '1px 2px 3px 4px', {
15
  'top': '1px',
16
  'right': '2px',
17
  'bottom': '3px',
18
  'left': '4px'
19
});
20
21
test_shorthand_value('inset', '1px 2px 3px', {
22
  'top': '1px',
23
  'right': '2px',
24
  'bottom': '3px',
25
  'left': '2px'
26
});
27
28
test_shorthand_value('inset', '1px 2px', {
29
  'top': '1px',
30
  'right': '2px',
31
  'bottom': '1px',
32
  'left': '2px'
33
});
34
35
test_shorthand_value('inset', '1px', {
36
  'top': '1px',
37
  'right': '1px',
38
  'bottom': '1px',
39
  'left': '1px'
40
});
41
</script>
42
</body>
43
</html>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-logical/parsing/inset-valid-expected.txt +10 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-logical/parsing/inset-valid-expected.txt_sec1
1
2
FAIL e.style['inset'] = "auto" should set the property value assert_not_equals: property should be set got disallowed value ""
3
FAIL e.style['inset'] = "-10px" should set the property value assert_not_equals: property should be set got disallowed value ""
4
FAIL e.style['inset'] = "calc(-0.5em + 10px) -20%" should set the property value assert_not_equals: property should be set got disallowed value ""
5
FAIL e.style['inset'] = "auto auto" should set the property value assert_not_equals: property should be set got disallowed value ""
6
FAIL e.style['inset'] = "10px calc(-0.5em + 10px) -30px" should set the property value assert_not_equals: property should be set got disallowed value ""
7
FAIL e.style['inset'] = "auto auto auto" should set the property value assert_not_equals: property should be set got disallowed value ""
8
FAIL e.style['inset'] = "10px calc(-0.5em + 10px) auto -30px" should set the property value assert_not_equals: property should be set got disallowed value ""
9
FAIL e.style['inset'] = "auto auto auto auto" should set the property value assert_not_equals: property should be set got disallowed value ""
10
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-logical/parsing/inset-valid.html +27 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-logical/parsing/inset-valid.html_sec1
1
<!DOCTYPE html>
2
<html>
3
<head>
4
<meta charset="utf-8">
5
<title>CSS Logical Properties and Values: parsing inset with valid values</title>
6
<link rel="help" href="https://drafts.csswg.org/css-logical/#propdef-inset">
7
<meta name="assert" content="inset supports the full grammar '<'top'>{1,4}'.">
8
<script src="/resources/testharness.js"></script>
9
<script src="/resources/testharnessreport.js"></script>
10
<script src="/css/support/parsing-testcommon.js"></script>
11
</head>
12
<body>
13
<script>
14
test_valid_value("inset", "auto");
15
test_valid_value("inset", "-10px");
16
17
test_valid_value("inset", "calc(-0.5em + 10px) -20%");
18
test_valid_value("inset", "auto auto", "auto");
19
20
test_valid_value("inset", "10px calc(-0.5em + 10px) -30px");
21
test_valid_value("inset", "auto auto auto", "auto");
22
23
test_valid_value("inset", "10px calc(-0.5em + 10px) auto -30px");
24
test_valid_value("inset", "auto auto auto auto", "auto");
25
</script>
26
</body>
27
</html>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-logical/parsing/margin-block-inline-computed-expected.txt +14 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-logical/parsing/margin-block-inline-computed-expected.txt_sec1
1
2
PASS Property margin-block-start value '10px' 
3
FAIL Property margin-block-end value '10%' assert_equals: expected "20px" but got "0px"
4
PASS Property margin-inline-start value '30px' 
5
PASS Property margin-inline-end value '1em' 
6
FAIL Property margin-block-start value 'calc(10% + 40px)' assert_equals: expected "60px" but got "0px"
7
PASS Property margin-block-end value 'calc(10px + 0.5em)' 
8
PASS Property margin-inline-start value 'calc(10px + 0.5em)' 
9
FAIL Property margin-inline-end value 'calc(10% + 40px)' assert_equals: expected "60px" but got "40px"
10
FAIL Property margin-block value '10px' assert_true: margin-block doesn't seem to be supported in the computed style expected true got false
11
FAIL Property margin-block value '10px 20px' assert_true: margin-block doesn't seem to be supported in the computed style expected true got false
12
FAIL Property margin-inline value '30px' assert_true: margin-inline doesn't seem to be supported in the computed style expected true got false
13
FAIL Property margin-inline value '30px 40px' assert_true: margin-inline doesn't seem to be supported in the computed style expected true got false
14
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-logical/parsing/margin-block-inline-computed.html +49 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-logical/parsing/margin-block-inline-computed.html_sec1
1
<!DOCTYPE html>
2
<html>
3
<head>
4
<meta charset="utf-8">
5
<title>CSS Logical Properties and Values: getComputedStyle().marginBlockStart etc.</title>
6
<link rel="help" href="https://drafts.csswg.org/css-logical/#propdef-margin-block">
7
<link rel="help" href="https://drafts.csswg.org/cssom/#resolved-values">
8
<meta name="assert" content="margin-block, margin-inline resolved values have absolute length.">
9
<script src="/resources/testharness.js"></script>
10
<script src="/resources/testharnessreport.js"></script>
11
<script src="/css/support/computed-testcommon.js"></script>
12
<style>
13
  #container {
14
    will-change: transform; /* containing block for #target */
15
    width: 200px;
16
  }
17
  #parent {
18
    width: 0px;
19
  }
20
  #target {
21
    position: absolute;
22
    font-size: 40px;
23
  }
24
</style>
25
</head>
26
<body>
27
<div id="container">
28
  <div id="parent">
29
    <div id="target"></div>
30
  </div>
31
</div>
32
<script>
33
test_computed_value("margin-block-start", "10px");
34
test_computed_value("margin-block-end", "10%", "20px");
35
test_computed_value("margin-inline-start", "30px");
36
test_computed_value("margin-inline-end", "1em", "40px");
37
38
test_computed_value('margin-block-start', 'calc(10% + 40px)', '60px');
39
test_computed_value('margin-block-end', 'calc(10px + 0.5em)', '30px');
40
test_computed_value('margin-inline-start', 'calc(10px + 0.5em)', '30px');
41
test_computed_value('margin-inline-end', 'calc(10% + 40px)', '60px');
42
43
test_computed_value("margin-block", "10px");
44
test_computed_value("margin-block", "10px 20px");
45
test_computed_value("margin-inline", "30px");
46
test_computed_value("margin-inline", "30px 40px");
47
</script>
48
</body>
49
</html>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-logical/parsing/margin-block-inline-invalid-expected.txt +9 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-logical/parsing/margin-block-inline-invalid-expected.txt_sec1
1
2
PASS e.style['margin-block-start'] = "none" should not set the property value 
3
PASS e.style['margin-block-end'] = "10" should not set the property value 
4
PASS e.style['margin-inline-start'] = "20% calc(10px - 0.5em)" should not set the property value 
5
PASS e.style['margin-inline-end'] = "10px, auto" should not set the property value 
6
PASS e.style['margin-block'] = "none" should not set the property value 
7
PASS e.style['margin-block'] = "20%, calc(10px - 0.5em)" should not set the property value 
8
PASS e.style['margin-inline'] = "10px auto 20px" should not set the property value 
9
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-logical/parsing/margin-block-inline-invalid.html +25 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-logical/parsing/margin-block-inline-invalid.html_sec1
1
<!DOCTYPE html>
2
<html>
3
<head>
4
<meta charset="utf-8">
5
<title>CSS Logical Properties and Values: parsing margin-block and margin-inline with invalid values</title>
6
<link rel="help" href="https://drafts.csswg.org/css-logical/#propdef-margin-block">
7
<meta name="assert" content="margin-block, margin-inline support only the grammar '<'margin-top'>{1,2}'.">
8
<meta name="assert" content="margin-block, margin-inline longhands support only the grammar '<'margin-top'>'.">
9
<script src="/resources/testharness.js"></script>
10
<script src="/resources/testharnessreport.js"></script>
11
<script src="/css/support/parsing-testcommon.js"></script>
12
</head>
13
<body>
14
<script>
15
test_invalid_value("margin-block-start", "none");
16
test_invalid_value("margin-block-end", "10");
17
test_invalid_value("margin-inline-start", "20% calc(10px - 0.5em)");
18
test_invalid_value("margin-inline-end", "10px, auto");
19
20
test_invalid_value("margin-block", "none");
21
test_invalid_value("margin-block", "20%, calc(10px - 0.5em)");
22
test_invalid_value("margin-inline", "10px auto 20px");
23
</script>
24
</body>
25
</html>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-logical/parsing/margin-block-inline-shorthand-expected.txt +14 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-logical/parsing/margin-block-inline-shorthand-expected.txt_sec1
1
2
FAIL e.style['margin-block'] = "10px" should set margin-block-end assert_equals: margin-block-end should be canonical expected "10px" but got ""
3
FAIL e.style['margin-block'] = "10px" should set margin-block-start assert_equals: margin-block-start should be canonical expected "10px" but got ""
4
FAIL e.style['margin-block'] = "10px" should not set unrelated longhands assert_true: expected true got false
5
FAIL e.style['margin-block'] = "20% auto" should set margin-block-end assert_equals: margin-block-end should be canonical expected "auto" but got ""
6
FAIL e.style['margin-block'] = "20% auto" should set margin-block-start assert_equals: margin-block-start should be canonical expected "20%" but got ""
7
FAIL e.style['margin-block'] = "20% auto" should not set unrelated longhands assert_true: expected true got false
8
FAIL e.style['margin-inline'] = "30%" should set margin-inline-end assert_equals: margin-inline-end should be canonical expected "30%" but got ""
9
FAIL e.style['margin-inline'] = "30%" should set margin-inline-start assert_equals: margin-inline-start should be canonical expected "30%" but got ""
10
FAIL e.style['margin-inline'] = "30%" should not set unrelated longhands assert_true: expected true got false
11
FAIL e.style['margin-inline'] = "auto 40px" should set margin-inline-end assert_equals: margin-inline-end should be canonical expected "40px" but got ""
12
FAIL e.style['margin-inline'] = "auto 40px" should set margin-inline-start assert_equals: margin-inline-start should be canonical expected "auto" but got ""
13
FAIL e.style['margin-inline'] = "auto 40px" should not set unrelated longhands assert_true: expected true got false
14
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-logical/parsing/margin-block-inline-shorthand.html +35 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-logical/parsing/margin-block-inline-shorthand.html_sec1
1
<!DOCTYPE html>
2
<html>
3
<head>
4
<meta charset="utf-8">
5
<title>CSS Logical Properties and Values: margin-block and margin-inline sets longhands</title>
6
<link rel="help" href="https://drafts.csswg.org/css-logical/#propdef-margin-block">
7
<meta name="assert" content="margin-block, margin-inline support the full grammar '<'margin-top'>{1,2}'.">
8
<script src="/resources/testharness.js"></script>
9
<script src="/resources/testharnessreport.js"></script>
10
<script src="/css/support/shorthand-testcommon.js"></script>
11
</head>
12
<body>
13
<script>
14
test_shorthand_value('margin-block', '10px', {
15
  'margin-block-start': '10px',
16
  'margin-block-end': '10px'
17
});
18
19
test_shorthand_value('margin-block', '20% auto', {
20
  'margin-block-start': '20%',
21
  'margin-block-end': 'auto'
22
});
23
24
test_shorthand_value('margin-inline', '30%', {
25
  'margin-inline-start': '30%',
26
  'margin-inline-end': '30%'
27
});
28
29
test_shorthand_value('margin-inline', 'auto 40px', {
30
  'margin-inline-start': 'auto',
31
  'margin-inline-end': '40px'
32
});
33
</script>
34
</body>
35
</html>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-logical/parsing/margin-block-inline-valid-expected.txt +16 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-logical/parsing/margin-block-inline-valid-expected.txt_sec1
1
2
PASS e.style['margin-block-start'] = "calc(20% + 10px)" should set the property value 
3
PASS e.style['margin-block-start'] = "auto" should set the property value 
4
PASS e.style['margin-block-end'] = "-10px" should set the property value 
5
PASS e.style['margin-inline-start'] = "-20%" should set the property value 
6
PASS e.style['margin-inline-end'] = "calc(2em + 3ex)" should set the property value 
7
FAIL e.style['margin-block'] = "auto" should set the property value assert_not_equals: property should be set got disallowed value ""
8
FAIL e.style['margin-block'] = "-10px" should set the property value assert_not_equals: property should be set got disallowed value ""
9
FAIL e.style['margin-block'] = "calc(2em + 3ex) -20%" should set the property value assert_not_equals: property should be set got disallowed value ""
10
FAIL e.style['margin-block'] = "auto auto" should set the property value assert_not_equals: property should be set got disallowed value ""
11
FAIL e.style['margin-block'] = "-20% calc(20% + 10px)" should set the property value assert_not_equals: property should be set got disallowed value ""
12
FAIL e.style['margin-inline'] = "20%" should set the property value assert_not_equals: property should be set got disallowed value ""
13
FAIL e.style['margin-inline'] = "calc(2em + 3ex)" should set the property value assert_not_equals: property should be set got disallowed value ""
14
FAIL e.style['margin-inline'] = "-10px auto" should set the property value assert_not_equals: property should be set got disallowed value ""
15
FAIL e.style['margin-inline'] = "auto calc(2em + 3ex)" should set the property value assert_not_equals: property should be set got disallowed value ""
16
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-logical/parsing/margin-block-inline-valid.html +32 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-logical/parsing/margin-block-inline-valid.html_sec1
1
<!DOCTYPE html>
2
<html>
3
<head>
4
<meta charset="utf-8">
5
<title>CSS Logical Properties and Values: parsing margin-block and margin-inline with valid values</title>
6
<link rel="help" href="https://drafts.csswg.org/css-logical/#propdef-margin-block">
7
<meta name="assert" content="margin-block, margin-inline support the full grammar '<'margin-top'>{1,2}'.">
8
<meta name="assert" content="margin-block, margin-inline longhands support the full grammar '<'margin-top'>'.">
9
<script src="/resources/testharness.js"></script>
10
<script src="/resources/testharnessreport.js"></script>
11
<script src="/css/support/parsing-testcommon.js"></script>
12
</head>
13
<body>
14
<script>
15
test_valid_value("margin-block-start", "calc(20% + 10px)");
16
test_valid_value("margin-block-start", "auto");
17
test_valid_value("margin-block-end", "-10px");
18
test_valid_value("margin-inline-start", "-20%");
19
test_valid_value("margin-inline-end", "calc(2em + 3ex)");
20
21
test_valid_value("margin-block", "auto");
22
test_valid_value("margin-block", "-10px");
23
test_valid_value("margin-block", "calc(2em + 3ex) -20%");
24
test_valid_value("margin-block", "auto auto", "auto");
25
test_valid_value("margin-block", "-20% calc(20% + 10px)");
26
test_valid_value("margin-inline", "20%");
27
test_valid_value("margin-inline", "calc(2em + 3ex)");
28
test_valid_value("margin-inline", "-10px auto");
29
test_valid_value("margin-inline", "auto calc(2em + 3ex)");
30
</script>
31
</body>
32
</html>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-logical/parsing/max-block-size-computed-expected.txt +10 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-logical/parsing/max-block-size-computed-expected.txt_sec1
1
2
PASS Property max-block-size value 'none' 
3
PASS Property max-block-size value '10px' 
4
PASS Property max-block-size value '20%' 
5
PASS Property max-block-size value 'calc(10px + 0.5em)' 
6
PASS Property max-block-size value 'calc(10px - 0.5em)' 
7
PASS Property max-block-size value 'calc(20% + 10px)' 
8
PASS Property max-block-size value 'min-content' 
9
PASS Property max-block-size value 'max-content' 
10
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-logical/parsing/max-block-size-computed.html +32 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-logical/parsing/max-block-size-computed.html_sec1
1
<!DOCTYPE html>
2
<html>
3
<head>
4
<meta charset="utf-8">
5
<title>CSS Logical Properties and Values: getComputedStyle().maxBlockSize</title>
6
<link rel="help" href="https://drafts.csswg.org/css-logical/#propdef-max-block-size">
7
<meta name="assert" content="Computed max-block-size is the specified keyword, or the length-percentage made absolute.">
8
<script src="/resources/testharness.js"></script>
9
<script src="/resources/testharnessreport.js"></script>
10
<script src="/css/support/computed-testcommon.js"></script>
11
<style>
12
  #target {
13
    font-size: 40px;
14
  }
15
</style>
16
</head>
17
<body>
18
<div id="target"></div>
19
<script>
20
test_computed_value("max-block-size", "none");
21
22
test_computed_value("max-block-size", "10px");
23
test_computed_value("max-block-size", "20%");
24
test_computed_value("max-block-size", "calc(10px + 0.5em)", "30px");
25
test_computed_value("max-block-size", "calc(10px - 0.5em)", "0px");
26
test_computed_value("max-block-size", "calc(20% + 10px)");
27
28
test_computed_value("max-block-size", "min-content");
29
test_computed_value("max-block-size", "max-content");
30
</script>
31
</body>
32
</html>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-logical/parsing/max-block-size-invalid-expected.txt +12 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-logical/parsing/max-block-size-invalid-expected.txt_sec1
1
2
PASS e.style['max-block-size'] = "auto" should not set the property value 
3
PASS e.style['max-block-size'] = "min-content available" should not set the property value 
4
PASS e.style['max-block-size'] = "max-content 10px" should not set the property value 
5
PASS e.style['max-block-size'] = "20% available" should not set the property value 
6
PASS e.style['max-block-size'] = "-10px" should not set the property value 
7
PASS e.style['max-block-size'] = "-20%" should not set the property value 
8
PASS e.style['max-block-size'] = "60" should not set the property value 
9
PASS e.style['max-block-size'] = "10px 20%" should not set the property value 
10
PASS e.style['max-block-size'] = "10px border-box" should not set the property value 
11
PASS e.style['max-block-size'] = "content-box 20%" should not set the property value 
12
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-logical/parsing/max-block-size-invalid.html +29 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-logical/parsing/max-block-size-invalid.html_sec1
1
<!DOCTYPE html>
2
<html>
3
<head>
4
<meta charset="utf-8">
5
<title>CSS Logical Properties and Values: parsing max-block-size with invalid values</title>
6
<link rel="help" href="https://drafts.csswg.org/css-logical-1/#dimension-properties">
7
<meta name="assert" content="max-block-size supports the full grammar 'none | <length-percentage> | min-content | max-content | fit-content(<length-percentage>)'.">
8
<script src="/resources/testharness.js"></script>
9
<script src="/resources/testharnessreport.js"></script>
10
<script src="/css/support/parsing-testcommon.js"></script>
11
</head>
12
<body>
13
<script>
14
test_invalid_value("max-block-size", "auto");
15
16
test_invalid_value("max-block-size", "min-content available");
17
test_invalid_value("max-block-size", "max-content 10px");
18
test_invalid_value("max-block-size", "20% available");
19
20
test_invalid_value("max-block-size", "-10px");
21
test_invalid_value("max-block-size", "-20%");
22
test_invalid_value("max-block-size", "60");
23
test_invalid_value("max-block-size", "10px 20%");
24
25
test_invalid_value("max-block-size", "10px border-box");
26
test_invalid_value("max-block-size", "content-box 20%");
27
</script>
28
</body>
29
</html>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-logical/parsing/max-block-size-valid-expected.txt +8 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-logical/parsing/max-block-size-valid-expected.txt_sec1
1
2
PASS e.style['max-block-size'] = "none" should set the property value 
3
PASS e.style['max-block-size'] = "10px" should set the property value 
4
PASS e.style['max-block-size'] = "20%" should set the property value 
5
PASS e.style['max-block-size'] = "calc(2em + 3ex)" should set the property value 
6
PASS e.style['max-block-size'] = "min-content" should set the property value 
7
PASS e.style['max-block-size'] = "max-content" should set the property value 
8
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-logical/parsing/max-block-size-valid.html +28 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-logical/parsing/max-block-size-valid.html_sec1
1
<!DOCTYPE html>
2
<html>
3
<head>
4
<meta charset="utf-8">
5
<title>CSS Logical Properties and Values: parsing max-block-size with valid values</title>
6
<link rel="help" href="https://drafts.csswg.org/css-logical-1/#dimension-properties">
7
<meta name="assert" content="max-block-size supports the full grammar 'none | <length-percentage> | min-content | max-content | fit-content(<length-percentage>)'.">
8
<script src="/resources/testharness.js"></script>
9
<script src="/resources/testharnessreport.js"></script>
10
<script src="/css/support/parsing-testcommon.js"></script>
11
</head>
12
<body>
13
<script>
14
test_valid_value("max-block-size", "none");
15
16
test_valid_value("max-block-size", "10px");
17
test_valid_value("max-block-size", "20%");
18
test_valid_value("max-block-size", "calc(2em + 3ex)");
19
20
test_valid_value("max-block-size", "min-content");
21
test_valid_value("max-block-size", "max-content");
22
23
// The following are not yet supported by browsers:
24
// test_valid_value("max-block-size", "fit-content(100px)");
25
// test_valid_value("max-block-size", "fit-content(calc(10% + 10px))");
26
</script>
27
</body>
28
</html>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-logical/parsing/max-inline-size-computed-expected.txt +10 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-logical/parsing/max-inline-size-computed-expected.txt_sec1
1
2
PASS Property max-inline-size value 'none' 
3
PASS Property max-inline-size value '10px' 
4
PASS Property max-inline-size value '20%' 
5
PASS Property max-inline-size value 'calc(10px + 0.5em)' 
6
PASS Property max-inline-size value 'calc(10px - 0.5em)' 
7
PASS Property max-inline-size value 'calc(20% + 10px)' 
8
PASS Property max-inline-size value 'min-content' 
9
PASS Property max-inline-size value 'max-content' 
10
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-logical/parsing/max-inline-size-computed.html +32 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-logical/parsing/max-inline-size-computed.html_sec1
1
<!DOCTYPE html>
2
<html>
3
<head>
4
<meta charset="utf-8">
5
<title>CSS Logical Properties and Values: getComputedStyle().maxInlineSize</title>
6
<link rel="help" href="https://drafts.csswg.org/css-logical/#propdef-max-inline-size">
7
<meta name="assert" content="Computed max-inline-size is the specified keyword, or the length-percentage made absolute.">
8
<script src="/resources/testharness.js"></script>
9
<script src="/resources/testharnessreport.js"></script>
10
<script src="/css/support/computed-testcommon.js"></script>
11
<style>
12
  #target {
13
    font-size: 40px;
14
  }
15
</style>
16
</head>
17
<body>
18
<div id="target"></div>
19
<script>
20
test_computed_value("max-inline-size", "none");
21
22
test_computed_value("max-inline-size", "10px");
23
test_computed_value("max-inline-size", "20%");
24
test_computed_value("max-inline-size", "calc(10px + 0.5em)", "30px");
25
test_computed_value("max-inline-size", "calc(10px - 0.5em)", "0px");
26
test_computed_value("max-inline-size", "calc(20% + 10px)");
27
28
test_computed_value("max-inline-size", "min-content");
29
test_computed_value("max-inline-size", "max-content");
30
</script>
31
</body>
32
</html>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-logical/parsing/max-inline-size-invalid-expected.txt +12 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-logical/parsing/max-inline-size-invalid-expected.txt_sec1
1
2
PASS e.style['max-inline-size'] = "auto" should not set the property value 
3
PASS e.style['max-inline-size'] = "min-content available" should not set the property value 
4
PASS e.style['max-inline-size'] = "max-content 10px" should not set the property value 
5
PASS e.style['max-inline-size'] = "20% available" should not set the property value 
6
PASS e.style['max-inline-size'] = "-10px" should not set the property value 
7
PASS e.style['max-inline-size'] = "-20%" should not set the property value 
8
PASS e.style['max-inline-size'] = "60" should not set the property value 
9
PASS e.style['max-inline-size'] = "10px 20%" should not set the property value 
10
PASS e.style['max-inline-size'] = "10px border-box" should not set the property value 
11
PASS e.style['max-inline-size'] = "content-box 20%" should not set the property value 
12
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-logical/parsing/max-inline-size-invalid.html +29 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-logical/parsing/max-inline-size-invalid.html_sec1
1
<!DOCTYPE html>
2
<html>
3
<head>
4
<meta charset="utf-8">
5
<title>CSS Logical Properties and Values: parsing max-inline-size with invalid values</title>
6
<link rel="help" href="https://drafts.csswg.org/css-logical-1/#dimension-properties">
7
<meta name="assert" content="max-inline-size supports the full grammar 'none | <length-percentage> | min-content | max-content | fit-content(<length-percentage>)'.">
8
<script src="/resources/testharness.js"></script>
9
<script src="/resources/testharnessreport.js"></script>
10
<script src="/css/support/parsing-testcommon.js"></script>
11
</head>
12
<body>
13
<script>
14
test_invalid_value("max-inline-size", "auto");
15
16
test_invalid_value("max-inline-size", "min-content available");
17
test_invalid_value("max-inline-size", "max-content 10px");
18
test_invalid_value("max-inline-size", "20% available");
19
20
test_invalid_value("max-inline-size", "-10px");
21
test_invalid_value("max-inline-size", "-20%");
22
test_invalid_value("max-inline-size", "60");
23
test_invalid_value("max-inline-size", "10px 20%");
24
25
test_invalid_value("max-inline-size", "10px border-box");
26
test_invalid_value("max-inline-size", "content-box 20%");
27
</script>
28
</body>
29
</html>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-logical/parsing/max-inline-size-valid-expected.txt +8 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-logical/parsing/max-inline-size-valid-expected.txt_sec1
1
2
PASS e.style['max-inline-size'] = "none" should set the property value 
3
PASS e.style['max-inline-size'] = "10px" should set the property value 
4
PASS e.style['max-inline-size'] = "20%" should set the property value 
5
PASS e.style['max-inline-size'] = "calc(2em + 3ex)" should set the property value 
6
PASS e.style['max-inline-size'] = "min-content" should set the property value 
7
PASS e.style['max-inline-size'] = "max-content" should set the property value 
8
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-logical/parsing/max-inline-size-valid.html +28 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-logical/parsing/max-inline-size-valid.html_sec1
1
<!DOCTYPE html>
2
<html>
3
<head>
4
<meta charset="utf-8">
5
<title>CSS Logical Properties and Values: parsing max-inline-size with valid values</title>
6
<link rel="help" href="https://drafts.csswg.org/css-logical-1/#dimension-properties">
7
<meta name="assert" content="max-inline-size supports the full grammar 'none | <length-percentage> | min-content | max-content | fit-content(<length-percentage>)'.">
8
<script src="/resources/testharness.js"></script>
9
<script src="/resources/testharnessreport.js"></script>
10
<script src="/css/support/parsing-testcommon.js"></script>
11
</head>
12
<body>
13
<script>
14
test_valid_value("max-inline-size", "none");
15
16
test_valid_value("max-inline-size", "10px");
17
test_valid_value("max-inline-size", "20%");
18
test_valid_value("max-inline-size", "calc(2em + 3ex)");
19
20
test_valid_value("max-inline-size", "min-content");
21
test_valid_value("max-inline-size", "max-content");
22
23
// The following are not yet supported by browsers:
24
// test_valid_value("max-inline-size", "fit-content(100px)");
25
// test_valid_value("max-inline-size", "fit-content(calc(10% + 10px))");
26
</script>
27
</body>
28
</html>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-logical/parsing/min-block-size-computed-expected.txt +11 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-logical/parsing/min-block-size-computed-expected.txt_sec1
1
2
PASS Property min-block-size value 'auto' 
3
PASS Property min-block-size value '10px' 
4
PASS Property min-block-size value '20%' 
5
PASS Property min-block-size value 'calc(10px + 0.5em)' 
6
PASS Property min-block-size value 'calc(10px - 0.5em)' 
7
PASS Property min-block-size value 'calc(20% + 10px)' 
8
PASS Property min-block-size value 'min-content' 
9
PASS Property min-block-size value 'max-content' 
10
PASS min-block-size auto computes to auto with flex layout. 
11
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-logical/parsing/min-block-size-computed.html +47 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-logical/parsing/min-block-size-computed.html_sec1
1
<!DOCTYPE html>
2
<html>
3
<head>
4
<meta charset="utf-8">
5
<title>CSS Logical Properties and Values: getComputedStyle().minBlockSize</title>
6
<link rel="help" href="https://drafts.csswg.org/css-logical/#propdef-min-block-size">
7
<link rel="help" href="https://drafts.csswg.org/css-flexbox-1/#min-size-auto">
8
<meta name="assert" content="Computed min-block-size is the specified keyword, or the length-percentage made absolute.">
9
<script src="/resources/testharness.js"></script>
10
<script src="/resources/testharnessreport.js"></script>
11
<script src="/css/support/computed-testcommon.js"></script>
12
<style>
13
  #target {
14
    font-size: 40px;
15
  }
16
  #container {
17
    display: flex;
18
  }
19
  #box {
20
    min-block-size: auto;
21
  }
22
</style>
23
</head>
24
<body>
25
<div id="target"></div>
26
<div id="container">
27
  <div id="box"></div>
28
</div>
29
<script>
30
test_computed_value("min-block-size", "auto", "0px");
31
32
test_computed_value("min-block-size", "10px");
33
test_computed_value("min-block-size", "20%");
34
test_computed_value("min-block-size", "calc(10px + 0.5em)", "30px");
35
test_computed_value("min-block-size", "calc(10px - 0.5em)", "0px");
36
test_computed_value("min-block-size", "calc(20% + 10px)");
37
38
test_computed_value("min-block-size", "min-content");
39
test_computed_value("min-block-size", "max-content");
40
41
test(() => {
42
  const picture = document.getElementById('box');
43
  assert_equals(getComputedStyle(picture).minBlockSize, 'auto');
44
}, 'min-block-size auto computes to auto with flex layout.');
45
</script>
46
</body>
47
</html>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-logical/parsing/min-block-size-invalid-expected.txt +12 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-logical/parsing/min-block-size-invalid-expected.txt_sec1
1
2
PASS e.style['min-block-size'] = "none" should not set the property value 
3
PASS e.style['min-block-size'] = "min-content available" should not set the property value 
4
PASS e.style['min-block-size'] = "max-content 10px" should not set the property value 
5
PASS e.style['min-block-size'] = "20% available" should not set the property value 
6
PASS e.style['min-block-size'] = "-10px" should not set the property value 
7
PASS e.style['min-block-size'] = "-20%" should not set the property value 
8
PASS e.style['min-block-size'] = "60" should not set the property value 
9
PASS e.style['min-block-size'] = "10px 20%" should not set the property value 
10
PASS e.style['min-block-size'] = "10px border-box" should not set the property value 
11
PASS e.style['min-block-size'] = "content-box 20%" should not set the property value 
12
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-logical/parsing/min-block-size-invalid.html +29 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-logical/parsing/min-block-size-invalid.html_sec1
1
<!DOCTYPE html>
2
<html>
3
<head>
4
<meta charset="utf-8">
5
<title>CSS Logical Properties and Values: parsing min-block-size with invalid values</title>
6
<link rel="help" href="https://drafts.csswg.org/css-logical-1/#dimension-properties">
7
<meta name="assert" content="min-block-size supports the full grammar 'auto | <length-percentage> | min-content | max-content | fit-content(<length-percentage>)'.">
8
<script src="/resources/testharness.js"></script>
9
<script src="/resources/testharnessreport.js"></script>
10
<script src="/css/support/parsing-testcommon.js"></script>
11
</head>
12
<body>
13
<script>
14
test_invalid_value("min-block-size", "none");
15
16
test_invalid_value("min-block-size", "min-content available");
17
test_invalid_value("min-block-size", "max-content 10px");
18
test_invalid_value("min-block-size", "20% available");
19
20
test_invalid_value("min-block-size", "-10px");
21
test_invalid_value("min-block-size", "-20%");
22
test_invalid_value("min-block-size", "60");
23
test_invalid_value("min-block-size", "10px 20%");
24
25
test_invalid_value("min-block-size", "10px border-box");
26
test_invalid_value("min-block-size", "content-box 20%");
27
</script>
28
</body>
29
</html>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-logical/parsing/min-block-size-valid-expected.txt +8 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-logical/parsing/min-block-size-valid-expected.txt_sec1
1
2
PASS e.style['min-block-size'] = "auto" should set the property value 
3
PASS e.style['min-block-size'] = "10px" should set the property value 
4
PASS e.style['min-block-size'] = "20%" should set the property value 
5
PASS e.style['min-block-size'] = "calc(2em + 3ex)" should set the property value 
6
PASS e.style['min-block-size'] = "min-content" should set the property value 
7
PASS e.style['min-block-size'] = "max-content" should set the property value 
8
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-logical/parsing/min-block-size-valid.html +28 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-logical/parsing/min-block-size-valid.html_sec1
1
<!DOCTYPE html>
2
<html>
3
<head>
4
<meta charset="utf-8">
5
<title>CSS Logical Properties and Values: parsing min-block-size with valid values</title>
6
<link rel="help" href="https://drafts.csswg.org/css-logical-1/#dimension-properties">
7
<meta name="assert" content="min-block-size supports the full grammar 'auto | <length-percentage> | min-content | max-content | fit-content(<length-percentage>)'.">
8
<script src="/resources/testharness.js"></script>
9
<script src="/resources/testharnessreport.js"></script>
10
<script src="/css/support/parsing-testcommon.js"></script>
11
</head>
12
<body>
13
<script>
14
test_valid_value("min-block-size", "auto");
15
16
test_valid_value("min-block-size", "10px");
17
test_valid_value("min-block-size", "20%");
18
test_valid_value("min-block-size", "calc(2em + 3ex)");
19
20
test_valid_value("min-block-size", "min-content");
21
test_valid_value("min-block-size", "max-content");
22
23
// The following are not yet supported by browsers:
24
// test_valid_value("min-block-size", "fit-content(100px)");
25
// test_valid_value("min-block-size", "fit-content(calc(10% + 10px))");
26
</script>
27
</body>
28
</html>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-logical/parsing/min-inline-size-computed-expected.txt +11 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-logical/parsing/min-inline-size-computed-expected.txt_sec1
1
2
PASS Property min-inline-size value 'auto' 
3
PASS Property min-inline-size value '10px' 
4
PASS Property min-inline-size value '20%' 
5
PASS Property min-inline-size value 'calc(10px + 0.5em)' 
6
PASS Property min-inline-size value 'calc(10px - 0.5em)' 
7
PASS Property min-inline-size value 'calc(20% + 10px)' 
8
PASS Property min-inline-size value 'min-content' 
9
PASS Property min-inline-size value 'max-content' 
10
PASS min-inline-size auto computes to auto with flex layout. 
11
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-logical/parsing/min-inline-size-computed.html +47 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-logical/parsing/min-inline-size-computed.html_sec1
1
<!DOCTYPE html>
2
<html>
3
<head>
4
<meta charset="utf-8">
5
<title>CSS Logical Properties and Values: getComputedStyle().minInlineSize</title>
6
<link rel="help" href="https://drafts.csswg.org/css-logical/#propdef-min-inline-size">
7
<link rel="help" href="https://drafts.csswg.org/css-flexbox-1/#min-size-auto">
8
<meta name="assert" content="Computed min-inline-size is the specified keyword, or the length-percentage made absolute.">
9
<script src="/resources/testharness.js"></script>
10
<script src="/resources/testharnessreport.js"></script>
11
<script src="/css/support/computed-testcommon.js"></script>
12
<style>
13
  #target {
14
    font-size: 40px;
15
  }
16
  #container {
17
    display: flex;
18
  }
19
  #box {
20
    min-inline-size: auto;
21
  }
22
</style>
23
</head>
24
<body>
25
<div id="target"></div>
26
<div id="container">
27
  <div id="box"></div>
28
</div>
29
<script>
30
test_computed_value("min-inline-size", "auto", "0px");
31
32
test_computed_value("min-inline-size", "10px");
33
test_computed_value("min-inline-size", "20%");
34
test_computed_value("min-inline-size", "calc(10px + 0.5em)", "30px");
35
test_computed_value("min-inline-size", "calc(10px - 0.5em)", "0px");
36
test_computed_value("min-inline-size", "calc(20% + 10px)");
37
38
test_computed_value("min-inline-size", "min-content");
39
test_computed_value("min-inline-size", "max-content");
40
41
test(() => {
42
  const picture = document.getElementById('box');
43
  assert_equals(getComputedStyle(picture).minInlineSize, 'auto');
44
}, 'min-inline-size auto computes to auto with flex layout.');
45
</script>
46
</body>
47
</html>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-logical/parsing/min-inline-size-invalid-expected.txt +12 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-logical/parsing/min-inline-size-invalid-expected.txt_sec1
1
2
PASS e.style['min-inline-size'] = "none" should not set the property value 
3
PASS e.style['min-inline-size'] = "min-content available" should not set the property value 
4
PASS e.style['min-inline-size'] = "max-content 10px" should not set the property value 
5
PASS e.style['min-inline-size'] = "20% available" should not set the property value 
6
PASS e.style['min-inline-size'] = "-10px" should not set the property value 
7
PASS e.style['min-inline-size'] = "-20%" should not set the property value 
8
PASS e.style['min-inline-size'] = "60" should not set the property value 
9
PASS e.style['min-inline-size'] = "10px 20%" should not set the property value 
10
PASS e.style['min-inline-size'] = "10px border-box" should not set the property value 
11
PASS e.style['min-inline-size'] = "content-box 20%" should not set the property value 
12
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-logical/parsing/min-inline-size-invalid.html +29 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-logical/parsing/min-inline-size-invalid.html_sec1
1
<!DOCTYPE html>
2
<html>
3
<head>
4
<meta charset="utf-8">
5
<title>CSS Logical Properties and Values: parsing min-inline-size with invalid values</title>
6
<link rel="help" href="https://drafts.csswg.org/css-logical-1/#dimension-properties">
7
<meta name="assert" content="min-inline-size supports the full grammar 'auto | <length-percentage> | min-content | max-content | fit-content(<length-percentage>)'.">
8
<script src="/resources/testharness.js"></script>
9
<script src="/resources/testharnessreport.js"></script>
10
<script src="/css/support/parsing-testcommon.js"></script>
11
</head>
12
<body>
13
<script>
14
test_invalid_value("min-inline-size", "none");
15
16
test_invalid_value("min-inline-size", "min-content available");
17
test_invalid_value("min-inline-size", "max-content 10px");
18
test_invalid_value("min-inline-size", "20% available");
19
20
test_invalid_value("min-inline-size", "-10px");
21
test_invalid_value("min-inline-size", "-20%");
22
test_invalid_value("min-inline-size", "60");
23
test_invalid_value("min-inline-size", "10px 20%");
24
25
test_invalid_value("min-inline-size", "10px border-box");
26
test_invalid_value("min-inline-size", "content-box 20%");
27
</script>
28
</body>
29
</html>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-logical/parsing/min-inline-size-valid-expected.txt +8 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-logical/parsing/min-inline-size-valid-expected.txt_sec1
1
2
PASS e.style['min-inline-size'] = "auto" should set the property value 
3
PASS e.style['min-inline-size'] = "10px" should set the property value 
4
PASS e.style['min-inline-size'] = "20%" should set the property value 
5
PASS e.style['min-inline-size'] = "calc(2em + 3ex)" should set the property value 
6
PASS e.style['min-inline-size'] = "min-content" should set the property value 
7
PASS e.style['min-inline-size'] = "max-content" should set the property value 
8
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-logical/parsing/min-inline-size-valid.html +28 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-logical/parsing/min-inline-size-valid.html_sec1
1
<!DOCTYPE html>
2
<html>
3
<head>
4
<meta charset="utf-8">
5
<title>CSS Logical Properties and Values: parsing min-inline-size with valid values</title>
6
<link rel="help" href="https://drafts.csswg.org/css-logical-1/#dimension-properties">
7
<meta name="assert" content="min-inline-size supports the full grammar 'auto | <length-percentage> | min-content | max-content | fit-content(<length-percentage>)'.">
8
<script src="/resources/testharness.js"></script>
9
<script src="/resources/testharnessreport.js"></script>
10
<script src="/css/support/parsing-testcommon.js"></script>
11
</head>
12
<body>
13
<script>
14
test_valid_value("min-inline-size", "auto");
15
16
test_valid_value("min-inline-size", "10px");
17
test_valid_value("min-inline-size", "20%");
18
test_valid_value("min-inline-size", "calc(2em + 3ex)");
19
20
test_valid_value("min-inline-size", "min-content");
21
test_valid_value("min-inline-size", "max-content");
22
23
// The following are not yet supported by browsers:
24
// test_valid_value("min-inline-size", "fit-content(100px)");
25
// test_valid_value("min-inline-size", "fit-content(calc(10% + 10px))");
26
</script>
27
</body>
28
</html>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-logical/parsing/padding-block-inline-computed-expected.txt +18 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-logical/parsing/padding-block-inline-computed-expected.txt_sec1
1
2
PASS Property padding-block-start value '10px' 
3
FAIL Property padding-block-end value '10%' assert_equals: expected "20px" but got "0px"
4
PASS Property padding-inline-start value '30px' 
5
PASS Property padding-inline-end value '1em' 
6
FAIL Property padding-block-start value 'calc(10% + 40px)' assert_equals: expected "60px" but got "40px"
7
PASS Property padding-block-end value 'calc(10% - 40px)' 
8
PASS Property padding-inline-start value 'calc(10% - 40px)' 
9
FAIL Property padding-inline-end value 'calc(10% + 40px)' assert_equals: expected "60px" but got "40px"
10
PASS Property padding-block-start value 'calc(10px - 0.5em)' 
11
PASS Property padding-block-end value 'calc(10px + 0.5em)' 
12
PASS Property padding-inline-start value 'calc(10px + 0.5em)' 
13
PASS Property padding-inline-end value 'calc(10px - 0.5em)' 
14
FAIL Property padding-block value '10px' assert_true: padding-block doesn't seem to be supported in the computed style expected true got false
15
FAIL Property padding-block value '10px 20px' assert_true: padding-block doesn't seem to be supported in the computed style expected true got false
16
FAIL Property padding-inline value '30px' assert_true: padding-inline doesn't seem to be supported in the computed style expected true got false
17
FAIL Property padding-inline value '30px 40px' assert_true: padding-inline doesn't seem to be supported in the computed style expected true got false
18
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-logical/parsing/padding-block-inline-computed.html +54 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-logical/parsing/padding-block-inline-computed.html_sec1
1
<!DOCTYPE html>
2
<html>
3
<head>
4
<meta charset="utf-8">
5
<title>CSS Logical Properties and Values: getComputedStyle().paddingBlockStart etc.</title>
6
<link rel="help" href="https://drafts.csswg.org/css-logical/#propdef-padding-block">
7
<link rel="help" href="https://drafts.csswg.org/cssom/#resolved-values">
8
<meta name="assert" content="padding-block, padding-inline resolved values have absolute length.">
9
<script src="/resources/testharness.js"></script>
10
<script src="/resources/testharnessreport.js"></script>
11
<script src="/css/support/computed-testcommon.js"></script>
12
<style>
13
  #container {
14
    will-change: transform; /* containing block for #target */
15
    width: 200px;
16
  }
17
  #parent {
18
    width: 0px;
19
  }
20
  #target {
21
    position: absolute;
22
    font-size: 40px;
23
  }
24
</style>
25
</head>
26
<body>
27
<div id="container">
28
  <div id="parent">
29
    <div id="target"></div>
30
  </div>
31
</div>
32
<script>
33
test_computed_value("padding-block-start", "10px");
34
test_computed_value("padding-block-end", "10%", "20px");
35
test_computed_value("padding-inline-start", "30px");
36
test_computed_value("padding-inline-end", "1em", "40px");
37
38
test_computed_value('padding-block-start', 'calc(10% + 40px)', '60px');
39
test_computed_value('padding-block-end', 'calc(10% - 40px)', '0px');
40
test_computed_value('padding-inline-start', 'calc(10% - 40px)', '0px');
41
test_computed_value('padding-inline-end', 'calc(10% + 40px)', '60px');
42
43
test_computed_value('padding-block-start', 'calc(10px - 0.5em)', '0px');
44
test_computed_value('padding-block-end', 'calc(10px + 0.5em)', '30px');
45
test_computed_value('padding-inline-start', 'calc(10px + 0.5em)', '30px');
46
test_computed_value('padding-inline-end', 'calc(10px - 0.5em)', '0px');
47
48
test_computed_value("padding-block", "10px");
49
test_computed_value("padding-block", "10px 20px");
50
test_computed_value("padding-inline", "30px");
51
test_computed_value("padding-inline", "30px 40px");
52
</script>
53
</body>
54
</html>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-logical/parsing/padding-block-inline-invalid-expected.txt +19 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-logical/parsing/padding-block-inline-invalid-expected.txt_sec1
1
2
PASS e.style['padding-block-start'] = "none" should not set the property value 
3
PASS e.style['padding-block-start'] = "-10px" should not set the property value 
4
PASS e.style['padding-block-end'] = "1px 2px" should not set the property value 
5
PASS e.style['padding-block-end'] = "auto" should not set the property value 
6
PASS e.style['padding-block-end'] = "10" should not set the property value 
7
PASS e.style['padding-block-end'] = "1px, 2px" should not set the property value 
8
PASS e.style['padding-inline-start'] = "20% calc(10px - 0.5em)" should not set the property value 
9
PASS e.style['padding-inline-start'] = "2px auto" should not set the property value 
10
PASS e.style['padding-inline-end'] = "-20%" should not set the property value 
11
PASS e.style['padding-inline-end'] = "10px, auto" should not set the property value 
12
PASS e.style['padding-block'] = "none" should not set the property value 
13
PASS e.style['padding-block'] = "20% -10px" should not set the property value 
14
PASS e.style['padding-block'] = "auto, -10px" should not set the property value 
15
PASS e.style['padding-block'] = "20%, calc(10px - 0.5em)" should not set the property value 
16
PASS e.style['padding-inline'] = "10px auto 20px" should not set the property value 
17
PASS e.style['padding-inline'] = "1px 2px 3px" should not set the property value 
18
PASS e.style['padding-inline'] = "-20% calc(20% + 10px)" should not set the property value 
19
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-logical/parsing/padding-block-inline-invalid.html +35 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-logical/parsing/padding-block-inline-invalid.html_sec1
1
<!DOCTYPE html>
2
<html>
3
<head>
4
<meta charset="utf-8">
5
<title>CSS Logical Properties and Values: parsing padding-block and padding-inline with invalid values</title>
6
<link rel="help" href="https://drafts.csswg.org/css-logical/#propdef-padding-block">
7
<meta name="assert" content="padding-block, padding-inline support only the grammar '<'padding-top'>{1,2}'.">
8
<meta name="assert" content="padding-block, padding-inline longhands support only the grammar '<'padding-top'>'.">
9
<script src="/resources/testharness.js"></script>
10
<script src="/resources/testharnessreport.js"></script>
11
<script src="/css/support/parsing-testcommon.js"></script>
12
</head>
13
<body>
14
<script>
15
test_invalid_value("padding-block-start", "none");
16
test_invalid_value("padding-block-start", "-10px");
17
test_invalid_value("padding-block-end", "1px 2px");
18
test_invalid_value("padding-block-end", "auto");
19
test_invalid_value("padding-block-end", "10");
20
test_invalid_value("padding-block-end", "1px, 2px");
21
test_invalid_value("padding-inline-start", "20% calc(10px - 0.5em)");
22
test_invalid_value("padding-inline-start", "2px auto");
23
test_invalid_value("padding-inline-end", "-20%");
24
test_invalid_value("padding-inline-end", "10px, auto");
25
26
test_invalid_value("padding-block", "none");
27
test_invalid_value("padding-block", "20% -10px");
28
test_invalid_value("padding-block", "auto, -10px");
29
test_invalid_value("padding-block", "20%, calc(10px - 0.5em)");
30
test_invalid_value("padding-inline", "10px auto 20px");
31
test_invalid_value("padding-inline", "1px 2px 3px");
32
test_invalid_value("padding-inline", "-20% calc(20% + 10px)");
33
</script>
34
</body>
35
</html>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-logical/parsing/padding-block-inline-shorthand-expected.txt +14 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-logical/parsing/padding-block-inline-shorthand-expected.txt_sec1
1
2
FAIL e.style['padding-block'] = "0% 10px" should set padding-block-end assert_equals: padding-block-end should be canonical expected "10px" but got ""
3
FAIL e.style['padding-block'] = "0% 10px" should set padding-block-start assert_equals: padding-block-start should be canonical expected "0%" but got ""
4
FAIL e.style['padding-block'] = "0% 10px" should not set unrelated longhands assert_true: expected true got false
5
FAIL e.style['padding-block'] = "20%" should set padding-block-end assert_equals: padding-block-end should be canonical expected "20%" but got ""
6
FAIL e.style['padding-block'] = "20%" should set padding-block-start assert_equals: padding-block-start should be canonical expected "20%" but got ""
7
FAIL e.style['padding-block'] = "20%" should not set unrelated longhands assert_true: expected true got false
8
FAIL e.style['padding-inline'] = "10px 30%" should set padding-inline-end assert_equals: padding-inline-end should be canonical expected "30%" but got ""
9
FAIL e.style['padding-inline'] = "10px 30%" should set padding-inline-start assert_equals: padding-inline-start should be canonical expected "10px" but got ""
10
FAIL e.style['padding-inline'] = "10px 30%" should not set unrelated longhands assert_true: expected true got false
11
FAIL e.style['padding-inline'] = "0%" should set padding-inline-end assert_equals: padding-inline-end should be canonical expected "0%" but got ""
12
FAIL e.style['padding-inline'] = "0%" should set padding-inline-start assert_equals: padding-inline-start should be canonical expected "0%" but got ""
13
FAIL e.style['padding-inline'] = "0%" should not set unrelated longhands assert_true: expected true got false
14
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-logical/parsing/padding-block-inline-shorthand.html +35 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-logical/parsing/padding-block-inline-shorthand.html_sec1
1
<!DOCTYPE html>
2
<html>
3
<head>
4
<meta charset="utf-8">
5
<title>CSS Logical Properties and Values: padding-block and padding-inline set longhands</title>
6
<link rel="help" href="https://drafts.csswg.org/css-logical/#propdef-padding-block">
7
<meta name="assert" content="padding-block, padding-inline support the full grammar '<'padding-top'>{1,2}'.">
8
<script src="/resources/testharness.js"></script>
9
<script src="/resources/testharnessreport.js"></script>
10
<script src="/css/support/shorthand-testcommon.js"></script>
11
</head>
12
<body>
13
<script>
14
test_shorthand_value('padding-block', '0% 10px', {
15
  'padding-block-start': '0%',
16
  'padding-block-end': '10px'
17
});
18
19
test_shorthand_value('padding-block', '20%', {
20
  'padding-block-start': '20%',
21
  'padding-block-end': '20%'
22
});
23
24
test_shorthand_value('padding-inline', '10px 30%', {
25
  'padding-inline-start': '10px',
26
  'padding-inline-end': '30%'
27
});
28
29
test_shorthand_value('padding-inline', '0%', {
30
  'padding-inline-start': '0%',
31
  'padding-inline-end': '0%'
32
});
33
</script>
34
</body>
35
</html>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-logical/parsing/padding-block-inline-valid-expected.txt +11 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-logical/parsing/padding-block-inline-valid-expected.txt_sec1
1
2
PASS e.style['padding-block-start'] = "0" should set the property value 
3
PASS e.style['padding-block-start'] = "calc(20% + 10px)" should set the property value 
4
PASS e.style['padding-block-end'] = "10px" should set the property value 
5
PASS e.style['padding-inline-start'] = "20%" should set the property value 
6
PASS e.style['padding-inline-end'] = "calc(2em + 2ex)" should set the property value 
7
FAIL e.style['padding-block'] = "10px" should set the property value assert_not_equals: property should be set got disallowed value ""
8
FAIL e.style['padding-block'] = "10px 20%" should set the property value assert_not_equals: property should be set got disallowed value ""
9
FAIL e.style['padding-inline'] = "20%" should set the property value assert_not_equals: property should be set got disallowed value ""
10
FAIL e.style['padding-inline'] = "20% calc(20% + 10px)" should set the property value assert_not_equals: property should be set got disallowed value ""
11
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-logical/parsing/padding-block-inline-valid.html +27 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-logical/parsing/padding-block-inline-valid.html_sec1
1
<!DOCTYPE html>
2
<html>
3
<head>
4
<meta charset="utf-8">
5
<title>CSS Logical Properties and Values: parsing padding-block and padding-inline with valid values</title>
6
<link rel="help" href="https://drafts.csswg.org/css-logical/#propdef-padding-block">
7
<meta name="assert" content="padding-block, padding-inline support the full grammar '<'padding-top'>{1,2}'.">
8
<meta name="assert" content="padding-block, padding-inline longhands support the full grammar '<'padding-top'>'.">
9
<script src="/resources/testharness.js"></script>
10
<script src="/resources/testharnessreport.js"></script>
11
<script src="/css/support/parsing-testcommon.js"></script>
12
</head>
13
<body>
14
<script>
15
test_valid_value("padding-block-start", "0", "0px");
16
test_valid_value("padding-block-start", "calc(20% + 10px)");
17
test_valid_value("padding-block-end", "10px");
18
test_valid_value("padding-inline-start", "20%");
19
test_valid_value("padding-inline-end", "calc(2em + 2ex)");
20
21
test_valid_value("padding-block", "10px");
22
test_valid_value("padding-block", "10px 20%");
23
test_valid_value("padding-inline", "20%");
24
test_valid_value("padding-inline", "20% calc(20% + 10px)");
25
</script>
26
</body>
27
</html>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-logical/parsing/w3c-import.log +70 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-logical/parsing/w3c-import.log_sec1
1
The tests in this directory were imported from the W3C repository.
2
Do NOT modify these tests directly in WebKit.
3
Instead, create a pull request on the WPT github:
4
	https://github.com/web-platform-tests/wpt
5
6
Then run the Tools/Scripts/import-w3c-tests in WebKit to reimport
7
8
Do NOT modify or remove this file.
9
10
------------------------------------------------------------------------
11
Properties requiring vendor prefixes:
12
None
13
Property values requiring vendor prefixes:
14
None
15
------------------------------------------------------------------------
16
List of files:
17
/LayoutTests/imported/w3c/web-platform-tests/css/css-logical/parsing/block-size-computed.html
18
/LayoutTests/imported/w3c/web-platform-tests/css/css-logical/parsing/block-size-invalid.html
19
/LayoutTests/imported/w3c/web-platform-tests/css/css-logical/parsing/block-size-valid.html
20
/LayoutTests/imported/w3c/web-platform-tests/css/css-logical/parsing/border-block-color-computed.html
21
/LayoutTests/imported/w3c/web-platform-tests/css/css-logical/parsing/border-block-color-invalid.html
22
/LayoutTests/imported/w3c/web-platform-tests/css/css-logical/parsing/border-block-color-valid.html
23
/LayoutTests/imported/w3c/web-platform-tests/css/css-logical/parsing/border-block-style-computed.html
24
/LayoutTests/imported/w3c/web-platform-tests/css/css-logical/parsing/border-block-style-invalid.html
25
/LayoutTests/imported/w3c/web-platform-tests/css/css-logical/parsing/border-block-style-valid.html
26
/LayoutTests/imported/w3c/web-platform-tests/css/css-logical/parsing/border-block-valid.html
27
/LayoutTests/imported/w3c/web-platform-tests/css/css-logical/parsing/border-block-width-computed.html
28
/LayoutTests/imported/w3c/web-platform-tests/css/css-logical/parsing/border-block-width-invalid.html
29
/LayoutTests/imported/w3c/web-platform-tests/css/css-logical/parsing/border-block-width-valid.html
30
/LayoutTests/imported/w3c/web-platform-tests/css/css-logical/parsing/border-inline-color-computed.html
31
/LayoutTests/imported/w3c/web-platform-tests/css/css-logical/parsing/border-inline-color-invalid.html
32
/LayoutTests/imported/w3c/web-platform-tests/css/css-logical/parsing/border-inline-color-valid.html
33
/LayoutTests/imported/w3c/web-platform-tests/css/css-logical/parsing/border-inline-style-computed.html
34
/LayoutTests/imported/w3c/web-platform-tests/css/css-logical/parsing/border-inline-style-invalid.html
35
/LayoutTests/imported/w3c/web-platform-tests/css/css-logical/parsing/border-inline-style-valid.html
36
/LayoutTests/imported/w3c/web-platform-tests/css/css-logical/parsing/border-inline-valid.html
37
/LayoutTests/imported/w3c/web-platform-tests/css/css-logical/parsing/border-inline-width-computed.html
38
/LayoutTests/imported/w3c/web-platform-tests/css/css-logical/parsing/border-inline-width-invalid.html
39
/LayoutTests/imported/w3c/web-platform-tests/css/css-logical/parsing/border-inline-width-valid.html
40
/LayoutTests/imported/w3c/web-platform-tests/css/css-logical/parsing/inline-size-computed.html
41
/LayoutTests/imported/w3c/web-platform-tests/css/css-logical/parsing/inline-size-invalid.html
42
/LayoutTests/imported/w3c/web-platform-tests/css/css-logical/parsing/inline-size-valid.html
43
/LayoutTests/imported/w3c/web-platform-tests/css/css-logical/parsing/inset-block-inline-computed.html
44
/LayoutTests/imported/w3c/web-platform-tests/css/css-logical/parsing/inset-block-inline-invalid.html
45
/LayoutTests/imported/w3c/web-platform-tests/css/css-logical/parsing/inset-block-inline-shorthand.html
46
/LayoutTests/imported/w3c/web-platform-tests/css/css-logical/parsing/inset-block-inline-valid.html
47
/LayoutTests/imported/w3c/web-platform-tests/css/css-logical/parsing/inset-computed.html
48
/LayoutTests/imported/w3c/web-platform-tests/css/css-logical/parsing/inset-invalid.html
49
/LayoutTests/imported/w3c/web-platform-tests/css/css-logical/parsing/inset-shorthand.html
50
/LayoutTests/imported/w3c/web-platform-tests/css/css-logical/parsing/inset-valid.html
51
/LayoutTests/imported/w3c/web-platform-tests/css/css-logical/parsing/margin-block-inline-computed.html
52
/LayoutTests/imported/w3c/web-platform-tests/css/css-logical/parsing/margin-block-inline-invalid.html
53
/LayoutTests/imported/w3c/web-platform-tests/css/css-logical/parsing/margin-block-inline-shorthand.html
54
/LayoutTests/imported/w3c/web-platform-tests/css/css-logical/parsing/margin-block-inline-valid.html
55
/LayoutTests/imported/w3c/web-platform-tests/css/css-logical/parsing/max-block-size-computed.html
56
/LayoutTests/imported/w3c/web-platform-tests/css/css-logical/parsing/max-block-size-invalid.html
57
/LayoutTests/imported/w3c/web-platform-tests/css/css-logical/parsing/max-block-size-valid.html
58
/LayoutTests/imported/w3c/web-platform-tests/css/css-logical/parsing/max-inline-size-computed.html
59
/LayoutTests/imported/w3c/web-platform-tests/css/css-logical/parsing/max-inline-size-invalid.html
60
/LayoutTests/imported/w3c/web-platform-tests/css/css-logical/parsing/max-inline-size-valid.html
61
/LayoutTests/imported/w3c/web-platform-tests/css/css-logical/parsing/min-block-size-computed.html
62
/LayoutTests/imported/w3c/web-platform-tests/css/css-logical/parsing/min-block-size-invalid.html
63
/LayoutTests/imported/w3c/web-platform-tests/css/css-logical/parsing/min-block-size-valid.html
64
/LayoutTests/imported/w3c/web-platform-tests/css/css-logical/parsing/min-inline-size-computed.html
65
/LayoutTests/imported/w3c/web-platform-tests/css/css-logical/parsing/min-inline-size-invalid.html
66
/LayoutTests/imported/w3c/web-platform-tests/css/css-logical/parsing/min-inline-size-valid.html
67
/LayoutTests/imported/w3c/web-platform-tests/css/css-logical/parsing/padding-block-inline-computed.html
68
/LayoutTests/imported/w3c/web-platform-tests/css/css-logical/parsing/padding-block-inline-invalid.html
69
/LayoutTests/imported/w3c/web-platform-tests/css/css-logical/parsing/padding-block-inline-shorthand.html
70
/LayoutTests/imported/w3c/web-platform-tests/css/css-logical/parsing/padding-block-inline-valid.html
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-logical/resources/test-box-properties.js -1 / +52 lines
Lines 66-71 export function createBoxPropertyGroup(property, descriptor) { a/LayoutTests/imported/w3c/web-platform-tests/css/css-logical/resources/test-box-properties.js_sec1
66
  return {logical, physical, shorthands, type, prerequisites, property};
66
  return {logical, physical, shorthands, type, prerequisites, property};
67
}
67
}
68
68
69
/**
70
 * Creates a group physical and logical box-corner properties.
71
 *
72
 * @param {string} property
73
 *        A string representing the property names, like "border-*-radius".
74
 * @param {Object} descriptor
75
 * @param {string|string[]} descriptor.type
76
 *        Describes the kind of values accepted by the property, like "length".
77
 *        Must be a key or a collection of keys from the `testValues` object.
78
 * @param {Object={}} descriptor.prerequisites
79
 *        Represents property declarations that are needed by `property` to work.
80
 *        For example, border-width properties require a border style.
81
 */
82
export function createCornerPropertyGroup(property, descriptor) {
83
  const logical = {};
84
  const physical = {};
85
  const shorthands = {};
86
  for (const logicalCorner of ["start-start", "start-end", "end-start", "end-end"]) {
87
    const prop = property.replace("*", logicalCorner);
88
    const [block_side, inline_side] = logicalCorner.split("-");
89
    const b = "block" + block_side.charAt(0).toUpperCase() + block_side.slice(1);
90
    const i = "inline" + inline_side.charAt(0).toUpperCase() + inline_side.slice(1);
91
    const index = b + "-" + i; // e.g. "blockStart-inlineEnd"
92
    logical[index] = prop;
93
  }
94
  let prerequisites = "";
95
  for (const physicalCorner of ["top-left", "top-right", "bottom-left", "bottom-right"]) {
96
    const prop = property.replace("*", physicalCorner);
97
    physical[physicalCorner] = prop;
98
    prerequisites += makeDeclaration(descriptor.prerequisites, physicalCorner);
99
  }
100
  const type = [].concat(descriptor.type);
101
  return {logical, physical, shorthands, type, prerequisites, property};
102
}
103
69
/**
104
/**
70
 * Creates a group of physical and logical sizing properties.
105
 * Creates a group of physical and logical sizing properties.
71
 *
106
 *
Lines 101-106 export function runTests(group) { a/LayoutTests/imported/w3c/web-platform-tests/css/css-logical/resources/test-box-properties.js_sec2
101
  const logicals = Object.values(group.logical);
136
  const logicals = Object.values(group.logical);
102
  const physicals = Object.values(group.physical);
137
  const physicals = Object.values(group.physical);
103
  const shorthands = group.shorthands ? Object.entries(group.shorthands) : null;
138
  const shorthands = group.shorthands ? Object.entries(group.shorthands) : null;
139
  const is_corner = group.property == "border-*-radius";
104
140
105
  test(function() {
141
  test(function() {
106
    const expected = [];
142
    const expected = [];
Lines 141-147 export function runTests(group) { a/LayoutTests/imported/w3c/web-platform-tests/css/css-logical/resources/test-box-properties.js_sec3
141
177
142
      const associated = {};
178
      const associated = {};
143
      for (const [logicalSide, logicalProp] of Object.entries(group.logical)) {
179
      for (const [logicalSide, logicalProp] of Object.entries(group.logical)) {
144
        const physicalProp = group.physical[writingMode[logicalSide]];
180
        let physicalProp;
181
        if (is_corner) {
182
          const [ block_side, inline_side] = logicalSide.split("-");
183
          const physicalSide1 = writingMode[block_side];
184
          const physicalSide2 = writingMode[inline_side];
185
          let physicalCorner;
186
          // mirror "left-top" to "top-left" etc
187
          if (["top", "bottom"].includes(physicalSide1)) {
188
            physicalCorner = physicalSide1 + "-" + physicalSide2;
189
          } else {
190
            physicalCorner = physicalSide2 + "-" + physicalSide1;
191
          }
192
          physicalProp = group.physical[physicalCorner];
193
        } else {
194
          physicalProp = group.physical[writingMode[logicalSide]];
195
        }
145
        associated[logicalProp] = physicalProp;
196
        associated[logicalProp] = physicalProp;
146
        associated[physicalProp] = logicalProp;
197
        associated[physicalProp] = logicalProp;
147
      }
198
      }
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-logical/resources/test-logical-values.js +27 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-logical/resources/test-logical-values.js_sec1
1
import {
2
  testElement,
3
  writingModes,
4
  testCSSValues,
5
  testComputedValues,
6
  makeDeclaration
7
} from "./test-shared.js";
8
9
/**
10
 * Tests flow-relative values for a CSS property in different writing modes.
11
 *
12
 * @param {string} property
13
 *        The CSS property to be tested.
14
 * @param {string[]} values
15
 *        An array with the flow-relative values to be tested.
16
 */
17
export function runTests(property, values) {
18
  for (const value of values) {
19
    test(function() {
20
      const {style} = testElement;
21
      style.cssText = "";
22
      style.setProperty(property, value);
23
      testCSSValues("logical values in inline style", style, [[property, value]]);
24
      testComputedValues("logical values in computed style", style, [[property, value]]);
25
    }, `Test that '${property}: ${value}' is supported.`);
26
  }
27
}
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-logical/resources/w3c-import.log +1 lines
Lines 15-18 None a/LayoutTests/imported/w3c/web-platform-tests/css/css-logical/resources/w3c-import.log_sec1
15
------------------------------------------------------------------------
15
------------------------------------------------------------------------
16
List of files:
16
List of files:
17
/LayoutTests/imported/w3c/web-platform-tests/css/css-logical/resources/test-box-properties.js
17
/LayoutTests/imported/w3c/web-platform-tests/css/css-logical/resources/test-box-properties.js
18
/LayoutTests/imported/w3c/web-platform-tests/css/css-logical/resources/test-logical-values.js
18
/LayoutTests/imported/w3c/web-platform-tests/css/css-logical/resources/test-shared.js
19
/LayoutTests/imported/w3c/web-platform-tests/css/css-logical/resources/test-shared.js
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-logical/w3c-import.log +8 lines
Lines 18-26 List of files: a/LayoutTests/imported/w3c/web-platform-tests/css/css-logical/w3c-import.log_sec1
18
/LayoutTests/imported/w3c/web-platform-tests/css/css-logical/animation-001.html
18
/LayoutTests/imported/w3c/web-platform-tests/css/css-logical/animation-001.html
19
/LayoutTests/imported/w3c/web-platform-tests/css/css-logical/animation-002.html
19
/LayoutTests/imported/w3c/web-platform-tests/css/css-logical/animation-002.html
20
/LayoutTests/imported/w3c/web-platform-tests/css/css-logical/animation-003.tentative.html
20
/LayoutTests/imported/w3c/web-platform-tests/css/css-logical/animation-003.tentative.html
21
/LayoutTests/imported/w3c/web-platform-tests/css/css-logical/animation-004.html
21
/LayoutTests/imported/w3c/web-platform-tests/css/css-logical/cascading-001-expected.html
22
/LayoutTests/imported/w3c/web-platform-tests/css/css-logical/cascading-001-expected.html
22
/LayoutTests/imported/w3c/web-platform-tests/css/css-logical/cascading-001.html
23
/LayoutTests/imported/w3c/web-platform-tests/css/css-logical/cascading-001.html
24
/LayoutTests/imported/w3c/web-platform-tests/css/css-logical/getComputedStyle-listing.html
25
/LayoutTests/imported/w3c/web-platform-tests/css/css-logical/inheritance.html
23
/LayoutTests/imported/w3c/web-platform-tests/css/css-logical/logical-box-border-color.html
26
/LayoutTests/imported/w3c/web-platform-tests/css/css-logical/logical-box-border-color.html
27
/LayoutTests/imported/w3c/web-platform-tests/css/css-logical/logical-box-border-radius.html
24
/LayoutTests/imported/w3c/web-platform-tests/css/css-logical/logical-box-border-shorthands.html
28
/LayoutTests/imported/w3c/web-platform-tests/css/css-logical/logical-box-border-shorthands.html
25
/LayoutTests/imported/w3c/web-platform-tests/css/css-logical/logical-box-border-style.html
29
/LayoutTests/imported/w3c/web-platform-tests/css/css-logical/logical-box-border-style.html
26
/LayoutTests/imported/w3c/web-platform-tests/css/css-logical/logical-box-border-width.html
30
/LayoutTests/imported/w3c/web-platform-tests/css/css-logical/logical-box-border-width.html
Lines 28-33 List of files: a/LayoutTests/imported/w3c/web-platform-tests/css/css-logical/w3c-import.log_sec2
28
/LayoutTests/imported/w3c/web-platform-tests/css/css-logical/logical-box-margin.html
32
/LayoutTests/imported/w3c/web-platform-tests/css/css-logical/logical-box-margin.html
29
/LayoutTests/imported/w3c/web-platform-tests/css/css-logical/logical-box-padding.html
33
/LayoutTests/imported/w3c/web-platform-tests/css/css-logical/logical-box-padding.html
30
/LayoutTests/imported/w3c/web-platform-tests/css/css-logical/logical-box-size.html
34
/LayoutTests/imported/w3c/web-platform-tests/css/css-logical/logical-box-size.html
35
/LayoutTests/imported/w3c/web-platform-tests/css/css-logical/logical-values-float-clear-reftest-expected.html
36
/LayoutTests/imported/w3c/web-platform-tests/css/css-logical/logical-values-float-clear-reftest.html
37
/LayoutTests/imported/w3c/web-platform-tests/css/css-logical/logical-values-float-clear.html
38
/LayoutTests/imported/w3c/web-platform-tests/css/css-logical/logical-values-resize.html
31
/LayoutTests/imported/w3c/web-platform-tests/css/css-logical/logicalprops-block-size-vlr.html
39
/LayoutTests/imported/w3c/web-platform-tests/css/css-logical/logicalprops-block-size-vlr.html
32
/LayoutTests/imported/w3c/web-platform-tests/css/css-logical/logicalprops-block-size.html
40
/LayoutTests/imported/w3c/web-platform-tests/css/css-logical/logicalprops-block-size.html
33
/LayoutTests/imported/w3c/web-platform-tests/css/css-logical/logicalprops-inline-size-vlr.html
41
/LayoutTests/imported/w3c/web-platform-tests/css/css-logical/logicalprops-inline-size-vlr.html
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-masking/parsing/clip-path-computed-expected.txt -6 lines
Lines 1-6 a/LayoutTests/imported/w3c/web-platform-tests/css/css-masking/parsing/clip-path-computed-expected.txt_sec1
1
2
PASS Property clip-path value 'circle(calc(10px + 0.5em) at -50% 50%)' 
3
PASS Property clip-path value 'circle(calc(10px - 0.5em) at 50% -50%)' 
4
PASS Property clip-path value 'ellipse(at 50% 50%)' 
5
PASS Property clip-path value 'ellipse(60% closest-side at 50% 50%)' 
6
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-masking/parsing/clip-path-computed.html -26 lines
Lines 1-26 a/LayoutTests/imported/w3c/web-platform-tests/css/css-masking/parsing/clip-path-computed.html_sec1
1
<!DOCTYPE html>
2
<html>
3
<head>
4
<meta charset="utf-8">
5
<title>CSS Shapes Module Level 1: getComputedStyle().shapeOutside</title>
6
<link rel="help" href="https://drafts.csswg.org/css-shapes/#clip-path-property">
7
<meta name="assert" content="clip-path computed value is as specified.">
8
<script src="/resources/testharness.js"></script>
9
<script src="/resources/testharnessreport.js"></script>
10
<script src="/css/support/computed-testcommon.js"></script>
11
</head>
12
<body>
13
<style>
14
  #target {
15
    font-size: 40px;
16
  }
17
</style>
18
<div id="target"></div>
19
<script>
20
test_computed_value("clip-path", "circle(calc(10px + 0.5em) at -50% 50%)", "circle(30px at -50% 50%)");
21
test_computed_value("clip-path", "circle(calc(10px - 0.5em) at 50% -50%)", "circle(0px at 50% -50%)");
22
test_computed_value("clip-path", "ellipse(at 50% 50%)");
23
test_computed_value("clip-path", "ellipse(60% closest-side at 50% 50%)");
24
</script>
25
</body>
26
</html>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-masking/parsing/clip-path-invalid-expected.txt -30 lines
Lines 1-30 a/LayoutTests/imported/w3c/web-platform-tests/css/css-masking/parsing/clip-path-invalid-expected.txt_sec1
1
2
PASS e.style['clip-path'] = "auto" should not set the property value 
3
PASS e.style['clip-path'] = "ray(0deg)" should not set the property value 
4
PASS e.style['clip-path'] = "inset()" should not set the property value 
5
PASS e.style['clip-path'] = "inset(123)" should not set the property value 
6
PASS e.style['clip-path'] = "inset(1% 2% 3% 4% 5%)" should not set the property value 
7
PASS e.style['clip-path'] = "inset(round 0)" should not set the property value 
8
PASS e.style['clip-path'] = "inset(0px round)" should not set the property value 
9
PASS e.style['clip-path'] = "inset(0px round 123)" should not set the property value 
10
PASS e.style['clip-path'] = "inset(0px round 1% 2% 3% 4% 5%)" should not set the property value 
11
PASS e.style['clip-path'] = "inset(0px round / 1px)" should not set the property value 
12
PASS e.style['clip-path'] = "inset(10px round -20px)" should not set the property value 
13
PASS e.style['clip-path'] = "inset(30% round -40%)" should not set the property value 
14
PASS e.style['clip-path'] = "circle(123)" should not set the property value 
15
PASS e.style['clip-path'] = "circle(at)" should not set the property value 
16
PASS e.style['clip-path'] = "circle(10% 20%)" should not set the property value 
17
PASS e.style['clip-path'] = "circle(-10px at 20px 30px)" should not set the property value 
18
PASS e.style['clip-path'] = "circle(-10% at 20% 30%)" should not set the property value 
19
PASS e.style['clip-path'] = "circle(1% 2% at 0% 100%)" should not set the property value 
20
PASS e.style['clip-path'] = "ellipse(farthest-side at)" should not set the property value 
21
PASS e.style['clip-path'] = "ellipse(1% 2% top right)" should not set the property value 
22
PASS e.style['clip-path'] = "ellipse(3%)" should not set the property value 
23
PASS e.style['clip-path'] = "ellipse(3% at 100% 0%)" should not set the property value 
24
PASS e.style['clip-path'] = "ellipse(closest-side)" should not set the property value 
25
PASS e.style['clip-path'] = "ellipse(farthest-side at 100% 0%)" should not set the property value 
26
PASS e.style['clip-path'] = "ellipse(10% -20% at 30% 40%)" should not set the property value 
27
PASS e.style['clip-path'] = "ellipse(-50px 60px at 70% 80%)" should not set the property value 
28
PASS e.style['clip-path'] = "polygon(1%)" should not set the property value 
29
PASS e.style['clip-path'] = "unknown-box" should not set the property value 
30
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-masking/parsing/clip-path-invalid.html -50 lines
Lines 1-50 a/LayoutTests/imported/w3c/web-platform-tests/css/css-masking/parsing/clip-path-invalid.html_sec1
1
<!DOCTYPE html>
2
<html>
3
<head>
4
<meta charset="utf-8">
5
<title>CSS Masking Module Level 1: parsing clip-path with invalid values</title>
6
<link rel="author" title="Eric Willigers" href="mailto:ericwilligers@chromium.org">
7
<link rel="help" href="https://drafts.fxtf.org/css-masking-1/#the-clip-path">
8
<meta name="assert" content="clip-path supports only the grammar '<clip-source> | [ <basic-shape> || <geometry-box> ] | none'.">
9
<script src="/resources/testharness.js"></script>
10
<script src="/resources/testharnessreport.js"></script>
11
<script src="/css/support/parsing-testcommon.js"></script>
12
</head>
13
<body>
14
<script>
15
test_invalid_value("clip-path", "auto");
16
test_invalid_value("clip-path", "ray(0deg)");
17
18
test_invalid_value("clip-path", "inset()");
19
test_invalid_value("clip-path", "inset(123)");
20
test_invalid_value("clip-path", "inset(1% 2% 3% 4% 5%)");
21
test_invalid_value("clip-path", "inset(round 0)");
22
test_invalid_value("clip-path", "inset(0px round)");
23
test_invalid_value("clip-path", "inset(0px round 123)");
24
test_invalid_value("clip-path", "inset(0px round 1% 2% 3% 4% 5%)");
25
test_invalid_value("clip-path", "inset(0px round / 1px)");
26
test_invalid_value("clip-path", "inset(10px round -20px)");
27
test_invalid_value("clip-path", "inset(30% round -40%)");
28
29
test_invalid_value("clip-path", "circle(123)");
30
test_invalid_value("clip-path", "circle(at)");
31
test_invalid_value("clip-path", "circle(10% 20%)");
32
test_invalid_value("clip-path", "circle(-10px at 20px 30px)");
33
test_invalid_value("clip-path", "circle(-10% at 20% 30%)");
34
test_invalid_value("clip-path", "circle(1% 2% at 0% 100%)");
35
36
test_invalid_value("clip-path", "ellipse(farthest-side at)");
37
test_invalid_value("clip-path", "ellipse(1% 2% top right)");
38
test_invalid_value("clip-path", "ellipse(3%)");
39
test_invalid_value("clip-path", "ellipse(3% at 100% 0%)");
40
test_invalid_value("clip-path", "ellipse(closest-side)");
41
test_invalid_value("clip-path", "ellipse(farthest-side at 100% 0%)");
42
test_invalid_value("clip-path", "ellipse(10% -20% at 30% 40%)");
43
test_invalid_value("clip-path", "ellipse(-50px 60px at 70% 80%)");
44
45
test_invalid_value("clip-path", "polygon(1%)");
46
47
test_invalid_value("clip-path", "unknown-box");
48
</script>
49
</body>
50
</html>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-masking/parsing/clip-path-valid-expected.txt -37 lines
Lines 1-37 a/LayoutTests/imported/w3c/web-platform-tests/css/css-masking/parsing/clip-path-valid-expected.txt_sec1
1
2
PASS e.style['clip-path'] = "none" should set the property value 
3
PASS e.style['clip-path'] = "inset(100%)" should set the property value 
4
PASS e.style['clip-path'] = "inset(0 1px)" should set the property value 
5
PASS e.style['clip-path'] = "inset(0px 1px 2%)" should set the property value 
6
PASS e.style['clip-path'] = "inset(0px 1px 2% 3em)" should set the property value 
7
PASS e.style['clip-path'] = "inset(0px round 100%)" should set the property value 
8
PASS e.style['clip-path'] = "inset(0px round 0 1px)" should set the property value 
9
PASS e.style['clip-path'] = "inset(0px round 0px 1px 2%)" should set the property value 
10
PASS e.style['clip-path'] = "inset(0px round 0px 1px 2% 3em)" should set the property value 
11
PASS e.style['clip-path'] = "inset(10px round 20% / 0px 1px 2% 3em)" should set the property value 
12
PASS e.style['clip-path'] = "circle()" should set the property value 
13
PASS e.style['clip-path'] = "circle(1px)" should set the property value 
14
PASS e.style['clip-path'] = "circle(closest-side)" should set the property value 
15
PASS e.style['clip-path'] = "circle(at 10% 20%)" should set the property value 
16
PASS e.style['clip-path'] = "circle(farthest-side at center top)" should set the property value 
17
PASS e.style['clip-path'] = "circle(4% at top right)" should set the property value 
18
PASS e.style['clip-path'] = "ellipse()" should set the property value 
19
PASS e.style['clip-path'] = "ellipse(1px closest-side)" should set the property value 
20
PASS e.style['clip-path'] = "ellipse(at 10% 20%)" should set the property value 
21
PASS e.style['clip-path'] = "ellipse(closest-side closest-side at 10% 20%)" should set the property value 
22
PASS e.style['clip-path'] = "ellipse(farthest-side 4% at bottom left)" should set the property value 
23
PASS e.style['clip-path'] = "polygon(1% 2%)" should set the property value 
24
PASS e.style['clip-path'] = "polygon(nonzero, 1px 2px, 3em 4em)" should set the property value 
25
PASS e.style['clip-path'] = "polygon(evenodd, 1px 2px, 3em 4em, 5pt 6%)" should set the property value 
26
PASS e.style['clip-path'] = "border-box" should set the property value 
27
PASS e.style['clip-path'] = "padding-box" should set the property value 
28
PASS e.style['clip-path'] = "content-box" should set the property value 
29
PASS e.style['clip-path'] = "margin-box" should set the property value 
30
PASS e.style['clip-path'] = "fill-box" should set the property value 
31
PASS e.style['clip-path'] = "stroke-box" should set the property value 
32
PASS e.style['clip-path'] = "view-box" should set the property value 
33
PASS e.style['clip-path'] = "circle(7% at 8% 9%) border-box" should set the property value 
34
PASS e.style['clip-path'] = "border-box circle(7% at 8% 9%)" should set the property value 
35
PASS e.style['clip-path'] = "url(https://example.com/)" should set the property value 
36
PASS e.style['clip-path'] = "url(\"https://example.com/\")" should set the property value 
37
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-masking/parsing/clip-path-valid.html -65 lines
Lines 1-65 a/LayoutTests/imported/w3c/web-platform-tests/css/css-masking/parsing/clip-path-valid.html_sec1
1
<!DOCTYPE html>
2
<html>
3
<head>
4
<meta charset="utf-8">
5
<title>CSS Masking Module Level 1: parsing clip-path with valid values</title>
6
<link rel="author" title="Eric Willigers" href="mailto:ericwilligers@chromium.org">
7
<link rel="help" href="https://drafts.fxtf.org/css-masking-1/#the-clip-path">
8
<meta name="assert" content="clip-path supports the full grammar '<clip-source> | [ <basic-shape> || <geometry-box> ] | none'.">
9
<script src="/resources/testharness.js"></script>
10
<script src="/resources/testharnessreport.js"></script>
11
<script src="/css/support/parsing-testcommon.js"></script>
12
</head>
13
<body>
14
<script>
15
test_valid_value("clip-path", "none");
16
17
// <basic-shape>
18
test_valid_value("clip-path", "inset(100%)");
19
test_valid_value("clip-path", "inset(0 1px)", "inset(0px 1px)");
20
test_valid_value("clip-path", "inset(0px 1px 2%)");
21
test_valid_value("clip-path", "inset(0px 1px 2% 3em)");
22
test_valid_value("clip-path", "inset(0px round 100%)");
23
test_valid_value("clip-path", "inset(0px round 0 1px)", "inset(0px round 0px 1px)");
24
test_valid_value("clip-path", "inset(0px round 0px 1px 2%)");
25
test_valid_value("clip-path", "inset(0px round 0px 1px 2% 3em)");
26
test_valid_value("clip-path", "inset(10px round 20% / 0px 1px 2% 3em)");
27
28
test_valid_value("clip-path", "circle()", "circle(at 50% 50%)");
29
test_valid_value("clip-path", "circle(1px)", "circle(1px at 50% 50%)");
30
test_valid_value("clip-path", "circle(closest-side)", "circle(at 50% 50%)");
31
test_valid_value("clip-path", "circle(at 10% 20%)");
32
test_valid_value("clip-path", "circle(farthest-side at center top)", "circle(farthest-side at 50% 0%)");
33
test_valid_value("clip-path", "circle(4% at top right)", "circle(4% at 100% 0%)");
34
35
test_valid_value("clip-path", "ellipse()", "ellipse(at 50% 50%)");
36
test_valid_value("clip-path", "ellipse(1px closest-side)", "ellipse(1px closest-side at 50% 50%)");
37
test_valid_value("clip-path", "ellipse(at 10% 20%)");
38
test_valid_value("clip-path", "ellipse(closest-side closest-side at 10% 20%)", "ellipse(at 10% 20%)");
39
test_valid_value("clip-path", "ellipse(farthest-side 4% at bottom left)", "ellipse(farthest-side 4% at 0% 100%)");
40
41
test_valid_value("clip-path", "polygon(1% 2%)");
42
test_valid_value("clip-path", "polygon(nonzero, 1px 2px, 3em 4em)", "polygon(1px 2px, 3em 4em)");
43
test_valid_value("clip-path", "polygon(evenodd, 1px 2px, 3em 4em, 5pt 6%)");
44
45
// <geometry-box>
46
test_valid_value("clip-path", "border-box");
47
test_valid_value("clip-path", "padding-box");
48
test_valid_value("clip-path", "content-box");
49
test_valid_value("clip-path", "margin-box");
50
test_valid_value("clip-path", "fill-box");
51
test_valid_value("clip-path", "stroke-box");
52
test_valid_value("clip-path", "view-box");
53
54
// basic-shape> <geometry-box>
55
test_valid_value("clip-path", "circle(7% at 8% 9%) border-box");
56
57
// <geometry-box> basic-shape>
58
test_valid_value("clip-path", "border-box circle(7% at 8% 9%)");
59
60
//  <clip-source>
61
test_valid_value("clip-path", "url(https://example.com/)", ["url(https://example.com/)", "url(\"https://example.com/\")"]);
62
test_valid_value("clip-path", "url(\"https://example.com/\")", ["url(https://example.com/)", "url(\"https://example.com/\")"]);
63
</script>
64
</body>
65
</html>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-multicol/always-balancing-before-column-span-expected.xht +19 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-multicol/always-balancing-before-column-span-expected.xht_sec1
1
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
2
<html xmlns="http://www.w3.org/1999/xhtml">
3
 <head>
4
  <title>CSS Reftest Reference</title>
5
  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
6
  <style type="text/css"><![CDATA[
7
  div
8
  {
9
  background-color: green;
10
  height: 100px;
11
  width: 100px;
12
  }
13
  ]]></style>
14
 </head>
15
 <body>
16
  <p>Test passes if there is a filled green square and <strong>no red</strong>.</p>
17
  <div></div>
18
 </body>
19
</html>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-multicol/always-balancing-before-column-span.html +33 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-multicol/always-balancing-before-column-span.html_sec1
1
<!DOCTYPE html>
2
<html>
3
  <meta charset="utf-8">
4
  <link rel="author" title="Ting-Yu Lin" href="mailto:tlin@mozilla.com">
5
  <link rel="author" title="Mozilla" href="http://www.mozilla.org/">
6
  <link rel="help" href="https://drafts.csswg.org/css-multicol-1/#column-span">
7
  <link rel="help" href="https://github.com/w3c/csswg-drafts/issues/4689">
8
  <link rel="match" href="../reference/ref-filled-green-100px-square.xht">
9
  <meta name="assert" content="This test verifies columns are always balancing before column-spanning element in an unconstrained height and column-fill:auto column container.">
10
11
  <style>
12
  .columns {
13
    column-fill: auto;
14
    column-count: 2;
15
    column-gap: 0;
16
    width: 100px;
17
    background: red;
18
  }
19
  .colspan {
20
    column-span: all;
21
  }
22
  .content {
23
    height: 200px;
24
    background: green;
25
  }
26
  </style>
27
28
  <p>Test passes if there is a filled green square and <strong>no red</strong>.</p>
29
  <div class="columns">
30
    <div class="content"></div>
31
    <div class="colspan"></div>
32
  </div>
33
</html>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-multicol/as-column-flex-item-expected.xht +19 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-multicol/as-column-flex-item-expected.xht_sec1
1
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
2
<html xmlns="http://www.w3.org/1999/xhtml">
3
 <head>
4
  <title>CSS Reftest Reference</title>
5
  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
6
  <style type="text/css"><![CDATA[
7
  div
8
  {
9
  background-color: green;
10
  height: 100px;
11
  width: 100px;
12
  }
13
  ]]></style>
14
 </head>
15
 <body>
16
  <p>Test passes if there is a filled green square and <strong>no red</strong>.</p>
17
  <div></div>
18
 </body>
19
</html>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-multicol/as-column-flex-item.html +14 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-multicol/as-column-flex-item.html_sec1
1
<!DOCTYPE html>
2
<link rel="author" title="Morten Stenshorne" href="mailto:mstensho@chromium.org">
3
<link rel="help" href="https://www.w3.org/TR/css-multicol-1/">
4
<link rel="help" href="https://www.w3.org/TR/css-sizing-3/">
5
<meta name="assert" content="Tests that the intrinsic block-size of a multicol container is calculated correctly, including the border">
6
<link rel="match" href="../reference/ref-filled-green-100px-square.xht">
7
<p>Test passes if there is a filled green square and <strong>no red</strong>.</p>
8
<div style="width:100px; height:100px; background:red;">
9
  <div style="display:flex; flex-flow:column; background:red;">
10
    <div style="columns:4; column-gap:0; border:30px solid green; width:40px;">
11
      <div style="height:160px; background:green;"></div>
12
    </div>
13
  </div>
14
</div>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-multicol/change-abspos-width-in-second-column-crash-expected.txt +16 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-multicol/change-abspos-width-in-second-column-crash-expected.txt_sec1
1
layer at (0,0) size 800x600
2
  RenderView at (0,0) size 800x600
3
layer at (0,0) size 800x158
4
  RenderBlock {HTML} at (0,0) size 800x158
5
    RenderBody {BODY} at (8,16) size 784x134
6
      RenderBlock {P} at (0,0) size 784x18
7
        RenderText {#text} at (0,0) size 113x18
8
          text run at (0,0) width 113: "PASS if no crash."
9
layer at (8,50) size 784x100
10
  RenderBlock {DIV} at (0,34) size 784x100
11
    RenderMultiColumnSet at (0,0) size 784x100
12
layer at (8,50) size 384x150
13
  RenderMultiColumnFlowThread at (0,0) size 384x150
14
layer at (8,50) size 384x150
15
  RenderBlock (relative positioned) {DIV} at (0,0) size 384x150
16
    RenderBlock {DIV} at (0,0) size 384x150
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-multicol/change-abspos-width-in-second-column-crash.html +14 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-multicol/change-abspos-width-in-second-column-crash.html_sec1
1
<!DOCTYPE html>
2
<link rel="author" title="Morten Stenshorne" href="mailto:mstensho@chromium.org">
3
<link rel="help" href="https://bugs.chromium.org/p/chromium/issues/detail?id=1074480">
4
<p>PASS if no crash.</p>
5
<div style="columns:2; column-fill:auto; height:100px;">
6
  <div style="position: relative;">
7
    <div style="height:150px;"></div>
8
    <div id="target" style="position:absolute;"></div>
9
  </div>
10
</div>
11
<script>
12
  document.body.offsetTop;
13
  target.style.width = '55px';
14
</script>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-multicol/change-intrinsic-width-expected.xht +19 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-multicol/change-intrinsic-width-expected.xht_sec1
1
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
2
<html xmlns="http://www.w3.org/1999/xhtml">
3
 <head>
4
  <title>CSS Reftest Reference</title>
5
  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
6
  <style type="text/css"><![CDATA[
7
  div
8
  {
9
  background-color: green;
10
  height: 100px;
11
  width: 100px;
12
  }
13
  ]]></style>
14
 </head>
15
 <body>
16
  <p>Test passes if there is a filled green square and <strong>no red</strong>.</p>
17
  <div></div>
18
 </body>
19
</html>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-multicol/change-intrinsic-width.html +14 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-multicol/change-intrinsic-width.html_sec1
1
<!DOCTYPE html>
2
<link rel="author" title="Morten Stenshorne" href="mailto:mstensho@chromium.org">
3
<link rel="help" href="https://www.w3.org/TR/css-multicol-1/#pseudo-algorithm">
4
<link rel="help" href="https://bugs.chromium.org/p/chromium/issues/detail?id=1037790">
5
<link rel="match" href="../reference/ref-filled-green-100px-square.xht">
6
<p>Test passes if there is a filled green square and <strong>no red</strong>.</p>
7
<div style="columns:2; column-fill:auto; column-gap:0; width:fit-content; height:100px; background:red;">
8
  <div id="firstChild" style="width:200px; height:100px; background:green;"></div>
9
  <div style="width:50px; height:100px; background:green;"></div>
10
</div>
11
<script>
12
  document.body.offsetTop;
13
  firstChild.style.width = "50px";
14
</script>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-multicol/change-out-of-flow-type-and-remove-inner-multicol-crash-expected.txt +14 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-multicol/change-out-of-flow-type-and-remove-inner-multicol-crash-expected.txt_sec1
1
layer at (0,0) size 800x600
2
  RenderView at (0,0) size 800x600
3
layer at (0,0) size 800x41
4
  RenderBlock {HTML} at (0,0) size 800x41
5
layer at (8,8) size 784x25
6
  RenderBody {BODY} at (8,8) size 784x25
7
    RenderMultiColumnSet at (0,0) size 784x25
8
    RenderBlock {DIV} at (0,25) size 784x0
9
    RenderMultiColumnSet at (0,25) size 784x0
10
layer at (8,8) size 384x50
11
  RenderMultiColumnFlowThread at (0,0) size 384x50
12
    RenderBlock {P} at (0,16) size 384x18
13
      RenderText {#text} at (0,0) size 113x18
14
        text run at (0,0) width 113: "PASS if no crash."
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-multicol/change-out-of-flow-type-and-remove-inner-multicol-crash.html +15 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-multicol/change-out-of-flow-type-and-remove-inner-multicol-crash.html_sec1
1
<!DOCTYPE html>
2
<link rel="author" title="Morten Stenshorne" href="mailto:mstensho@chromium.org">
3
<link rel="help" href="https://bugs.chromium.org/p/chromium/issues/detail?id=1074480">
4
<p>PASS if no crash.</p>
5
<body style="columns:2;">
6
  <div style="position:relative;">
7
    <div style="column-span:all;"></div>
8
    <div id="target" style="columns:2; position:fixed;"></div>
9
  </div>
10
</body>
11
<script>
12
  document.body.offsetTop;
13
  target.style.position = 'absolute';
14
  target.style.columns = 'auto';
15
</script>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-multicol/column-balancing-paged-001-print-expected.html +35 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-multicol/column-balancing-paged-001-print-expected.html_sec1
1
<!DOCTYPE html>
2
<html>
3
  <meta charset="utf-8">
4
  <title>CSS Multi-column Layout Test Reference: Test fragmentation for a nested multi-column container with column-span in paginated context</title>
5
  <link rel="author" title="Ting-Yu Lin" href="tlin@mozilla.com">
6
  <link rel="author" title="Mozilla" href="https://www.mozilla.org/">
7
8
  <style>
9
  .inner {
10
    column-count: 2;
11
    column-rule: 3px solid green;
12
    background-color: lightgreen;
13
  }
14
  .block1 {
15
    background-color: yellow;
16
    height: 3in;
17
  }
18
  .spanner {
19
    height: 2in;
20
    background-color: lightblue;
21
  }
22
  .block2 {
23
    background-color: pink;
24
    height: 3in;
25
  }
26
  </style>
27
28
  <article class="inner">
29
    <div class="block1">block1</div>
30
  </article>
31
  <div class="spanner">spanner</div>
32
  <article class="inner">
33
    <div class="block2">block2</div>
34
  </article>
35
</html>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-multicol/column-balancing-paged-001-print.html +43 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-multicol/column-balancing-paged-001-print.html_sec1
1
<!DOCTYPE html>
2
<html>
3
  <meta charset="utf-8">
4
  <title>CSS Multi-column Layout Test: Test fragmentation for a nested multi-column container with column-span in paginated context</title>
5
  <link rel="match" href="column-balancing-paged-001-print-ref.html">
6
  <link rel="author" title="Ting-Yu Lin" href="tlin@mozilla.com">
7
  <link rel="author" title="Mozilla" href="http://www.mozilla.org/">
8
  <link rel="help" href="https://drafts.csswg.org/css-multicol-1/#column-span">
9
  <link rel="help" href="https://drafts.csswg.org/css-break/#breaking-rules">
10
11
  <style>
12
  .outer {
13
    column-count: 1;
14
    column-rule: 6px solid black;
15
  }
16
  .inner {
17
    column-count: 2;
18
    column-rule: 3px solid green;
19
    background-color: lightgreen;
20
  }
21
  .block1 {
22
    background-color: yellow;
23
    height: 3in;
24
  }
25
  .spanner {
26
    column-span: all;
27
    height: 2in;
28
    background-color: lightblue;
29
  }
30
  .block2 {
31
    background-color: pink;
32
    height: 3in
33
  }
34
  </style>
35
36
  <article class="outer">
37
    <article class="inner">
38
      <div class="block1">block1</div>
39
      <div class="spanner">spanner</div>
40
      <div class="block2">block2</div>
41
    </article>
42
  </article>
43
</html>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-multicol/equal-gap-and-rule-expected.xht +19 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-multicol/equal-gap-and-rule-expected.xht_sec1
1
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
2
<html xmlns="http://www.w3.org/1999/xhtml">
3
 <head>
4
  <title>CSS Reftest Reference</title>
5
  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
6
  <style type="text/css"><![CDATA[
7
  div
8
  {
9
  background-color: green;
10
  height: 100px;
11
  width: 100px;
12
  }
13
  ]]></style>
14
 </head>
15
 <body>
16
  <p>Test passes if there is a filled green square and <strong>no red</strong>.</p>
17
  <div></div>
18
 </body>
19
</html>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-multicol/equal-gap-and-rule.html +8 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-multicol/equal-gap-and-rule.html_sec1
1
<!DOCTYPE html>
2
<link rel="author" title="Morten Stenshorne" href="mailto:mstensho@chromium.org">
3
<link rel="help" href="https://www.w3.org/TR/css-multicol-1/#column-gaps-and-rules">
4
<link rel="match" href="../reference/ref-filled-green-100px-square.xht">
5
<p>Test passes if there is a filled green square and <strong>no red</strong>.</p>
6
<div style="columns:8; column-fill:auto; column-gap:5px; column-rule:5px solid green; width:100px; height:100px; background:red;">
7
  <div style="height:800px; background:green;"></div>
8
</div>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-multicol/fixed-size-child-with-overflow-expected.xht +19 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-multicol/fixed-size-child-with-overflow-expected.xht_sec1
1
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
2
<html xmlns="http://www.w3.org/1999/xhtml">
3
 <head>
4
  <title>CSS Reftest Reference</title>
5
  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
6
  <style type="text/css"><![CDATA[
7
  div
8
  {
9
  background-color: green;
10
  height: 100px;
11
  width: 100px;
12
  }
13
  ]]></style>
14
 </head>
15
 <body>
16
  <p>Test passes if there is a filled green square and <strong>no red</strong>.</p>
17
  <div></div>
18
 </body>
19
</html>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-multicol/fixed-size-child-with-overflow.html +10 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-multicol/fixed-size-child-with-overflow.html_sec1
1
<!DOCTYPE html>
2
<link rel="author" title="Morten Stenshorne" href="mailto:mstensho@chromium.org">
3
<link rel="help" href="https://www.w3.org/TR/css-multicol-1/#column-gaps-and-rules">
4
<link rel="match" href="../reference/ref-filled-green-100px-square.xht">
5
<p>Test passes if there is a filled green square and <strong>no red</strong>.</p>
6
<div style="columns:4; column-fill:auto; column-gap:5px; column-rule:5px solid green; width:100px; height:100px; background:red;">
7
  <div style="height:50px;">
8
    <div style="height:400px; background:green;"></div>
9
  </div>
10
</div>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-multicol/intrinsic-width-change-column-count-expected.xht +19 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-multicol/intrinsic-width-change-column-count-expected.xht_sec1
1
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
2
<html xmlns="http://www.w3.org/1999/xhtml">
3
 <head>
4
  <title>CSS Reftest Reference</title>
5
  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
6
  <style type="text/css"><![CDATA[
7
  div
8
  {
9
  background-color: green;
10
  height: 100px;
11
  width: 100px;
12
  }
13
  ]]></style>
14
 </head>
15
 <body>
16
  <p>Test passes if there is a filled green square and <strong>no red</strong>.</p>
17
  <div></div>
18
 </body>
19
</html>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-multicol/intrinsic-width-change-column-count.html +15 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-multicol/intrinsic-width-change-column-count.html_sec1
1
<!DOCTYPE html>
2
<link rel="author" title="Morten Stenshorne" href="mailto:mstensho@chromium.org">
3
<link rel="help" href="https://www.w3.org/TR/css-multicol-1/#pseudo-algorithm">
4
<link rel="help" href="https://bugs.chromium.org/p/chromium/issues/detail?id=1037790">
5
<link rel="match" href="../reference/ref-filled-green-100px-square.xht">
6
<p>Test passes if there is a filled green square and <strong>no red</strong>.</p>
7
<div style="width:100px; background:red;">
8
  <div id="container" style="columns:3; column-gap:0; column-fill:auto; width:fit-content; height:100px; background:green;">
9
    <div style="width:25px; height:10px;"></div>
10
  </div>
11
</div>
12
<script>
13
  document.body.offsetTop;
14
  container.style.columns = "4";
15
</script>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-multicol/multicol-basic-005.xht -1 / +1 lines
Lines 5-11 a/LayoutTests/imported/w3c/web-platform-tests/css/css-multicol/multicol-basic-005.xht_sec1
5
<link rel="author" title="Hakon Wium Lie" href="mailto:howcome@opera.com"/>
5
<link rel="author" title="Hakon Wium Lie" href="mailto:howcome@opera.com"/>
6
<link rel="match" href="reference/multicol-basic-005-ref.xht"/>
6
<link rel="match" href="reference/multicol-basic-005-ref.xht"/>
7
<link rel="help" href="https://www.w3.org/TR/css3-multicol/#columns"/>
7
<link rel="help" href="https://www.w3.org/TR/css3-multicol/#columns"/>
8
<link rel="help" href="https://www.w3.org/TR/css3-multicol/#column-count"/>
8
<link rel="help" href="https://www.w3.org/TR/css3-multicol/#cc"/>
9
<style type="text/css">
9
<style type="text/css">
10
div {
10
div {
11
  margin: 1em auto;
11
  margin: 1em auto;
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-multicol/multicol-basic-006.xht -1 / +1 lines
Lines 4-10 a/LayoutTests/imported/w3c/web-platform-tests/css/css-multicol/multicol-basic-006.xht_sec1
4
<title>CSS Multi-column Layout Test: column-count (basic)</title>
4
<title>CSS Multi-column Layout Test: column-count (basic)</title>
5
<link rel="author" title="Hakon Wium Lie" href="mailto:howcome@opera.com"/>
5
<link rel="author" title="Hakon Wium Lie" href="mailto:howcome@opera.com"/>
6
<link rel="match" href="reference/multicol-basic-005-ref.xht"/>
6
<link rel="match" href="reference/multicol-basic-005-ref.xht"/>
7
<link rel="help" href="https://www.w3.org/TR/css3-multicol/#column-count"/>
7
<link rel="help" href="https://www.w3.org/TR/css3-multicol/#cc"/>
8
<style type="text/css">
8
<style type="text/css">
9
div {
9
div {
10
  margin: 1em auto;
10
  margin: 1em auto;
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-multicol/multicol-breaking-004.html -1 / +1 lines
Lines 29-35 a/LayoutTests/imported/w3c/web-platform-tests/css/css-multicol/multicol-breaking-004.html_sec1
29
  font: 16px/1.25 sans-serif;
29
  font: 16px/1.25 sans-serif;
30
  border: solid green;
30
  border: solid green;
31
  border-width: 0 0 25px 0;
31
  border-width: 0 0 25px 0;
32
  box-decoration-break: clone;
32
  -webkit-box-decoration-break: clone;
33
}
33
}
34
34
35
</style>
35
</style>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-multicol/multicol-breaking-nobackground-004.html -1 / +1 lines
Lines 27-33 a/LayoutTests/imported/w3c/web-platform-tests/css/css-multicol/multicol-breaking-nobackground-004.html_sec1
27
  font: 16px/1.25 sans-serif;
27
  font: 16px/1.25 sans-serif;
28
  border: solid green;
28
  border: solid green;
29
  border-width: 0 0 25px 0;
29
  border-width: 0 0 25px 0;
30
  box-decoration-break: clone;
30
  -webkit-box-decoration-break: clone;
31
}
31
}
32
32
33
</style>
33
</style>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-multicol/multicol-clip-scrolled-content-001-expected.html +52 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-multicol/multicol-clip-scrolled-content-001-expected.html_sec1
1
<!DOCTYPE html>
2
<html>
3
<meta charset="utf-8">
4
<title>CSS Test: Multi-column element with scrolled content clipping (reference)</title>
5
<link rel="author" title="Vladimir Levin" href="mailto:vmpstr@chromium.org"/>
6
<link rel="help" href="http://www.w3.org/TR/css3-multicol/#columns"/>
7
<style>
8
#columns {
9
  column-width: 350px;
10
}
11
.spacer {
12
  height: 200px;
13
  width: 10px;
14
}
15
#outer {
16
  border: 1px solid black;
17
  overflow: scroll;
18
  height: 300px;
19
  width: 300px;
20
}
21
.inner {
22
  overflow: scroll;
23
  visibility: hidden;
24
}
25
.clipped_target {
26
  width: 50px;
27
  height: 50px;
28
}
29
</style>
30
31
<div class=spacer></div>
32
<div id=columns>
33
<div class=spacer></div>
34
<div id=outer>
35
  <div class=inner>
36
    <pre class=clipped_target>
37
     scrollable
38
     content
39
     goes
40
     here
41
    </pre>
42
  </div>
43
  <div class=spacer></div>
44
  <div class=spacer></div>
45
</div>
46
</div>
47
48
<script>
49
window.onload = () => { outer.scrollTop = 100; };
50
</script>
51
</html>
52
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-multicol/multicol-clip-scrolled-content-001.html +53 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-multicol/multicol-clip-scrolled-content-001.html_sec1
1
<!DOCTYPE html>
2
<html>
3
<meta charset="utf-8">
4
<title>CSS Test: Multi-column element with scrolled content clipping</title>
5
<link rel="author" title="Vladimir Levin" href="mailto:vmpstr@chromium.org"/>
6
<link rel="help" href="http://www.w3.org/TR/css3-multicol/#columns"/>
7
<link rel="match" href="reference/multicol-clip-scrolled-content-001-ref.html"/>
8
<style>
9
#columns {
10
  column-width: 350px;
11
}
12
.spacer {
13
  height: 200px;
14
  width: 10px;
15
}
16
#outer {
17
  border: 1px solid black;
18
  overflow: scroll;
19
  height: 300px;
20
  width: 300px;
21
}
22
.inner {
23
  overflow: scroll;
24
}
25
.clipped_target {
26
  overflow: scroll;
27
  background: red;
28
  width: 50px;
29
  height: 50px;
30
}
31
</style>
32
33
<div class=spacer></div>
34
<div id=columns>
35
<div class=spacer></div>
36
<div id=outer>
37
  <div class=inner>
38
    <pre class=clipped_target>
39
     scrollable
40
     content
41
     goes
42
     here
43
    </pre>
44
  </div>
45
  <div class=spacer></div>
46
  <div class=spacer></div>
47
</div>
48
</div>
49
50
<script>
51
window.onload = () => { outer.scrollTop = 100; };
52
</script>
53
</html>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-multicol/multicol-contained-absolute-expected.html +5 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-multicol/multicol-contained-absolute-expected.html_sec1
1
<!DOCTYPE html>
2
<div style="columns: 2">
3
  <div style="height: 200px; background: green"></div>
4
</div>
5
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-multicol/multicol-contained-absolute.html +13 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-multicol/multicol-contained-absolute.html_sec1
1
<!DOCTYPE html>
2
<title>CSS Multi-column Layout Test: multicol with contained absolute position</title>
3
<link rel="help" href="https://www.w3.org/TR/css-multicol-1/">
4
<link rel="match" href="multicol-contained-absolute-ref.html">
5
<meta name="assert" content="Absolute position contained in multicol should have correct containing block.">
6
<div style="columns: 2">
7
  <div style="position: relative; height: 200px">
8
    <div style="overflow: hidden">
9
      <div style="position: absolute; width: 100%; height: 200px; background: green"></div>
10
    </div>
11
  </div>
12
</div>
13
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-multicol/multicol-count-computed-001-expected.xht -69 lines
Lines 1-69 a/LayoutTests/imported/w3c/web-platform-tests/css/css-multicol/multicol-count-computed-001-expected.xht_sec1
1
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
2
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
3
<html xmlns="http://www.w3.org/1999/xhtml">
4
<head>
5
<title>multicolumn | column-rule</title>
6
<link rel="author" title="Opera Software ASA" href="http://www.opera.com/"/>
7
<style type="text/css"><![CDATA[
8
body {
9
	margin: 0;
10
}
11
div {
12
	font-family: ahem;
13
	font-size: 1em;
14
	line-height: 1em;
15
	color: black;
16
	background: yellow;
17
	margin: 1em;
18
	border: 1em solid gray;
19
	width: 12em;
20
	height: 2em;
21
	position: relative;
22
	widows: 1;
23
	orphans: 1;
24
25
}
26
span {
27
	display: block;
28
	position: absolute;
29
}
30
#pink {
31
	color: pink;
32
}
33
#orange {
34
	color: orange;
35
	left: 0;
36
	top: 1em;
37
}
38
#purple {
39
	color: purple;
40
	left: 9em;
41
	top: 0;
42
}
43
#grey {
44
	color: grey;
45
	left: 9em;
46
	top: 1em;
47
}
48
#blue {
49
	left: 5.25em;
50
	top: 0;
51
	width: 1.5em;
52
	height: 2em;
53
	background: blue;
54
}
55
]]></style>
56
</head>
57
58
<body>
59
60
<div>
61
	<span id="pink">xxxx</span>
62
	<span id="orange">xxxx</span>
63
	<span id="purple">xxxx</span>
64
	<span id="grey">xxxx</span>
65
	<span id="blue"></span>
66
</div>
67
68
</body>
69
</html>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-multicol/multicol-count-computed-001.xht -50 lines
Lines 1-50 a/LayoutTests/imported/w3c/web-platform-tests/css/css-multicol/multicol-count-computed-001.xht_sec1
1
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
2
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
3
<html xmlns="http://www.w3.org/1999/xhtml">
4
<head>
5
<title>multicolumn | column-rule</title>
6
<link rel="author" title="Opera Software ASA" href="http://www.opera.com/"/>
7
<link rel="help" href="http://www.w3.org/TR/css3-multicol/#the-number-and-width-of-columns"/>
8
<link rel="help" href="http://www.w3.org/TR/css3-multicol/#column-gaps-and-rules"/>
9
<link rel="match" href="multicol-count-computed-ref.xht"/>
10
<meta name="flags" content="ahem"/>
11
<style type="text/css"><![CDATA[
12
body {
13
	margin: 0;
14
}
15
div {
16
	font-family: ahem;
17
	font-size: 1em;
18
	line-height: 1em;
19
	color: black;
20
	background: yellow;
21
	margin: 1em;
22
	border: 1em solid gray;
23
	width: 12em;
24
	widows: 1;
25
	orphans: 1;
26
27
	column-count: 3;
28
	column-gap: 6em;
29
	column-rule-color: blue;
30
	column-rule-width: 1.5em;
31
	column-rule-style: solid;
32
}
33
#pink {color: pink;}
34
#orange {color: orange;}
35
#purple {color: purple;}
36
#grey {color: grey;}
37
]]></style>
38
</head>
39
40
<body>
41
42
<div>
43
	<span id="pink">xxxx</span>
44
	<span id="orange">xxxx</span>
45
	<span id="purple">xxxx</span>
46
	<span id="grey">xxxx</span>
47
</div>
48
49
</body>
50
</html>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-multicol/multicol-count-computed-002-expected.xht -58 lines
Lines 1-58 a/LayoutTests/imported/w3c/web-platform-tests/css/css-multicol/multicol-count-computed-002-expected.xht_sec1
1
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
2
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
3
<html xmlns="http://www.w3.org/1999/xhtml">
4
<head>
5
<title>multicolumn | column-rule</title>
6
<link rel="author" title="Opera Software ASA" href="http://www.opera.com/"/>
7
<style type="text/css"><![CDATA[
8
body {
9
	margin: 0;
10
}
11
div {
12
	font-family: ahem;
13
	font-size: 1em;
14
	line-height: 1em;
15
	color: black;
16
	background: yellow;
17
	margin: 1em;
18
	border: 1em solid gray;
19
	width: 12em;
20
	height: 2em;
21
	position: relative;
22
	widows: 1;
23
	orphans: 1;
24
}
25
#pink {color: pink;}
26
#orange {color: orange;}
27
#purple {color: purple;}
28
#grey {color: grey;}
29
span {
30
	display: block;
31
	position: absolute;
32
}
33
#orange {
34
	left: 5em;
35
	top: 0;
36
}
37
#purple {
38
	left: 0;
39
	top: 1em;
40
}
41
#grey {
42
	left: 5em;
43
	top: 1em;
44
}
45
]]></style>
46
</head>
47
48
<body>
49
50
<div>
51
	<span id="purple">xxxx</span>
52
	<span id="orange">xxxx</span>
53
	<span id="grey">xxxx</span>
54
	<span id="pink">xxxx</span>
55
</div>
56
57
</body>
58
</html>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-multicol/multicol-count-computed-002.xht -50 lines
Lines 1-50 a/LayoutTests/imported/w3c/web-platform-tests/css/css-multicol/multicol-count-computed-002.xht_sec1
1
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
2
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
3
<html xmlns="http://www.w3.org/1999/xhtml">
4
<head>
5
<title>multicolumn | column-rule</title>
6
<link rel="author" title="Opera Software ASA" href="http://www.opera.com/"/>
7
<link rel="help" href="http://www.w3.org/TR/css3-multicol/#the-number-and-width-of-columns"/>
8
<link rel="help" href="http://www.w3.org/TR/css3-multicol/#column-gaps-and-rules"/>
9
<link rel="match" href="multicol-count-computed-2-ref.xht"/>
10
<meta name="flags" content="ahem"/>
11
<style type="text/css"><![CDATA[
12
body {
13
	margin: 0;
14
}
15
div {
16
	font-family: ahem;
17
	font-size: 1em;
18
	line-height: 1em;
19
	color: black;
20
	background: yellow;
21
	margin: 1em;
22
	border: 1em solid gray;
23
	width: 12em;
24
	widows: 1;
25
	orphans: 1;
26
27
	column-count: 3;
28
	column-gap: 7em;
29
	column-rule-color: red;
30
	column-rule-width: 1.5em;
31
	column-rule-style: solid;
32
}
33
#pink {color: pink;}
34
#orange {color: orange;}
35
#purple {color: purple;}
36
#grey {color: grey;}
37
]]></style>
38
</head>
39
40
<body>
41
42
<div>
43
	<span id="pink">xxxx</span>
44
	<span id="orange">xxxx</span>
45
	<span id="purple">xxxx</span>
46
	<span id="grey">xxxx</span>
47
</div>
48
49
</body>
50
</html>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-multicol/multicol-count-large-001-expected.xht -30 lines
Lines 1-30 a/LayoutTests/imported/w3c/web-platform-tests/css/css-multicol/multicol-count-large-001-expected.xht_sec1
1
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
2
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
3
<html xmlns="http://www.w3.org/1999/xhtml">
4
<head>
5
<title>multicolumn | column-count</title>
6
<link rel="author" title="Opera Software ASA" href="http://www.opera.com/"/>
7
<style type="text/css"><![CDATA[
8
body>div {
9
	font-family: ahem;
10
	font-size: 1em;
11
	line-height: 1em;
12
	color: black;
13
	background: yellow;
14
	margin: 1em;
15
	border: 1em solid gray;
16
	width: 12em;
17
	height: 1em;
18
	orphans: 1;
19
	widows: 1;
20
21
}
22
]]></style>
23
</head>
24
25
<body>
26
27
<div>xx</div>
28
29
</body>
30
</html>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-multicol/multicol-count-large-001.xht -42 lines
Lines 1-42 a/LayoutTests/imported/w3c/web-platform-tests/css/css-multicol/multicol-count-large-001.xht_sec1
1
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
2
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
3
<html xmlns="http://www.w3.org/1999/xhtml">
4
<head>
5
<title>multicolumn | column-count</title>
6
<link rel="author" title="Opera Software ASA" href="http://www.opera.com/"/>
7
<link rel="help" href="http://www.w3.org/TR/css3-multicol/#the-number-and-width-of-columns"/>
8
<link rel="match" href="multicol-count-large-ref.xht"/>
9
<meta name="flags" content="ahem"/>
10
<style type="text/css"><![CDATA[
11
body>div {
12
	font-family: ahem;
13
	font-size: 1em;
14
	line-height: 1em;
15
	color: red;
16
	background: yellow;
17
	margin: 1em;
18
	border: 1em solid gray;
19
	width: 12em;
20
	orphans: 1;
21
	widows: 1;
22
23
	column-count: 1000;
24
	column-gap: 0;
25
}
26
span {
27
	color: black;
28
}
29
]]></style>
30
</head>
31
32
<body>
33
34
<div>
35
	xx xx 
36
	xx xx
37
	xx xx
38
	<span>xx xx</span>
39
</div>
40
41
</body>
42
</html>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-multicol/multicol-count-large-002-expected.xht -40 lines
Lines 1-40 a/LayoutTests/imported/w3c/web-platform-tests/css/css-multicol/multicol-count-large-002-expected.xht_sec1
1
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
2
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
3
<html xmlns="http://www.w3.org/1999/xhtml">
4
<head>
5
<title>multicolumn | column-count</title>
6
<link rel="author" title="Opera Software ASA" href="http://www.opera.com/"/>
7
<style type="text/css"><![CDATA[
8
body>div {
9
	font-family: ahem;
10
	font-size: 1em;
11
	line-height: 1em;
12
	color: black;
13
	background: yellow;
14
	margin: 1em;
15
	border: 1em solid gray;
16
	width: 12em;
17
	height: 1em;
18
	position: relative;
19
	orphans: 1;
20
	widows: 1;
21
}
22
span {
23
	color: blue;
24
	background: blue;
25
	width: 2em;
26
	position: absolute;
27
	left: 0;
28
	top: 0;
29
}
30
]]></style>
31
</head>
32
33
<body>
34
35
<div>
36
	<span>x</span>
37
</div>
38
39
</body>
40
</html>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-multicol/multicol-count-large-002.xht -42 lines
Lines 1-42 a/LayoutTests/imported/w3c/web-platform-tests/css/css-multicol/multicol-count-large-002.xht_sec1
1
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
2
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
3
<html xmlns="http://www.w3.org/1999/xhtml">
4
<head>
5
<title>multicolumn | column-count</title>
6
<link rel="author" title="Opera Software ASA" href="http://www.opera.com/"/>
7
<link rel="help" href="http://www.w3.org/TR/css3-multicol/#the-number-and-width-of-columns"/>
8
<link rel="match" href="multicol-count-large-2-ref.xht"/>
9
<meta name="flags" content="ahem"/>
10
<style type="text/css"><![CDATA[
11
body>div {
12
	font-family: ahem;
13
	font-size: 1em;
14
	line-height: 1em;
15
	color: black;
16
	background: yellow;
17
	margin: 1em;
18
	border: 1em solid gray;
19
	width: 12em;
20
	orphans: 1;
21
	widows: 1;
22
23
	column-count: 1000;
24
	column-gap: 0;
25
}
26
span {
27
	color: blue;
28
}
29
]]></style>
30
</head>
31
32
<body>
33
34
<div>
35
	xx xx 
36
	<span>xx xx</span>
37
	xx xx
38
	<span>xx xx</span>
39
</div>
40
41
</body>
42
</html>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-multicol/multicol-fill-auto-expected.xht -21 lines
Lines 1-21 a/LayoutTests/imported/w3c/web-platform-tests/css/css-multicol/multicol-fill-auto-expected.xht_sec1
1
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
2
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
3
<html xmlns="http://www.w3.org/1999/xhtml">
4
<head>
5
<title>multicolumn | column-gap</title>
6
<link rel="author" title="Opera Software ASA" href="http://www.opera.com/"/>
7
<style type="text/css"><![CDATA[
8
div {
9
	background: yellow;
10
	height: 5em;
11
	width: 30em;
12
}
13
]]></style>
14
</head>
15
16
<body>
17
18
<div></div>
19
20
</body>
21
</html>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-multicol/multicol-fill-auto.xht -49 lines
Lines 1-49 a/LayoutTests/imported/w3c/web-platform-tests/css/css-multicol/multicol-fill-auto.xht_sec1
1
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
2
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
3
<html xmlns="http://www.w3.org/1999/xhtml">
4
<head>
5
<title>multicolumn | column-fill-auto</title>
6
<meta name="assert" content="This test checks that columns are properly balanced when 'column-fill: auto' is set"/>
7
<link rel="author" title="howcome@opera.com" href="http://www.opera.com/"/>
8
<link rel="help" href="http://www.w3.org/TR/css3-multicol/#filling-columns"/>
9
<link rel="match" href="multicol-fill-ref.xht"/>
10
<meta name="flags" content="ahem"/>
11
<style type="text/css"><![CDATA[
12
body>div {
13
	font-family: ahem; 
14
	font-size: 1.25em;
15
	line-height: 1em;
16
	color: green;
17
	height: 3em;
18
	width: 2em;
19
	orphans: 1;
20
	widows: 1;
21
	position: relative;
22
	margin: 1em;
23
}
24
div.col {
25
	column-count: 2;
26
	column-fill: auto; 
27
	column-gap: 0;
28
}
29
div.red {
30
	background: red; position: absolute; z-index: -1;
31
}
32
]]></style>
33
</head>
34
35
<body>
36
37
<div class='col'>
38
<div class='red' style="top: 0; left: 0; height: 3em; width: 1em;"></div>
39
<div class='red' style="top: 0; left: 0; height: 1em; width: 2em;"></div>
40
o<br/>t<br/>
41
o<br/>t<br/>
42
</div>
43
44
<div class='ref'>
45
oo<br/>t<br/>o
46
</div>
47
48
</body>
49
</html>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-multicol/multicol-fill-balance-003-expected.xht +19 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-multicol/multicol-fill-balance-003-expected.xht_sec1
1
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
2
<html xmlns="http://www.w3.org/1999/xhtml">
3
 <head>
4
  <title>CSS Reftest Reference</title>
5
  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
6
  <style type="text/css"><![CDATA[
7
  div
8
  {
9
  background-color: green;
10
  height: 100px;
11
  width: 100px;
12
  }
13
  ]]></style>
14
 </head>
15
 <body>
16
  <p>Test passes if there is a filled green square and <strong>no red</strong>.</p>
17
  <div></div>
18
 </body>
19
</html>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-multicol/multicol-fill-balance-003.html +16 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-multicol/multicol-fill-balance-003.html_sec1
1
<!DOCTYPE html>
2
<link rel="author" title="Morten Stenshorne" href="mstensho@chromium.org">
3
<link rel="help" href="https://www.w3.org/TR/css-multicol-1/#cf" title="7.1. column-fill">
4
<link rel="match" href="../reference/ref-filled-green-100px-square.xht">
5
<p>Test passes if there is a filled green square and <strong>no red</strong>.</p>
6
<div style="columns:2; column-fill:auto; column-gap:0; height:200px; width:100px;">
7
  <div style="columns:2; column-gap:0; background:red;">
8
    <div style="height:600px;">
9
      <div style="height:100px; background:green;"></div>
10
      <div style="height:100px; background:white;"></div>
11
      <div style="height:100px; background:green;"></div>
12
      <div style="height:100px; background:white;"></div>
13
      <div style="height:200px; background:green;"></div>
14
    </div>
15
  </div>
16
</div>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-multicol/multicol-inherit-004-expected.xht -37 lines
Lines 1-37 a/LayoutTests/imported/w3c/web-platform-tests/css/css-multicol/multicol-inherit-004-expected.xht_sec1
1
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
2
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
3
<html xmlns="http://www.w3.org/1999/xhtml">
4
<head>
5
<title>multicolumn | inheritance</title>
6
<link rel="author" title="Opera Software ASA" href="http://www.opera.com/"/>
7
<style type="text/css"><![CDATA[
8
body>div {
9
	margin: 1em;
10
	background: white;
11
	width: 74em;
12
	height: 5em;
13
	position: relative;
14
}
15
div div {
16
	background: blue;
17
	height: 5em;
18
	width: 1em;
19
	position: absolute;
20
	top: 0;
21
	left: 23em;
22
}
23
div>div+div {
24
	left: 50em;
25
}
26
]]></style>
27
</head>
28
29
<body>
30
31
<div>
32
	<div></div>
33
	<div></div>
34
</div>
35
36
</body>
37
</html>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-multicol/multicol-inherit-004.xht -55 lines
Lines 1-55 a/LayoutTests/imported/w3c/web-platform-tests/css/css-multicol/multicol-inherit-004.xht_sec1
1
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
2
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
3
<html xmlns="http://www.w3.org/1999/xhtml">
4
<head>
5
<title>multicolumn | inheritance</title>
6
<link rel="author" title="Opera Software ASA" href="http://www.opera.com/"/>
7
<link rel="help" href="http://www.w3.org/TR/css3-multicol/#column-gaps-and-rules"/>
8
<link rel="match" href="multicol-inherit-4-ref.xht"/>
9
<meta name="flags" content="ahem"/>
10
<style type="text/css"><![CDATA[
11
body>div {
12
	width: 74em;
13
	column-rule: 1em solid blue;
14
}
15
div {
16
	font-family: ahem;
17
	font-size: 1em;
18
	line-height: 1em;
19
	color: white;
20
	background: white;
21
	margin: 1em;
22
	orphans: 1;
23
	widows: 1;
24
25
	column-count: 3;
26
	column-gap: 7em;
27
}
28
]]></style>
29
</head>
30
31
<body>
32
33
<div>
34
	<div>
35
		xx xx
36
		xx xx
37
		xx xx 
38
		xx xx
39
	</div>
40
	<div>
41
		xx xx
42
		xx xx
43
		xx xx 
44
		xx xx
45
	</div>
46
	<div>
47
		xx xx
48
		xx xx
49
		xx xx 
50
		xx xx
51
	</div>
52
</div>
53
54
</body>
55
</html>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-multicol/multicol-list-item-002-expected.html +20 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-multicol/multicol-list-item-002-expected.html_sec1
1
<!DOCTYPE html>
2
<meta charset="utf-8">
3
<title>CSS Reference: multi-column and list-item</title>
4
<link rel="author" title="Oriol Brufau" href="mailto:obrufau@igalia.com">
5
<link rel="stylesheet" type="text/css" href="/fonts/ahem.css" />
6
<style>
7
pre {
8
  font: 25px/1 Ahem;
9
}
10
</style>
11
<pre>
12
1. X   XXpXX
13
pXXXX  XXXXp
14
15
2. X   XXpXX
16
pXXXX  XXXXp
17
18
3. X   XXpXX
19
pXXXX  XXXXp
20
</pre>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-multicol/multicol-list-item-002.html +38 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-multicol/multicol-list-item-002.html_sec1
1
<!DOCTYPE html>
2
<meta charset="utf-8">
3
<title>CSS Multi-column Layout Test: multi-column and list-item</title>
4
<link rel="author" title="Oriol Brufau" href="mailto:obrufau@igalia.com">
5
<link rel="match" href="multicol-list-item-002-ref.html">
6
<link rel="help" href="http://www.w3.org/TR/css3-multicol/#pseudo-algorithm" title="3.4 Pseudo-algorithm" />
7
<meta name="assert" content="Checks that a list item can be dynamically converted into a multicol container.">
8
<link rel="stylesheet" type="text/css" href="/fonts/ahem.css" />
9
<style>
10
#self,
11
#before::before,
12
#after::after {
13
  display: list-item;
14
  list-style-type: decimal;
15
  list-style-position: inside;
16
  font: 25px/1 Ahem;
17
  width: 12ch;
18
  margin-top: 1ch;
19
}
20
#before::before,
21
#after::after {
22
  content: "X pXXXX XXpXX XXXXp";
23
}
24
.multicol #self,
25
.multicol #before::before,
26
.multicol #after::after {
27
  column-count: 2;
28
  column-gap: 2ch;
29
}
30
</style>
31
<div id="self">X pXXXX XXpXX XXXXp</div>
32
<div id="before"></div>
33
<div id="after"></div>
34
<script>
35
"use strict";
36
document.body.offsetLeft;
37
document.body.classList.add("multicol");
38
</script>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-multicol/multicol-overflow-clip-expected.html +16 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-multicol/multicol-overflow-clip-expected.html_sec1
1
<!DOCTYPE html>
2
<style>
3
.multicol {
4
  column-count: 3;
5
}
6
.parent {
7
  background: green;
8
  height: 50px;
9
}
10
</style>
11
<div class="multicol">
12
  <div class="parent"></div>
13
  <div class="parent"></div>
14
  <div class="parent"></div>
15
</div>
16
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-multicol/multicol-overflow-clip.html +33 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-multicol/multicol-overflow-clip.html_sec1
1
<!DOCTYPE html>
2
<title>CSS Multi-column Layout Test: multicol with overflow-clipped content</title>
3
<link rel="help" href="https://www.w3.org/TR/css-multicol-1/">
4
<link rel="match" href="multicol-overflow-clip-ref.html">
5
<meta name="assert" content="Overflow clip should work under multicol.">
6
<style>
7
.multicol {
8
  column-count: 3;
9
}
10
.parent {
11
  background: green;
12
  height: 50px;
13
  overflow: hidden;
14
}
15
.child2 {
16
  margin-top: 50px;
17
  background: darkred;
18
  color: red;
19
  height: 100px;
20
}
21
</style>
22
<div class="multicol">
23
  <div class="parent">
24
    <div class="child2">This should be hidden.</div>
25
  </div>
26
  <div class="parent">
27
    <div class="child2">This should be hidden.</div>
28
  </div>
29
  <div class="parent">
30
    <div class="child2">This should be hidden.</div>
31
  </div>
32
</div>
33
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-multicol/multicol-rule-style-groove-001-expected.xht -44 lines
Lines 1-44 a/LayoutTests/imported/w3c/web-platform-tests/css/css-multicol/multicol-rule-style-groove-001-expected.xht_sec1
1
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
2
<html xmlns="http://www.w3.org/1999/xhtml">
3
<head>
4
  <title>CSS Reftest Reference</title>
5
  <link rel="author" title="Opera Software ASA" href="http://www.opera.com/" />
6
  <link rel="reviewer" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" /> <!--  2013-08-15  -->
7
  <meta name="flags" content="ahem" />
8
  <style type="text/css"><![CDATA[
9
  body {margin: 8px;}
10
11
  p
12
  {
13
  line-height: 1.25em;
14
  margin: 1em 0em;
15
  }
16
17
  strong {line-height: 1;}
18
19
  div
20
  {
21
  border-collapse: collapse;
22
  border-left: orange groove 100px;
23
  color: transparent;
24
  display: table;
25
  font: 6.25em/1 Ahem;
26
  }
27
28
  div + div
29
  {
30
  position: relative;
31
  top: 10px;
32
  }
33
  ]]></style>
34
 </head>
35
 <body>
36
37
  <p>Test passes if the 2 orange squares are <strong>identical</strong>.</p>
38
39
  <div>T</div>
40
41
  <div>T</div>
42
43
 </body>
44
</html>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-multicol/multicol-rule-style-groove-001.xht -71 lines
Lines 1-71 a/LayoutTests/imported/w3c/web-platform-tests/css/css-multicol/multicol-rule-style-groove-001.xht_sec1
1
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
2
<html xmlns="http://www.w3.org/1999/xhtml">
3
 <head>
4
  <title>CSS Multi-column Layout Test: 'column-rule-style' groove</title>
5
  <link rel="author" title="Opera Software ASA" href="http://www.opera.com/" />
6
  <link rel="reviewer" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" /> <!--  2013-08-15  -->
7
  <link rel="help" href="http://www.w3.org/TR/css3-multicol/#crs" title="4.3. 'column-rule-style'" />
8
  <link rel="match" href="multicol-rule-style-groove-001-ref.xht" />
9
  <meta name="flags" content="ahem" />
10
  <style type="text/css"><![CDATA[
11
  body {margin: 8px;}
12
13
  p
14
  {
15
  line-height: 1.25em;
16
  margin: 1em 0em;
17
  }
18
19
  strong {line-height: 1;}
20
21
  div {color: transparent;}
22
23
  div#reference
24
  {
25
  border-collapse: collapse;
26
  border-left: orange groove 100px;
27
  font: 6.25em/1 Ahem;
28
  display: table;
29
  }
30
31
  div#test
32
  {
33
  font: 1.25em/1 Ahem; /* equivalent to 20px/1 Ahem */
34
  position: relative;
35
  right: 40px;
36
  top: 0.5em;
37
  width: 9em;
38
39
  column-count: 2;
40
  column-gap: 5em;
41
  column-rule: orange groove 5em;
42
  }
43
  ]]></style>
44
 </head>
45
46
 <body>
47
48
  <p>Test passes if the 2 orange squares are <strong>identical</strong>.</p>
49
50
  <div id="reference">T</div>
51
52
  <div id="test">Le ft Co lu mn Ri gh Co lu mn</div>
53
54
  <!-- 
55
56
  Expected results
57
    column-gap
58
    column-rule
59
     v=====v
60
  *************
61
  |Le|     |Ri|
62
  |ft|     |gh|
63
  |Co|     |Co|
64
  |lu|     |lu|
65
  |mn|     |mn|
66
  *************
67
68
   -->
69
70
 </body>
71
</html>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-multicol/multicol-rule-style-inset-001-expected.xht -44 lines
Lines 1-44 a/LayoutTests/imported/w3c/web-platform-tests/css/css-multicol/multicol-rule-style-inset-001-expected.xht_sec1
1
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
2
<html xmlns="http://www.w3.org/1999/xhtml">
3
<head>
4
  <title>CSS Reftest Reference</title>
5
  <link rel="author" title="Opera Software ASA" href="http://www.opera.com/" />
6
  <link rel="reviewer" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" /> <!--  2013-08-15  -->
7
  <meta name="flags" content="ahem" />
8
  <style type="text/css"><![CDATA[
9
  body {margin: 8px;}
10
11
  p
12
  {
13
  line-height: 1.25em;
14
  margin: 1em 0em;
15
  }
16
17
  strong {line-height: 1;}
18
19
  div
20
  {
21
  border-collapse: collapse;
22
  border-left: orange ridge 100px;
23
  color: transparent;
24
  display: table;
25
  font: 6.25em/1 Ahem;
26
  }
27
28
  div + div
29
  {
30
  position: relative;
31
  top: 10px;
32
  }
33
  ]]></style>
34
 </head>
35
 <body>
36
37
  <p>Test passes if the 2 orange squares are <strong>identical</strong>.</p>
38
39
  <div>T</div>
40
41
  <div>T</div>
42
43
 </body>
44
</html>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-multicol/multicol-rule-style-inset-001.xht -71 lines
Lines 1-71 a/LayoutTests/imported/w3c/web-platform-tests/css/css-multicol/multicol-rule-style-inset-001.xht_sec1
1
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
2
<html xmlns="http://www.w3.org/1999/xhtml">
3
 <head>
4
  <title>CSS Multi-column Layout Test: 'column-rule-style' inset</title>
5
  <link rel="author" title="Opera Software ASA" href="http://www.opera.com/" />
6
  <link rel="reviewer" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" /> <!--  2013-08-15  -->
7
  <link rel="help" href="http://www.w3.org/TR/css3-multicol/#crs" title="4.3. 'column-rule-style'" />
8
  <link rel="match" href="multicol-rule-style-ridge-001-ref.xht" />
9
  <meta name="flags" content="ahem" />
10
  <style type="text/css"><![CDATA[
11
  body {margin: 8px;}
12
13
  p
14
  {
15
  line-height: 1.25em;
16
  margin: 1em 0em;
17
  }
18
19
  strong {line-height: 1;}
20
21
  div {color: transparent;}
22
23
  div#reference
24
  {
25
  border-collapse: collapse;
26
  border-left: orange inset 100px;
27
  font: 6.25em/1 Ahem;
28
  display: table;
29
  }
30
31
  div#test
32
  {
33
  font: 1.25em/1 Ahem; /* equivalent to 20px/1 Ahem */
34
  position: relative;
35
  right: 40px;
36
  top: 0.5em;
37
  width: 9em;
38
39
  column-count: 2;
40
  column-gap: 5em;
41
  column-rule: orange inset 5em;
42
  }
43
  ]]></style>
44
 </head>
45
46
 <body>
47
48
  <p>Test passes if the 2 orange squares are <strong>identical</strong>.</p>
49
50
  <div id="reference">T</div>
51
52
  <div id="test">Le ft Co lu mn Ri gh Co lu mn</div>
53
54
  <!-- 
55
56
  Expected results
57
    column-gap
58
    column-rule
59
     v=====v
60
  *************
61
  |Le|     |Ri|
62
  |ft|     |gh|
63
  |Co|     |Co|
64
  |lu|     |lu|
65
  |mn|     |mn|
66
  *************
67
68
   -->
69
70
 </body>
71
</html>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-multicol/multicol-rule-style-outset-001-expected.xht -44 lines
Lines 1-44 a/LayoutTests/imported/w3c/web-platform-tests/css/css-multicol/multicol-rule-style-outset-001-expected.xht_sec1
1
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
2
<html xmlns="http://www.w3.org/1999/xhtml">
3
<head>
4
  <title>CSS Reftest Reference</title>
5
  <link rel="author" title="Opera Software ASA" href="http://www.opera.com/" />
6
  <link rel="reviewer" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" /> <!--  2013-08-15  -->
7
  <meta name="flags" content="ahem" />
8
  <style type="text/css"><![CDATA[
9
  body {margin: 8px;}
10
11
  p
12
  {
13
  line-height: 1.25em;
14
  margin: 1em 0em;
15
  }
16
17
  strong {line-height: 1;}
18
19
  div
20
  {
21
  border-collapse: collapse;
22
  border-left: orange groove 100px;
23
  color: transparent;
24
  display: table;
25
  font: 6.25em/1 Ahem;
26
  }
27
28
  div + div
29
  {
30
  position: relative;
31
  top: 10px;
32
  }
33
  ]]></style>
34
 </head>
35
 <body>
36
37
  <p>Test passes if the 2 orange squares are <strong>identical</strong>.</p>
38
39
  <div>T</div>
40
41
  <div>T</div>
42
43
 </body>
44
</html>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-multicol/multicol-rule-style-outset-001.xht -71 lines
Lines 1-71 a/LayoutTests/imported/w3c/web-platform-tests/css/css-multicol/multicol-rule-style-outset-001.xht_sec1
1
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
2
<html xmlns="http://www.w3.org/1999/xhtml">
3
 <head>
4
  <title>CSS Multi-column Layout Test: 'column-rule-style' outset</title>
5
  <link rel="author" title="Opera Software ASA" href="http://www.opera.com/" />
6
  <link rel="reviewer" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" /> <!--  2013-08-15  -->
7
  <link rel="help" href="http://www.w3.org/TR/css3-multicol/#crs" title="4.3. 'column-rule-style'" />
8
  <link rel="match" href="multicol-rule-style-groove-001-ref.xht" />
9
  <meta name="flags" content="ahem" />
10
  <style type="text/css"><![CDATA[
11
  body {margin: 8px;}
12
13
  p
14
  {
15
  line-height: 1.25em;
16
  margin: 1em 0em;
17
  }
18
19
  strong {line-height: 1;}
20
21
  div {color: transparent;}
22
23
  div#reference
24
  {
25
  border-collapse: collapse;
26
  border-left: orange outset 100px;
27
  font: 6.25em/1 Ahem;
28
  display: table;
29
  }
30
31
  div#test
32
  {
33
  font: 1.25em/1 Ahem; /* equivalent to 20px/1 Ahem */
34
  position: relative;
35
  right: 40px;
36
  top: 0.5em;
37
  width: 9em;
38
39
  column-count: 2;
40
  column-gap: 5em;
41
  column-rule: orange outset 5em;
42
  }
43
  ]]></style>
44
 </head>
45
46
 <body>
47
48
  <p>Test passes if the 2 orange squares are <strong>identical</strong>.</p>
49
50
  <div id="reference">T</div>
51
52
  <div id="test">Le ft Co lu mn Ri gh Co lu mn</div>
53
54
  <!-- 
55
56
  Expected results
57
    column-gap
58
    column-rule
59
     v=====v
60
  *************
61
  |Le|     |Ri|
62
  |ft|     |gh|
63
  |Co|     |Co|
64
  |lu|     |lu|
65
  |mn|     |mn|
66
  *************
67
68
   -->
69
70
 </body>
71
</html>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-multicol/multicol-rule-style-ridge-001-expected.xht -44 lines
Lines 1-44 a/LayoutTests/imported/w3c/web-platform-tests/css/css-multicol/multicol-rule-style-ridge-001-expected.xht_sec1
1
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
2
<html xmlns="http://www.w3.org/1999/xhtml">
3
<head>
4
  <title>CSS Reftest Reference</title>
5
  <link rel="author" title="Opera Software ASA" href="http://www.opera.com/" />
6
  <link rel="reviewer" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" /> <!--  2013-08-15  -->
7
  <meta name="flags" content="ahem" />
8
  <style type="text/css"><![CDATA[
9
  body {margin: 8px;}
10
11
  p
12
  {
13
  line-height: 1.25em;
14
  margin: 1em 0em;
15
  }
16
17
  strong {line-height: 1;}
18
19
  div
20
  {
21
  border-collapse: collapse;
22
  border-left: orange ridge 100px;
23
  color: transparent;
24
  display: table;
25
  font: 6.25em/1 Ahem;
26
  }
27
28
  div + div
29
  {
30
  position: relative;
31
  top: 10px;
32
  }
33
  ]]></style>
34
 </head>
35
 <body>
36
37
  <p>Test passes if the 2 orange squares are <strong>identical</strong>.</p>
38
39
  <div>T</div>
40
41
  <div>T</div>
42
43
 </body>
44
</html>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-multicol/multicol-rule-style-ridge-001.xht -71 lines
Lines 1-71 a/LayoutTests/imported/w3c/web-platform-tests/css/css-multicol/multicol-rule-style-ridge-001.xht_sec1
1
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
2
<html xmlns="http://www.w3.org/1999/xhtml">
3
 <head>
4
  <title>CSS Multi-column Layout Test: 'column-rule-style' ridge</title>
5
  <link rel="author" title="Opera Software ASA" href="http://www.opera.com/" />
6
  <link rel="reviewer" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" /> <!--  2013-08-15  -->
7
  <link rel="help" href="http://www.w3.org/TR/css3-multicol/#crs" title="4.3. 'column-rule-style'" />
8
  <link rel="match" href="multicol-rule-style-ridge-001-ref.xht" />
9
  <meta name="flags" content="ahem" />
10
  <style type="text/css"><![CDATA[
11
  body {margin: 8px;}
12
13
  p
14
  {
15
  line-height: 1.25em;
16
  margin: 1em 0em;
17
  }
18
19
  strong {line-height: 1;}
20
21
  div {color: transparent;}
22
23
  div#reference
24
  {
25
  border-collapse: collapse;
26
  border-left: orange ridge 100px;
27
  font: 6.25em/1 Ahem;
28
  display: table;
29
  }
30
31
  div#test
32
  {
33
  font: 1.25em/1 Ahem; /* equivalent to 20px/1 Ahem */
34
  position: relative;
35
  right: 40px;
36
  top: 0.5em;
37
  width: 9em;
38
39
  column-count: 2;
40
  column-gap: 5em;
41
  column-rule: orange ridge 5em;
42
  }
43
  ]]></style>
44
 </head>
45
46
 <body>
47
48
  <p>Test passes if the 2 orange squares are <strong>identical</strong>.</p>
49
50
  <div id="reference">T</div>
51
52
  <div id="test">Le ft Co lu mn Ri gh Co lu mn</div>
53
54
  <!-- 
55
56
  Expected results
57
    column-gap
58
    column-rule
59
     v=====v
60
  *************
61
  |Le|     |Ri|
62
  |ft|     |gh|
63
  |Co|     |Co|
64
  |lu|     |lu|
65
  |mn|     |mn|
66
  *************
67
68
   -->
69
70
 </body>
71
</html>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-multicol/multicol-span-all-child-001-expected.xht -109 lines
Lines 1-109 a/LayoutTests/imported/w3c/web-platform-tests/css/css-multicol/multicol-span-all-child-001-expected.xht_sec1
1
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
2
<html xmlns="http://www.w3.org/1999/xhtml">
3
<head>
4
  <title>CSS Reftest Reference</title>
5
  <link rel="author" title="Opera Software ASA" href="http://www.opera.com/" />
6
  <link rel="reviewer" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" /> <!--  2013-08-19  -->
7
  <meta name="flags" content="" />
8
  <style type="text/css"><![CDATA[
9
  div#rel-pos-wrapper
10
  {
11
  background-color: blue;
12
  font-size: 1.25em;
13
  height: 10em;
14
  position: relative;
15
  width: 12em;
16
  }
17
18
  div > div {position: absolute;}
19
  
20
  div#first-black
21
  {
22
  background-color: black;
23
  left: 7em;
24
  height: 1em;
25
  top: 0em;
26
  width: 5em;
27
  }
28
29
  div#first-yellow
30
  {
31
  background-color: yellow;
32
  left: 7em;
33
  height: 3em;
34
  top: 1em;
35
  width: 1em;
36
  }
37
38
  div#first-white
39
  {
40
  background-color: white;
41
  left: 10em;
42
  height: 9em;
43
  top: 1em;
44
  width: 2em;
45
  }
46
47
  div#second-black
48
  {
49
  background-color: black;
50
  left: 2em;
51
  height: 1em;
52
  top: 2em;
53
  width: 3em;
54
  }
55
56
  div#second-yellow
57
  {
58
  background-color: yellow;
59
  left: 2em;
60
  height: 3em;
61
  top: 3em;
62
  width: 1em;
63
  }
64
65
  div#third-black
66
  {
67
  background-color: black;
68
  left: 2em;
69
  height: 1em;
70
  top: 6em;
71
  width: 3em;
72
  }
73
74
  div#third-yellow
75
  {
76
  background-color: yellow;
77
  left: 2em;
78
  height: 3em;
79
  top: 7em;
80
  width: 1em;
81
  }
82
83
  div#second-white
84
  {
85
  background-color: white;
86
  left: 5em;
87
  height: 4em;
88
  top: 6em;
89
  width: 7em;
90
  }
91
  ]]></style>
92
 </head>
93
 <body>
94
95
  <div id="rel-pos-wrapper">
96
97
    <div id="first-black"></div>
98
    <div id="first-yellow"></div>
99
    <div id="first-white"></div>
100
    <div id="second-black"></div>
101
    <div id="second-yellow"></div>
102
    <div id="third-black"></div>
103
    <div id="third-yellow"></div>
104
    <div id="second-white"></div>
105
106
  </div>
107
108
 </body>
109
</html>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-multicol/multicol-span-all-child-001.xht -53 lines
Lines 1-53 a/LayoutTests/imported/w3c/web-platform-tests/css/css-multicol/multicol-span-all-child-001.xht_sec1
1
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
2
<html xmlns="http://www.w3.org/1999/xhtml">
3
 <head>
4
  <title>CSS Multi-column Layout Test: 'column-span: all' element with block children (complex)</title>
5
  <link rel="author" title="Opera Software ASA" href="http://www.opera.com/" />
6
  <link rel="reviewer" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" /> <!--  2013-08-19  -->
7
  <link rel="help" href="http://www.w3.org/TR/css3-multicol/#column-span" title="6.1. 'column-span'" />
8
  <link rel="bookmark" title="[css3-multicol] spanning element with only block children" href="http://lists.w3.org/Archives/Public/www-style/2013Aug/0318.html" />
9
  <link rel="match" href="multicol-span-all-child-001-ref.xht" />
10
  <meta name="flags" content="ahem may" />
11
  <meta name="assert" content="This test checks how a spanning element with block children is rendered inside a multi-column element with a set height which is insufficient for rendering the entire spanning element. Since the available height (10em)is insufficient to render the spanning element (height needed: 3 times 4em) entirely inside the multi-column element, then UA may treat 'column-span: all' as 'column-span: none'." />
12
  <style type="text/css"><![CDATA[
13
  body
14
  {
15
  color: black;
16
  font: 1.25em/1 Ahem;
17
  height: 10em;
18
  orphans: 1;
19
  widows: 1;
20
  width: 10em;
21
22
  column-count: 2;
23
  column-fill: auto;
24
  column-gap: 0em;
25
  }
26
27
  div
28
  {
29
  background-color: yellow;
30
  border: blue solid 2em;
31
32
  column-span: all;
33
  }
34
35
  span
36
  {
37
  display: block;
38
  height: 4em;
39
  width: 5em;
40
  }
41
  ]]></style>
42
 </head>
43
44
 <body>
45
46
  <div>
47
    <span>block</span>
48
    <span>block</span>
49
    <span>block</span>
50
  </div>
51
52
 </body>
53
</html>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-multicol/multicol-span-all-child-002-expected.xht -32 lines
Lines 1-32 a/LayoutTests/imported/w3c/web-platform-tests/css/css-multicol/multicol-span-all-child-002-expected.xht_sec1
1
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
2
<html xmlns="http://www.w3.org/1999/xhtml">
3
<head>
4
  <title>CSS Reftest Reference</title>
5
  <link rel="author" title="Opera Software ASA" href="http://www.opera.com/" />
6
  <link rel="reviewer" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" /> <!--  2013-08-19  -->
7
  <meta name="flags" content="" />
8
  <style type="text/css"><![CDATA[
9
  div#multi-column
10
  {
11
  background-color: black;
12
  height: 8em;
13
  width: 10em;
14
  }
15
16
  div#overflow
17
  {
18
  bottom: 8em;
19
  font: 1em/1 serif;
20
  margin-left: 10em;
21
  position: relative;
22
  }
23
  ]]></style>
24
 </head>
25
 <body>
26
27
  <div id="multi-column"></div>
28
  
29
  <div id="overflow">abc deg<br />ghk mno</div>
30
31
 </body>
32
</html>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-multicol/multicol-span-all-child-002.xht -86 lines
Lines 1-86 a/LayoutTests/imported/w3c/web-platform-tests/css/css-multicol/multicol-span-all-child-002.xht_sec1
1
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
2
<html xmlns="http://www.w3.org/1999/xhtml">
3
 <head>
4
  <title>CSS Multi-column Layout Test: 'column-span: all' element with block children (complex)</title>
5
  <link rel="author" title="Opera Software ASA" href="http://www.opera.com/" />
6
  <link rel="reviewer" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" /> <!--  2013-08-19  -->
7
  <link rel="help" href="http://www.w3.org/TR/css3-multicol/#column-span" title="6.1. 'column-span'" />
8
  <link rel="bookmark" title="[css3-multicol] spanning element with only block children" href="http://lists.w3.org/Archives/Public/www-style/2013Aug/0318.html" />
9
  <link rel="match" href="multicol-span-all-child-002-ref.xht" />
10
  <meta name="flags" content="may" />
11
  <meta name="assert" content="This test checks how spanning elements with block children is rendered inside a multi-column element with a set height which is insufficient for rendering both spanning elements entirely. Since available space (height of 8em) is insufficient to render both spanning elements (4 times 4em plus 2em) entirely inside the multi-column element, then UA may treat 'column-span: all' as 'column-span: none'." />
12
  <style type="text/css"><![CDATA[
13
  html {background-color: white;}
14
15
  body
16
  {
17
  background-color: black;
18
  height: 8em;
19
  orphans: 1;
20
  widows: 1;
21
  width: 10em;
22
23
  column-count: 2;
24
  column-gap: 0em;
25
26
  /*
27
28
  N == 2;
29
30
  W == 5em;
31
32
  */
33
34
  }
35
36
  div, p
37
  {
38
  font: 1em/1 serif;
39
  margin-top: 0em;
40
41
  column-span: all;
42
  }
43
44
  span
45
  {
46
  color: black;
47
  display: block;
48
  height: 4em;
49
  width: 5em;
50
  }
51
  ]]></style>
52
 </head>
53
54
 <body>
55
56
  <div>
57
    <span>FAIL</span>
58
    <span>FAIL</span>
59
    <span>FAIL</span>
60
    <span>FAIL</span>
61
  </div>
62
63
  <p>abc deg ghk mno</p>
64
65
  <!-- 
66
67
  Expected results:
68
69
  ************************
70
  |FAIL       |FAIL      |abc deg
71
  |           |          |ghk mno
72
  |           |          |
73
  |           |          |
74
  |FAIL       |FAIL      |
75
  |           |          |
76
  |           |          |
77
  |           |          |
78
  ************************
79
80
  The test presumes, postulates that 
81
  "abc deg" occupies not more than 5em.
82
83
   -->
84
85
 </body>
86
</html>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-multicol/multicol-span-all-margin-nested-003-expected.xht -23 lines
Lines 1-23 a/LayoutTests/imported/w3c/web-platform-tests/css/css-multicol/multicol-span-all-margin-nested-003-expected.xht_sec1
1
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
2
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
3
<html xmlns="http://www.w3.org/1999/xhtml">
4
<head>
5
<title>multicolomn | column-span inside block</title>
6
<link rel="author" title="Opera Software ASA" href="http://www.opera.com/"/>
7
<style type="text/css"><![CDATA[
8
body>div {
9
	background: black;
10
	width: 22em;
11
	height: 2em;
12
	position: absolute;
13
}
14
]]></style>
15
</head>
16
17
<body>
18
19
<div>
20
</div>
21
22
</body>
23
</html>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-multicol/multicol-span-all-margin-nested-003.xht -39 lines
Lines 1-39 a/LayoutTests/imported/w3c/web-platform-tests/css/css-multicol/multicol-span-all-margin-nested-003.xht_sec1
1
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
2
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
3
<html xmlns="http://www.w3.org/1999/xhtml">
4
<head>
5
<title>multicolomn | column-span inside block</title>
6
<link rel="author" title="Opera Software ASA" href="http://www.opera.com/"/>
7
<link rel="help" href="http://www.w3.org/TR/css3-multicol/#spanning-columns"/>
8
<link rel="match" href="multicol-span-all-margin-nested-3-ref.xht"/>
9
<meta name="flags" content="ahem"/>
10
<style type="text/css"><![CDATA[
11
body>div {
12
	font-family: ahem;
13
	font-size: 1em;
14
	line-height: 1em;
15
	color: black;
16
	background: black;
17
	position: absolute;
18
	orphans: 1;
19
	widows: 1;
20
21
	column-count: 4;
22
}
23
#spanned {
24
	column-span: all;
25
}
26
]]></style>
27
</head>
28
29
<body>
30
31
<div>
32
	<div>
33
		<div id="spanned">x</div>
34
	</div>
35
	FAIL FAIL FAIL FAIL
36
</div>
37
38
</body>
39
</html>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-multicol/multicol-width-ems-001-expected.xht -59 lines
Lines 1-59 a/LayoutTests/imported/w3c/web-platform-tests/css/css-multicol/multicol-width-ems-001-expected.xht_sec1
1
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
2
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
3
<html xmlns="http://www.w3.org/1999/xhtml">
4
<head>
5
<title>multicolumn | column-width</title>
6
<link rel="author" title="Opera Software ASA" href="http://www.opera.com/"/>
7
<style type="text/css"><![CDATA[
8
body {
9
	margin: 0;
10
	width: 40em;
11
}
12
div {
13
	font-family: monospace;
14
	font-size: 1em;
15
	line-height: 1em;
16
	color: black;
17
	background: yellow;
18
	orphans: 1;
19
	widows: 1;
20
}
21
span {
22
	float: left;
23
	width: 8em;
24
}
25
div::after {
26
	content: "";
27
	clear: both;
28
	display: block;
29
}
30
]]></style>
31
</head>
32
33
<body>
34
35
<div>
36
<span>
37
	one two three four
38
	five six seven eight 
39
</span>
40
<span>
41
	nineten eleven twelve
42
	thirtn 
43
</span>
44
<span>
45
	fourtnfiftn sixtn
46
	seventn eightn
47
</span>
48
<span>
49
	ninetn twenty
50
	hundred thousand 
51
</span>
52
<span>
53
	million billion
54
	trillion 
55
</span>
56
</div>
57
58
</body>
59
</html>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-multicol/multicol-width-ems-001.xht -42 lines
Lines 1-42 a/LayoutTests/imported/w3c/web-platform-tests/css/css-multicol/multicol-width-ems-001.xht_sec1
1
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
2
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
3
<html xmlns="http://www.w3.org/1999/xhtml">
4
<head>
5
<title>multicolumn | column-width</title>
6
<link rel="author" title="Opera Software ASA" href="http://www.opera.com/"/>
7
<link rel="help" href="http://www.w3.org/TR/css3-multicol/#the-number-and-width-of-columns"/>
8
<link rel="match" href="multicol-width-ems-ref.xht"/>
9
<meta name="flags" content=""/>
10
<style type="text/css"><![CDATA[
11
body {
12
	margin: 0;
13
	width: 40em;
14
}
15
div {
16
	font-family: monospace;
17
	font-size: 1em;
18
	line-height: 1em;
19
	color: black;
20
	background: yellow;
21
	orphans: 1;
22
	widows: 1;
23
24
	column-width: 8em;
25
	column-gap: 0;
26
}
27
]]></style>
28
</head>
29
30
<body>
31
<div>
32
	one two three four
33
	five six seven eight
34
	nineten eleven twelve
35
	thirtn fourtnfiftn sixtn
36
	seventn eightn ninetn twenty
37
	hundred thousand million billion
38
	trillion 
39
</div>
40
41
</body>
42
</html>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-multicol/named-page-expected.xht +19 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-multicol/named-page-expected.xht_sec1
1
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
2
<html xmlns="http://www.w3.org/1999/xhtml">
3
 <head>
4
  <title>CSS Reftest Reference</title>
5
  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
6
  <style type="text/css"><![CDATA[
7
  div
8
  {
9
  background-color: green;
10
  height: 100px;
11
  width: 100px;
12
  }
13
  ]]></style>
14
 </head>
15
 <body>
16
  <p>Test passes if there is a filled green square and <strong>no red</strong>.</p>
17
  <div></div>
18
 </body>
19
</html>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-multicol/named-page.html +10 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-multicol/named-page.html_sec1
1
<!DOCTYPE html>
2
<link rel="author" title="Morten Stenshorne" href="mailto:mstensho@chromium.org">
3
<link rel="help" href="https://bugs.chromium.org/p/chromium/issues/detail?id=1100308">
4
<meta name="assert" content="The 'page' property should only have an effect if we're paginated, i.e. not inside multicol containers (unless we're also paginated)">
5
<link rel="match" href="../reference/ref-filled-green-100px-square.xht">
6
<p>Test passes if there is a filled green square and <strong>no red</strong>.</p>
7
<div style="columns:1; column-fill:auto; width:100px; height:100px; background:red;">
8
  <div style="height:50px; background:green;"></div>
9
  <div style="page:bogus; height:50px; background:green;"></div>
10
</div>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-multicol/nested-with-too-tall-line-expected.html +6 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-multicol/nested-with-too-tall-line-expected.html_sec1
1
<!DOCTYPE html>
2
<link rel="author" title="Morten Stenshorne" href="mailto:mstensho@chromium.org">
3
<p>The word "PASS" should be seen below, and there should be no red.</p>
4
<div style="line-height:200px;">
5
  PASS
6
</div>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-multicol/nested-with-too-tall-line.html +14 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-multicol/nested-with-too-tall-line.html_sec1
1
<!DOCTYPE html>
2
<link rel="author" title="Morten Stenshorne" href="mailto:mstensho@chromium.org">
3
<link rel="help" href="https://www.w3.org/TR/css-multicol-1/#the-multi-column-model">
4
<link rel="help" href="https://drafts.csswg.org/css-break/#unforced-breaks">
5
<link rel="match" href="nested-with-too-tall-line-ref.html">
6
<style>
7
    .multicol { columns:2; column-fill:auto; }
8
</style>
9
<p>The word "PASS" should be seen below, and there should be no red.</p>
10
<div class="multicol" style="width:100px; height:100px; line-height:200px;">
11
    <div class="multicol" style="height:200px; column-rule:solid red;">
12
        PASS
13
    </div>
14
</div>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-multicol/no-balancing-after-column-span-expected.xht +19 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-multicol/no-balancing-after-column-span-expected.xht_sec1
1
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
2
<html xmlns="http://www.w3.org/1999/xhtml">
3
 <head>
4
  <title>CSS Reftest Reference</title>
5
  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
6
  <style type="text/css"><![CDATA[
7
  div
8
  {
9
  background-color: green;
10
  height: 100px;
11
  width: 100px;
12
  }
13
  ]]></style>
14
 </head>
15
 <body>
16
  <p>Test passes if there is a filled green square and <strong>no red</strong>.</p>
17
  <div></div>
18
 </body>
19
</html>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-multicol/no-balancing-after-column-span.html +33 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-multicol/no-balancing-after-column-span.html_sec1
1
<!DOCTYPE html>
2
<html>
3
  <meta charset="utf-8">
4
  <link rel="author" title="Ting-Yu Lin" href="mailto:tlin@mozilla.com">
5
  <link rel="author" title="Mozilla" href="http://www.mozilla.org/">
6
  <link rel="help" href="https://drafts.csswg.org/css-multicol-1/#column-span">
7
  <link rel="help" href="https://github.com/w3c/csswg-drafts/issues/4689">
8
  <link rel="match" href="../reference/ref-filled-green-100px-square.xht">
9
  <meta name="assert" content="This test verifies columns are not balancing after a column-spanning element in a fixed height and column-fill:auto column container.">
10
11
  <style>
12
  .columns {
13
    column-fill: auto;
14
    column-count: 2;
15
    column-gap: 0;
16
    width: 200px;
17
    height: 100px;
18
  }
19
  .colspan {
20
    column-span: all;
21
  }
22
  .content {
23
    height: 100px;
24
    background: green;
25
  }
26
  </style>
27
28
  <p>Test passes if there is a filled green square and <strong>no red</strong>.</p>
29
  <div class="columns">
30
    <div class="colspan"></div>
31
    <div class="content"></div>
32
  </div>
33
</html>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-multicol/support/w3c-import.log -1 lines
Lines 22-28 List of files: a/LayoutTests/imported/w3c/web-platform-tests/css/css-multicol/support/w3c-import.log_sec1
22
/LayoutTests/imported/w3c/web-platform-tests/css/css-multicol/support/1x1-white.png
22
/LayoutTests/imported/w3c/web-platform-tests/css/css-multicol/support/1x1-white.png
23
/LayoutTests/imported/w3c/web-platform-tests/css/css-multicol/support/60x60-gg-rr.png
23
/LayoutTests/imported/w3c/web-platform-tests/css/css-multicol/support/60x60-gg-rr.png
24
/LayoutTests/imported/w3c/web-platform-tests/css/css-multicol/support/60x60-green.png
24
/LayoutTests/imported/w3c/web-platform-tests/css/css-multicol/support/60x60-green.png
25
/LayoutTests/imported/w3c/web-platform-tests/css/css-multicol/support/60x60-red.png
26
/LayoutTests/imported/w3c/web-platform-tests/css/css-multicol/support/a-green.css
25
/LayoutTests/imported/w3c/web-platform-tests/css/css-multicol/support/a-green.css
27
/LayoutTests/imported/w3c/web-platform-tests/css/css-multicol/support/b-green.css
26
/LayoutTests/imported/w3c/web-platform-tests/css/css-multicol/support/b-green.css
28
/LayoutTests/imported/w3c/web-platform-tests/css/css-multicol/support/black20x20.png
27
/LayoutTests/imported/w3c/web-platform-tests/css/css-multicol/support/black20x20.png
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-multicol/w3c-import.log -1 / +33 lines
Lines 9-22 Do NOT modify or remove this file. a/LayoutTests/imported/w3c/web-platform-tests/css/css-multicol/w3c-import.log_sec1
9
9
10
------------------------------------------------------------------------
10
------------------------------------------------------------------------
11
Properties requiring vendor prefixes:
11
Properties requiring vendor prefixes:
12
None
12
box-decoration-break
13
Property values requiring vendor prefixes:
13
Property values requiring vendor prefixes:
14
None
14
None
15
------------------------------------------------------------------------
15
------------------------------------------------------------------------
16
List of files:
16
List of files:
17
/LayoutTests/imported/w3c/web-platform-tests/css/css-multicol/META.yml
17
/LayoutTests/imported/w3c/web-platform-tests/css/css-multicol/META.yml
18
/LayoutTests/imported/w3c/web-platform-tests/css/css-multicol/abspos-in-multicol-with-spanner-crash.html
18
/LayoutTests/imported/w3c/web-platform-tests/css/css-multicol/abspos-in-multicol-with-spanner-crash.html
19
/LayoutTests/imported/w3c/web-platform-tests/css/css-multicol/always-balancing-before-column-span-expected.xht
20
/LayoutTests/imported/w3c/web-platform-tests/css/css-multicol/always-balancing-before-column-span.html
21
/LayoutTests/imported/w3c/web-platform-tests/css/css-multicol/as-column-flex-item-expected.xht
22
/LayoutTests/imported/w3c/web-platform-tests/css/css-multicol/as-column-flex-item.html
19
/LayoutTests/imported/w3c/web-platform-tests/css/css-multicol/balance-table-with-fractional-height-row.html
23
/LayoutTests/imported/w3c/web-platform-tests/css/css-multicol/balance-table-with-fractional-height-row.html
24
/LayoutTests/imported/w3c/web-platform-tests/css/css-multicol/change-abspos-width-in-second-column-crash.html
25
/LayoutTests/imported/w3c/web-platform-tests/css/css-multicol/change-intrinsic-width-expected.xht
26
/LayoutTests/imported/w3c/web-platform-tests/css/css-multicol/change-intrinsic-width.html
27
/LayoutTests/imported/w3c/web-platform-tests/css/css-multicol/change-out-of-flow-type-and-remove-inner-multicol-crash.html
28
/LayoutTests/imported/w3c/web-platform-tests/css/css-multicol/column-balancing-paged-001-print-expected.html
29
/LayoutTests/imported/w3c/web-platform-tests/css/css-multicol/column-balancing-paged-001-print.html
20
/LayoutTests/imported/w3c/web-platform-tests/css/css-multicol/column-count-used-001-expected.xht
30
/LayoutTests/imported/w3c/web-platform-tests/css/css-multicol/column-count-used-001-expected.xht
21
/LayoutTests/imported/w3c/web-platform-tests/css/css-multicol/column-count-used-001.html
31
/LayoutTests/imported/w3c/web-platform-tests/css/css-multicol/column-count-used-001.html
22
/LayoutTests/imported/w3c/web-platform-tests/css/css-multicol/columnfill-auto-max-height-001-expected.xht
32
/LayoutTests/imported/w3c/web-platform-tests/css/css-multicol/columnfill-auto-max-height-001-expected.xht
Lines 25-32 List of files: a/LayoutTests/imported/w3c/web-platform-tests/css/css-multicol/w3c-import.log_sec2
25
/LayoutTests/imported/w3c/web-platform-tests/css/css-multicol/columnfill-auto-max-height-002.html
35
/LayoutTests/imported/w3c/web-platform-tests/css/css-multicol/columnfill-auto-max-height-002.html
26
/LayoutTests/imported/w3c/web-platform-tests/css/css-multicol/composited-under-clip-under-multicol-expected.html
36
/LayoutTests/imported/w3c/web-platform-tests/css/css-multicol/composited-under-clip-under-multicol-expected.html
27
/LayoutTests/imported/w3c/web-platform-tests/css/css-multicol/composited-under-clip-under-multicol.html
37
/LayoutTests/imported/w3c/web-platform-tests/css/css-multicol/composited-under-clip-under-multicol.html
38
/LayoutTests/imported/w3c/web-platform-tests/css/css-multicol/equal-gap-and-rule-expected.xht
39
/LayoutTests/imported/w3c/web-platform-tests/css/css-multicol/equal-gap-and-rule.html
28
/LayoutTests/imported/w3c/web-platform-tests/css/css-multicol/extremely-tall-multicol-with-extremely-tall-child-crash.html
40
/LayoutTests/imported/w3c/web-platform-tests/css/css-multicol/extremely-tall-multicol-with-extremely-tall-child-crash.html
29
/LayoutTests/imported/w3c/web-platform-tests/css/css-multicol/filter-with-abspos.html
41
/LayoutTests/imported/w3c/web-platform-tests/css/css-multicol/filter-with-abspos.html
42
/LayoutTests/imported/w3c/web-platform-tests/css/css-multicol/fixed-size-child-with-overflow-expected.xht
43
/LayoutTests/imported/w3c/web-platform-tests/css/css-multicol/fixed-size-child-with-overflow.html
30
/LayoutTests/imported/w3c/web-platform-tests/css/css-multicol/float-and-block-expected.xht
44
/LayoutTests/imported/w3c/web-platform-tests/css/css-multicol/float-and-block-expected.xht
31
/LayoutTests/imported/w3c/web-platform-tests/css/css-multicol/float-and-block.html
45
/LayoutTests/imported/w3c/web-platform-tests/css/css-multicol/float-and-block.html
32
/LayoutTests/imported/w3c/web-platform-tests/css/css-multicol/float-with-line-after-spanner-expected.html
46
/LayoutTests/imported/w3c/web-platform-tests/css/css-multicol/float-with-line-after-spanner-expected.html
Lines 37-42 List of files: a/LayoutTests/imported/w3c/web-platform-tests/css/css-multicol/w3c-import.log_sec3
37
/LayoutTests/imported/w3c/web-platform-tests/css/css-multicol/inline-block-and-column-span-all.html
51
/LayoutTests/imported/w3c/web-platform-tests/css/css-multicol/inline-block-and-column-span-all.html
38
/LayoutTests/imported/w3c/web-platform-tests/css/css-multicol/intrinsic-size-001-expected.xht
52
/LayoutTests/imported/w3c/web-platform-tests/css/css-multicol/intrinsic-size-001-expected.xht
39
/LayoutTests/imported/w3c/web-platform-tests/css/css-multicol/intrinsic-size-001.html
53
/LayoutTests/imported/w3c/web-platform-tests/css/css-multicol/intrinsic-size-001.html
54
/LayoutTests/imported/w3c/web-platform-tests/css/css-multicol/intrinsic-width-change-column-count-expected.xht
55
/LayoutTests/imported/w3c/web-platform-tests/css/css-multicol/intrinsic-width-change-column-count.html
40
/LayoutTests/imported/w3c/web-platform-tests/css/css-multicol/large-actual-column-count-expected.xht
56
/LayoutTests/imported/w3c/web-platform-tests/css/css-multicol/large-actual-column-count-expected.xht
41
/LayoutTests/imported/w3c/web-platform-tests/css/css-multicol/large-actual-column-count.html
57
/LayoutTests/imported/w3c/web-platform-tests/css/css-multicol/large-actual-column-count.html
42
/LayoutTests/imported/w3c/web-platform-tests/css/css-multicol/multicol-basic-001-expected.html
58
/LayoutTests/imported/w3c/web-platform-tests/css/css-multicol/multicol-basic-001-expected.html
Lines 93-98 List of files: a/LayoutTests/imported/w3c/web-platform-tests/css/css-multicol/w3c-import.log_sec4
93
/LayoutTests/imported/w3c/web-platform-tests/css/css-multicol/multicol-clip-001.xht
109
/LayoutTests/imported/w3c/web-platform-tests/css/css-multicol/multicol-clip-001.xht
94
/LayoutTests/imported/w3c/web-platform-tests/css/css-multicol/multicol-clip-002-expected.xht
110
/LayoutTests/imported/w3c/web-platform-tests/css/css-multicol/multicol-clip-002-expected.xht
95
/LayoutTests/imported/w3c/web-platform-tests/css/css-multicol/multicol-clip-002.xht
111
/LayoutTests/imported/w3c/web-platform-tests/css/css-multicol/multicol-clip-002.xht
112
/LayoutTests/imported/w3c/web-platform-tests/css/css-multicol/multicol-clip-scrolled-content-001-expected.html
113
/LayoutTests/imported/w3c/web-platform-tests/css/css-multicol/multicol-clip-scrolled-content-001.html
96
/LayoutTests/imported/w3c/web-platform-tests/css/css-multicol/multicol-collapsing-001-expected.xht
114
/LayoutTests/imported/w3c/web-platform-tests/css/css-multicol/multicol-collapsing-001-expected.xht
97
/LayoutTests/imported/w3c/web-platform-tests/css/css-multicol/multicol-collapsing-001.xht
115
/LayoutTests/imported/w3c/web-platform-tests/css/css-multicol/multicol-collapsing-001.xht
98
/LayoutTests/imported/w3c/web-platform-tests/css/css-multicol/multicol-columns-001-expected.xht
116
/LayoutTests/imported/w3c/web-platform-tests/css/css-multicol/multicol-columns-001-expected.xht
Lines 115-120 List of files: a/LayoutTests/imported/w3c/web-platform-tests/css/css-multicol/w3c-import.log_sec5
115
/LayoutTests/imported/w3c/web-platform-tests/css/css-multicol/multicol-columns-invalid-002.xht
133
/LayoutTests/imported/w3c/web-platform-tests/css/css-multicol/multicol-columns-invalid-002.xht
116
/LayoutTests/imported/w3c/web-platform-tests/css/css-multicol/multicol-columns-toolong-001-expected.xht
134
/LayoutTests/imported/w3c/web-platform-tests/css/css-multicol/multicol-columns-toolong-001-expected.xht
117
/LayoutTests/imported/w3c/web-platform-tests/css/css-multicol/multicol-columns-toolong-001.xht
135
/LayoutTests/imported/w3c/web-platform-tests/css/css-multicol/multicol-columns-toolong-001.xht
136
/LayoutTests/imported/w3c/web-platform-tests/css/css-multicol/multicol-contained-absolute-expected.html
137
/LayoutTests/imported/w3c/web-platform-tests/css/css-multicol/multicol-contained-absolute.html
118
/LayoutTests/imported/w3c/web-platform-tests/css/css-multicol/multicol-containing-001-expected.xht
138
/LayoutTests/imported/w3c/web-platform-tests/css/css-multicol/multicol-containing-001-expected.xht
119
/LayoutTests/imported/w3c/web-platform-tests/css/css-multicol/multicol-containing-001.xht
139
/LayoutTests/imported/w3c/web-platform-tests/css/css-multicol/multicol-containing-001.xht
120
/LayoutTests/imported/w3c/web-platform-tests/css/css-multicol/multicol-containing-002-expected.xht
140
/LayoutTests/imported/w3c/web-platform-tests/css/css-multicol/multicol-containing-002-expected.xht
Lines 161-166 List of files: a/LayoutTests/imported/w3c/web-platform-tests/css/css-multicol/w3c-import.log_sec6
161
/LayoutTests/imported/w3c/web-platform-tests/css/css-multicol/multicol-fill-balance-001.xht
181
/LayoutTests/imported/w3c/web-platform-tests/css/css-multicol/multicol-fill-balance-001.xht
162
/LayoutTests/imported/w3c/web-platform-tests/css/css-multicol/multicol-fill-balance-002-expected.html
182
/LayoutTests/imported/w3c/web-platform-tests/css/css-multicol/multicol-fill-balance-002-expected.html
163
/LayoutTests/imported/w3c/web-platform-tests/css/css-multicol/multicol-fill-balance-002.html
183
/LayoutTests/imported/w3c/web-platform-tests/css/css-multicol/multicol-fill-balance-002.html
184
/LayoutTests/imported/w3c/web-platform-tests/css/css-multicol/multicol-fill-balance-003-expected.xht
185
/LayoutTests/imported/w3c/web-platform-tests/css/css-multicol/multicol-fill-balance-003.html
164
/LayoutTests/imported/w3c/web-platform-tests/css/css-multicol/multicol-gap-000-expected.xht
186
/LayoutTests/imported/w3c/web-platform-tests/css/css-multicol/multicol-gap-000-expected.xht
165
/LayoutTests/imported/w3c/web-platform-tests/css/css-multicol/multicol-gap-000.xht
187
/LayoutTests/imported/w3c/web-platform-tests/css/css-multicol/multicol-gap-000.xht
166
/LayoutTests/imported/w3c/web-platform-tests/css/css-multicol/multicol-gap-001-expected.xht
188
/LayoutTests/imported/w3c/web-platform-tests/css/css-multicol/multicol-gap-001-expected.xht
Lines 195-200 List of files: a/LayoutTests/imported/w3c/web-platform-tests/css/css-multicol/w3c-import.log_sec7
195
/LayoutTests/imported/w3c/web-platform-tests/css/css-multicol/multicol-inherit-003.xht
217
/LayoutTests/imported/w3c/web-platform-tests/css/css-multicol/multicol-inherit-003.xht
196
/LayoutTests/imported/w3c/web-platform-tests/css/css-multicol/multicol-list-item-001-expected.xht
218
/LayoutTests/imported/w3c/web-platform-tests/css/css-multicol/multicol-list-item-001-expected.xht
197
/LayoutTests/imported/w3c/web-platform-tests/css/css-multicol/multicol-list-item-001.xht
219
/LayoutTests/imported/w3c/web-platform-tests/css/css-multicol/multicol-list-item-001.xht
220
/LayoutTests/imported/w3c/web-platform-tests/css/css-multicol/multicol-list-item-002-expected.html
221
/LayoutTests/imported/w3c/web-platform-tests/css/css-multicol/multicol-list-item-002.html
198
/LayoutTests/imported/w3c/web-platform-tests/css/css-multicol/multicol-margin-001-expected.xht
222
/LayoutTests/imported/w3c/web-platform-tests/css/css-multicol/multicol-margin-001-expected.xht
199
/LayoutTests/imported/w3c/web-platform-tests/css/css-multicol/multicol-margin-001.xht
223
/LayoutTests/imported/w3c/web-platform-tests/css/css-multicol/multicol-margin-001.xht
200
/LayoutTests/imported/w3c/web-platform-tests/css/css-multicol/multicol-margin-002-expected.xht
224
/LayoutTests/imported/w3c/web-platform-tests/css/css-multicol/multicol-margin-002-expected.xht
Lines 222-229 List of files: a/LayoutTests/imported/w3c/web-platform-tests/css/css-multicol/w3c-import.log_sec8
222
/LayoutTests/imported/w3c/web-platform-tests/css/css-multicol/multicol-nested-margin-005.xht
246
/LayoutTests/imported/w3c/web-platform-tests/css/css-multicol/multicol-nested-margin-005.xht
223
/LayoutTests/imported/w3c/web-platform-tests/css/css-multicol/multicol-overflow-000-expected.xht
247
/LayoutTests/imported/w3c/web-platform-tests/css/css-multicol/multicol-overflow-000-expected.xht
224
/LayoutTests/imported/w3c/web-platform-tests/css/css-multicol/multicol-overflow-000.xht
248
/LayoutTests/imported/w3c/web-platform-tests/css/css-multicol/multicol-overflow-000.xht
249
/LayoutTests/imported/w3c/web-platform-tests/css/css-multicol/multicol-overflow-clip-expected.html
225
/LayoutTests/imported/w3c/web-platform-tests/css/css-multicol/multicol-overflow-clip-positioned-expected.html
250
/LayoutTests/imported/w3c/web-platform-tests/css/css-multicol/multicol-overflow-clip-positioned-expected.html
226
/LayoutTests/imported/w3c/web-platform-tests/css/css-multicol/multicol-overflow-clip-positioned.html
251
/LayoutTests/imported/w3c/web-platform-tests/css/css-multicol/multicol-overflow-clip-positioned.html
252
/LayoutTests/imported/w3c/web-platform-tests/css/css-multicol/multicol-overflow-clip.html
227
/LayoutTests/imported/w3c/web-platform-tests/css/css-multicol/multicol-overflowing-001-expected.xht
253
/LayoutTests/imported/w3c/web-platform-tests/css/css-multicol/multicol-overflowing-001-expected.xht
228
/LayoutTests/imported/w3c/web-platform-tests/css/css-multicol/multicol-overflowing-001.xht
254
/LayoutTests/imported/w3c/web-platform-tests/css/css-multicol/multicol-overflowing-001.xht
229
/LayoutTests/imported/w3c/web-platform-tests/css/css-multicol/multicol-red.png
255
/LayoutTests/imported/w3c/web-platform-tests/css/css-multicol/multicol-red.png
Lines 460-467 List of files: a/LayoutTests/imported/w3c/web-platform-tests/css/css-multicol/w3c-import.log_sec9
460
/LayoutTests/imported/w3c/web-platform-tests/css/css-multicol/multicol-width-small-001.xht
486
/LayoutTests/imported/w3c/web-platform-tests/css/css-multicol/multicol-width-small-001.xht
461
/LayoutTests/imported/w3c/web-platform-tests/css/css-multicol/multicol-zero-height-001-expected.xht
487
/LayoutTests/imported/w3c/web-platform-tests/css/css-multicol/multicol-zero-height-001-expected.xht
462
/LayoutTests/imported/w3c/web-platform-tests/css/css-multicol/multicol-zero-height-001.xht
488
/LayoutTests/imported/w3c/web-platform-tests/css/css-multicol/multicol-zero-height-001.xht
489
/LayoutTests/imported/w3c/web-platform-tests/css/css-multicol/named-page-expected.xht
490
/LayoutTests/imported/w3c/web-platform-tests/css/css-multicol/named-page.html
463
/LayoutTests/imported/w3c/web-platform-tests/css/css-multicol/nested-with-padding-and-spanner-expected.xht
491
/LayoutTests/imported/w3c/web-platform-tests/css/css-multicol/nested-with-padding-and-spanner-expected.xht
464
/LayoutTests/imported/w3c/web-platform-tests/css/css-multicol/nested-with-padding-and-spanner.html
492
/LayoutTests/imported/w3c/web-platform-tests/css/css-multicol/nested-with-padding-and-spanner.html
493
/LayoutTests/imported/w3c/web-platform-tests/css/css-multicol/nested-with-too-tall-line-expected.html
494
/LayoutTests/imported/w3c/web-platform-tests/css/css-multicol/nested-with-too-tall-line.html
495
/LayoutTests/imported/w3c/web-platform-tests/css/css-multicol/no-balancing-after-column-span-expected.xht
496
/LayoutTests/imported/w3c/web-platform-tests/css/css-multicol/no-balancing-after-column-span.html
465
/LayoutTests/imported/w3c/web-platform-tests/css/css-multicol/orthogonal-writing-mode-shrink-to-fit-expected.xht
497
/LayoutTests/imported/w3c/web-platform-tests/css/css-multicol/orthogonal-writing-mode-shrink-to-fit-expected.xht
466
/LayoutTests/imported/w3c/web-platform-tests/css/css-multicol/orthogonal-writing-mode-shrink-to-fit.html
498
/LayoutTests/imported/w3c/web-platform-tests/css/css-multicol/orthogonal-writing-mode-shrink-to-fit.html
467
/LayoutTests/imported/w3c/web-platform-tests/css/css-multicol/with-custom-layout-on-same-element-crash.https.html
499
/LayoutTests/imported/w3c/web-platform-tests/css/css-multicol/with-custom-layout-on-same-element-crash.https.html
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/clip-001-expected.html +27 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/clip-001-expected.html_sec1
1
<!doctype html>
2
<meta charset="utf-8">
3
<title>CSS Test Reference</title>
4
<style>
5
  #target {
6
    width: 100px;
7
    height: 100px;
8
    background: red;
9
    /* For this simple case, hidden and clip are equivalent */
10
    overflow: hidden;
11
  }
12
13
  #container {
14
    overflow: auto;
15
    height: 300px;
16
  }
17
18
  #fill {
19
    background: blue;
20
    height: 5000px;
21
  }
22
</style>
23
<div id="container">
24
  <div id="target">
25
    <div id="fill"></div>
26
  </div>
27
</div>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/clip-001.html +31 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/clip-001.html_sec1
1
<!doctype html>
2
<meta charset="utf-8">
3
<title>overflow: clip clips its contents and doesn't cause scrollable overflow</title>
4
<link rel="help" href="https://drafts.csswg.org/css-overflow/#valdef-overflow-clip">
5
<link rel="author" title="Emilio Cobos Álvarez" href="mailto:emilio@crisal.io">
6
<link rel="author" title="Mozilla" href="https://mozilla.org">
7
<link rel="match" href="clip-001-ref.html">
8
<style>
9
  #target {
10
    width: 100px;
11
    height: 100px;
12
    background: red;
13
    overflow: -moz-hidden-unscrollable;
14
    overflow: clip;
15
  }
16
17
  #container {
18
    overflow: auto;
19
    height: 300px;
20
  }
21
22
  #fill {
23
    background: blue;
24
    height: 5000px;
25
  }
26
</style>
27
<div id="container">
28
  <div id="target">
29
    <div id="fill"></div>
30
  </div>
31
</div>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/dynamic-visible-to-clip-001-expected.html +27 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/dynamic-visible-to-clip-001-expected.html_sec1
1
<!doctype html>
2
<meta charset="utf-8">
3
<title>CSS Test Reference</title>
4
<style>
5
  #target {
6
    width: 100px;
7
    height: 100px;
8
    background: red;
9
    /* For this simple case, hidden and clip are equivalent */
10
    overflow: hidden;
11
  }
12
13
  #container {
14
    overflow: auto;
15
    height: 300px;
16
  }
17
18
  #fill {
19
    background: blue;
20
    height: 5000px;
21
  }
22
</style>
23
<div id="container">
24
  <div id="target">
25
    <div id="fill"></div>
26
  </div>
27
</div>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/dynamic-visible-to-clip-001.html +40 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/dynamic-visible-to-clip-001.html_sec1
1
<!doctype html>
2
<html class="reftest-wait">
3
<meta charset="utf-8">
4
<title>Overflow areas are updated when dynamically changed to overflow: clip</title>
5
<link rel="help" href="https://drafts.csswg.org/css-overflow/#valdef-overflow-clip">
6
<link rel="author" title="Emilio Cobos Álvarez" href="mailto:emilio@crisal.io">
7
<link rel="author" title="Mozilla" href="https://mozilla.org">
8
<link rel="match" href="clip-001-ref.html">
9
<style>
10
  #target {
11
    width: 100px;
12
    height: 100px;
13
    overflow: visible;
14
  }
15
16
  #container {
17
    overflow: auto;
18
    height: 300px;
19
  }
20
  #fill {
21
    height: 5000px;
22
    background: blue;
23
  }
24
</style>
25
<div id="container">
26
  <div id="target">
27
    <div id="fill"></div>
28
  </div>
29
</div>
30
<script>
31
onload = function() {
32
  let target = document.getElementById("target");
33
  window.unused = target.getBoundingClientRect(); // Update layout
34
  requestAnimationFrame(() => requestAnimationFrame(() => {
35
    target.style.overflow = "-moz-hidden-unscrollable";
36
    target.style.overflow = "clip";
37
    document.documentElement.removeAttribute("class");
38
  }));
39
}
40
</script>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/outline-with-opacity-crash-expected.txt +4 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/outline-with-opacity-crash-expected.txt_sec1
1
test
2
3
PASS no crash 
4
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/outline-with-opacity-crash.html +11 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/outline-with-opacity-crash.html_sec1
1
<!DOCTYPE html>
2
<link rel="author" title="Philip Rogers" href="mailto:pdr@chromium.org">
3
<link rel="help" href="https://bugs.chromium.org/p/chromium/issues/detail?id=1011699">
4
<span id="target" style="outline: 1px solid black; will-change: opacity; opacity: 0.7;">test</span>
5
<script src="/resources/testharness.js"></script>
6
<script src="/resources/testharnessreport.js"></script>
7
<script>
8
  test(()=> {
9
      target.style.background = "lightblue";
10
  }, "no crash");
11
</script>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/overflow-abpos-transform.html -1 / +1 lines
Lines 21-27 a/LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/overflow-abpos-transform.html_sec1
21
    background: green;
21
    background: green;
22
  }
22
  }
23
</style>
23
</style>
24
<!--  There should be no scrollbars on this page  -->
24
<!-- There should be no scrollbars on this page -->
25
<div id="container">
25
<div id="container">
26
  <div id="target"></div>
26
  <div id="target"></div>
27
</div>
27
</div>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/overflow-body-propagation-002-expected.html -1 / +1 lines
Lines 1-3 a/LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/overflow-body-propagation-002-expected.html_sec1
1
<!doctype html>
1
<!doctype html>
2
<title>CSS Test Reference</title>
2
<title>CSS Test Reference</title>
3
<!--  Intentionally blank  -->
3
<!-- Intentionally blank -->
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/overflow-body-propagation-003-expected.html -1 / +1 lines
Lines 1-3 a/LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/overflow-body-propagation-003-expected.html_sec1
1
<!doctype html>
1
<!doctype html>
2
<title>CSS Test Reference</title>
2
<title>CSS Test Reference</title>
3
<!--  Intentionally blank  -->
3
<!-- Intentionally blank -->
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/overflow-body-propagation-005-expected.html +5 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/overflow-body-propagation-005-expected.html_sec1
1
<!doctype html>
2
<html style="overflow:scroll">
3
<title>CSS Overflow Test Reference</title>
4
<body style="margin-top:100px">The viewport should have scrollbars, not the body.</body>
5
</html>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/overflow-body-propagation-005.html +17 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/overflow-body-propagation-005.html_sec1
1
<!doctype html>
2
<title>CSS Overflow Test: overscroll-behavior doesn't stop overflow from being propagated from the body</title>
3
<link rel="author" title="Emilio Cobos Álvarez" href="mailto:emilio@crisal.io">
4
<link rel="author" title="Mozilla" href="https://mozilla.org">
5
<link rel="help" href="https://drafts.csswg.org/css-overflow/#overflow-propagation">
6
<link rel="help" href="https://bugzilla.mozilla.org/show_bug.cgi?id=1586600">
7
<link rel="match" href="reference/overflow-body-propagation-ref.html">
8
<style>
9
  :root {
10
    overscroll-behavior-y: contain;
11
  }
12
  body {
13
    overflow: scroll;
14
    margin-top: 100px;
15
  }
16
</style>
17
<body>The viewport should have scrollbars, not the body.</body>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/overflow-body-propagation-006-expected.html +5 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/overflow-body-propagation-006-expected.html_sec1
1
<!doctype html>
2
<html style="overflow:scroll">
3
<title>CSS Overflow Test Reference</title>
4
<body style="margin-top:100px">The viewport should have scrollbars, not the body.</body>
5
</html>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/overflow-body-propagation-006.html +17 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/overflow-body-propagation-006.html_sec1
1
<!doctype html>
2
<title>CSS Overflow Test: scroll-snap-type doesn't stop overflow from being propagated from the body</title>
3
<link rel="author" title="Emilio Cobos Álvarez" href="mailto:emilio@crisal.io">
4
<link rel="author" title="Mozilla" href="https://mozilla.org">
5
<link rel="help" href="https://drafts.csswg.org/css-overflow/#overflow-propagation">
6
<link rel="help" href="https://bugzilla.mozilla.org/show_bug.cgi?id=1586600">
7
<link rel="match" href="reference/overflow-body-propagation-ref.html">
8
<style>
9
  :root {
10
    scroll-snap-type: both mandatory;
11
  }
12
  body {
13
    overflow: scroll;
14
    margin-top: 100px;
15
  }
16
</style>
17
<body>The viewport should have scrollbars, not the body.</body>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/overflow-codependent-scrollbars.html -1 / +1 lines
Lines 19-25 a/LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/overflow-codependent-scrollbars.html_sec1
19
  background: rgba(0,255,0,0.3);
19
  background: rgba(0,255,0,0.3);
20
}
20
}
21
</style>
21
</style>
22
<!--    -->
22
<!--  -->
23
<div class="container">
23
<div class="container">
24
  <div class="target" style="width:var(--too-big);height:var(--slightly-smaller)" ></div>
24
  <div class="target" style="width:var(--too-big);height:var(--slightly-smaller)" ></div>
25
</div>
25
</div>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/overflow-ellipsis-dynamic-001-expected.html +12 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/overflow-ellipsis-dynamic-001-expected.html_sec1
1
<!doctype html>
2
<title>CSS test reference</title>
3
<style>
4
p {
5
  width: 40ch;
6
  font: 16px/1 monospace;
7
  text-overflow: ellipsis;
8
  white-space: nowrap;
9
  overflow: hidden;
10
}
11
</style>
12
<p>short<p>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/overflow-ellipsis-dynamic-001.html +26 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/overflow-ellipsis-dynamic-001.html_sec1
1
<!doctype html>
2
<html class="reftest-wait">
3
<title>CSS Overflow Test: text-overflow: ellipsis after dynamic test change</title>
4
<link rel="help" href="https://drafts.csswg.org/css-overflow-3/#text-overflow">
5
<link rel="help" href="https://bugzilla.mozilla.org/show_bug.cgi?id=1615811">
6
<link rel="author" href="mailto:emilio@crisal.io" name="Emilio Cobos Álvarez">
7
<link rel="author" href="https://mozilla.org" name="Mozilla">
8
<link rel="match" href="reference/overflow-ellipsis-dynamic-001-ref.html">
9
<style>
10
p {
11
  width: 40ch;
12
  font: 16px/1 monospace;
13
  text-overflow: ellipsis;
14
  white-space: nowrap;
15
  overflow: hidden;
16
}
17
</style>
18
<p>longtext longtext longtext longtext longtext longtext longtext longtext</p>
19
<script>
20
onload = function() {
21
  requestAnimationFrame(() => requestAnimationFrame(() => {
22
    document.querySelector("p").firstChild.nodeValue = "short";
23
    document.documentElement.className = "";
24
  }));
25
}
26
</script>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/overflow-inline-transform-relative.html -2 / +2 lines
Lines 21-30 a/LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/overflow-inline-transform-relative.html_sec1
21
    transform: translateY(80px);
21
    transform: translateY(80px);
22
  }
22
  }
23
</style>
23
</style>
24
<!-- 
24
<!--
25
  #container should have vertical scrollbar because target is offset
25
  #container should have vertical scrollbar because target is offset
26
  by position:relative and transform.
26
  by position:relative and transform.
27
 -->
27
-->
28
<div id="container">
28
<div id="container">
29
  <span>
29
  <span>
30
    scroll
30
    scroll
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/overflow-recalc-001-expected.html +20 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/overflow-recalc-001-expected.html_sec1
1
<!DOCTYPE html>
2
<meta charset="utf-8">
3
<title>CSS Overflow: Reference Overflow recalc after font-size change</title>
4
<link rel="author" title="Manuel Rego Casasnovas" href="mailto:rego@igalia.com">
5
<style>
6
#scroller {
7
  height: 200px;
8
  overflow: scroll;
9
}
10
#wrapper {
11
  margin-top: 100px;
12
  width: 200px;
13
  height: 200px;
14
  background: green;
15
}
16
</style>
17
<p>Test passes if there is <strong>no red</strong>.</p>
18
<div id="scroller">
19
  <div id="wrapper"></div>
20
</div>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/overflow-recalc-001.html +52 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/overflow-recalc-001.html_sec1
1
<!DOCTYPE html>
2
<html class="reftest-wait">
3
<meta charset="utf-8">
4
<title>CSS Overflow: Overflow recalc after font-size change</title>
5
<link rel="author" title="Manuel Rego Casasnovas" href="mailto:rego@igalia.com">
6
<link rel="help" href="https://drafts.csswg.org/css-overflow/">
7
<link rel="help" href="https://bugs.chromium.org/p/chromium/issues/detail?id=1036644">
8
<link rel="match" href="reference/overflow-recalc-001-ref.html">
9
<meta name="assert" content="Checks that overflow of an inline element is properly recomputed after changes on the descendants.">
10
<script src="/common/reftest-wait.js"></script>
11
<link rel="stylesheet" type="text/css" href="/fonts/ahem.css" />
12
<style>
13
#scroller {
14
  height: 200px;
15
  overflow: scroll;
16
  position: relative;
17
}
18
#wrapper {
19
  margin-top: 100px;
20
  width: 200px;
21
  height: 200px;
22
  overflow: hidden;
23
  font-family: Ahem;
24
  line-height: 1;
25
  color: green;
26
}
27
#red {
28
  background: red;
29
  width: 200px;
30
  height: 200px;
31
  position: absolute;
32
  top: 100px;
33
  z-index: -1;
34
}
35
</style>
36
<p>Test passes if there is <strong>no red</strong>.</p>
37
<div id="scroller">
38
  <div id="wrapper">
39
    <span id="inlineouter">
40
      <span id="inlineinner">X</span>
41
    </span>
42
  </div>
43
  <div id="red"></div>
44
</div>
45
46
<script>
47
  requestAnimationFrame(() => requestAnimationFrame(() => {
48
    inlineinner.style.fontSize = "200px";
49
    takeScreenshot();
50
  }));
51
</script>
52
</html>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/overfow-outside-padding.html -1 / +1 lines
Lines 35-41 a/LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/overfow-outside-padding.html_sec1
35
  direction: rtl;
35
  direction: rtl;
36
}
36
}
37
</style>
37
</style>
38
<!--    -->
38
<!--  -->
39
<div class="container htb">
39
<div class="container htb">
40
  <div class="target" style="top: -1000px"></div>
40
  <div class="target" style="top: -1000px"></div>
41
  htb
41
  htb
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/parsing/scrollbar-gutter-invalid-expected.txt +16 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/parsing/scrollbar-gutter-invalid-expected.txt_sec1
1
2
PASS e.style['scrollbar-gutter'] = "auto both" should not set the property value 
3
PASS e.style['scrollbar-gutter'] = "force auto" should not set the property value 
4
PASS e.style['scrollbar-gutter'] = "auto always" should not set the property value 
5
PASS e.style['scrollbar-gutter'] = "always stable" should not set the property value 
6
PASS e.style['scrollbar-gutter'] = "force" should not set the property value 
7
PASS e.style['scrollbar-gutter'] = "both" should not set the property value 
8
PASS e.style['scrollbar-gutter'] = "force both" should not set the property value 
9
PASS e.style['scrollbar-gutter'] = "" should not set the property value 
10
PASS e.style['scrollbar-gutter'] = "0" should not set the property value 
11
PASS e.style['scrollbar-gutter'] = "1px" should not set the property value 
12
PASS e.style['scrollbar-gutter'] = "3em" should not set the property value 
13
PASS e.style['scrollbar-gutter'] = "1 2 3" should not set the property value 
14
PASS e.style['scrollbar-gutter'] = "none" should not set the property value 
15
PASS e.style['scrollbar-gutter'] = "red" should not set the property value 
16
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/parsing/scrollbar-gutter-invalid.html +29 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/parsing/scrollbar-gutter-invalid.html_sec1
1
<!doctype html>
2
<meta charset="utf-8">
3
<title>CSS Overflow: parsing invalid scrollbar-gutter declarations</title>
4
<link rel="author" title="Felipe Erias Morandeira" href="mailto:felipeerias@gmail.com"/>
5
<link rel="help" href="https://www.w3.org/TR/css-overflow-4/#scollbar-gutter-property"/>
6
<meta name="assert" content="Parsing invalid scrollbar-gutter declarations">
7
<script src="/resources/testharness.js"></script>
8
<script src="/resources/testharnessreport.js"></script>
9
<script src="/css/support/parsing-testcommon.js"></script>
10
11
<script>
12
13
    test_invalid_value("scrollbar-gutter", "auto both");
14
    test_invalid_value("scrollbar-gutter", "force auto");
15
    test_invalid_value("scrollbar-gutter", "auto always");
16
    test_invalid_value("scrollbar-gutter", "always stable");
17
    test_invalid_value("scrollbar-gutter", "force");
18
    test_invalid_value("scrollbar-gutter", "both");
19
    test_invalid_value("scrollbar-gutter", "force both");
20
21
    test_invalid_value("scrollbar-gutter", "");
22
    test_invalid_value("scrollbar-gutter", "0");
23
    test_invalid_value("scrollbar-gutter", "1px");
24
    test_invalid_value("scrollbar-gutter", "3em");
25
    test_invalid_value("scrollbar-gutter", "1 2 3");
26
    test_invalid_value("scrollbar-gutter", "none");
27
    test_invalid_value("scrollbar-gutter", "red");
28
29
</script>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/parsing/scrollbar-gutter-valid-expected.txt +13 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/parsing/scrollbar-gutter-valid-expected.txt_sec1
1
2
FAIL e.style['scrollbar-gutter'] = "auto" should set the property value assert_not_equals: property should be set got disallowed value ""
3
FAIL e.style['scrollbar-gutter'] = "stable" should set the property value assert_not_equals: property should be set got disallowed value ""
4
FAIL e.style['scrollbar-gutter'] = "stable both" should set the property value assert_not_equals: property should be set got disallowed value ""
5
FAIL e.style['scrollbar-gutter'] = "stable force" should set the property value assert_not_equals: property should be set got disallowed value ""
6
FAIL e.style['scrollbar-gutter'] = "stable both force" should set the property value assert_not_equals: property should be set got disallowed value ""
7
FAIL e.style['scrollbar-gutter'] = "always" should set the property value assert_not_equals: property should be set got disallowed value ""
8
FAIL e.style['scrollbar-gutter'] = "always both" should set the property value assert_not_equals: property should be set got disallowed value ""
9
FAIL e.style['scrollbar-gutter'] = "always force" should set the property value assert_not_equals: property should be set got disallowed value ""
10
FAIL e.style['scrollbar-gutter'] = "always both force" should set the property value assert_not_equals: property should be set got disallowed value ""
11
FAIL e.style['scrollbar-gutter'] = "force both stable" should set the property value assert_not_equals: property should be set got disallowed value ""
12
FAIL e.style['scrollbar-gutter'] = "force always both" should set the property value assert_not_equals: property should be set got disallowed value ""
13
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/parsing/scrollbar-gutter-valid.html +26 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/parsing/scrollbar-gutter-valid.html_sec1
1
<!doctype html>
2
<meta charset="utf-8">
3
<title>CSS Overflow: parsing valid scrollbar-gutter declarations</title>
4
<link rel="author" title="Felipe Erias Morandeira" href="mailto:felipeerias@gmail.com"/>
5
<link rel="help" href="https://www.w3.org/TR/css-overflow-4/#scollbar-gutter-property"/>
6
<meta name="assert" content="Parsing valid scrollbar-gutter declarations">
7
<script src="/resources/testharness.js"></script>
8
<script src="/resources/testharnessreport.js"></script>
9
<script src="/css/support/parsing-testcommon.js"></script>
10
11
<script>
12
13
    test_valid_value("scrollbar-gutter", "auto");
14
    test_valid_value("scrollbar-gutter", "stable");
15
    test_valid_value("scrollbar-gutter", "stable both");
16
    test_valid_value("scrollbar-gutter", "stable force");
17
    test_valid_value("scrollbar-gutter", "stable both force");
18
    test_valid_value("scrollbar-gutter", "always");
19
    test_valid_value("scrollbar-gutter", "always both");
20
    test_valid_value("scrollbar-gutter", "always force");
21
    test_valid_value("scrollbar-gutter", "always both force");
22
23
    test_valid_value("scrollbar-gutter", "force both stable", "stable both force");
24
    test_valid_value("scrollbar-gutter", "force always both", "always both force");
25
26
</script>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/parsing/w3c-import.log +2 lines
Lines 25-30 List of files: a/LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/parsing/w3c-import.log_sec1
25
/LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/parsing/overflow-computed.html
25
/LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/parsing/overflow-computed.html
26
/LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/parsing/overflow-invalid.html
26
/LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/parsing/overflow-invalid.html
27
/LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/parsing/overflow-valid.html
27
/LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/parsing/overflow-valid.html
28
/LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/parsing/scrollbar-gutter-invalid.html
29
/LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/parsing/scrollbar-gutter-valid.html
28
/LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/parsing/text-overflow-computed.html
30
/LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/parsing/text-overflow-computed.html
29
/LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/parsing/text-overflow-invalid.html
31
/LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/parsing/text-overflow-invalid.html
30
/LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/parsing/text-overflow-valid.html
32
/LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/parsing/text-overflow-valid.html
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/scroll-overflow-padding-block-001-expected.txt +10 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/scroll-overflow-padding-block-001-expected.txt_sec1
1
2
PASS horizontal-tb block-start 
3
PASS horizontal-tb block-end 
4
PASS vertical-lr block-start 
5
PASS vertical-lr block-end 
6
PASS vertical-rl block-start 
7
PASS vertical-rl block-end 
8
A A
9
A A
10
A A
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/scroll-overflow-padding-block-001.html +48 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/scroll-overflow-padding-block-001.html_sec1
1
<!DOCTYPE html>
2
<title>Test "end-edges" of scrollable overflows in various writing modes</title>
3
<link rel="help" href="https://drafts.csswg.org/css-overflow-3/#scrollable">
4
<link rel="author" href="mailto:kojii@chromium.org">
5
<script src="/resources/testharness.js"></script>
6
<script src="/resources/testharnessreport.js"></script>
7
<style>
8
scroller {
9
  display: inline-block;
10
  overflow: auto;
11
  width: 100px;
12
  height: 100px;
13
  font-size: 50px;
14
  line-height: 1;
15
}
16
.vlr { writing-mode: vertical-lr; }
17
.vrl { writing-mode: vertical-rl; }
18
.htb > .block-start { padding-top: 200px; }
19
.htb > .block-end { padding-bottom: 200px; }
20
.vlr > .block-start { padding-left: 200px; }
21
.vlr > .block-end { padding-right: 200px; }
22
.vrl > .block-start { padding-right: 200px; }
23
.vrl > .block-end { padding-left: 200px; }
24
</style>
25
<body>
26
  <div id="log"></div>
27
  <div class="htb">
28
    <scroller class="block-start">A</scroller>
29
    <scroller class="block-end">A</scroller>
30
  </div>
31
  <div class="vlr">
32
    <scroller class="block-start">A</scroller>
33
    <scroller class="block-end">A</scroller>
34
  </div>
35
  <div class="vrl">
36
    <scroller class="block-start">A</scroller>
37
    <scroller class="block-end">A</scroller>
38
  </div>
39
<script>
40
for (let element of document.getElementsByTagName('scroller')) {
41
  let writing_mode = getComputedStyle(element).writingMode;
42
  test(() => {
43
    assert_equals(element.scrollWidth, element.offsetWidth, "scrollWidth");
44
    assert_equals(element.scrollHeight, element.offsetHeight, "scrollHeight");
45
  }, writing_mode + ' ' + element.className);
46
}
47
</script>
48
</body>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/scrollbar-empty-001-expected.html +3 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/scrollbar-empty-001-expected.html_sec1
1
<!doctype html>
2
<title>CSS Test Reference</title>
3
<!-- Intentionally blank -->
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/scrollbar-empty-001.html +14 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/scrollbar-empty-001.html_sec1
1
<!doctype html>
2
<title>overflow-y: scroll on an empty element doesn't cause it to gain height</title>
3
<link rel="help" href="https://drafts.csswg.org/css-overflow/#propdef-overflow-y">
4
<link rel="help" href="https://bugzilla.mozilla.org/show_bug.cgi?id=1365806">
5
<link rel="author" title="Emilio Cobos Álvarez" href="mailto:emilio@crisal.io">
6
<link rel="author" title="Mozilla" href="https://mozilla.org">
7
<link rel="match" href="/css/reference/blank.html">
8
<style>
9
  div {
10
    background: red;
11
    overflow-y: scroll;
12
  }
13
</style>
14
<div></div>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/scrollbar-empty-002-expected.html +3 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/scrollbar-empty-002-expected.html_sec1
1
<!doctype html>
2
<title>CSS Test Reference</title>
3
<!-- Intentionally blank -->
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/scrollbar-empty-002.html +20 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/scrollbar-empty-002.html_sec1
1
<!doctype html>
2
<title>overflow:auto containers shouldn't grow due to scrollbars, even if there's out of flow content that overflows</title>
3
<link rel="help" href="https://drafts.csswg.org/css-overflow/#propdef-overflow-y">
4
<link rel="help" href="https://bugzilla.mozilla.org/show_bug.cgi?id=1637511">
5
<link rel="author" title="Emilio Cobos Álvarez" href="mailto:emilio@crisal.io">
6
<link rel="author" title="Mozilla" href="https://mozilla.org">
7
<link rel="match" href="/css/reference/blank.html">
8
9
<!--
10
  If we create a horizontal scrollbar it'd cause overflow in the vertical
11
  direction as well, due to the svg's aspect-ratio.
12
-->
13
<div style="width: 300px;">
14
  <div style="overflow:auto">
15
    <div style="height: 0; position: relative;">
16
      <svg style="top: 0; left: 0; position: absolute" width="300" height="300"></svg>
17
    </div>
18
  </div>
19
</div>
20
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/text-overflow-ellipsis-001-expected.html +14 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/text-overflow-ellipsis-001-expected.html_sec1
1
<!DOCTYPE html>
2
<meta charset="utf-8">
3
<title>CSS Overflow: text-overflow: ellipsis reference file</title>
4
<link rel="author" title="Manuel Rego Casasnovas" href="mailto:rego@igalia.com">
5
<link rel="stylesheet" type="text/css" href="/fonts/ahem.css" />
6
<style>
7
  div {
8
    font: 100px/1 Ahem;
9
  }
10
</style>
11
<p>The test passes if it matches the reference.</p>
12
<div>ppp</div>
13
<div>pppp</div>
14
<div>pppX</div>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/text-overflow-ellipsis-001.html +21 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/text-overflow-ellipsis-001.html_sec1
1
<!DOCTYPE html>
2
<meta charset="utf-8">
3
<title>CSS Overflow: text-overflow: ellipsis</title>
4
<link rel="author" title="Manuel Rego Casasnovas" href="mailto:rego@igalia.com">
5
<link rel="help" href="https://drafts.csswg.org/css-overflow-4/#ellipsis-scrolling">
6
<link rel="match" href="reference/text-overflow-ellipsis-001-ref.html">
7
<meta name="assert" content="Check that ellipsis is placed on the right position on the container boundaries in elements with 'text-overflow: ellipsis'.">
8
<link rel="stylesheet" type="text/css" href="/fonts/ahem.css" />
9
<style>
10
  div {
11
    font: 100px/1 Ahem;
12
    width: 400px;
13
    white-space: pre;
14
    overflow: hidden;
15
    text-overflow: ellipsis;
16
  }
17
</style>
18
<p>The test passes if it matches the reference.</p>
19
<div>ppp</div>
20
<div>pppp</div>
21
<div>ppppp</div>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/text-overflow-ellipsis-002-expected.html +13 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/text-overflow-ellipsis-002-expected.html_sec1
1
<!doctype html>
2
<meta charset="utf-8">
3
<title>CSS Reference</title>
4
<link rel="stylesheet" href="/fonts/ahem.css">
5
<style>
6
div {
7
  background-color: green;
8
  display: inline-block;
9
  vertical-align: top;
10
  font-family: Ahem;
11
}
12
</style>
13
<div><span>ABC</span><span style="visibility: hidden">…</span></div>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/text-overflow-ellipsis-002.html +25 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/text-overflow-ellipsis-002.html_sec1
1
<!doctype html>
2
<meta charset="utf-8">
3
<title>CSS Overflow: text-overflow with visibility: hidden; and visibility: visible; descendant</title>
4
<link rel="author" title="Tim Nguyen" href="mailto:ntim.bugs@gmail.com">
5
<link rel="help" href="https://drafts.csswg.org/css-overflow-3/#ellipsing-details">
6
<link rel="match" href="reference/text-overflow-ellipsis-002-ref.html">
7
<link rel="stylesheet" href="/fonts/ahem.css">
8
<style>
9
#parent {
10
  background-color: green;
11
  display: inline-block;
12
  vertical-align: top;
13
  font-family: Ahem;
14
}
15
#element {
16
  visibility: hidden;
17
  text-overflow: ellipsis;
18
  white-space: nowrap;
19
  max-width: 4ch;
20
  overflow: hidden;
21
}
22
</style>
23
<div id="parent">
24
  <div id="element"><span style="visibility: visible">ABCABCABCABC</span></div>
25
</div>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/text-overflow-ellipsis-editing-input-expected.html +10 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/text-overflow-ellipsis-editing-input-expected.html_sec1
1
<!doctype html>
2
<title>CSS Test Reference</title>
3
<style>
4
  input {
5
    all: initial;
6
    width: 100px;
7
  }
8
</style>
9
<p>You should not see an ellipsis for the text below.</p>
10
<input id="input_element" value="xxxxxxxxxxxxxxxxxxxx">
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/text-overflow-ellipsis-editing-input.html +20 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/text-overflow-ellipsis-editing-input.html_sec1
1
<!doctype html>
2
<title>CSS Overflow Test: text-overflow:ellipsis not rendered while editing</title>
3
<link rel="help" href="https://drafts.csswg.org/css-overflow/#ellipsis-interaction">
4
<link rel="match" href="text-overflow-ellipsis-editing-input-ref.html">
5
<!-- The specification says it "may" render ellipsis as clip while editing, but
6
     all current engines do for input elements. -->
7
<style>
8
  input {
9
    all: initial;
10
    width: 100px;
11
    text-overflow: ellipsis;
12
    caret-color: transparent;
13
  }
14
</style>
15
<p>You should not see an ellipsis for the text below.</p>
16
<input id="input_element" value="xxxxxxxxxxxxxxxxxxxx">
17
<script>
18
  input_element.offsetTop;
19
  input_element.focus();
20
</script>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/text-overflow-ellipsis-rtl-001-expected.html +15 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/text-overflow-ellipsis-rtl-001-expected.html_sec1
1
<!DOCTYPE html>
2
<meta charset="utf-8">
3
<title>CSS Overflow: text-overflow: ellipsis reference file</title>
4
<link rel="author" title="Manuel Rego Casasnovas" href="mailto:rego@igalia.com">
5
<link rel="stylesheet" type="text/css" href="/fonts/ahem.css" />
6
<style>
7
  div {
8
    font: 100px/1 Ahem;
9
    white-space: pre;
10
  }
11
</style>
12
<p>The test passes if it matches the reference.</p>
13
<div> ppp</div>
14
<div>pppp</div>
15
<div>Xppp</div>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/text-overflow-ellipsis-rtl-001.html +22 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/text-overflow-ellipsis-rtl-001.html_sec1
1
<!DOCTYPE html>
2
<meta charset="utf-8">
3
<title>CSS Overflow: text-overflow: ellipsis RTL</title>
4
<link rel="author" title="Manuel Rego Casasnovas" href="mailto:rego@igalia.com">
5
<link rel="help" href="https://drafts.csswg.org/css-overflow-4/#ellipsis-scrolling">
6
<link rel="match" href="reference/text-overflow-ellipsis-rtl-001-ref.html">
7
<meta name="assert" content="Check that ellipsis is placed on the right position on the container boundaries in elements with 'text-overflow: ellipsis' in RTL.">
8
<link rel="stylesheet" type="text/css" href="/fonts/ahem.css" />
9
<style>
10
  div {
11
    font: 100px/1 Ahem;
12
    width: 400px;
13
    white-space: pre;
14
    overflow: hidden;
15
    text-overflow: ellipsis;
16
    direction: rtl;
17
  }
18
</style>
19
<p>The test passes if it matches the reference.</p>
20
<div>ppp</div>
21
<div>pppp</div>
22
<div>ppppp</div>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/text-overflow-ellipsis-vertical-001-expected.html +17 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/text-overflow-ellipsis-vertical-001-expected.html_sec1
1
<!DOCTYPE html>
2
<meta charset="utf-8">
3
<title>CSS Overflow: text-overflow: ellipsis reference file</title>
4
<link rel="author" title="Manuel Rego Casasnovas" href="mailto:rego@igalia.com">
5
<link rel="stylesheet" type="text/css" href="/fonts/ahem.css" />
6
<style>
7
  div {
8
    font: 100px/1 Ahem;
9
    height: 400px;
10
    display: inline-block;
11
    writing-mode: vertical-lr;
12
  }
13
</style>
14
<p>The test passes if it matches the reference.</p>
15
<div>ppp</div>
16
<div>pppp</div>
17
<div>pppX</div>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/text-overflow-ellipsis-vertical-001.html +23 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/text-overflow-ellipsis-vertical-001.html_sec1
1
<!DOCTYPE html>
2
<meta charset="utf-8">
3
<title>CSS Overflow: text-overflow: ellipsis vertical</title>
4
<link rel="author" title="Manuel Rego Casasnovas" href="mailto:rego@igalia.com">
5
<link rel="help" href="https://drafts.csswg.org/css-overflow-4/#ellipsis-scrolling">
6
<link rel="match" href="reference/text-overflow-ellipsis-vertical-001-ref.html">
7
<meta name="assert" content="Check that ellipsis is placed on the right position on the container boundaries in elements with 'text-overflow: ellipsis' in vertical writing mode.">
8
<link rel="stylesheet" type="text/css" href="/fonts/ahem.css" />
9
<style>
10
  div {
11
    font: 100px/1 Ahem;
12
    height: 400px;
13
    white-space: pre;
14
    overflow: hidden;
15
    text-overflow: ellipsis;
16
    display: inline-block;
17
    writing-mode: vertical-lr;
18
  }
19
</style>
20
<p>The test passes if it matches the reference.</p>
21
<div>ppp</div>
22
<div>pppp</div>
23
<div>ppppp</div>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/text-overflow-ellipsis-vertical-rtl-001-expected.html +18 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/text-overflow-ellipsis-vertical-rtl-001-expected.html_sec1
1
<!DOCTYPE html>
2
<meta charset="utf-8">
3
<title>CSS Overflow: text-overflow: ellipsis reference file</title>
4
<link rel="author" title="Manuel Rego Casasnovas" href="mailto:rego@igalia.com">
5
<link rel="stylesheet" type="text/css" href="/fonts/ahem.css" />
6
<style>
7
  div {
8
    font: 100px/1 Ahem;
9
    height: 400px;
10
    display: inline-block;
11
    writing-mode: vertical-lr;
12
    direction: rtl;
13
  }
14
</style>
15
<p>The test passes if it matches the reference.</p>
16
<div>ppp</div>
17
<div>pppp</div>
18
<div>Xppp</div>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/text-overflow-ellipsis-vertical-rtl-001.html +24 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/text-overflow-ellipsis-vertical-rtl-001.html_sec1
1
<!DOCTYPE html>
2
<meta charset="utf-8">
3
<title>CSS Overflow: text-overflow: ellipsis vertical RTL</title>
4
<link rel="author" title="Manuel Rego Casasnovas" href="mailto:rego@igalia.com">
5
<link rel="help" href="https://drafts.csswg.org/css-overflow-4/#ellipsis-scrolling">
6
<link rel="match" href="reference/text-overflow-ellipsis-vertical-rtl-001-ref.html">
7
<meta name="assert" content="Check that ellipsis is placed on the right position on the container boundaries in elements with 'text-overflow: ellipsis' in vertical writing mode and RTL.">
8
<link rel="stylesheet" type="text/css" href="/fonts/ahem.css" />
9
<style>
10
  div {
11
    font: 100px/1 Ahem;
12
    height: 400px;
13
    white-space: pre;
14
    overflow: hidden;
15
    text-overflow: ellipsis;
16
    display: inline-block;
17
    writing-mode: vertical-lr;
18
    direction: rtl;
19
  }
20
</style>
21
<p>The test passes if it matches the reference.</p>
22
<div>ppp</div>
23
<div>pppp</div>
24
<div>ppppp</div>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/text-overflow-scroll-001-expected.html +17 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/text-overflow-scroll-001-expected.html_sec1
1
<!DOCTYPE html>
2
<meta charset="utf-8">
3
<title>CSS Overflow: text-overflow: ellipsis and scrolling reference file</title>
4
<link rel="author" title="Manuel Rego Casasnovas" href="mailto:rego@igalia.com">
5
<link rel="stylesheet" type="text/css" href="/fonts/ahem.css" />
6
<style>
7
  div {
8
    font: 100px/1 Ahem;
9
    white-space: pre;
10
  }
11
</style>
12
<p>The test passes if it matches the reference.</p>
13
14
<div>p pX</div>
15
<div>pp p</div>
16
<div>  pX</div>
17
<div>pp p</div>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/text-overflow-scroll-001.html +36 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/text-overflow-scroll-001.html_sec1
1
<!DOCTYPE html>
2
<html class="reftest-wait">
3
<meta charset="utf-8">
4
<title>CSS Overflow: text-overflow: ellipsis and scrolling</title>
5
<link rel="author" title="Manuel Rego Casasnovas" href="mailto:rego@igalia.com">
6
<link rel="help" href="https://drafts.csswg.org/css-overflow-4/#ellipsis-scrolling">
7
<link rel="match" href="reference/text-overflow-scroll-001-ref.html">
8
<meta name="flags" content="should">
9
<meta name="assert" content="If you scroll an element with 'text-overflow: ellipsis', the ellipsis should move to the new position.">
10
<link rel="stylesheet" type="text/css" href="/fonts/ahem.css" />
11
<style>
12
  div {
13
    font: 100px/1 Ahem;
14
    white-space: pre;
15
    width: 400px;
16
    overflow: hidden;
17
    text-overflow: ellipsis;
18
  }
19
</style>
20
21
<p>The test passes if it matches the reference.</p>
22
23
<div id="test1">ppp pp p</div>
24
<div id="test2">ppp pp p</div>
25
<div id="test3"><span style="padding-inline-start: 400px;">ppp pp p</span></div>
26
<div id="test4"><span style="padding-inline-start: 600px;">ppp pp p</span></div>
27
28
<script>
29
  requestAnimationFrame(() => requestAnimationFrame(() => {
30
    test1.scrollLeft = 200;
31
    test2.scrollLeft = 400;
32
    test3.scrollLeft = 200;
33
    test4.scrollLeft = 1000;
34
    document.documentElement.className = "";
35
  }));
36
</script>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/text-overflow-scroll-rtl-001-expected.html +16 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/text-overflow-scroll-rtl-001-expected.html_sec1
1
<!DOCTYPE html>
2
<meta charset="utf-8">
3
<title>CSS Overflow: text-overflow: ellipsis and scrolling reference file</title>
4
<link rel="author" title="Manuel Rego Casasnovas" href="mailto:rego@igalia.com">
5
<link rel="stylesheet" type="text/css" href="/fonts/ahem.css" />
6
<style>
7
  div {
8
    font: 100px/1 Ahem;
9
  }
10
</style>
11
<p>The test passes if it matches the reference.</p>
12
13
<div>X pp</div>
14
<div>ppp</div>
15
<div>Xp</div>
16
<div>ppp</div>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/text-overflow-scroll-rtl-001.html +38 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/text-overflow-scroll-rtl-001.html_sec1
1
<!DOCTYPE html>
2
<html class="reftest-wait">
3
<meta charset="utf-8">
4
<title>CSS Overflow: text-overflow: ellipsis and scrolling RTL</title>
5
<link rel="author" title="Manuel Rego Casasnovas" href="mailto:rego@igalia.com">
6
<link rel="help" href="https://drafts.csswg.org/css-overflow-4/#ellipsis-scrolling">
7
<link rel="match" href="reference/text-overflow-scroll-rtl-001-ref.html">
8
<meta name="flags" content="should">
9
<meta name="assert" content="If you scroll an element with 'text-overflow: ellipsis' in RTL, the ellipsis should move to the new position.">
10
<link rel="stylesheet" type="text/css" href="/fonts/ahem.css" />
11
<style>
12
  div {
13
    font: 100px/1 Ahem;
14
    white-space: pre;
15
    width: 400px;
16
    overflow: hidden;
17
    text-overflow: ellipsis;
18
    direction: rtl;
19
  }
20
</style>
21
22
<p>The test passes if it matches the reference.</p>
23
24
<div id="test1">ppp pp p</div>
25
<div id="test2">ppp pp p</div>
26
<div id="test3"><span style="padding-inline-start: 400px;">ppp pp p</span></div>
27
<div id="test4"><span style="padding-inline-start: 600px;">ppp pp p</span></div>
28
29
<script>
30
  requestAnimationFrame(() => requestAnimationFrame(() => {
31
    test1.scrollLeft = -200;
32
    test2.scrollLeft = -400;
33
    test3.scrollLeft = -200;
34
    test4.scrollLeft = -1000;
35
    document.documentElement.className = "";
36
  }));
37
</script>
38
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/text-overflow-scroll-vertical-lr-001-expected.html +20 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/text-overflow-scroll-vertical-lr-001-expected.html_sec1
1
<!DOCTYPE html>
2
<meta charset="utf-8">
3
<title>CSS Overflow: text-overflow: ellipsis and scrolling reference file</title>
4
<link rel="author" title="Manuel Rego Casasnovas" href="mailto:rego@igalia.com">
5
<link rel="stylesheet" type="text/css" href="/fonts/ahem.css" />
6
<style>
7
  div {
8
    display: inline-block;
9
    writing-mode: vertical-lr;
10
    font: 100px/1 Ahem;
11
    height: 400px;
12
    white-space: pre;
13
  }
14
</style>
15
<p>The test passes if it matches the reference.</p>
16
17
<div>p pX</div>
18
<div>pp p</div>
19
<div>  pX</div>
20
<div>pp p</div>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/text-overflow-scroll-vertical-lr-001.html +38 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/text-overflow-scroll-vertical-lr-001.html_sec1
1
<!DOCTYPE html>
2
<html class="reftest-wait">
3
<meta charset="utf-8">
4
<title>CSS Overflow: text-overflow: ellipsis and scrolling vertical-lr</title>
5
<link rel="author" title="Manuel Rego Casasnovas" href="mailto:rego@igalia.com">
6
<link rel="help" href="https://drafts.csswg.org/css-overflow-4/#ellipsis-scrolling">
7
<link rel="match" href="reference/text-overflow-scroll-vertical-lr-001-ref.html">
8
<meta name="flags" content="should">
9
<meta name="assert" content="If you scroll an element with 'text-overflow: ellipsis', the ellipsis should move to the new position. This should work in vertical-lr writing mode too.">
10
<link rel="stylesheet" type="text/css" href="/fonts/ahem.css" />
11
<style>
12
  div {
13
    display: inline-block;
14
    writing-mode: vertical-lr;
15
    font: 100px/1 Ahem;
16
    white-space: pre;
17
    height: 400px;
18
    overflow: hidden;
19
    text-overflow: ellipsis;
20
  }
21
</style>
22
23
<p>The test passes if it matches the reference.</p>
24
25
<div id="test1">ppp pp p</div>
26
<div id="test2">ppp pp p</div>
27
<div id="test3"><span style="padding-inline-start: 400px;">ppp pp p</span></div>
28
<div id="test4"><span style="padding-inline-start: 600px;">ppp pp p</span></div>
29
30
<script>
31
  requestAnimationFrame(() => requestAnimationFrame(() => {
32
    test1.scrollTop = 200;
33
    test2.scrollTop = 400;
34
    test3.scrollTop = 200;
35
    test4.scrollTop = 1000;
36
    document.documentElement.className = "";
37
  }));
38
</script>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/text-overflow-scroll-vertical-lr-rtl-001-expected.html +19 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/text-overflow-scroll-vertical-lr-rtl-001-expected.html_sec1
1
<!DOCTYPE html>
2
<meta charset="utf-8">
3
<title>CSS Overflow: text-overflow: ellipsis and scrolling reference file</title>
4
<link rel="author" title="Manuel Rego Casasnovas" href="mailto:rego@igalia.com">
5
<link rel="stylesheet" type="text/css" href="/fonts/ahem.css" />
6
<style>
7
  div {
8
    display: inline-block;
9
    writing-mode: vertical-lr;
10
    font: 100px/1 Ahem;
11
    height: 400px;
12
  }
13
</style>
14
<p>The test passes if it matches the reference.</p>
15
16
<div>X pp</div>
17
<div>ppp</div>
18
<div>Xp</div>
19
<div>ppp</div>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/text-overflow-scroll-vertical-lr-rtl-001.html +39 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/text-overflow-scroll-vertical-lr-rtl-001.html_sec1
1
<!DOCTYPE html>
2
<html class="reftest-wait">
3
<meta charset="utf-8">
4
<title>CSS Overflow: text-overflow: ellipsis and scrolling vertical-lr RTL</title>
5
<link rel="author" title="Manuel Rego Casasnovas" href="mailto:rego@igalia.com">
6
<link rel="help" href="https://drafts.csswg.org/css-overflow-4/#ellipsis-scrolling">
7
<link rel="match" href="reference/text-overflow-scroll-vertical-lr-rtl-001-ref.html">
8
<meta name="flags" content="should">
9
<meta name="assert" content="If you scroll an element with 'text-overflow: ellipsis', the ellipsis should move to the new position. This should work in vertical-lr writing mode and RTL too.">
10
<link rel="stylesheet" type="text/css" href="/fonts/ahem.css" />
11
<style>
12
  div {
13
    display: inline-block;
14
    writing-mode: vertical-lr;
15
    font: 100px/1 Ahem;
16
    white-space: pre;
17
    height: 400px;
18
    overflow: hidden;
19
    text-overflow: ellipsis;
20
    direction: rtl;
21
  }
22
</style>
23
24
<p>The test passes if it matches the reference.</p>
25
26
<div id="test1">ppp pp p</div>
27
<div id="test2">ppp pp p</div>
28
<div id="test3"><span style="padding-inline-start: 400px;">ppp pp p</span></div>
29
<div id="test4"><span style="padding-inline-start: 600px;">ppp pp p</span></div>
30
31
<script>
32
  requestAnimationFrame(() => requestAnimationFrame(() => {
33
    test1.scrollTop = -200;
34
    test2.scrollTop = -400;
35
    test3.scrollTop = -200;
36
    test4.scrollTop = -1000;
37
    document.documentElement.className = "";
38
  }));
39
</script>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/text-overflow-scroll-vertical-rl-001-expected.html +20 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/text-overflow-scroll-vertical-rl-001-expected.html_sec1
1
<!DOCTYPE html>
2
<meta charset="utf-8">
3
<title>CSS Overflow: text-overflow: ellipsis and scrolling reference file</title>
4
<link rel="author" title="Manuel Rego Casasnovas" href="mailto:rego@igalia.com">
5
<link rel="stylesheet" type="text/css" href="/fonts/ahem.css" />
6
<style>
7
  div {
8
    display: inline-block;
9
    writing-mode: vertical-lr;
10
    font: 100px/1 Ahem;
11
    height: 400px;
12
    white-space: pre;
13
  }
14
</style>
15
<p>The test passes if it matches the reference.</p>
16
17
<div>p pX</div>
18
<div>pp p</div>
19
<div>  pX</div>
20
<div>pp p</div>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/text-overflow-scroll-vertical-rl-001.html +38 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/text-overflow-scroll-vertical-rl-001.html_sec1
1
<!DOCTYPE html>
2
<html class="reftest-wait">
3
<meta charset="utf-8">
4
<title>CSS Overflow: text-overflow: ellipsis and scrolling vertical-rl</title>
5
<link rel="author" title="Manuel Rego Casasnovas" href="mailto:rego@igalia.com">
6
<link rel="help" href="https://drafts.csswg.org/css-overflow-4/#ellipsis-scrolling">
7
<link rel="match" href="reference/text-overflow-scroll-vertical-lr-001-ref.html">
8
<meta name="flags" content="should">
9
<meta name="assert" content="If you scroll an element with 'text-overflow: ellipsis', the ellipsis should move to the new position. This should work in vertical-rl writing mode too.">
10
<link rel="stylesheet" type="text/css" href="/fonts/ahem.css" />
11
<style>
12
  div {
13
    display: inline-block;
14
    writing-mode: vertical-rl;
15
    font: 100px/1 Ahem;
16
    white-space: pre;
17
    height: 400px;
18
    overflow: hidden;
19
    text-overflow: ellipsis;
20
  }
21
</style>
22
23
<p>The test passes if it matches the reference.</p>
24
25
<div id="test1">ppp pp p</div>
26
<div id="test2">ppp pp p</div>
27
<div id="test3"><span style="padding-inline-start: 400px;">ppp pp p</span></div>
28
<div id="test4"><span style="padding-inline-start: 600px;">ppp pp p</span></div>
29
30
<script>
31
  requestAnimationFrame(() => requestAnimationFrame(() => {
32
    test1.scrollTop = 200;
33
    test2.scrollTop = 400;
34
    test3.scrollTop = 200;
35
    test4.scrollTop = 1000;
36
    document.documentElement.className = "";
37
  }));
38
</script>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/text-overflow-scroll-vertical-rl-rtl-001-expected.html +19 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/text-overflow-scroll-vertical-rl-rtl-001-expected.html_sec1
1
<!DOCTYPE html>
2
<meta charset="utf-8">
3
<title>CSS Overflow: text-overflow: ellipsis and scrolling reference file</title>
4
<link rel="author" title="Manuel Rego Casasnovas" href="mailto:rego@igalia.com">
5
<link rel="stylesheet" type="text/css" href="/fonts/ahem.css" />
6
<style>
7
  div {
8
    display: inline-block;
9
    writing-mode: vertical-lr;
10
    font: 100px/1 Ahem;
11
    height: 400px;
12
  }
13
</style>
14
<p>The test passes if it matches the reference.</p>
15
16
<div>X pp</div>
17
<div>ppp</div>
18
<div>Xp</div>
19
<div>ppp</div>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/text-overflow-scroll-vertical-rl-rtl-001.html +39 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/text-overflow-scroll-vertical-rl-rtl-001.html_sec1
1
<!DOCTYPE html>
2
<html class="reftest-wait">
3
<meta charset="utf-8">
4
<title>CSS Overflow: text-overflow: ellipsis and scrolling vertical-rl RTL</title>
5
<link rel="author" title="Manuel Rego Casasnovas" href="mailto:rego@igalia.com">
6
<link rel="help" href="https://drafts.csswg.org/css-overflow-4/#ellipsis-scrolling">
7
<link rel="match" href="reference/text-overflow-scroll-vertical-lr-rtl-001-ref.html">
8
<meta name="flags" content="should">
9
<meta name="assert" content="If you scroll an element with 'text-overflow: ellipsis', the ellipsis should move to the new position. This should work in vertical-rl writing mode and RTL too.">
10
<link rel="stylesheet" type="text/css" href="/fonts/ahem.css" />
11
<style>
12
  div {
13
    display: inline-block;
14
    writing-mode: vertical-rl;
15
    font: 100px/1 Ahem;
16
    white-space: pre;
17
    height: 400px;
18
    overflow: hidden;
19
    text-overflow: ellipsis;
20
    direction: rtl;
21
  }
22
</style>
23
24
<p>The test passes if it matches the reference.</p>
25
26
<div id="test1">ppp pp p</div>
27
<div id="test2">ppp pp p</div>
28
<div id="test3"><span style="padding-inline-start: 400px;">ppp pp p</span></div>
29
<div id="test4"><span style="padding-inline-start: 600px;">ppp pp p</span></div>
30
31
<script>
32
  requestAnimationFrame(() => requestAnimationFrame(() => {
33
    test1.scrollTop = -200;
34
    test2.scrollTop = -400;
35
    test3.scrollTop = -200;
36
    test4.scrollTop = -1000;
37
    document.documentElement.className = "";
38
  }));
39
</script>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/w3c-import.log +48 lines
Lines 15-20 None a/LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/w3c-import.log_sec1
15
------------------------------------------------------------------------
15
------------------------------------------------------------------------
16
List of files:
16
List of files:
17
/LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/META.yml
17
/LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/META.yml
18
/LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/clip-001-expected.html
19
/LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/clip-001.html
20
/LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/dynamic-visible-to-clip-001-expected.html
21
/LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/dynamic-visible-to-clip-001.html
18
/LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/float-with-relpos-and-transform-expected.html
22
/LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/float-with-relpos-and-transform-expected.html
19
/LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/float-with-relpos-and-transform.html
23
/LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/float-with-relpos-and-transform.html
20
/LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/inheritance.html
24
/LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/inheritance.html
Lines 22-27 List of files: a/LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/w3c-import.log_sec2
22
/LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/input-scrollable-region-001.html
26
/LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/input-scrollable-region-001.html
23
/LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/logical-overflow-001.html
27
/LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/logical-overflow-001.html
24
/LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/orthogonal-flow-with-inline-end-margin.html
28
/LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/orthogonal-flow-with-inline-end-margin.html
29
/LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/outline-with-opacity-crash.html
25
/LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/overflow-abpos-transform.html
30
/LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/overflow-abpos-transform.html
26
/LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/overflow-body-propagation-001-expected.html
31
/LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/overflow-body-propagation-001-expected.html
27
/LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/overflow-body-propagation-001.html
32
/LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/overflow-body-propagation-001.html
Lines 31-42 List of files: a/LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/w3c-import.log_sec3
31
/LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/overflow-body-propagation-003.html
36
/LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/overflow-body-propagation-003.html
32
/LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/overflow-body-propagation-004-expected.html
37
/LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/overflow-body-propagation-004-expected.html
33
/LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/overflow-body-propagation-004.html
38
/LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/overflow-body-propagation-004.html
39
/LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/overflow-body-propagation-005-expected.html
40
/LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/overflow-body-propagation-005.html
41
/LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/overflow-body-propagation-006-expected.html
42
/LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/overflow-body-propagation-006.html
34
/LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/overflow-codependent-scrollbars.html
43
/LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/overflow-codependent-scrollbars.html
44
/LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/overflow-ellipsis-dynamic-001-expected.html
45
/LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/overflow-ellipsis-dynamic-001.html
35
/LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/overflow-inline-transform-relative.html
46
/LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/overflow-inline-transform-relative.html
36
/LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/overflow-padding.html
47
/LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/overflow-padding.html
48
/LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/overflow-recalc-001-expected.html
49
/LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/overflow-recalc-001.html
37
/LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/overflow-shorthand-001.html
50
/LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/overflow-shorthand-001.html
38
/LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/overfow-outside-padding.html
51
/LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/overfow-outside-padding.html
52
/LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/scroll-overflow-padding-block-001.html
53
/LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/scrollbar-empty-001-expected.html
54
/LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/scrollbar-empty-001.html
55
/LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/scrollbar-empty-002-expected.html
56
/LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/scrollbar-empty-002.html
39
/LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/shrink-to-fit-auto-overflow-relayout-crash.html
57
/LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/shrink-to-fit-auto-overflow-relayout-crash.html
58
/LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/text-overflow-ellipsis-001-expected.html
59
/LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/text-overflow-ellipsis-001.html
60
/LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/text-overflow-ellipsis-002-expected.html
61
/LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/text-overflow-ellipsis-002.html
62
/LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/text-overflow-ellipsis-editing-input-expected.html
63
/LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/text-overflow-ellipsis-editing-input.html
64
/LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/text-overflow-ellipsis-rtl-001-expected.html
65
/LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/text-overflow-ellipsis-rtl-001.html
66
/LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/text-overflow-ellipsis-vertical-001-expected.html
67
/LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/text-overflow-ellipsis-vertical-001.html
68
/LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/text-overflow-ellipsis-vertical-rtl-001-expected.html
69
/LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/text-overflow-ellipsis-vertical-rtl-001.html
70
/LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/text-overflow-scroll-001-expected.html
71
/LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/text-overflow-scroll-001.html
72
/LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/text-overflow-scroll-rtl-001-expected.html
73
/LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/text-overflow-scroll-rtl-001.html
74
/LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/text-overflow-scroll-vertical-lr-001-expected.html
75
/LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/text-overflow-scroll-vertical-lr-001.html
76
/LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/text-overflow-scroll-vertical-lr-rtl-001-expected.html
77
/LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/text-overflow-scroll-vertical-lr-rtl-001.html
78
/LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/text-overflow-scroll-vertical-rl-001-expected.html
79
/LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/text-overflow-scroll-vertical-rl-001.html
80
/LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/text-overflow-scroll-vertical-rl-rtl-001-expected.html
81
/LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/text-overflow-scroll-vertical-rl-rtl-001.html
40
/LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/webkit-line-clamp-001-expected.html
82
/LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/webkit-line-clamp-001-expected.html
41
/LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/webkit-line-clamp-001.html
83
/LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/webkit-line-clamp-001.html
42
/LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/webkit-line-clamp-002-expected.html
84
/LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/webkit-line-clamp-002-expected.html
Lines 101-103 List of files: a/LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/w3c-import.log_sec4
101
/LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/webkit-line-clamp-032.html
143
/LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/webkit-line-clamp-032.html
102
/LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/webkit-line-clamp-033-expected.html
144
/LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/webkit-line-clamp-033-expected.html
103
/LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/webkit-line-clamp-033.html
145
/LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/webkit-line-clamp-033.html
146
/LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/webkit-line-clamp-034-expected.html
147
/LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/webkit-line-clamp-034.html
148
/LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/webkit-line-clamp-035-expected.html
149
/LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/webkit-line-clamp-035.html
150
/LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/webkit-line-clamp-with-line-height.tentative-expected.html
151
/LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/webkit-line-clamp-with-line-height.tentative.html
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/webkit-line-clamp-033-expected.html -1 / +1 lines
Lines 1-3 a/LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/webkit-line-clamp-033-expected.html_sec1
1
<!doctype html>
1
<!doctype html>
2
<title>CSS Test Reference</title>
2
<title>CSS Test Reference</title>
3
<!--  Intentionally blank  -->
3
<!-- Intentionally blank -->
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/webkit-line-clamp-034-expected.html +3 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/webkit-line-clamp-034-expected.html_sec1
1
<!doctype html>
2
<title>CSS Test Reference</title>
3
<!-- Intentionally blank -->
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/webkit-line-clamp-034.html +22 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/webkit-line-clamp-034.html_sec1
1
<!doctype html>
2
<meta charset="utf-8">
3
<title>CSS Overflow: -webkit-line-clamp with visibility: hidden;</title>
4
<link rel="author" title="Tim Nguyen" href="mailto:ntim.bugs@gmail.com">
5
<link rel="help" href="https://drafts.csswg.org/css-overflow-3/#webkit-line-clamp">
6
<link rel="match" href="/css/reference/blank.html">
7
<style>
8
#clamp {
9
  visibility: hidden;
10
  display: -webkit-box;
11
  -webkit-box-orient: vertical;
12
  -webkit-line-clamp: 3;
13
  overflow: hidden; /* can be removed once implementations update their old -webkit-line-clamp implementations */
14
}
15
</style>
16
<div id="clamp">
17
  AAAAAAAAA<br>
18
  BBBBBBBBB<br>
19
  CCCCCCCCC<br>
20
  DDDDDDDDD<br>
21
  EEEEEEEEE
22
</div>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/webkit-line-clamp-035-expected.html +23 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/webkit-line-clamp-035-expected.html_sec1
1
<!doctype html>
2
<meta charset="utf-8">
3
<title>CSS reference</title>
4
<link rel="stylesheet" href="/fonts/ahem.css">
5
<style>
6
#parent {
7
  display: inline-block;
8
  background: green;
9
}
10
#clamp {
11
  font-family: Ahem;
12
  display: -webkit-box;
13
  -webkit-box-orient: vertical;
14
  overflow: hidden; /* can be removed once implementations update their old -webkit-line-clamp implementations */
15
}
16
</style>
17
<div id="parent">
18
  <div id="clamp">
19
    AAA<br>
20
    BBB<br>
21
    CCC<span style="visibility: hidden">…</span>
22
  </div>
23
</div>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/webkit-line-clamp-035.html +33 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/webkit-line-clamp-035.html_sec1
1
<!doctype html>
2
<meta charset="utf-8">
3
<title>CSS Overflow: -webkit-line-clamp with visibility: hidden; and visibility: visible; descendant</title>
4
<link rel="author" title="Tim Nguyen" href="mailto:ntim.bugs@gmail.com">
5
<link rel="help" href="https://drafts.csswg.org/css-overflow-3/#webkit-line-clamp">
6
<link rel="match" href="reference/webkit-line-clamp-035-ref.html">
7
<link rel="stylesheet" href="/fonts/ahem.css">
8
<style>
9
#parent {
10
  display: inline-block;
11
  background: green;
12
}
13
#clamp {
14
  font-family: Ahem;
15
  visibility: hidden;
16
  display: -webkit-box;
17
  -webkit-box-orient: vertical;
18
  -webkit-line-clamp: 3;
19
  width: 4ch;
20
  overflow: hidden; /* can be removed once implementations update their old -webkit-line-clamp implementations */
21
}
22
</style>
23
<div id="parent">
24
  <div id="clamp">
25
    <span style="visibility: visible">
26
      AAA<br>
27
      BBB<br>
28
      CCCCCCCCC<br>
29
      DDDDDDDDD<br>
30
      EEEEEEEEE
31
    </span>
32
  </div>
33
</div>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/webkit-line-clamp-with-line-height.tentative-expected.html +19 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/webkit-line-clamp-with-line-height.tentative-expected.html_sec1
1
<!DOCTYPE html>
2
<link rel="stylesheet" type="text/css" href="/fonts/ahem.css" />
3
<style>
4
#test {
5
  width: 100px;
6
7
  text-overflow: ellipsis;
8
  white-space: nowrap;
9
  overflow: hidden;
10
11
  border: solid thin grey;
12
  font: 20px 'Ahem';
13
  line-height: 40px;
14
}
15
</style>
16
<p>This tests the -webkit-line-clamp property with line-height applied.</p>
17
<div id="test">
18
  XXXX XXX
19
</div>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/webkit-line-clamp-with-line-height.tentative.html +23 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/webkit-line-clamp-with-line-height.tentative.html_sec1
1
<!DOCTYPE html>
2
<link rel="match" href="reference/webkit-line-clamp-with-line-height-ref.html">
3
<link rel="help" href="https://github.com/w3c/csswg-drafts/issues/2847#issuecomment-468084957">
4
<meta name="assert" content="This test checks that -webkit-line-clamp calculates respects line-height when calculating its block-size.">
5
<link rel="stylesheet" type="text/css" href="/fonts/ahem.css" />
6
<style>
7
#test {
8
  width: 100px;
9
10
  display: -webkit-box;
11
  -webkit-box-orient: vertical;
12
  -webkit-line-clamp: 1;
13
  overflow: hidden;
14
15
  border: solid thin grey;
16
  font: 20px 'Ahem';
17
  line-height: 40px;
18
}
19
</style>
20
<p>This tests the -webkit-line-clamp property with line-height applied.</p>
21
<div id="test">
22
  XXXX XXX
23
</div>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/webkit-line-clamp/w3c-import.log -18 lines
Lines 1-18 a/LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/webkit-line-clamp/w3c-import.log_sec1
1
The tests in this directory were imported from the W3C repository.
2
Do NOT modify these tests directly in WebKit.
3
Instead, create a pull request on the WPT github:
4
	https://github.com/web-platform-tests/wpt
5
6
Then run the Tools/Scripts/import-w3c-tests in WebKit to reimport
7
8
Do NOT modify or remove this file.
9
10
------------------------------------------------------------------------
11
Properties requiring vendor prefixes:
12
None
13
Property values requiring vendor prefixes:
14
None
15
------------------------------------------------------------------------
16
List of files:
17
/LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/webkit-line-clamp/webkit-line-clamp-with-line-height.tentative-expected.html
18
/LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/webkit-line-clamp/webkit-line-clamp-with-line-height.tentative.html
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/webkit-line-clamp/webkit-line-clamp-with-line-height.tentative-expected.html -19 lines
Lines 1-19 a/LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/webkit-line-clamp/webkit-line-clamp-with-line-height.tentative-expected.html_sec1
1
<!DOCTYPE html>
2
<link rel="stylesheet" type="text/css" href="/fonts/ahem.css" />
3
<style>
4
#test {
5
  width: 100px;
6
7
  text-overflow: ellipsis;
8
  white-space: nowrap;
9
  overflow: hidden;
10
11
  border: solid thin grey;
12
  font: 20px 'Ahem';
13
  line-height: 40px;
14
}
15
</style>
16
<p>This tests the -webkit-line-clamp property with line-height applied.</p>
17
<div id="test">
18
  XXXX XXX
19
</div>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/webkit-line-clamp/webkit-line-clamp-with-line-height.tentative.html -23 lines
Lines 1-23 a/LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/webkit-line-clamp/webkit-line-clamp-with-line-height.tentative.html_sec1
1
<!DOCTYPE html>
2
<link rel="match" href="webkit-line-clamp-with-line-height-ref.html">
3
<link rel="help" href="https://github.com/w3c/csswg-drafts/issues/2847#issuecomment-468084957">
4
<meta name="assert" content="This test checks that -webkit-line-clamp calculates respects line-height when calculating its block-size.">
5
<link rel="stylesheet" type="text/css" href="/fonts/ahem.css" />
6
<style>
7
#test {
8
  width: 100px;
9
10
  display: -webkit-box;
11
  -webkit-box-orient: vertical;
12
  -webkit-line-clamp: 1;
13
  overflow: hidden;
14
15
  border: solid thin grey;
16
  font: 20px 'Ahem';
17
  line-height: 40px;
18
}
19
</style>
20
<p>This tests the -webkit-line-clamp property with line-height applied.</p>
21
<div id="test">
22
  XXXX XXX
23
</div>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-overscroll-behavior/META.yml +1 lines
Lines 1-3 a/LayoutTests/imported/w3c/web-platform-tests/css/css-overscroll-behavior/META.yml_sec1
1
spec: https://drafts.csswg.org/css-overscroll-behavior/
1
spec: https://drafts.csswg.org/css-overscroll-behavior/
2
suggested_reviewers:
2
suggested_reviewers:
3
  - majido
3
  - majido
4
  - theres-waldo
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-overscroll-behavior/inheritance-expected.txt +4 lines
Lines 1-4 a/LayoutTests/imported/w3c/web-platform-tests/css/css-overscroll-behavior/inheritance-expected.txt_sec1
1
1
2
FAIL Property overscroll-behavior-block has initial value auto assert_true: overscroll-behavior-block doesn't seem to be supported in the computed style expected true got false
3
FAIL Property overscroll-behavior-block does not inherit assert_true: expected true got false
4
FAIL Property overscroll-behavior-inline has initial value auto assert_true: overscroll-behavior-inline doesn't seem to be supported in the computed style expected true got false
5
FAIL Property overscroll-behavior-inline does not inherit assert_true: expected true got false
2
FAIL Property overscroll-behavior-x has initial value auto assert_true: overscroll-behavior-x doesn't seem to be supported in the computed style expected true got false
6
FAIL Property overscroll-behavior-x has initial value auto assert_true: overscroll-behavior-x doesn't seem to be supported in the computed style expected true got false
3
FAIL Property overscroll-behavior-x does not inherit assert_true: expected true got false
7
FAIL Property overscroll-behavior-x does not inherit assert_true: expected true got false
4
FAIL Property overscroll-behavior-y has initial value auto assert_true: overscroll-behavior-y doesn't seem to be supported in the computed style expected true got false
8
FAIL Property overscroll-behavior-y has initial value auto assert_true: overscroll-behavior-y doesn't seem to be supported in the computed style expected true got false
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-overscroll-behavior/inheritance.html +2 lines
Lines 15-20 a/LayoutTests/imported/w3c/web-platform-tests/css/css-overscroll-behavior/inheritance.html_sec1
15
  <div id="target"></div>
15
  <div id="target"></div>
16
</div>
16
</div>
17
<script>
17
<script>
18
assert_not_inherited('overscroll-behavior-block', 'auto', 'contain');
19
assert_not_inherited('overscroll-behavior-inline', 'auto', 'contain');
18
assert_not_inherited('overscroll-behavior-x', 'auto', 'contain');
20
assert_not_inherited('overscroll-behavior-x', 'auto', 'contain');
19
assert_not_inherited('overscroll-behavior-y', 'auto', 'contain');
21
assert_not_inherited('overscroll-behavior-y', 'auto', 'contain');
20
</script>
22
</script>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-overscroll-behavior/overscroll-behavior-logical-expected.txt +5 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-overscroll-behavior/overscroll-behavior-logical-expected.txt_sec1
1
2
FAIL Logical overscroll-behavior maps correctly when element has horizontal-tb writing mode assert_equals: expected (string) "none" but got (undefined) undefined
3
FAIL Logical overscroll-behavior maps correctly when element has vertical-rl writing mode assert_equals: expected (string) "contain" but got (undefined) undefined
4
FAIL Logical overscroll-behavior maps correctly when element has horizontal-tb writing mode and is not affected by rtl direction assert_equals: expected (string) "none" but got (undefined) undefined
5
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-overscroll-behavior/overscroll-behavior-logical.html +49 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-overscroll-behavior/overscroll-behavior-logical.html_sec1
1
<!DOCTYPE html>
2
<meta charset="utf-8">
3
<title>Test flow-relative versions of overscroll-behavior properties</title>
4
<link rel="author" title="Majid Valipour">
5
<link rel="help" href="https://drafts.csswg.org/css-overscroll-behavior-1/#overscroll-behavior-longhands-logical">
6
<link rel="help" href="https://drafts.csswg.org/css-logical/#box">
7
<script src="/resources/testharness.js"></script>
8
<script src="/resources/testharnessreport.js"></script>
9
<style>
10
div {
11
  overscroll-behavior-block: contain;
12
  overscroll-behavior-inline: none;
13
}
14
#horizontal {
15
  writing-mode: horizontal-tb;
16
}
17
#vertical {
18
  writing-mode: vertical-rl;
19
}
20
#horizontalreversed {
21
  writing-mode: horizontal-tb;
22
  direction: rtl;
23
}
24
</style>
25
<body>
26
  <div id="horizontal"></div>
27
  <div id="vertical"></div>
28
  <div id="horizontalreversed"></div>
29
</body>
30
31
<script>
32
test(function() {
33
  var element = document.getElementById("horizontal");
34
  assert_equals(getComputedStyle(element).overscrollBehaviorX, "none");
35
  assert_equals(getComputedStyle(element).overscrollBehaviorY, "contain");
36
}, "Logical overscroll-behavior maps correctly when element has horizontal-tb writing mode");
37
38
test(function() {
39
  var element = document.getElementById("vertical");
40
  assert_equals(getComputedStyle(element).overscrollBehaviorX, "contain");
41
  assert_equals(getComputedStyle(element).overscrollBehaviorY, "none");
42
}, "Logical overscroll-behavior maps correctly when element has vertical-rl writing mode");
43
44
test(function() {
45
  var element = document.getElementById("horizontalreversed");
46
  assert_equals(getComputedStyle(element).overscrollBehaviorX, "none");
47
  assert_equals(getComputedStyle(element).overscrollBehaviorY, "contain");
48
}, "Logical overscroll-behavior maps correctly when element has horizontal-tb writing mode and is not affected by rtl direction");
49
</script>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-overscroll-behavior/parsing/overscroll-behavior-computed-expected.txt +14 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-overscroll-behavior/parsing/overscroll-behavior-computed-expected.txt_sec1
1
2
FAIL Property overscroll-behavior-x value 'contain' assert_true: overscroll-behavior-x doesn't seem to be supported in the computed style expected true got false
3
FAIL Property overscroll-behavior-x value 'none' assert_true: overscroll-behavior-x doesn't seem to be supported in the computed style expected true got false
4
FAIL Property overscroll-behavior-x value 'auto' assert_true: overscroll-behavior-x doesn't seem to be supported in the computed style expected true got false
5
FAIL Property overscroll-behavior-y value 'contain' assert_true: overscroll-behavior-y doesn't seem to be supported in the computed style expected true got false
6
FAIL Property overscroll-behavior-y value 'none' assert_true: overscroll-behavior-y doesn't seem to be supported in the computed style expected true got false
7
FAIL Property overscroll-behavior-y value 'auto' assert_true: overscroll-behavior-y doesn't seem to be supported in the computed style expected true got false
8
FAIL Property overscroll-behavior-inline value 'contain' assert_true: overscroll-behavior-inline doesn't seem to be supported in the computed style expected true got false
9
FAIL Property overscroll-behavior-inline value 'none' assert_true: overscroll-behavior-inline doesn't seem to be supported in the computed style expected true got false
10
FAIL Property overscroll-behavior-inline value 'auto' assert_true: overscroll-behavior-inline doesn't seem to be supported in the computed style expected true got false
11
FAIL Property overscroll-behavior-block value 'contain' assert_true: overscroll-behavior-block doesn't seem to be supported in the computed style expected true got false
12
FAIL Property overscroll-behavior-block value 'none' assert_true: overscroll-behavior-block doesn't seem to be supported in the computed style expected true got false
13
FAIL Property overscroll-behavior-block value 'auto' assert_true: overscroll-behavior-block doesn't seem to be supported in the computed style expected true got false
14
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-overscroll-behavior/parsing/overscroll-behavior-computed.html +26 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-overscroll-behavior/parsing/overscroll-behavior-computed.html_sec1
1
<!DOCTYPE html>
2
<html>
3
<head>
4
<meta charset="utf-8">
5
<title>CSS Overscroll Behavior: getComputedStyle().overscrollBehavior*</title>
6
<link rel="help" href="https://drafts.csswg.org/css-overscroll-behavior/#overscroll-behavior-properties">
7
<meta name="assert" content="overscroll-behavior-x computed value is as specified.">
8
<meta name="assert" content="overscroll-behavior-y computed value is as specified.">
9
<meta name="assert" content="overscroll-behavior-inline computed value is as specified.">
10
<meta name="assert" content="overscroll-behavior-block computed value is as specified.">
11
<script src="/resources/testharness.js"></script>
12
<script src="/resources/testharnessreport.js"></script>
13
<script src="/css/support/computed-testcommon.js"></script>
14
</head>
15
<body>
16
<div id="target"></div>
17
<script>
18
'use strict';
19
for (let property of ["overscroll-behavior-x", "overscroll-behavior-y", "overscroll-behavior-inline", "overscroll-behavior-block"]) {
20
  test_computed_value(property, "contain");
21
  test_computed_value(property, "none");
22
  test_computed_value(property, "auto");
23
}
24
</script>
25
</body>
26
</html>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-overscroll-behavior/parsing/overscroll-behavior-invalid-expected.txt +17 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-overscroll-behavior/parsing/overscroll-behavior-invalid-expected.txt_sec1
1
2
PASS e.style['overscroll-behavior'] = "normal" should not set the property value 
3
PASS e.style['overscroll-behavior'] = "0" should not set the property value 
4
PASS e.style['overscroll-behavior'] = "contain contain contain" should not set the property value 
5
PASS e.style['overscroll-behavior-x'] = "normal" should not set the property value 
6
PASS e.style['overscroll-behavior-x'] = "0" should not set the property value 
7
PASS e.style['overscroll-behavior-x'] = "contain contain" should not set the property value 
8
PASS e.style['overscroll-behavior-y'] = "normal" should not set the property value 
9
PASS e.style['overscroll-behavior-y'] = "0" should not set the property value 
10
PASS e.style['overscroll-behavior-y'] = "contain contain" should not set the property value 
11
PASS e.style['overscroll-behavior-inline'] = "normal" should not set the property value 
12
PASS e.style['overscroll-behavior-inline'] = "0" should not set the property value 
13
PASS e.style['overscroll-behavior-inline'] = "contain contain" should not set the property value 
14
PASS e.style['overscroll-behavior-block'] = "normal" should not set the property value 
15
PASS e.style['overscroll-behavior-block'] = "0" should not set the property value 
16
PASS e.style['overscroll-behavior-block'] = "contain contain" should not set the property value 
17
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-overscroll-behavior/parsing/overscroll-behavior-invalid.html +28 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-overscroll-behavior/parsing/overscroll-behavior-invalid.html_sec1
1
<!DOCTYPE html>
2
<html>
3
<head>
4
<meta charset="utf-8">
5
<title>CSS Overscroll Behavior: parsing overscroll-behavior with invalid values</title>
6
<link rel="author" title="Eric Willigers" href="mailto:ericwilligers@chromium.org">
7
<link rel="help" href="https://drafts.csswg.org/css-overscroll-behavior/#propdef-overscroll-behavior">
8
<meta name="assert" content="overscroll-behavior supports only the grammar '[ contain | none | auto ]{1,2}'.">
9
<script src="/resources/testharness.js"></script>
10
<script src="/resources/testharnessreport.js"></script>
11
<script src="/css/support/parsing-testcommon.js"></script>
12
</head>
13
<body>
14
<script>
15
'use strict';
16
test_invalid_value("overscroll-behavior", "normal");
17
test_invalid_value("overscroll-behavior", "0");
18
test_invalid_value("overscroll-behavior", "contain contain contain");
19
20
21
for (let property of ["overscroll-behavior-x", "overscroll-behavior-y", "overscroll-behavior-inline", "overscroll-behavior-block"]) {
22
  test_invalid_value(property, "normal");
23
  test_invalid_value(property, "0");
24
  test_invalid_value(property, "contain contain");
25
}
26
</script>
27
</body>
28
</html>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-overscroll-behavior/parsing/overscroll-behavior-valid-expected.txt +23 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-overscroll-behavior/parsing/overscroll-behavior-valid-expected.txt_sec1
1
2
FAIL e.style['overscroll-behavior'] = "contain" should set the property value assert_not_equals: property should be set got disallowed value ""
3
FAIL e.style['overscroll-behavior'] = "none" should set the property value assert_not_equals: property should be set got disallowed value ""
4
FAIL e.style['overscroll-behavior'] = "auto" should set the property value assert_not_equals: property should be set got disallowed value ""
5
FAIL e.style['overscroll-behavior'] = "contain none" should set the property value assert_not_equals: property should be set got disallowed value ""
6
FAIL e.style['overscroll-behavior'] = "none auto" should set the property value assert_not_equals: property should be set got disallowed value ""
7
FAIL e.style['overscroll-behavior'] = "auto contain" should set the property value assert_not_equals: property should be set got disallowed value ""
8
FAIL e.style['overscroll-behavior'] = "contain contain" should set the property value assert_not_equals: property should be set got disallowed value ""
9
FAIL e.style['overscroll-behavior'] = "none none" should set the property value assert_not_equals: property should be set got disallowed value ""
10
FAIL e.style['overscroll-behavior'] = "auto auto" should set the property value assert_not_equals: property should be set got disallowed value ""
11
FAIL e.style['overscroll-behavior-x'] = "contain" should set the property value assert_not_equals: property should be set got disallowed value ""
12
FAIL e.style['overscroll-behavior-x'] = "none" should set the property value assert_not_equals: property should be set got disallowed value ""
13
FAIL e.style['overscroll-behavior-x'] = "auto" should set the property value assert_not_equals: property should be set got disallowed value ""
14
FAIL e.style['overscroll-behavior-y'] = "contain" should set the property value assert_not_equals: property should be set got disallowed value ""
15
FAIL e.style['overscroll-behavior-y'] = "none" should set the property value assert_not_equals: property should be set got disallowed value ""
16
FAIL e.style['overscroll-behavior-y'] = "auto" should set the property value assert_not_equals: property should be set got disallowed value ""
17
FAIL e.style['overscroll-behavior-inline'] = "contain" should set the property value assert_not_equals: property should be set got disallowed value ""
18
FAIL e.style['overscroll-behavior-inline'] = "none" should set the property value assert_not_equals: property should be set got disallowed value ""
19
FAIL e.style['overscroll-behavior-inline'] = "auto" should set the property value assert_not_equals: property should be set got disallowed value ""
20
FAIL e.style['overscroll-behavior-block'] = "contain" should set the property value assert_not_equals: property should be set got disallowed value ""
21
FAIL e.style['overscroll-behavior-block'] = "none" should set the property value assert_not_equals: property should be set got disallowed value ""
22
FAIL e.style['overscroll-behavior-block'] = "auto" should set the property value assert_not_equals: property should be set got disallowed value ""
23
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-overscroll-behavior/parsing/overscroll-behavior-valid.html +36 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-overscroll-behavior/parsing/overscroll-behavior-valid.html_sec1
1
<!DOCTYPE html>
2
<html>
3
<head>
4
<meta charset="utf-8">
5
<title>CSS Overscroll Behavior: parsing overscroll-behavior with valid values</title>
6
<link rel="author" title="Eric Willigers" href="mailto:ericwilligers@chromium.org">
7
<link rel="help" href="https://drafts.csswg.org/css-overscroll-behavior/#propdef-overscroll-behavior">
8
<meta name="assert" content="overscroll-behavior supports the full grammar '[ contain | none | auto ]{1,2}'.">
9
<script src="/resources/testharness.js"></script>
10
<script src="/resources/testharnessreport.js"></script>
11
<script src="/css/support/parsing-testcommon.js"></script>
12
</head>
13
<body>
14
<script>
15
'use strict';
16
test_valid_value("overscroll-behavior", "contain");
17
test_valid_value("overscroll-behavior", "none");
18
test_valid_value("overscroll-behavior", "auto");
19
20
test_valid_value("overscroll-behavior", "contain none");
21
test_valid_value("overscroll-behavior", "none auto");
22
test_valid_value("overscroll-behavior", "auto contain");
23
24
test_valid_value("overscroll-behavior", "contain contain", "contain");
25
test_valid_value("overscroll-behavior", "none none", "none");
26
test_valid_value("overscroll-behavior", "auto auto", "auto");
27
28
29
for (let property of ["overscroll-behavior-x", "overscroll-behavior-y", "overscroll-behavior-inline", "overscroll-behavior-block"]) {
30
  test_valid_value(property, "contain");
31
  test_valid_value(property, "none");
32
  test_valid_value(property, "auto");
33
}
34
</script>
35
</body>
36
</html>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-overscroll-behavior/parsing/w3c-import.log +19 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-overscroll-behavior/parsing/w3c-import.log_sec1
1
The tests in this directory were imported from the W3C repository.
2
Do NOT modify these tests directly in WebKit.
3
Instead, create a pull request on the WPT github:
4
	https://github.com/web-platform-tests/wpt
5
6
Then run the Tools/Scripts/import-w3c-tests in WebKit to reimport
7
8
Do NOT modify or remove this file.
9
10
------------------------------------------------------------------------
11
Properties requiring vendor prefixes:
12
None
13
Property values requiring vendor prefixes:
14
None
15
------------------------------------------------------------------------
16
List of files:
17
/LayoutTests/imported/w3c/web-platform-tests/css/css-overscroll-behavior/parsing/overscroll-behavior-computed.html
18
/LayoutTests/imported/w3c/web-platform-tests/css/css-overscroll-behavior/parsing/overscroll-behavior-invalid.html
19
/LayoutTests/imported/w3c/web-platform-tests/css/css-overscroll-behavior/parsing/overscroll-behavior-valid.html
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-overscroll-behavior/w3c-import.log +1 lines
Lines 16-18 None a/LayoutTests/imported/w3c/web-platform-tests/css/css-overscroll-behavior/w3c-import.log_sec1
16
List of files:
16
List of files:
17
/LayoutTests/imported/w3c/web-platform-tests/css/css-overscroll-behavior/META.yml
17
/LayoutTests/imported/w3c/web-platform-tests/css/css-overscroll-behavior/META.yml
18
/LayoutTests/imported/w3c/web-platform-tests/css/css-overscroll-behavior/inheritance.html
18
/LayoutTests/imported/w3c/web-platform-tests/css/css-overscroll-behavior/inheritance.html
19
/LayoutTests/imported/w3c/web-platform-tests/css/css-overscroll-behavior/overscroll-behavior-logical.html
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-position/animation/position-interpolation-expected.txt -37 lines
Lines 1-37 a/LayoutTests/imported/w3c/web-platform-tests/css/css-position/animation/position-interpolation-expected.txt_sec1
1
2
PASS CSS Transitions: property <position> from [absolute] to [static] at (-0.3) should be [static] 
3
PASS CSS Transitions: property <position> from [absolute] to [static] at (0) should be [static] 
4
PASS CSS Transitions: property <position> from [absolute] to [static] at (0.3) should be [static] 
5
PASS CSS Transitions: property <position> from [absolute] to [static] at (0.5) should be [static] 
6
PASS CSS Transitions: property <position> from [absolute] to [static] at (0.6) should be [static] 
7
PASS CSS Transitions: property <position> from [absolute] to [static] at (1) should be [static] 
8
PASS CSS Transitions: property <position> from [absolute] to [static] at (1.5) should be [static] 
9
PASS CSS Transitions with transition: all: property <position> from [absolute] to [static] at (-0.3) should be [static] 
10
PASS CSS Transitions with transition: all: property <position> from [absolute] to [static] at (0) should be [static] 
11
PASS CSS Transitions with transition: all: property <position> from [absolute] to [static] at (0.3) should be [static] 
12
PASS CSS Transitions with transition: all: property <position> from [absolute] to [static] at (0.5) should be [static] 
13
PASS CSS Transitions with transition: all: property <position> from [absolute] to [static] at (0.6) should be [static] 
14
PASS CSS Transitions with transition: all: property <position> from [absolute] to [static] at (1) should be [static] 
15
PASS CSS Transitions with transition: all: property <position> from [absolute] to [static] at (1.5) should be [static] 
16
FAIL CSS Animations: property <position> from [absolute] to [static] at (-0.3) should be [absolute] assert_equals: expected "absolute " but got "static "
17
FAIL CSS Animations: property <position> from [absolute] to [static] at (0) should be [absolute] assert_equals: expected "absolute " but got "static "
18
FAIL CSS Animations: property <position> from [absolute] to [static] at (0.3) should be [absolute] assert_equals: expected "absolute " but got "static "
19
PASS CSS Animations: property <position> from [absolute] to [static] at (0.5) should be [static] 
20
PASS CSS Animations: property <position> from [absolute] to [static] at (0.6) should be [static] 
21
PASS CSS Animations: property <position> from [absolute] to [static] at (1) should be [static] 
22
PASS CSS Animations: property <position> from [absolute] to [static] at (1.5) should be [static] 
23
FAIL Web Animations: property <position> from [absolute] to [static] at (-0.3) should be [absolute] assert_equals: expected "absolute " but got "static "
24
FAIL Web Animations: property <position> from [absolute] to [static] at (0) should be [absolute] assert_equals: expected "absolute " but got "static "
25
FAIL Web Animations: property <position> from [absolute] to [static] at (0.3) should be [absolute] assert_equals: expected "absolute " but got "static "
26
PASS Web Animations: property <position> from [absolute] to [static] at (0.5) should be [static] 
27
PASS Web Animations: property <position> from [absolute] to [static] at (0.6) should be [static] 
28
PASS Web Animations: property <position> from [absolute] to [static] at (1) should be [static] 
29
PASS Web Animations: property <position> from [absolute] to [static] at (1.5) should be [static] 
30
PASS CSS Animations: property <position> from neutral to [absolute] at (-1) should be [static] 
31
PASS CSS Animations: property <position> from neutral to [absolute] at (0) should be [static] 
32
PASS CSS Animations: property <position> from neutral to [absolute] at (0.25) should be [static] 
33
FAIL CSS Animations: property <position> from neutral to [absolute] at (0.5) should be [absolute] assert_equals: expected "absolute " but got "static "
34
FAIL CSS Animations: property <position> from neutral to [absolute] at (0.75) should be [absolute] assert_equals: expected "absolute " but got "static "
35
FAIL CSS Animations: property <position> from neutral to [absolute] at (1) should be [absolute] assert_equals: expected "absolute " but got "static "
36
FAIL CSS Animations: property <position> from neutral to [absolute] at (2) should be [absolute] assert_equals: expected "absolute " but got "static "
37
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-position/animation/position-interpolation.html -61 lines
Lines 1-61 a/LayoutTests/imported/w3c/web-platform-tests/css/css-position/animation/position-interpolation.html_sec1
1
<!DOCTYPE html>
2
<meta charset="UTF-8">
3
<title>position interpolation</title>
4
<link rel="help" href="https://drafts.csswg.org/css-position-3/#position-property">
5
<meta name="assert" content="position has discrete animation">
6
7
<script src="/resources/testharness.js"></script>
8
<script src="/resources/testharnessreport.js"></script>
9
<script src="/css/support/interpolation-testcommon.js"></script>
10
11
<style>
12
.parent {
13
  position: relative;
14
  display: inline-block;
15
  height: 10px;
16
  margin: 0px;
17
}
18
.target {
19
  width: 10px;
20
  height: 10px;
21
  background-color: black;
22
  left: 10px;
23
  position: 10px;
24
}
25
.expected {
26
  background-color: green;
27
}
28
</style>
29
30
<body>
31
<template id="target-template">
32
  <div class="parent">
33
    <div class="target"></div>
34
  </div>
35
</template>
36
</body>
37
38
<script>
39
test_no_interpolation({
40
  property: 'position',
41
  from: 'absolute',
42
  to: 'static',
43
});
44
45
// This is still discrete interpolation; this test ensures that the neutral
46
// keyframe is defined correctly for position.
47
test_interpolation({
48
  property: 'position',
49
  from: neutralKeyframe,
50
  to: 'absolute',
51
  method: 'CSS Animations',
52
}, [
53
  {at: -1, expect: 'static'},
54
  {at: 0, expect: 'static'},
55
  {at: 0.25, expect: 'static'},
56
  {at: 0.5, expect: 'absolute'},
57
  {at: 0.75, expect: 'absolute'},
58
  {at: 1, expect: 'absolute'},
59
  {at: 2, expect: 'absolute'},
60
]);
61
</script>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-position/animation/w3c-import.log -17 lines
Lines 1-17 a/LayoutTests/imported/w3c/web-platform-tests/css/css-position/animation/w3c-import.log_sec1
1
The tests in this directory were imported from the W3C repository.
2
Do NOT modify these tests directly in WebKit.
3
Instead, create a pull request on the WPT github:
4
	https://github.com/web-platform-tests/wpt
5
6
Then run the Tools/Scripts/import-w3c-tests in WebKit to reimport
7
8
Do NOT modify or remove this file.
9
10
------------------------------------------------------------------------
11
Properties requiring vendor prefixes:
12
None
13
Property values requiring vendor prefixes:
14
None
15
------------------------------------------------------------------------
16
List of files:
17
/LayoutTests/imported/w3c/web-platform-tests/css/css-position/animation/position-interpolation.html
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-position/animations/bottom-composition-expected.txt +27 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-position/animations/bottom-composition-expected.txt_sec1
1
2
FAIL Compositing: property <bottom> underlying [50px] from add [100px] to add [200px] at (-0.3) should be [120px] assert_equals: expected "120px " but got "70px "
3
FAIL Compositing: property <bottom> underlying [50px] from add [100px] to add [200px] at (0) should be [150px] assert_equals: expected "150px " but got "100px "
4
FAIL Compositing: property <bottom> underlying [50px] from add [100px] to add [200px] at (0.5) should be [200px] assert_equals: expected "200px " but got "150px "
5
FAIL Compositing: property <bottom> underlying [50px] from add [100px] to add [200px] at (1) should be [250px] assert_equals: expected "250px " but got "200px "
6
FAIL Compositing: property <bottom> underlying [50px] from add [100px] to add [200px] at (1.5) should be [300px] assert_equals: expected "300px " but got "250px "
7
FAIL Compositing: property <bottom> underlying [100px] from add [10px] to add [2px] at (-0.5) should be [114px] assert_equals: expected "114px " but got "14px "
8
FAIL Compositing: property <bottom> underlying [100px] from add [10px] to add [2px] at (0) should be [110px] assert_equals: expected "110px " but got "10px "
9
FAIL Compositing: property <bottom> underlying [100px] from add [10px] to add [2px] at (0.5) should be [106px] assert_equals: expected "106px " but got "6px "
10
FAIL Compositing: property <bottom> underlying [100px] from add [10px] to add [2px] at (1) should be [102px] assert_equals: expected "102px " but got "2px "
11
FAIL Compositing: property <bottom> underlying [100px] from add [10px] to add [2px] at (1.5) should be [98px] assert_equals: expected "98px " but got "- 2px "
12
FAIL Compositing: property <bottom> underlying [10%] from add [100px] to add [20%] at (-0.3) should be [calc(130px + 4%)] assert_equals: expected "calc ( 4 % + 130px ) " but got "100px "
13
FAIL Compositing: property <bottom> underlying [10%] from add [100px] to add [20%] at (0) should be [calc(100px + 10%)] assert_equals: expected "calc ( 10 % + 100px ) " but got "100px "
14
FAIL Compositing: property <bottom> underlying [10%] from add [100px] to add [20%] at (0.5) should be [calc(50px + 20%)] assert_equals: expected "calc ( 20 % + 50px ) " but got "calc ( ( 100px * 0.5 ) + ( 20 % * 0.5 ) ) "
15
FAIL Compositing: property <bottom> underlying [10%] from add [100px] to add [20%] at (1) should be [30%] assert_equals: expected "30 % " but got "20 % "
16
FAIL Compositing: property <bottom> underlying [10%] from add [100px] to add [20%] at (1.5) should be [calc(-50px + 40%)] assert_equals: expected "calc ( 40 % - 50px ) " but got "20 % "
17
FAIL Compositing: property <bottom> underlying [50px] from add [100px] to replace [200px] at (-0.3) should be [135px] assert_equals: expected "135px " but got "70px "
18
FAIL Compositing: property <bottom> underlying [50px] from add [100px] to replace [200px] at (0) should be [150px] assert_equals: expected "150px " but got "100px "
19
FAIL Compositing: property <bottom> underlying [50px] from add [100px] to replace [200px] at (0.5) should be [175px] assert_equals: expected "175px " but got "150px "
20
PASS Compositing: property <bottom> underlying [50px] from add [100px] to replace [200px] at (1) should be [200px] 
21
FAIL Compositing: property <bottom> underlying [50px] from add [100px] to replace [200px] at (1.5) should be [225px] assert_equals: expected "225px " but got "250px "
22
FAIL Compositing: property <bottom> underlying [100px] from add [100px] to add [auto] at (-0.3) should be [200px] assert_equals: expected "200px " but got "100px "
23
FAIL Compositing: property <bottom> underlying [100px] from add [100px] to add [auto] at (0) should be [200px] assert_equals: expected "200px " but got "100px "
24
PASS Compositing: property <bottom> underlying [100px] from add [100px] to add [auto] at (0.5) should be [auto] 
25
PASS Compositing: property <bottom> underlying [100px] from add [100px] to add [auto] at (1) should be [auto] 
26
PASS Compositing: property <bottom> underlying [100px] from add [100px] to add [auto] at (1.5) should be [auto] 
27
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-position/animations/bottom-composition.html +78 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-position/animations/bottom-composition.html_sec1
1
<!DOCTYPE html>
2
<meta charset="UTF-8">
3
<title>bottom composition</title>
4
<link rel="help" href="https://drafts.csswg.org/css-position-3/#propdef-bottom">
5
<meta name="assert" content="bottom support animation">
6
7
<script src="/resources/testharness.js"></script>
8
<script src="/resources/testharnessreport.js"></script>
9
<script src="/css/support/interpolation-testcommon.js"></script>
10
11
<body>
12
<script>
13
test_composition({
14
  property: 'bottom',
15
  underlying: '50px',
16
  addFrom: '100px',
17
  addTo: '200px',
18
}, [
19
  {at: -0.3, expect: '120px'},
20
  {at: 0, expect: '150px'},
21
  {at: 0.5, expect: '200px'},
22
  {at: 1, expect: '250px'},
23
  {at: 1.5, expect: '300px'},
24
]);
25
26
test_composition({
27
  property: 'bottom',
28
  underlying: '100px',
29
  addFrom: '10px',
30
  addTo: '2px',
31
}, [
32
  {at: -0.5, expect: '114px'},
33
  {at: 0, expect: '110px'},
34
  {at: 0.5, expect: '106px'},
35
  {at: 1, expect: '102px'},
36
  {at: 1.5, expect: '98px'},
37
]);
38
39
test_composition({
40
  property: 'bottom',
41
  underlying: '10%',
42
  addFrom: '100px',
43
  addTo: '20%',
44
}, [
45
  {at: -0.3, expect: 'calc(130px + 4%)'},
46
  {at: 0, expect: 'calc(100px + 10%)'},
47
  {at: 0.5, expect: 'calc(50px + 20%)'},
48
  {at: 1, expect: '30%'},
49
  {at: 1.5, expect: 'calc(-50px + 40%)'},
50
]);
51
52
test_composition({
53
  property: 'bottom',
54
  underlying: '50px',
55
  addFrom: '100px',
56
  replaceTo: '200px',
57
}, [
58
  {at: -0.3, expect: '135px'},
59
  {at: 0, expect: '150px'},
60
  {at: 0.5, expect: '175px'},
61
  {at: 1, expect: '200px'},
62
  {at: 1.5, expect: '225px'},
63
]);
64
65
test_composition({
66
  property: 'bottom',
67
  underlying: '100px',
68
  addFrom: '100px',
69
  addTo: 'auto',
70
}, [
71
  {at: -0.3, expect: '200px'},
72
  {at: 0, expect: '200px'},
73
  {at: 0.5, expect: 'auto'},
74
  {at: 1, expect: 'auto'},
75
  {at: 1.5, expect: 'auto'},
76
]);
77
</script>
78
</body>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-position/animations/left-composition-expected.txt +32 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-position/animations/left-composition-expected.txt_sec1
1
2
FAIL Compositing: property <left> underlying [50px] from add [100px] to add [200px] at (-0.3) should be [120px] assert_equals: expected "120px " but got "70px "
3
FAIL Compositing: property <left> underlying [50px] from add [100px] to add [200px] at (0) should be [150px] assert_equals: expected "150px " but got "100px "
4
FAIL Compositing: property <left> underlying [50px] from add [100px] to add [200px] at (0.5) should be [200px] assert_equals: expected "200px " but got "150px "
5
FAIL Compositing: property <left> underlying [50px] from add [100px] to add [200px] at (1) should be [250px] assert_equals: expected "250px " but got "200px "
6
FAIL Compositing: property <left> underlying [50px] from add [100px] to add [200px] at (1.5) should be [300px] assert_equals: expected "300px " but got "250px "
7
FAIL Compositing: property <left> underlying [100px] from add [10px] to add [2px] at (-0.5) should be [114px] assert_equals: expected "114px " but got "14px "
8
FAIL Compositing: property <left> underlying [100px] from add [10px] to add [2px] at (0) should be [110px] assert_equals: expected "110px " but got "10px "
9
FAIL Compositing: property <left> underlying [100px] from add [10px] to add [2px] at (0.5) should be [106px] assert_equals: expected "106px " but got "6px "
10
FAIL Compositing: property <left> underlying [100px] from add [10px] to add [2px] at (1) should be [102px] assert_equals: expected "102px " but got "2px "
11
FAIL Compositing: property <left> underlying [100px] from add [10px] to add [2px] at (1.5) should be [98px] assert_equals: expected "98px " but got "- 2px "
12
FAIL Compositing: property <left> underlying [10%] from add [100px] to add [20%] at (-0.3) should be [calc(130px + 4%)] assert_equals: expected "calc ( 4 % + 130px ) " but got "100px "
13
FAIL Compositing: property <left> underlying [10%] from add [100px] to add [20%] at (0) should be [calc(100px + 10%)] assert_equals: expected "calc ( 10 % + 100px ) " but got "100px "
14
FAIL Compositing: property <left> underlying [10%] from add [100px] to add [20%] at (0.5) should be [calc(50px + 20%)] assert_equals: expected "calc ( 20 % + 50px ) " but got "calc ( ( 100px * 0.5 ) + ( 20 % * 0.5 ) ) "
15
FAIL Compositing: property <left> underlying [10%] from add [100px] to add [20%] at (1) should be [30%] assert_equals: expected "30 % " but got "20 % "
16
FAIL Compositing: property <left> underlying [10%] from add [100px] to add [20%] at (1.5) should be [calc(-50px + 40%)] assert_equals: expected "calc ( 40 % - 50px ) " but got "20 % "
17
FAIL Compositing: property <left> underlying [10%] from add [100px] to add [-10%] at (-0.3) should be [calc(130px + 13%)] assert_equals: expected "calc ( 13 % + 130px ) " but got "100px "
18
FAIL Compositing: property <left> underlying [10%] from add [100px] to add [-10%] at (0) should be [calc(100px + 10%)] assert_equals: expected "calc ( 10 % + 100px ) " but got "100px "
19
FAIL Compositing: property <left> underlying [10%] from add [100px] to add [-10%] at (0.5) should be [calc(50px + 5%)] assert_equals: expected "calc ( 5 % + 50px ) " but got "calc ( ( 100px * 0.5 ) + ( - 10 % * 0.5 ) ) "
20
FAIL Compositing: property <left> underlying [10%] from add [100px] to add [-10%] at (1) should be [0%] assert_equals: expected "0 % " but got "- 10 % "
21
FAIL Compositing: property <left> underlying [10%] from add [100px] to add [-10%] at (1.5) should be [calc(-50px - 5%)] assert_equals: expected "calc ( - 5 % - 50px ) " but got "- 10 % "
22
FAIL Compositing: property <left> underlying [50px] from add [100px] to replace [200px] at (-0.3) should be [135px] assert_equals: expected "135px " but got "70px "
23
FAIL Compositing: property <left> underlying [50px] from add [100px] to replace [200px] at (0) should be [150px] assert_equals: expected "150px " but got "100px "
24
FAIL Compositing: property <left> underlying [50px] from add [100px] to replace [200px] at (0.5) should be [175px] assert_equals: expected "175px " but got "150px "
25
PASS Compositing: property <left> underlying [50px] from add [100px] to replace [200px] at (1) should be [200px] 
26
FAIL Compositing: property <left> underlying [50px] from add [100px] to replace [200px] at (1.5) should be [225px] assert_equals: expected "225px " but got "250px "
27
FAIL Compositing: property <left> underlying [100px] from add [100px] to add [auto] at (-0.3) should be [200px] assert_equals: expected "200px " but got "100px "
28
FAIL Compositing: property <left> underlying [100px] from add [100px] to add [auto] at (0) should be [200px] assert_equals: expected "200px " but got "100px "
29
PASS Compositing: property <left> underlying [100px] from add [100px] to add [auto] at (0.5) should be [auto] 
30
PASS Compositing: property <left> underlying [100px] from add [100px] to add [auto] at (1) should be [auto] 
31
PASS Compositing: property <left> underlying [100px] from add [100px] to add [auto] at (1.5) should be [auto] 
32
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-position/animations/left-composition.html +91 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-position/animations/left-composition.html_sec1
1
<!DOCTYPE html>
2
<meta charset="UTF-8">
3
<title>left composition</title>
4
<link rel="help" href="https://drafts.csswg.org/css-position-3/#propdef-left">
5
<meta name="assert" content="left support animation">
6
7
<script src="/resources/testharness.js"></script>
8
<script src="/resources/testharnessreport.js"></script>
9
<script src="/css/support/interpolation-testcommon.js"></script>
10
11
<body>
12
<script>
13
test_composition({
14
  property: 'left',
15
  underlying: '50px',
16
  addFrom: '100px',
17
  addTo: '200px',
18
}, [
19
  {at: -0.3, expect: '120px'},
20
  {at: 0, expect: '150px'},
21
  {at: 0.5, expect: '200px'},
22
  {at: 1, expect: '250px'},
23
  {at: 1.5, expect: '300px'},
24
]);
25
26
test_composition({
27
  property: 'left',
28
  underlying: '100px',
29
  addFrom: '10px',
30
  addTo: '2px',
31
}, [
32
  {at: -0.5, expect: '114px'},
33
  {at: 0, expect: '110px'},
34
  {at: 0.5, expect: '106px'},
35
  {at: 1, expect: '102px'},
36
  {at: 1.5, expect: '98px'},
37
]);
38
39
test_composition({
40
  property: 'left',
41
  underlying: '10%',
42
  addFrom: '100px',
43
  addTo: '20%',
44
}, [
45
  {at: -0.3, expect: 'calc(130px + 4%)'},
46
  {at: 0, expect: 'calc(100px + 10%)'},
47
  {at: 0.5, expect: 'calc(50px + 20%)'},
48
  {at: 1, expect: '30%'},
49
  {at: 1.5, expect: 'calc(-50px + 40%)'},
50
]);
51
52
test_composition({
53
  property: 'left',
54
  underlying: '10%',
55
  addFrom: '100px',
56
  addTo: '-10%',
57
}, [
58
  {at: -0.3, expect: 'calc(130px + 13%)'},
59
  {at: 0, expect: 'calc(100px + 10%)'},
60
  {at: 0.5, expect: 'calc(50px + 5%)'},
61
  {at: 1, expect: '0%'},
62
  {at: 1.5, expect: 'calc(-50px - 5%)'},
63
]);
64
65
test_composition({
66
  property: 'left',
67
  underlying: '50px',
68
  addFrom: '100px',
69
  replaceTo: '200px',
70
}, [
71
  {at: -0.3, expect: '135px'},
72
  {at: 0, expect: '150px'},
73
  {at: 0.5, expect: '175px'},
74
  {at: 1, expect: '200px'},
75
  {at: 1.5, expect: '225px'},
76
]);
77
78
test_composition({
79
  property: 'left',
80
  underlying: '100px',
81
  addFrom: '100px',
82
  addTo: 'auto',
83
}, [
84
  {at: -0.3, expect: '200px'},
85
  {at: 0, expect: '200px'},
86
  {at: 0.5, expect: 'auto'},
87
  {at: 1, expect: 'auto'},
88
  {at: 1.5, expect: 'auto'},
89
]);
90
</script>
91
</body>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-position/animations/position-interpolation-expected.txt +37 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-position/animations/position-interpolation-expected.txt_sec1
1
2
PASS CSS Transitions: property <position> from [absolute] to [static] at (-0.3) should be [static] 
3
PASS CSS Transitions: property <position> from [absolute] to [static] at (0) should be [static] 
4
PASS CSS Transitions: property <position> from [absolute] to [static] at (0.3) should be [static] 
5
PASS CSS Transitions: property <position> from [absolute] to [static] at (0.5) should be [static] 
6
PASS CSS Transitions: property <position> from [absolute] to [static] at (0.6) should be [static] 
7
PASS CSS Transitions: property <position> from [absolute] to [static] at (1) should be [static] 
8
PASS CSS Transitions: property <position> from [absolute] to [static] at (1.5) should be [static] 
9
PASS CSS Transitions with transition: all: property <position> from [absolute] to [static] at (-0.3) should be [static] 
10
PASS CSS Transitions with transition: all: property <position> from [absolute] to [static] at (0) should be [static] 
11
PASS CSS Transitions with transition: all: property <position> from [absolute] to [static] at (0.3) should be [static] 
12
PASS CSS Transitions with transition: all: property <position> from [absolute] to [static] at (0.5) should be [static] 
13
PASS CSS Transitions with transition: all: property <position> from [absolute] to [static] at (0.6) should be [static] 
14
PASS CSS Transitions with transition: all: property <position> from [absolute] to [static] at (1) should be [static] 
15
PASS CSS Transitions with transition: all: property <position> from [absolute] to [static] at (1.5) should be [static] 
16
FAIL CSS Animations: property <position> from [absolute] to [static] at (-0.3) should be [absolute] assert_equals: expected "absolute " but got "static "
17
FAIL CSS Animations: property <position> from [absolute] to [static] at (0) should be [absolute] assert_equals: expected "absolute " but got "static "
18
FAIL CSS Animations: property <position> from [absolute] to [static] at (0.3) should be [absolute] assert_equals: expected "absolute " but got "static "
19
PASS CSS Animations: property <position> from [absolute] to [static] at (0.5) should be [static] 
20
PASS CSS Animations: property <position> from [absolute] to [static] at (0.6) should be [static] 
21
PASS CSS Animations: property <position> from [absolute] to [static] at (1) should be [static] 
22
PASS CSS Animations: property <position> from [absolute] to [static] at (1.5) should be [static] 
23
FAIL Web Animations: property <position> from [absolute] to [static] at (-0.3) should be [absolute] assert_equals: expected "absolute " but got "static "
24
FAIL Web Animations: property <position> from [absolute] to [static] at (0) should be [absolute] assert_equals: expected "absolute " but got "static "
25
FAIL Web Animations: property <position> from [absolute] to [static] at (0.3) should be [absolute] assert_equals: expected "absolute " but got "static "
26
PASS Web Animations: property <position> from [absolute] to [static] at (0.5) should be [static] 
27
PASS Web Animations: property <position> from [absolute] to [static] at (0.6) should be [static] 
28
PASS Web Animations: property <position> from [absolute] to [static] at (1) should be [static] 
29
PASS Web Animations: property <position> from [absolute] to [static] at (1.5) should be [static] 
30
PASS CSS Animations: property <position> from neutral to [absolute] at (-1) should be [static] 
31
PASS CSS Animations: property <position> from neutral to [absolute] at (0) should be [static] 
32
PASS CSS Animations: property <position> from neutral to [absolute] at (0.25) should be [static] 
33
FAIL CSS Animations: property <position> from neutral to [absolute] at (0.5) should be [absolute] assert_equals: expected "absolute " but got "static "
34
FAIL CSS Animations: property <position> from neutral to [absolute] at (0.75) should be [absolute] assert_equals: expected "absolute " but got "static "
35
FAIL CSS Animations: property <position> from neutral to [absolute] at (1) should be [absolute] assert_equals: expected "absolute " but got "static "
36
FAIL CSS Animations: property <position> from neutral to [absolute] at (2) should be [absolute] assert_equals: expected "absolute " but got "static "
37
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-position/animations/position-interpolation.html +61 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-position/animations/position-interpolation.html_sec1
1
<!DOCTYPE html>
2
<meta charset="UTF-8">
3
<title>position interpolation</title>
4
<link rel="help" href="https://drafts.csswg.org/css-position-3/#position-property">
5
<meta name="assert" content="position has discrete animation">
6
7
<script src="/resources/testharness.js"></script>
8
<script src="/resources/testharnessreport.js"></script>
9
<script src="/css/support/interpolation-testcommon.js"></script>
10
11
<style>
12
.parent {
13
  position: relative;
14
  display: inline-block;
15
  height: 10px;
16
  margin: 0px;
17
}
18
.target {
19
  width: 10px;
20
  height: 10px;
21
  background-color: black;
22
  left: 10px;
23
  position: 10px;
24
}
25
.expected {
26
  background-color: green;
27
}
28
</style>
29
30
<body>
31
<template id="target-template">
32
  <div class="parent">
33
    <div class="target"></div>
34
  </div>
35
</template>
36
</body>
37
38
<script>
39
test_no_interpolation({
40
  property: 'position',
41
  from: 'absolute',
42
  to: 'static',
43
});
44
45
// This is still discrete interpolation; this test ensures that the neutral
46
// keyframe is defined correctly for position.
47
test_interpolation({
48
  property: 'position',
49
  from: neutralKeyframe,
50
  to: 'absolute',
51
  method: 'CSS Animations',
52
}, [
53
  {at: -1, expect: 'static'},
54
  {at: 0, expect: 'static'},
55
  {at: 0.25, expect: 'static'},
56
  {at: 0.5, expect: 'absolute'},
57
  {at: 0.75, expect: 'absolute'},
58
  {at: 1, expect: 'absolute'},
59
  {at: 2, expect: 'absolute'},
60
]);
61
</script>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-position/animations/right-composition-expected.txt +27 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-position/animations/right-composition-expected.txt_sec1
1
2
FAIL Compositing: property <right> underlying [50px] from add [100px] to add [200px] at (-0.3) should be [120px] assert_equals: expected "120px " but got "70px "
3
FAIL Compositing: property <right> underlying [50px] from add [100px] to add [200px] at (0) should be [150px] assert_equals: expected "150px " but got "100px "
4
FAIL Compositing: property <right> underlying [50px] from add [100px] to add [200px] at (0.5) should be [200px] assert_equals: expected "200px " but got "150px "
5
FAIL Compositing: property <right> underlying [50px] from add [100px] to add [200px] at (1) should be [250px] assert_equals: expected "250px " but got "200px "
6
FAIL Compositing: property <right> underlying [50px] from add [100px] to add [200px] at (1.5) should be [300px] assert_equals: expected "300px " but got "250px "
7
FAIL Compositing: property <right> underlying [100px] from add [10px] to add [2px] at (-0.5) should be [114px] assert_equals: expected "114px " but got "14px "
8
FAIL Compositing: property <right> underlying [100px] from add [10px] to add [2px] at (0) should be [110px] assert_equals: expected "110px " but got "10px "
9
FAIL Compositing: property <right> underlying [100px] from add [10px] to add [2px] at (0.5) should be [106px] assert_equals: expected "106px " but got "6px "
10
FAIL Compositing: property <right> underlying [100px] from add [10px] to add [2px] at (1) should be [102px] assert_equals: expected "102px " but got "2px "
11
FAIL Compositing: property <right> underlying [100px] from add [10px] to add [2px] at (1.5) should be [98px] assert_equals: expected "98px " but got "- 2px "
12
FAIL Compositing: property <right> underlying [10%] from add [100px] to add [20%] at (-0.3) should be [calc(130px + 4%)] assert_equals: expected "calc ( 4 % + 130px ) " but got "100px "
13
FAIL Compositing: property <right> underlying [10%] from add [100px] to add [20%] at (0) should be [calc(100px + 10%)] assert_equals: expected "calc ( 10 % + 100px ) " but got "100px "
14
FAIL Compositing: property <right> underlying [10%] from add [100px] to add [20%] at (0.5) should be [calc(50px + 20%)] assert_equals: expected "calc ( 20 % + 50px ) " but got "calc ( ( 100px * 0.5 ) + ( 20 % * 0.5 ) ) "
15
FAIL Compositing: property <right> underlying [10%] from add [100px] to add [20%] at (1) should be [30%] assert_equals: expected "30 % " but got "20 % "
16
FAIL Compositing: property <right> underlying [10%] from add [100px] to add [20%] at (1.5) should be [calc(-50px + 40%)] assert_equals: expected "calc ( 40 % - 50px ) " but got "20 % "
17
FAIL Compositing: property <right> underlying [50px] from add [100px] to replace [200px] at (-0.3) should be [135px] assert_equals: expected "135px " but got "70px "
18
FAIL Compositing: property <right> underlying [50px] from add [100px] to replace [200px] at (0) should be [150px] assert_equals: expected "150px " but got "100px "
19
FAIL Compositing: property <right> underlying [50px] from add [100px] to replace [200px] at (0.5) should be [175px] assert_equals: expected "175px " but got "150px "
20
PASS Compositing: property <right> underlying [50px] from add [100px] to replace [200px] at (1) should be [200px] 
21
FAIL Compositing: property <right> underlying [50px] from add [100px] to replace [200px] at (1.5) should be [225px] assert_equals: expected "225px " but got "250px "
22
FAIL Compositing: property <right> underlying [100px] from add [100px] to add [auto] at (-0.3) should be [200px] assert_equals: expected "200px " but got "100px "
23
FAIL Compositing: property <right> underlying [100px] from add [100px] to add [auto] at (0) should be [200px] assert_equals: expected "200px " but got "100px "
24
PASS Compositing: property <right> underlying [100px] from add [100px] to add [auto] at (0.5) should be [auto] 
25
PASS Compositing: property <right> underlying [100px] from add [100px] to add [auto] at (1) should be [auto] 
26
PASS Compositing: property <right> underlying [100px] from add [100px] to add [auto] at (1.5) should be [auto] 
27
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-position/animations/right-composition.html +78 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-position/animations/right-composition.html_sec1
1
<!DOCTYPE html>
2
<meta charset="UTF-8">
3
<title>right composition</title>
4
<link rel="help" href="https://drafts.csswg.org/css-position-3/#propdef-right">
5
<meta name="assert" content="right support animation">
6
7
<script src="/resources/testharness.js"></script>
8
<script src="/resources/testharnessreport.js"></script>
9
<script src="/css/support/interpolation-testcommon.js"></script>
10
11
<body>
12
<script>
13
test_composition({
14
  property: 'right',
15
  underlying: '50px',
16
  addFrom: '100px',
17
  addTo: '200px',
18
}, [
19
  {at: -0.3, expect: '120px'},
20
  {at: 0, expect: '150px'},
21
  {at: 0.5, expect: '200px'},
22
  {at: 1, expect: '250px'},
23
  {at: 1.5, expect: '300px'},
24
]);
25
26
test_composition({
27
  property: 'right',
28
  underlying: '100px',
29
  addFrom: '10px',
30
  addTo: '2px',
31
}, [
32
  {at: -0.5, expect: '114px'},
33
  {at: 0, expect: '110px'},
34
  {at: 0.5, expect: '106px'},
35
  {at: 1, expect: '102px'},
36
  {at: 1.5, expect: '98px'},
37
]);
38
39
test_composition({
40
  property: 'right',
41
  underlying: '10%',
42
  addFrom: '100px',
43
  addTo: '20%',
44
}, [
45
  {at: -0.3, expect: 'calc(130px + 4%)'},
46
  {at: 0, expect: 'calc(100px + 10%)'},
47
  {at: 0.5, expect: 'calc(50px + 20%)'},
48
  {at: 1, expect: '30%'},
49
  {at: 1.5, expect: 'calc(-50px + 40%)'},
50
]);
51
52
test_composition({
53
  property: 'right',
54
  underlying: '50px',
55
  addFrom: '100px',
56
  replaceTo: '200px',
57
}, [
58
  {at: -0.3, expect: '135px'},
59
  {at: 0, expect: '150px'},
60
  {at: 0.5, expect: '175px'},
61
  {at: 1, expect: '200px'},
62
  {at: 1.5, expect: '225px'},
63
]);
64
65
test_composition({
66
  property: 'right',
67
  underlying: '100px',
68
  addFrom: '100px',
69
  addTo: 'auto',
70
}, [
71
  {at: -0.3, expect: '200px'},
72
  {at: 0, expect: '200px'},
73
  {at: 0.5, expect: 'auto'},
74
  {at: 1, expect: 'auto'},
75
  {at: 1.5, expect: 'auto'},
76
]);
77
</script>
78
</body>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-position/animations/top-composition-expected.txt +27 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-position/animations/top-composition-expected.txt_sec1
1
2
FAIL Compositing: property <top> underlying [50px] from add [100px] to add [200px] at (-0.3) should be [120px] assert_equals: expected "120px " but got "70px "
3
FAIL Compositing: property <top> underlying [50px] from add [100px] to add [200px] at (0) should be [150px] assert_equals: expected "150px " but got "100px "
4
FAIL Compositing: property <top> underlying [50px] from add [100px] to add [200px] at (0.5) should be [200px] assert_equals: expected "200px " but got "150px "
5
FAIL Compositing: property <top> underlying [50px] from add [100px] to add [200px] at (1) should be [250px] assert_equals: expected "250px " but got "200px "
6
FAIL Compositing: property <top> underlying [50px] from add [100px] to add [200px] at (1.5) should be [300px] assert_equals: expected "300px " but got "250px "
7
FAIL Compositing: property <top> underlying [100px] from add [10px] to add [2px] at (-0.5) should be [114px] assert_equals: expected "114px " but got "14px "
8
FAIL Compositing: property <top> underlying [100px] from add [10px] to add [2px] at (0) should be [110px] assert_equals: expected "110px " but got "10px "
9
FAIL Compositing: property <top> underlying [100px] from add [10px] to add [2px] at (0.5) should be [106px] assert_equals: expected "106px " but got "6px "
10
FAIL Compositing: property <top> underlying [100px] from add [10px] to add [2px] at (1) should be [102px] assert_equals: expected "102px " but got "2px "
11
FAIL Compositing: property <top> underlying [100px] from add [10px] to add [2px] at (1.5) should be [98px] assert_equals: expected "98px " but got "- 2px "
12
FAIL Compositing: property <top> underlying [10%] from add [100px] to add [20%] at (-0.3) should be [calc(130px + 4%)] assert_equals: expected "calc ( 4 % + 130px ) " but got "100px "
13
FAIL Compositing: property <top> underlying [10%] from add [100px] to add [20%] at (0) should be [calc(100px + 10%)] assert_equals: expected "calc ( 10 % + 100px ) " but got "100px "
14
FAIL Compositing: property <top> underlying [10%] from add [100px] to add [20%] at (0.5) should be [calc(50px + 20%)] assert_equals: expected "calc ( 20 % + 50px ) " but got "calc ( ( 100px * 0.5 ) + ( 20 % * 0.5 ) ) "
15
FAIL Compositing: property <top> underlying [10%] from add [100px] to add [20%] at (1) should be [30%] assert_equals: expected "30 % " but got "20 % "
16
FAIL Compositing: property <top> underlying [10%] from add [100px] to add [20%] at (1.5) should be [calc(-50px + 40%)] assert_equals: expected "calc ( 40 % - 50px ) " but got "20 % "
17
FAIL Compositing: property <top> underlying [50px] from add [100px] to replace [200px] at (-0.3) should be [135px] assert_equals: expected "135px " but got "70px "
18
FAIL Compositing: property <top> underlying [50px] from add [100px] to replace [200px] at (0) should be [150px] assert_equals: expected "150px " but got "100px "
19
FAIL Compositing: property <top> underlying [50px] from add [100px] to replace [200px] at (0.5) should be [175px] assert_equals: expected "175px " but got "150px "
20
PASS Compositing: property <top> underlying [50px] from add [100px] to replace [200px] at (1) should be [200px] 
21
FAIL Compositing: property <top> underlying [50px] from add [100px] to replace [200px] at (1.5) should be [225px] assert_equals: expected "225px " but got "250px "
22
FAIL Compositing: property <top> underlying [100px] from add [100px] to add [auto] at (-0.3) should be [200px] assert_equals: expected "200px " but got "100px "
23
FAIL Compositing: property <top> underlying [100px] from add [100px] to add [auto] at (0) should be [200px] assert_equals: expected "200px " but got "100px "
24
PASS Compositing: property <top> underlying [100px] from add [100px] to add [auto] at (0.5) should be [auto] 
25
PASS Compositing: property <top> underlying [100px] from add [100px] to add [auto] at (1) should be [auto] 
26
PASS Compositing: property <top> underlying [100px] from add [100px] to add [auto] at (1.5) should be [auto] 
27
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-position/animations/top-composition.html +78 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-position/animations/top-composition.html_sec1
1
<!DOCTYPE html>
2
<meta charset="UTF-8">
3
<title>top composition</title>
4
<link rel="help" href="https://drafts.csswg.org/css-position-3/#propdef-top">
5
<meta name="assert" content="top support animation">
6
7
<script src="/resources/testharness.js"></script>
8
<script src="/resources/testharnessreport.js"></script>
9
<script src="/css/support/interpolation-testcommon.js"></script>
10
11
<body>
12
<script>
13
test_composition({
14
  property: 'top',
15
  underlying: '50px',
16
  addFrom: '100px',
17
  addTo: '200px',
18
}, [
19
  {at: -0.3, expect: '120px'},
20
  {at: 0, expect: '150px'},
21
  {at: 0.5, expect: '200px'},
22
  {at: 1, expect: '250px'},
23
  {at: 1.5, expect: '300px'},
24
]);
25
26
test_composition({
27
  property: 'top',
28
  underlying: '100px',
29
  addFrom: '10px',
30
  addTo: '2px',
31
}, [
32
  {at: -0.5, expect: '114px'},
33
  {at: 0, expect: '110px'},
34
  {at: 0.5, expect: '106px'},
35
  {at: 1, expect: '102px'},
36
  {at: 1.5, expect: '98px'},
37
]);
38
39
test_composition({
40
  property: 'top',
41
  underlying: '10%',
42
  addFrom: '100px',
43
  addTo: '20%',
44
}, [
45
  {at: -0.3, expect: 'calc(130px + 4%)'},
46
  {at: 0, expect: 'calc(100px + 10%)'},
47
  {at: 0.5, expect: 'calc(50px + 20%)'},
48
  {at: 1, expect: '30%'},
49
  {at: 1.5, expect: 'calc(-50px + 40%)'},
50
]);
51
52
test_composition({
53
  property: 'top',
54
  underlying: '50px',
55
  addFrom: '100px',
56
  replaceTo: '200px',
57
}, [
58
  {at: -0.3, expect: '135px'},
59
  {at: 0, expect: '150px'},
60
  {at: 0.5, expect: '175px'},
61
  {at: 1, expect: '200px'},
62
  {at: 1.5, expect: '225px'},
63
]);
64
65
test_composition({
66
  property: 'top',
67
  underlying: '100px',
68
  addFrom: '100px',
69
  addTo: 'auto',
70
}, [
71
  {at: -0.3, expect: '200px'},
72
  {at: 0, expect: '200px'},
73
  {at: 0.5, expect: 'auto'},
74
  {at: 1, expect: 'auto'},
75
  {at: 1.5, expect: 'auto'},
76
]);
77
</script>
78
</body>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-position/animations/w3c-import.log +5 lines
Lines 14-20 Property values requiring vendor prefixes: a/LayoutTests/imported/w3c/web-platform-tests/css/css-position/animations/w3c-import.log_sec1
14
None
14
None
15
------------------------------------------------------------------------
15
------------------------------------------------------------------------
16
List of files:
16
List of files:
17
/LayoutTests/imported/w3c/web-platform-tests/css/css-position/animations/bottom-composition.html
17
/LayoutTests/imported/w3c/web-platform-tests/css/css-position/animations/bottom-interpolation.html
18
/LayoutTests/imported/w3c/web-platform-tests/css/css-position/animations/bottom-interpolation.html
19
/LayoutTests/imported/w3c/web-platform-tests/css/css-position/animations/left-composition.html
18
/LayoutTests/imported/w3c/web-platform-tests/css/css-position/animations/left-interpolation.html
20
/LayoutTests/imported/w3c/web-platform-tests/css/css-position/animations/left-interpolation.html
21
/LayoutTests/imported/w3c/web-platform-tests/css/css-position/animations/position-interpolation.html
22
/LayoutTests/imported/w3c/web-platform-tests/css/css-position/animations/right-composition.html
19
/LayoutTests/imported/w3c/web-platform-tests/css/css-position/animations/right-interpolation.html
23
/LayoutTests/imported/w3c/web-platform-tests/css/css-position/animations/right-interpolation.html
24
/LayoutTests/imported/w3c/web-platform-tests/css/css-position/animations/top-composition.html
20
/LayoutTests/imported/w3c/web-platform-tests/css/css-position/animations/top-interpolation.html
25
/LayoutTests/imported/w3c/web-platform-tests/css/css-position/animations/top-interpolation.html
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-position/nested-positions-crash-expected.txt +9 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-position/nested-positions-crash-expected.txt_sec1
1
layer at (0,0) size 800x600
2
  RenderView at (0,0) size 800x600
3
layer at (0,0) size 800x8
4
  RenderBlock {HTML} at (0,0) size 800x8
5
    RenderBody {BODY} at (8,8) size 784x0
6
      RenderBlock (anonymous) at (0,0) size 784x0
7
        RenderInline {SPAN} at (0,0) size 0x0
8
        RenderText {#text} at (0,0) size 0x0
9
      RenderBlock {DIV} at (0,0) size 784x0
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-position/nested-positions-crash.html +12 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-position/nested-positions-crash.html_sec1
1
<!DOCTYPE html>
2
<link rel="help" href="https://crbug.com/1098840">
3
<title>Verifies changing 'display' nested positions is not problematic</title>
4
<div style="position:absolute; display:table;">
5
  <div style="position:fixed;"></div>
6
</div>
7
<span></span>
8
<div id="boom" style="display:none;"></div>
9
<script>
10
  document.body.offsetTop;
11
  boom.style.display = "block";
12
</script>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-position/parsing/w3c-import.log +1 lines
Lines 43-46 List of files: a/LayoutTests/imported/w3c/web-platform-tests/css/css-position/parsing/w3c-import.log_sec1
43
/LayoutTests/imported/w3c/web-platform-tests/css/css-position/parsing/top-valid.html
43
/LayoutTests/imported/w3c/web-platform-tests/css/css-position/parsing/top-valid.html
44
/LayoutTests/imported/w3c/web-platform-tests/css/css-position/parsing/z-index-computed.html
44
/LayoutTests/imported/w3c/web-platform-tests/css/css-position/parsing/z-index-computed.html
45
/LayoutTests/imported/w3c/web-platform-tests/css/css-position/parsing/z-index-invalid.html
45
/LayoutTests/imported/w3c/web-platform-tests/css/css-position/parsing/z-index-invalid.html
46
/LayoutTests/imported/w3c/web-platform-tests/css/css-position/parsing/z-index-positioned-computed.html
46
/LayoutTests/imported/w3c/web-platform-tests/css/css-position/parsing/z-index-valid.html
47
/LayoutTests/imported/w3c/web-platform-tests/css/css-position/parsing/z-index-valid.html
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-position/parsing/z-index-computed.html -5 lines
Lines 11-21 a/LayoutTests/imported/w3c/web-platform-tests/css/css-position/parsing/z-index-computed.html_sec1
11
</head>
11
</head>
12
<body>
12
<body>
13
<div id="target"></div>
13
<div id="target"></div>
14
<style>
15
  #target {
16
    position: absolute;
17
  }
18
</style>
19
<script>
14
<script>
20
test_computed_value("z-index", "auto");
15
test_computed_value("z-index", "auto");
21
test_computed_value("z-index", "-1");
16
test_computed_value("z-index", "-1");
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-position/parsing/z-index-positioned-computed-expected.txt +5 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-position/parsing/z-index-positioned-computed-expected.txt_sec1
1
2
PASS Property z-index value 'auto' 
3
PASS Property z-index value '-1' 
4
PASS Property z-index value 'calc(3 - 2)' 
5
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-position/parsing/z-index-positioned-computed.html +25 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-position/parsing/z-index-positioned-computed.html_sec1
1
<!DOCTYPE html>
2
<html>
3
<head>
4
<meta charset="utf-8">
5
<title>CSS Positioned Layout Module Level 3: getComputedStyle().zIndex</title>
6
<link rel="help" href="https://drafts.csswg.org/css-position/#propdef-z-index">
7
<meta name="assert" content="z-index computed value is the keyword auto or an integer.">
8
<script src="/resources/testharness.js"></script>
9
<script src="/resources/testharnessreport.js"></script>
10
<script src="/css/support/computed-testcommon.js"></script>
11
</head>
12
<body>
13
<div id="target"></div>
14
<style>
15
  #target {
16
    position: absolute;
17
  }
18
</style>
19
<script>
20
test_computed_value("z-index", "auto");
21
test_computed_value("z-index", "-1");
22
test_computed_value("z-index", "calc(3 - 2)", "1");
23
</script>
24
</body>
25
</html>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-position/position-absolute-center-001.tentative-expected.xht +19 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-position/position-absolute-center-001.tentative-expected.xht_sec1
1
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
2
<html xmlns="http://www.w3.org/1999/xhtml">
3
 <head>
4
  <title>CSS Reftest Reference</title>
5
  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
6
  <style type="text/css"><![CDATA[
7
  div
8
  {
9
  background-color: green;
10
  height: 100px;
11
  width: 100px;
12
  }
13
  ]]></style>
14
 </head>
15
 <body>
16
  <p>Test passes if there is a filled green square and <strong>no red</strong>.</p>
17
  <div></div>
18
 </body>
19
</html>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-position/position-absolute-center-001.tentative.html +37 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-position/position-absolute-center-001.tentative.html_sec1
1
<!DOCTYPE html>
2
<link rel="help" href="https://github.com/w3c/csswg-drafts/issues/1432">
3
<link rel="match" href="../reference/ref-filled-green-100px-square.xht">
4
<style>
5
#containing-block {
6
  position: relative;
7
  width: 100px;
8
  height: 100px;
9
  background: red;
10
  display: flex;
11
}
12
13
#containing-block > div {
14
  flex-grow: 1;
15
}
16
17
#inner-flex {
18
  display: flex;
19
  justify-content: center;
20
}
21
22
span {
23
  display: inline-block;
24
  inline-size: 50px;
25
  block-size: 10px;
26
}
27
</style>
28
<p>Test passes if there is a filled green square and <strong>no red</strong>.</p>
29
<div id="containing-block" style="flex-direction: row;">
30
  <div id="inner-flex" style="margin: 10px; height: 100px;">
31
    <div style="position: absolute; top: 0; height: 100px; background: green;">
32
      <span></span>
33
      <span></span>
34
    </div>
35
  </div>
36
  <div style="height: 100px; background: green;"></div>
37
</div>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-position/position-absolute-center-002.tentative-expected.xht +19 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-position/position-absolute-center-002.tentative-expected.xht_sec1
1
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
2
<html xmlns="http://www.w3.org/1999/xhtml">
3
 <head>
4
  <title>CSS Reftest Reference</title>
5
  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
6
  <style type="text/css"><![CDATA[
7
  div
8
  {
9
  background-color: green;
10
  height: 100px;
11
  width: 100px;
12
  }
13
  ]]></style>
14
 </head>
15
 <body>
16
  <p>Test passes if there is a filled green square and <strong>no red</strong>.</p>
17
  <div></div>
18
 </body>
19
</html>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-position/position-absolute-center-002.tentative.html +37 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-position/position-absolute-center-002.tentative.html_sec1
1
<!DOCTYPE html>
2
<link rel="help" href="https://github.com/w3c/csswg-drafts/issues/1432">
3
<link rel="match" href="../reference/ref-filled-green-100px-square.xht">
4
<style>
5
#containing-block {
6
  position: relative;
7
  width: 100px;
8
  height: 100px;
9
  background: red;
10
  display: flex;
11
}
12
13
#containing-block > div {
14
  flex-grow: 1;
15
}
16
17
#inner-flex {
18
  display: flex;
19
  align-items: center;
20
}
21
22
span {
23
  display: inline-block;
24
  inline-size: 50px;
25
  block-size: 10px;
26
}
27
</style>
28
<p>Test passes if there is a filled green square and <strong>no red</strong>.</p>
29
<div id="containing-block" style="flex-direction: column;">
30
  <div id="inner-flex" style="margin: 10px; width: 100px;">
31
    <div style="position: absolute; left: 0; width: 100px; background: green; writing-mode: vertical-rl;">
32
      <span></span>
33
      <span></span>
34
    </div>
35
  </div>
36
  <div style="width: 100px; background: green;"></div>
37
</div>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-position/position-absolute-center-003-expected.xht +19 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-position/position-absolute-center-003-expected.xht_sec1
1
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
2
<html xmlns="http://www.w3.org/1999/xhtml">
3
 <head>
4
  <title>CSS Reftest Reference</title>
5
  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
6
  <style type="text/css"><![CDATA[
7
  div
8
  {
9
  background-color: green;
10
  height: 100px;
11
  width: 100px;
12
  }
13
  ]]></style>
14
 </head>
15
 <body>
16
  <p>Test passes if there is a filled green square and <strong>no red</strong>.</p>
17
  <div></div>
18
 </body>
19
</html>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-position/position-absolute-center-003.html +18 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-position/position-absolute-center-003.html_sec1
1
<!DOCTYPE html>
2
<link rel="help" href="https://crbug.com/1081872">
3
<link rel="match" href="../reference/ref-filled-green-100px-square.xht">
4
<meta name="assert" content="A positioned absolute child with center alignment should be centered based on its margin-box.">
5
<style>
6
.s100 {
7
  width: 100px;
8
  height: 100px;
9
  box-sizing: border-box;
10
}
11
</style>
12
<p>Test passes if there is a filled green square and <strong>no red</strong>.</p>
13
<div class="s100" style="position: relative;">
14
  <div class="s100" style="position: absolute; background: red; border: solid green; border-width: 30px 20px 20px 30px;"></div>
15
  <div class="s100" style="display: flex; align-items: center; justify-content: center;">
16
    <div style="position: absolute; width: 50px; height: 50px; margin-left: 10px; margin-top: 10px; background: green;"></div>
17
  </div>
18
</div>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-position/position-absolute-center-004-expected.xht +19 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-position/position-absolute-center-004-expected.xht_sec1
1
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
2
<html xmlns="http://www.w3.org/1999/xhtml">
3
 <head>
4
  <title>CSS Reftest Reference</title>
5
  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
6
  <style type="text/css"><![CDATA[
7
  div
8
  {
9
  background-color: green;
10
  height: 100px;
11
  width: 100px;
12
  }
13
  ]]></style>
14
 </head>
15
 <body>
16
  <p>Test passes if there is a filled green square and <strong>no red</strong>.</p>
17
  <div></div>
18
 </body>
19
</html>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-position/position-absolute-center-004.html +18 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-position/position-absolute-center-004.html_sec1
1
<!DOCTYPE html>
2
<link rel="help" href="https://crbug.com/1081872">
3
<link rel="match" href="../reference/ref-filled-green-100px-square.xht">
4
<meta name="assert" content="A positioned absolute child with center alignment should be centered based on its margin-box.">
5
<style>
6
.s100 {
7
  width: 100px;
8
  height: 100px;
9
  box-sizing: border-box;
10
}
11
</style>
12
<p>Test passes if there is a filled green square and <strong>no red</strong>.</p>
13
<div class="s100" style="position: relative;">
14
  <div class="s100" style="position: absolute; background: red; border: solid green; border-width: 20px 30px 30px 20px;"></div>
15
  <div class="s100" style="display: flex; align-items: center; justify-content: center;">
16
    <div style="position: absolute; width: 50px; height: 50px; margin-right: 10px; margin-bottom: 10px; background: green;"></div>
17
  </div>
18
</div>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-position/position-absolute-crash-chrome-013-expected.txt +3 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-position/position-absolute-crash-chrome-013-expected.txt_sec1
1
2
PASS test passes if it does not crash 
3
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-position/position-absolute-crash-chrome-013.html +19 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-position/position-absolute-crash-chrome-013.html_sec1
1
<!DOCTYPE html>
2
<script src="/resources/testharness.js"></script>
3
<script src="/resources/testharnessreport.js"></script>
4
<link rel="help" href="https://crbug.com/1021676">
5
<div id="tfoot" style="display: table-footer-group; transform: scale(2);">
6
  <div id="oof" style="position: absolute;">text</div>
7
</div>
8
<script>
9
test(() => {
10
  document.body.offsetTop;
11
12
  // Make the ICB the containing-block.
13
  document.getElementById('tfoot').style.transform = '';
14
  document.body.offsetTop;
15
16
  document.getElementById('oof').innerText = '';
17
  document.body.offsetTop;
18
}, 'test passes if it does not crash');
19
</script>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-position/position-absolute-dynamic-relayout-002-expected.xht +19 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-position/position-absolute-dynamic-relayout-002-expected.xht_sec1
1
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
2
<html xmlns="http://www.w3.org/1999/xhtml">
3
 <head>
4
  <title>CSS Reftest Reference</title>
5
  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
6
  <style type="text/css"><![CDATA[
7
  div
8
  {
9
  background-color: green;
10
  height: 100px;
11
  width: 100px;
12
  }
13
  ]]></style>
14
 </head>
15
 <body>
16
  <p>Test passes if there is a filled green square and <strong>no red</strong>.</p>
17
  <div></div>
18
 </body>
19
</html>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-position/position-absolute-dynamic-relayout-002.html +14 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-position/position-absolute-dynamic-relayout-002.html_sec1
1
<!DOCTYPE html>
2
<link rel="match" href="../reference/ref-filled-green-100px-square.xht">
3
<link rel="help" href="https://www.w3.org/TR/css-position-3/" />
4
<meta name="assert" content="This test checks that a dynamic change padding-box location, but no change in available-size positions correctly an absolute child correctly."/>
5
<p>Test passes if there is a filled green square and <strong>no red</strong>.</p>
6
<div id="target" style="position: relative; background: red; margin: 25px; width: 50px; height: 50px;">
7
  <div style="position: absolute; top: 0; left: 0; width: 50px; height: 50px; background: green;"></div>
8
</div>
9
<script>
10
  document.body.offsetTop;
11
  const target = document.getElementById('target');
12
  target.style.border = '25px solid green';
13
  target.style.margin = '0';
14
</script>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-position/position-absolute-dynamic-relayout-003-expected.xht +19 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-position/position-absolute-dynamic-relayout-003-expected.xht_sec1
1
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
2
<html xmlns="http://www.w3.org/1999/xhtml">
3
 <head>
4
  <title>CSS Reftest Reference</title>
5
  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
6
  <style type="text/css"><![CDATA[
7
  div
8
  {
9
  background-color: green;
10
  height: 100px;
11
  width: 100px;
12
  }
13
  ]]></style>
14
 </head>
15
 <body>
16
  <p>Test passes if there is a filled green square and <strong>no red</strong>.</p>
17
  <div></div>
18
 </body>
19
</html>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-position/position-absolute-dynamic-relayout-003.html +14 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-position/position-absolute-dynamic-relayout-003.html_sec1
1
<!DOCTYPE html>
2
<link rel="match" href="../reference/ref-filled-green-100px-square.xht">
3
<link rel="help" href="https://www.w3.org/TR/css-position-3/" />
4
<meta name="assert" content="This test checks that a dynamic OOF-positioned change doesn't cause children to paint differently." />
5
<p>Test passes if there is a filled green square and <strong>no red</strong>.</p>
6
<div style="display: flex; position: relative; width: 100px; height: 100px;">
7
  <div style="order: 2; margin-left: -100px; width: 100px; background: green;"></div>
8
  <div style="order: 1; width: 100px; background: red;"></div>
9
  <div id="target" style="position: absolute;"></div>
10
</div>
11
<script>
12
  document.body.offsetTop;
13
  document.getElementById('target').style.top = '10px';
14
</script>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-position/position-absolute-dynamic-static-position-flex-expected.xht +19 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-position/position-absolute-dynamic-static-position-flex-expected.xht_sec1
1
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
2
<html xmlns="http://www.w3.org/1999/xhtml">
3
 <head>
4
  <title>CSS Reftest Reference</title>
5
  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
6
  <style type="text/css"><![CDATA[
7
  div
8
  {
9
  background-color: green;
10
  height: 100px;
11
  width: 100px;
12
  }
13
  ]]></style>
14
 </head>
15
 <body>
16
  <p>Test passes if there is a filled green square and <strong>no red</strong>.</p>
17
  <div></div>
18
 </body>
19
</html>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-position/position-absolute-dynamic-static-position-flex.html +12 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-position/position-absolute-dynamic-static-position-flex.html_sec1
1
<!DOCTYPE html>
2
<link rel="match" href="../reference/ref-filled-green-100px-square.xht">
3
<link rel="help" href="https://www.w3.org/TR/css-position-3/" />
4
<meta name="assert" content="This test checks that a dynamic change in constraints calculates the static position correctly for flex children."/>
5
<p>Test passes if there is a filled green square and <strong>no red</strong>.</p>
6
<div style="display: flex; position: relative; width: 100px; height: 100px; background: red; align-items: flex-end;">
7
  <div id="target" style="position: absolute; width: 100px; height: 100px; background: green; bottom: 100px;"></div>
8
</div>
9
<script>
10
  document.body.offsetTop;
11
  document.getElementById('target').style.bottom = 'initial';
12
</script>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-position/position-absolute-dynamic-static-position-inline-expected.html +4 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-position/position-absolute-dynamic-static-position-inline-expected.html_sec1
1
<!DOCTYPE html>
2
<link rel="author" title="Morten Stenshorne" href="mstensho@chromium.org">
3
<p>Test passes if there is a filled green square.</p>
4
<div style="width:100px; height:100px; background:green;"></div>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-position/position-absolute-dynamic-static-position-inline.html +13 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-position/position-absolute-dynamic-static-position-inline.html_sec1
1
<!DOCTYPE html>
2
<link rel="match" href="../reference/ref-filled-green-100px-square-only.html">
3
<link rel="help" href="https://www.w3.org/TR/css-position-3/" />
4
<meta name="assert" content="This test checks that the static-position of an absolute positioned element changes, if the display value changes from inline to block." />
5
<p>Test passes if there is a filled green square.</p>
6
<div style="position: relative; line-height: 0;">
7
  <div style="width: 100px; height: 50px; display: inline-block; background: green;"></div>
8
  <div id="target" style="width: 100px; height: 50px; display: inline; position: absolute; background: green;"></div>
9
</div>
10
<script>
11
document.body.offsetTop;
12
document.getElementById('target').style.display = 'block';
13
</script>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-position/position-absolute-root-element-flex-expected.html +26 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-position/position-absolute-root-element-flex-expected.html_sec1
1
<!DOCTYPE html>
2
<html>
3
  <meta charset="UTF-8">
4
  <title>CSS Position Reference: Box inset properties & position:absolute root element</title>
5
  <link rel="author" title="Daniel Holbert" href="mailto:dholbert@mozilla.com"/>
6
  <link rel="author" title="Ting-Yu Lin" href="mailto:tlin@mozilla.com">
7
  <link rel="author" title="Mozilla" href="http://www.mozilla.org/">
8
9
  <style>
10
  html {
11
    display: block;
12
    position: absolute;
13
    left: 10px;
14
    right: 20px;
15
    top: 30px;
16
    bottom: 40px;
17
    border: 5px dashed black;
18
    box-sizing: border-box;
19
  }
20
  </style>
21
22
  The black border should encompass the whole viewport,
23
  with a bit of space on each side.
24
  <br><br>
25
  It shouldn't just shrinkwrap this text's height.
26
</html>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-position/position-absolute-root-element-flex.html +30 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-position/position-absolute-root-element-flex.html_sec1
1
<!DOCTYPE html>
2
<html>
3
  <meta charset="UTF-8">
4
  <title>CSS Position: Box inset properties & position:absolute flex container as the root element</title>
5
  <link rel="author" title="Daniel Holbert" href="mailto:dholbert@mozilla.com"/>
6
  <link rel="author" title="Ting-Yu Lin" href="mailto:tlin@mozilla.com">
7
  <link rel="author" title="Mozilla" href="http://www.mozilla.org/">
8
  <link rel="help" href="https://drafts.csswg.org/css-position-3/#insets">
9
  <link rel="help" href="https://bugzilla.mozilla.org/show_bug.cgi?id=1584890">
10
  <link rel="match" href="position-absolute-root-element-ref.html">
11
  <meta name="assert" content="This test verifies the box inset properties on a position:absolute flex container root element.">
12
13
  <style>
14
  html {
15
    display: flex;
16
    position: absolute;
17
    left: 10px;
18
    right: 20px;
19
    top: 30px;
20
    bottom: 40px;
21
    border: 5px dashed black;
22
    box-sizing: border-box;
23
  }
24
  </style>
25
26
  The black border should encompass the whole viewport,
27
  with a bit of space on each side.
28
  <br><br>
29
  It shouldn't just shrinkwrap this text's height.
30
</html>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-position/position-absolute-root-element-grid-expected.html +26 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-position/position-absolute-root-element-grid-expected.html_sec1
1
<!DOCTYPE html>
2
<html>
3
  <meta charset="UTF-8">
4
  <title>CSS Position Reference: Box inset properties & position:absolute root element</title>
5
  <link rel="author" title="Daniel Holbert" href="mailto:dholbert@mozilla.com"/>
6
  <link rel="author" title="Ting-Yu Lin" href="mailto:tlin@mozilla.com">
7
  <link rel="author" title="Mozilla" href="http://www.mozilla.org/">
8
9
  <style>
10
  html {
11
    display: block;
12
    position: absolute;
13
    left: 10px;
14
    right: 20px;
15
    top: 30px;
16
    bottom: 40px;
17
    border: 5px dashed black;
18
    box-sizing: border-box;
19
  }
20
  </style>
21
22
  The black border should encompass the whole viewport,
23
  with a bit of space on each side.
24
  <br><br>
25
  It shouldn't just shrinkwrap this text's height.
26
</html>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-position/position-absolute-root-element-grid.html +30 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-position/position-absolute-root-element-grid.html_sec1
1
<!DOCTYPE html>
2
<html>
3
  <meta charset="UTF-8">
4
  <title>CSS Position: Box inset properties & position:absolute grid container as the root element</title>
5
  <link rel="author" title="Daniel Holbert" href="mailto:dholbert@mozilla.com"/>
6
  <link rel="author" title="Ting-Yu Lin" href="mailto:tlin@mozilla.com">
7
  <link rel="author" title="Mozilla" href="http://www.mozilla.org/">
8
  <link rel="help" href="https://drafts.csswg.org/css-position-3/#insets">
9
  <link rel="help" href="https://bugzilla.mozilla.org/show_bug.cgi?id=1584890">
10
  <link rel="match" href="position-absolute-root-element-ref.html">
11
  <meta name="assert" content="This test verifies the box inset properties on a position:absolute grid container root element.">
12
13
  <style>
14
  html {
15
    display: grid;
16
    position: absolute;
17
    left: 10px;
18
    right: 20px;
19
    top: 30px;
20
    bottom: 40px;
21
    border: 5px dashed black;
22
    box-sizing: border-box;
23
  }
24
  </style>
25
26
  The black border should encompass the whole viewport,
27
  with a bit of space on each side.
28
  <br><br>
29
  It shouldn't just shrinkwrap this text's height.
30
</html>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-position/position-absolute-table-001-expected.txt +16 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-position/position-absolute-table-001-expected.txt_sec1
1
Table css width/height are interpreted differently: they are the minimum width. Absolute positioning code should respect this.
2
3
t1
4
div makes cell larger.
5
t1
6
div makes cell larger.
7
t1
8
div makes cell larger.
9
10
FAIL table size is interpreted as border-box width by default assert_equals: right position is 0 expected 260 but got 300
11
FAIL table size is interpreted as minimum width assert_equals: right position is 0 expected 360 but got 300
12
PASS table size border-box 
13
FAIL table size border-box interpreted as minimum width assert_equals: right position is 0 expected 400 but got 300
14
FAIL table size content-box assert_equals: expected 100 but got 60
15
FAIL table size content-box interpreted as minimum width assert_equals: right position is 0 expected 400 but got 300
16
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-position/position-absolute-table-001.html +112 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-position/position-absolute-table-001.html_sec1
1
<!DOCTYPE html>
2
<title>CSS Position Absolute: table width/height</title>
3
<link rel="author" href="mailto:atotic@google.com">
4
<script src="/resources/testharness.js"></script>
5
<script src="/resources/testharnessreport.js"></script>
6
<link rel="help" href="https://www.w3.org/TR/css-position-3/#abs-non-replaced-width">
7
<meta name="assert" content="Table css width/height are different. Make sure absolute position respects the differences.">
8
<style>
9
10
.container {
11
  margin-bottom: 8px;
12
  position: relative;
13
  width: 300px;
14
  height: 220px;
15
  background: gray;
16
}
17
table {
18
  position: absolute;
19
  border: 10px solid green;
20
  width: 100px;
21
  height: 100px;
22
  background: yellow;
23
  right: 0;
24
  bottom: 0;
25
  padding: 10px;
26
  border-spacing: 0 0;
27
}
28
.contentbox {
29
  box-sizing: content-box;
30
  width: 60px;
31
  height: 60px;
32
}
33
td {
34
  padding: 0;
35
}
36
37
</style>
38
<p>Table css width/height are interpreted differently: they are the minimum width. Absolute positioning code should respect this.</p>
39
<div class="container">
40
  <table id="one">
41
    <td>t1</td>
42
  </table>
43
</div>
44
<div class="container">
45
  <table id="two">
46
    <td><div style="width:160px;height:160px;background:orange">div makes cell larger.</div></td>
47
  </table>
48
</div>
49
<div class="container">
50
  <table id="one-border" style="box-sizing: border-box">
51
    <td>t1</td>
52
  </table>
53
</div>
54
<div class="container">
55
  <table id="two-border" style="box-sizing: border-box">
56
    <td><div style="width:160px;height:160px;background:orange">div makes cell larger.</div></td>
57
  </table>
58
</div>
59
<div class="container">
60
  <table id="one-content" class="contentbox">
61
    <td>t1</td>
62
  </table>
63
</div>
64
<div class="container">
65
  <table id="two-content" class="contentbox">
66
    <td><div style="width:160px;height:160px;background:orange">div makes cell larger.</div></td>
67
  </table>
68
</div>
69
<script>
70
test(() => {
71
  let t = document.getElementById("one");
72
  assert_equals(t.offsetWidth, 100);
73
  assert_equals(t.offsetHeight, 100);
74
  assert_equals(t.parentNode.offsetHeight, t.offsetTop + t.offsetHeight, "bottom position is 0");
75
  assert_equals(t.parentNode.offsetWidth, t.offsetLeft + t.offsetWidth, "right position is 0");
76
}, 'table size is interpreted as border-box width by default');
77
test(() => {
78
  let t = document.getElementById("two");
79
  assert_equals(t.offsetWidth, 200);
80
  assert_equals(t.offsetHeight, 200);
81
  assert_equals(t.parentNode.offsetWidth, t.offsetLeft + t.offsetWidth, "right position is 0");
82
  assert_equals(t.parentNode.offsetHeight, t.offsetTop + t.offsetHeight, "bottom position is 0");
83
}, 'table size is interpreted as minimum width');
84
test(() => {
85
  let t = document.getElementById("one-border");
86
  assert_equals(t.offsetWidth, 100);
87
  assert_equals(t.offsetHeight, 100);
88
  assert_equals(t.parentNode.offsetHeight, t.offsetTop + t.offsetHeight, "bottom position is 0");
89
  assert_equals(t.parentNode.offsetWidth, t.offsetLeft + t.offsetWidth, "right position is 0");
90
}, 'table size border-box');
91
test(() => {
92
  let t = document.getElementById("two-border");
93
  assert_equals(t.offsetWidth, 200);
94
  assert_equals(t.offsetHeight, 200);
95
  assert_equals(t.parentNode.offsetWidth, t.offsetLeft + t.offsetWidth, "right position is 0");
96
  assert_equals(t.parentNode.offsetHeight, t.offsetTop + t.offsetHeight, "bottom position is 0");
97
}, 'table size border-box interpreted as minimum width');
98
test(() => {
99
  let t = document.getElementById("one-content");
100
  assert_equals(t.offsetWidth, 100);
101
  assert_equals(t.offsetHeight, 100);
102
  assert_equals(t.parentNode.offsetHeight, t.offsetTop + t.offsetHeight, "bottom position is 0");
103
  assert_equals(t.parentNode.offsetWidth, t.offsetLeft + t.offsetWidth, "right position is 0");
104
}, 'table size content-box');
105
test(() => {
106
  let t = document.getElementById("two-content");
107
  assert_equals(t.offsetWidth, 200);
108
  assert_equals(t.offsetHeight, 200);
109
  assert_equals(t.parentNode.offsetWidth, t.offsetLeft + t.offsetWidth, "right position is 0");
110
  assert_equals(t.parentNode.offsetHeight, t.offsetTop + t.offsetHeight, "bottom position is 0");
111
}, 'table size content-box interpreted as minimum width');
112
</script>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-position/position-fixed-root-element-flex-expected.html +26 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-position/position-fixed-root-element-flex-expected.html_sec1
1
<!DOCTYPE html>
2
<html>
3
  <meta charset="UTF-8">
4
  <title>CSS Position Reference: Box inset properties & position:fixed root element</title>
5
  <link rel="author" title="Daniel Holbert" href="mailto:dholbert@mozilla.com"/>
6
  <link rel="author" title="Ting-Yu Lin" href="mailto:tlin@mozilla.com">
7
  <link rel="author" title="Mozilla" href="http://www.mozilla.org/">
8
9
  <style>
10
  html {
11
    display: block;
12
    position: fixed;
13
    left: 10px;
14
    right: 20px;
15
    top: 30px;
16
    bottom: 40px;
17
    border: 5px dashed black;
18
    box-sizing: border-box;
19
  }
20
  </style>
21
22
  The black border should encompass the whole viewport,
23
  with a bit of space on each side.
24
  <br><br>
25
  It shouldn't just shrinkwrap this text's height.
26
</html>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-position/position-fixed-root-element-flex.html +30 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-position/position-fixed-root-element-flex.html_sec1
1
<!DOCTYPE html>
2
<html>
3
  <meta charset="UTF-8">
4
  <title>CSS Position: Box inset properties & position:fixed flex container as the root element</title>
5
  <link rel="author" title="Daniel Holbert" href="mailto:dholbert@mozilla.com"/>
6
  <link rel="author" title="Ting-Yu Lin" href="mailto:tlin@mozilla.com">
7
  <link rel="author" title="Mozilla" href="http://www.mozilla.org/">
8
  <link rel="help" href="https://drafts.csswg.org/css-position-3/#insets">
9
  <link rel="help" href="https://bugzilla.mozilla.org/show_bug.cgi?id=1584890">
10
  <link rel="match" href="position-fixed-root-element-ref.html">
11
  <meta name="assert" content="This test verifies the box inset properties on a position:fixed flex container root element.">
12
13
  <style>
14
  html {
15
    display: flex;
16
    position: fixed;
17
    left: 10px;
18
    right: 20px;
19
    top: 30px;
20
    bottom: 40px;
21
    border: 5px dashed black;
22
    box-sizing: border-box;
23
  }
24
  </style>
25
26
  The black border should encompass the whole viewport,
27
  with a bit of space on each side.
28
  <br><br>
29
  It shouldn't just shrinkwrap this text's height.
30
</html>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-position/position-fixed-root-element-grid-expected.html +26 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-position/position-fixed-root-element-grid-expected.html_sec1
1
<!DOCTYPE html>
2
<html>
3
  <meta charset="UTF-8">
4
  <title>CSS Position Reference: Box inset properties & position:fixed root element</title>
5
  <link rel="author" title="Daniel Holbert" href="mailto:dholbert@mozilla.com"/>
6
  <link rel="author" title="Ting-Yu Lin" href="mailto:tlin@mozilla.com">
7
  <link rel="author" title="Mozilla" href="http://www.mozilla.org/">
8
9
  <style>
10
  html {
11
    display: block;
12
    position: fixed;
13
    left: 10px;
14
    right: 20px;
15
    top: 30px;
16
    bottom: 40px;
17
    border: 5px dashed black;
18
    box-sizing: border-box;
19
  }
20
  </style>
21
22
  The black border should encompass the whole viewport,
23
  with a bit of space on each side.
24
  <br><br>
25
  It shouldn't just shrinkwrap this text's height.
26
</html>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-position/position-fixed-root-element-grid.html +30 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-position/position-fixed-root-element-grid.html_sec1
1
<!DOCTYPE html>
2
<html>
3
  <meta charset="UTF-8">
4
  <title>CSS Position: Box inset properties & position:fixed grid container as the root element</title>
5
  <link rel="author" title="Daniel Holbert" href="mailto:dholbert@mozilla.com"/>
6
  <link rel="author" title="Ting-Yu Lin" href="mailto:tlin@mozilla.com">
7
  <link rel="author" title="Mozilla" href="http://www.mozilla.org/">
8
  <link rel="help" href="https://drafts.csswg.org/css-position-3/#insets">
9
  <link rel="help" href="https://bugzilla.mozilla.org/show_bug.cgi?id=1584890">
10
  <link rel="match" href="position-fixed-root-element-ref.html">
11
  <meta name="assert" content="This test verifies the box inset properties on a position:fixed grid container root element.">
12
13
  <style>
14
  html {
15
    display: grid;
16
    position: fixed;
17
    left: 10px;
18
    right: 20px;
19
    top: 30px;
20
    bottom: 40px;
21
    border: 5px dashed black;
22
    box-sizing: border-box;
23
  }
24
  </style>
25
26
  The black border should encompass the whole viewport,
27
  with a bit of space on each side.
28
  <br><br>
29
  It shouldn't just shrinkwrap this text's height.
30
</html>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-position/position-sticky-change-top-expected.html -1 / +1 lines
Lines 4-10 a/LayoutTests/imported/w3c/web-platform-tests/css/css-position/position-sticky-change-top-expected.html_sec1
4
<style>
4
<style>
5
.box {
5
.box {
6
  /* Triggers promotion without creating stacking context. */
6
  /* Triggers promotion without creating stacking context. */
7
  backface-visibility: hidden;
7
  -webkit-backface-visibility: hidden;
8
  background: green;
8
  background: green;
9
  position: sticky;
9
  position: sticky;
10
  top: 200px;
10
  top: 200px;
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-position/position-sticky-change-top.html -1 / +3 lines
Lines 7-12 a/LayoutTests/imported/w3c/web-platform-tests/css/css-position/position-sticky-change-top.html_sec1
7
<meta name="assert" content="This test checks that sticky elements are invalidated correctly when top/left/bottom/right change "/>
7
<meta name="assert" content="This test checks that sticky elements are invalidated correctly when top/left/bottom/right change "/>
8
8
9
<script src="/common/reftest-wait.js"></script>
9
<script src="/common/reftest-wait.js"></script>
10
<script src="resources/ref-rectangle.js"></script>
10
11
11
<!--
12
<!--
12
  It is important for this test that the sticky element is viewport-bound, and
13
  It is important for this test that the sticky element is viewport-bound, and
Lines 23-29 a/LayoutTests/imported/w3c/web-platform-tests/css/css-position/position-sticky-change-top.html_sec2
23
24
24
.sticky {
25
.sticky {
25
  /* Triggers promotion without creating stacking context. */
26
  /* Triggers promotion without creating stacking context. */
26
  backface-visibility: hidden;
27
  -webkit-backface-visibility: hidden;
27
  background: green;
28
  background: green;
28
  position: sticky;
29
  position: sticky;
29
  top: 0;
30
  top: 0;
Lines 44-49 a/LayoutTests/imported/w3c/web-platform-tests/css/css-position/position-sticky-change-top.html_sec3
44
requestAnimationFrame(() => {
45
requestAnimationFrame(() => {
45
  requestAnimationFrame(() => {
46
  requestAnimationFrame(() => {
46
    document.querySelector('.sticky').style.setProperty('top', '200px');
47
    document.querySelector('.sticky').style.setProperty('top', '200px');
48
    createIndicatorForStickyElements(document.querySelectorAll('.sticky'));
47
    takeScreenshot();
49
    takeScreenshot();
48
  });
50
  });
49
});
51
});
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-position/position-sticky-child-multicolumn-expected.html -1 / +1 lines
Lines 41-47 a/LayoutTests/imported/w3c/web-platform-tests/css/css-position/position-sticky-child-multicolumn-expected.html_sec1
41
  <div id="spacer"></div>
41
  <div id="spacer"></div>
42
</div>
42
</div>
43
43
44
<div>You should see a light green box above with a dark green border.</div>
44
<div>You should see a light green box above with a dark green border, no blue should be visible.</div>
45
45
46
<script>
46
<script>
47
  window.addEventListener('load', function() {
47
  window.addEventListener('load', function() {
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-position/position-sticky-child-multicolumn.html -1 / +4 lines
Lines 5-10 a/LayoutTests/imported/w3c/web-platform-tests/css/css-position/position-sticky-child-multicolumn.html_sec1
5
<link rel="author" title="Philip Rogers" href="mailto:pdr@chromium.org" />
5
<link rel="author" title="Philip Rogers" href="mailto:pdr@chromium.org" />
6
<meta name="assert" content="This test checks that a multicolumn element is positioned relative to a sticky position" />
6
<meta name="assert" content="This test checks that a multicolumn element is positioned relative to a sticky position" />
7
7
8
<script src="resources/ref-rectangle.js"></script>
9
8
<style>
10
<style>
9
  body {
11
  body {
10
    margin: 0;
12
    margin: 0;
Lines 46-55 a/LayoutTests/imported/w3c/web-platform-tests/css/css-position/position-sticky-child-multicolumn.html_sec2
46
  <div id="spacer"></div>
48
  <div id="spacer"></div>
47
</div>
49
</div>
48
50
49
<div>You should see a light green box above with a dark green border.</div>
51
<div>You should see a light green box above with a dark green border, no blue should be visible.</div>
50
52
51
<script>
53
<script>
52
  window.addEventListener('load', function() {
54
  window.addEventListener('load', function() {
53
    scroller.scrollTop = 100;
55
    scroller.scrollTop = 100;
56
    createIndicatorForStickyElements(document.querySelectorAll('.sticky'));
54
  });
57
  });
55
</script>
58
</script>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-position/position-sticky-fixed-ancestor-expected.html +64 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-position/position-sticky-fixed-ancestor-expected.html_sec1
1
<!DOCTYPE html>
2
<title>Reference for sticky elements inside fixed ancestors shouldn't account for scroll</title>
3
<style>
4
  body,html {
5
    margin: 0;
6
    width: 100%;
7
    height: 100%;
8
  }
9
10
  .sticky {
11
    background: green;
12
    width: 100px;
13
    height: 10%;
14
  }
15
16
  .spacer {
17
    height: calc(25vh - 10%);
18
  }
19
  .long {
20
    height: 600vh;
21
  }
22
23
  .position-parent {
24
    position: absolute;
25
    display: flex;
26
    align-items: center;
27
    justify-content: center;
28
    width: 100%;
29
    height: 100%;
30
    top: 100vh;
31
    background-color: lightgrey;
32
  }
33
34
  .container {
35
    width: 100px;
36
    height: 100%;
37
    background-color: grey;
38
  }
39
40
  button {
41
    position: fixed;
42
    left: 20px;
43
    top: 20px;
44
  }
45
46
  .fixed {
47
    position: fixed;
48
    top: 25vh;
49
  }
50
</style>
51
52
<div>You should see a green box below. No blue should be visible.</div>
53
<div class="position-parent fixed">
54
  <div class="container">
55
    <div class="spacer"></div>
56
    <div class="sticky"></div>
57
  </div>
58
</div>
59
<div class="long"></div>
60
<button id="button">Toggle Fixed</button>
61
62
<script>
63
  window.scrollTo(0, document.querySelector('.long').clientHeight);
64
</script>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-position/position-sticky-fixed-ancestor-iframe-expected.html +93 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-position/position-sticky-fixed-ancestor-iframe-expected.html_sec1
1
<!DOCTYPE html>
2
<title>Sticky elements inside fixed ancestors and iframe shouldn't account for scroll</title>
3
4
<style>
5
  body,html {
6
    margin: 0;
7
    width: 100%;
8
    height: 100%;
9
  }
10
11
  iframe {
12
    margin: 10px;
13
    width: 90%;
14
    height: 90%;
15
    border: 1px solid black;
16
  }
17
18
  .spacer {
19
    height: 120vh;
20
  }
21
</style>
22
23
<div class="spacer"></div>
24
<iframe srcdoc="
25
  <!DOCTYPE html>
26
  <title>Reference for sticky elements inside fixed ancestors shouldn't account for scroll</title>
27
  <style>
28
    body,html {
29
      margin: 0;
30
      width: 100%;
31
      height: 100%;
32
    }
33
34
    .sticky {
35
      background: green;
36
      width: 100px;
37
      height: 10%;
38
    }
39
40
    .spacer {
41
      height: calc(25vh - 10%);
42
    }
43
    .long {
44
      height: 600vh;
45
    }
46
47
    .position-parent {
48
      position: absolute;
49
      display: flex;
50
      align-items: center;
51
      justify-content: center;
52
      width: 100%;
53
      height: 100%;
54
      top: 100vh;
55
      background-color: lightgrey;
56
    }
57
58
    .container {
59
      width: 100px;
60
      height: 100%;
61
      background-color: grey;
62
    }
63
64
    button {
65
      position: fixed;
66
      left: 20px;
67
      top: 20px;
68
    }
69
70
    .fixed {
71
      position: fixed;
72
      top: 25vh;
73
    }
74
  </style>
75
76
  <div class='position-parent fixed'>
77
    <div class='container'>
78
      <div class='spacer'></div>
79
      <div class='sticky'></div>
80
    </div>
81
  </div>
82
  <div class='long'></div>
83
  <button id='button'>Toggle Fixed</button>
84
  <script>
85
    window.scrollTo(0, document.querySelector('.long').clientHeight);
86
  </script>
87
"></iframe>
88
<div class="spacer"></div>
89
90
<script>
91
  const child = document.querySelector('iframe');
92
  child.scrollIntoView();
93
</script>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-position/position-sticky-fixed-ancestor-iframe.html +54 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-position/position-sticky-fixed-ancestor-iframe.html_sec1
1
<!DOCTYPE html>
2
<html class='reftest-wait'>
3
<title>Sticky elements inside fixed ancestors and iframe shouldn't account for scroll</title>
4
<link rel="match" href="position-sticky-fixed-ancestor-iframe-ref.html" />
5
<link rel="help" href="https://www.w3.org/TR/css-position-3/#sticky-pos" />
6
<link rel="help" href="https://crbug.com/1019142">
7
<meta name="assert" content="This test checks that a sticky element inside a fixed subtree and iframe doesn't scroll with the viewport "/>
8
9
<script src="/common/reftest-wait.js"></script>
10
11
<style>
12
  body,html {
13
    margin: 0;
14
    width: 100%;
15
    height: 100%;
16
  }
17
18
  iframe {
19
    margin: 10px;
20
    width: 90%;
21
    height: 90%;
22
    border: 1px solid black;
23
  }
24
25
  .spacer {
26
    height: 120vh;
27
  }
28
</style>
29
30
<div class="spacer"></div>
31
<iframe src="resources/position-sticky-fixed-ancestor-iframe-child.html"></iframe>
32
<div class="spacer"></div>
33
34
<script>
35
  const child = document.querySelector('iframe');
36
  child.scrollIntoView();
37
  window.onload = () => {
38
    const childDoc = child.contentDocument;
39
    function toggleFixed() {
40
      childDoc.querySelector('.position-parent').classList.toggle('fixed');
41
    }
42
43
    childDoc.getElementById('button').addEventListener('click', toggleFixed);
44
45
    requestAnimationFrame(() => {
46
      childDoc.scrollingElement.scrollTop = childDoc.querySelector('.long').clientHeight;
47
      requestAnimationFrame(() => {
48
        toggleFixed();
49
        takeScreenshot();
50
      });
51
    });
52
  };
53
</script>
54
</html>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-position/position-sticky-fixed-ancestor.html +89 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-position/position-sticky-fixed-ancestor.html_sec1
1
<!DOCTYPE html>
2
<html class='reftest-wait'>
3
<title>Sticky elements inside fixed ancestors shouldn't account for scroll</title>
4
<link rel="match" href="position-sticky-fixed-ancestor-ref.html" />
5
<link rel="help" href="https://www.w3.org/TR/css-position-3/#sticky-pos" />
6
<link rel="help" href="https://crbug.com/1019142">
7
<meta name="assert" content="This test checks that a sticky element inside a fixed subtree doesn't scroll with the viewport "/>
8
9
<script src="/common/reftest-wait.js"></script>
10
<script src="resources/ref-rectangle.js"></script>
11
12
13
<style>
14
  body,html {
15
    margin: 0;
16
    width: 100%;
17
    height: 100%;
18
  }
19
20
  .sticky {
21
    background: green;
22
    position: sticky;
23
    bottom: 50vh;
24
    width: 100px;
25
    height: 10%;
26
  }
27
28
  .spacer {
29
    height: 90%;
30
  }
31
  .long {
32
    height: 600vh;
33
  }
34
35
  .position-parent {
36
    position: absolute;
37
    display: flex;
38
    align-items: center;
39
    justify-content: center;
40
    width: 100%;
41
    height: 100%;
42
    top: 100vh;
43
    background-color: lightgrey;
44
  }
45
46
  .container {
47
    width: 100px;
48
    height: 100%;
49
    background-color: grey;
50
  }
51
52
  button {
53
    position: fixed;
54
    left: 20px;
55
    top: 20px;
56
  }
57
58
  .fixed {
59
    position: fixed;
60
    top: 25vh;
61
  }
62
</style>
63
64
<div>You should see a green box below. No blue should be visible.</div>
65
<div class="position-parent">
66
  <div class="container">
67
    <div class="spacer"></div>
68
    <div class="sticky"></div>
69
  </div>
70
</div>
71
<div class="long"></div>
72
<button id="button">Toggle Fixed</button>
73
<script>
74
  function toggleFixed() {
75
    document.querySelector('.position-parent').classList.toggle('fixed');
76
  }
77
78
  document.getElementById('button').addEventListener('click', toggleFixed);
79
80
  requestAnimationFrame(() => {
81
    window.scrollTo(0, document.querySelector('.long').clientHeight);
82
    createIndicatorForStickyElements(document.querySelectorAll('.sticky'));
83
    requestAnimationFrame(() => {
84
      toggleFixed();
85
      takeScreenshot();
86
    });
87
  });
88
</script>
89
</html>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-position/position-sticky-flexbox-expected.html -1 / +1 lines
Lines 60-63 window.addEventListener('load', function() { a/LayoutTests/imported/w3c/web-platform-tests/css/css-position/position-sticky-flexbox-expected.html_sec1
60
  </div>
60
  </div>
61
</div>
61
</div>
62
62
63
<p>You should see three green boxes of varying size above. There should be no red.</p>
63
<p>You should see three green boxes of varying size above. There should be no red or blue.</p>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-position/position-sticky-flexbox.html -1 / +4 lines
Lines 4-9 a/LayoutTests/imported/w3c/web-platform-tests/css/css-position/position-sticky-flexbox.html_sec1
4
<link rel="help" href="https://www.w3.org/TR/css-position-3/#sticky-pos" />
4
<link rel="help" href="https://www.w3.org/TR/css-position-3/#sticky-pos" />
5
<meta name="assert" content="This test checks that position:sticky elements interoperate correctly with flexbox" />
5
<meta name="assert" content="This test checks that position:sticky elements interoperate correctly with flexbox" />
6
6
7
<script src="resources/ref-rectangle.js"></script>
8
7
<style>
9
<style>
8
.scroller {
10
.scroller {
9
  overflow: scroll;
11
  overflow: scroll;
Lines 47-52 window.addEventListener('load', function() { a/LayoutTests/imported/w3c/web-platform-tests/css/css-position/position-sticky-flexbox.html_sec2
47
  document.getElementById('scroller1').scrollLeft = 50;
49
  document.getElementById('scroller1').scrollLeft = 50;
48
  document.getElementById('scroller2').scrollLeft = 150;
50
  document.getElementById('scroller2').scrollLeft = 150;
49
  document.getElementById('scroller3').scrollLeft = 250;
51
  document.getElementById('scroller3').scrollLeft = 250;
52
  createIndicatorForStickyElements(document.querySelectorAll('.sticky'));
50
});
53
});
51
</script>
54
</script>
52
55
Lines 77-80 window.addEventListener('load', function() { a/LayoutTests/imported/w3c/web-platform-tests/css/css-position/position-sticky-flexbox.html_sec3
77
  </div>
80
  </div>
78
</div>
81
</div>
79
82
80
<p>You should see three green boxes of varying size above. There should be no red.</p>
83
<p>You should see three green boxes of varying size above. There should be no red or blue.</p>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-position/position-sticky-grid-expected.html -1 / +1 lines
Lines 72-76 window.addEventListener('load', function() { a/LayoutTests/imported/w3c/web-platform-tests/css/css-position/position-sticky-grid-expected.html_sec1
72
  <div class="padding"></div>
72
  <div class="padding"></div>
73
</div>
73
</div>
74
74
75
<p>You should see three green boxes of varying size above. There should be no red.</p>
75
<p>You should see three green boxes of varying size above. There should be no red or blue.</p>
76
76
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-position/position-sticky-grid.html -1 / +4 lines
Lines 4-9 a/LayoutTests/imported/w3c/web-platform-tests/css/css-position/position-sticky-grid.html_sec1
4
<link rel="help" href="https://www.w3.org/TR/css-position-3/#sticky-pos" />
4
<link rel="help" href="https://www.w3.org/TR/css-position-3/#sticky-pos" />
5
<meta name="assert" content="This test checks that position:sticky elements interoperate correctly with grid" />
5
<meta name="assert" content="This test checks that position:sticky elements interoperate correctly with grid" />
6
6
7
<script src="resources/ref-rectangle.js"></script>
8
7
<style>
9
<style>
8
.scroller {
10
.scroller {
9
  position: relative;
11
  position: relative;
Lines 56-61 window.addEventListener('load', function() { a/LayoutTests/imported/w3c/web-platform-tests/css/css-position/position-sticky-grid.html_sec2
56
  document.getElementById('scroller1').scrollLeft = 0;
58
  document.getElementById('scroller1').scrollLeft = 0;
57
  document.getElementById('scroller2').scrollLeft = 150;
59
  document.getElementById('scroller2').scrollLeft = 150;
58
  document.getElementById('scroller3').scrollLeft = 300;
60
  document.getElementById('scroller3').scrollLeft = 300;
61
  createIndicatorForStickyElements(document.querySelectorAll('.sticky'));
59
});
62
});
60
</script>
63
</script>
61
64
Lines 89-93 window.addEventListener('load', function() { a/LayoutTests/imported/w3c/web-platform-tests/css/css-position/position-sticky-grid.html_sec3
89
  <div class="padding"></div>
92
  <div class="padding"></div>
90
</div>
93
</div>
91
94
92
<p>You should see three green boxes of varying size above. There should be no red.</p>
95
<p>You should see three green boxes of varying size above. There should be no red or blue.</p>
93
96
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-position/position-sticky-inline-expected.html -1 / +1 lines
Lines 66-69 window.addEventListener('load', function() { a/LayoutTests/imported/w3c/web-platform-tests/css/css-position/position-sticky-inline-expected.html_sec1
66
  </div>
66
  </div>
67
</div>
67
</div>
68
68
69
<div>You should see three green rectangles above. No red should be visible.</div>
69
<div>You should see three green rectangles above. No red or blue should be visible.</div>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-position/position-sticky-inline.html -1 / +5 lines
Lines 5-10 a/LayoutTests/imported/w3c/web-platform-tests/css/css-position/position-sticky-inline.html_sec1
5
<meta name="assert" content="This test checks that position:sticky works for inline elements" />
5
<meta name="assert" content="This test checks that position:sticky works for inline elements" />
6
6
7
<link rel="stylesheet" type="text/css" href="/fonts/ahem.css" />
7
<link rel="stylesheet" type="text/css" href="/fonts/ahem.css" />
8
9
<script src="resources/ref-rectangle.js"></script>
10
8
<style>
11
<style>
9
.group {
12
.group {
10
  display: inline-block;
13
  display: inline-block;
Lines 60-65 window.addEventListener('load', function() { a/LayoutTests/imported/w3c/web-platform-tests/css/css-position/position-sticky-inline.html_sec2
60
  document.getElementById('scroller1').scrollTop = 50;
63
  document.getElementById('scroller1').scrollTop = 50;
61
  document.getElementById('scroller2').scrollTop = 125;
64
  document.getElementById('scroller2').scrollTop = 125;
62
  document.getElementById('scroller3').scrollTop = 250;
65
  document.getElementById('scroller3').scrollTop = 250;
66
  createIndicatorForStickyElements(document.querySelectorAll('.sticky'));
63
});
67
});
64
</script>
68
</script>
65
69
Lines 102-105 window.addEventListener('load', function() { a/LayoutTests/imported/w3c/web-platform-tests/css/css-position/position-sticky-inline.html_sec3
102
  </div>
106
  </div>
103
</div>
107
</div>
104
108
105
<div>You should see three green rectangles above. No red should be visible.</div>
109
<div>You should see three green rectangles above. No red or blue should be visible.</div>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-position/position-sticky-large-top-2.tentative-expected.html +56 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-position/position-sticky-large-top-2.tentative-expected.html_sec1
1
<!DOCTYPE html>
2
<html>
3
  <meta charset="utf-8">
4
  <title>CSS Position Test Reference: Test position:sticky element with large top in an overflow scroll container</title>
5
  <link rel="author" title="Ting-Yu Lin" href="mailto:tlin@mozilla.com">
6
  <link rel="author" title="Mozilla" href="http://www.mozilla.org/">
7
8
  <style>
9
  .scroll {
10
    border: 5px solid blue;
11
    padding: 5px 3px 0 8px;
12
    overflow: auto;
13
    height: 200px;
14
    width: 200px;
15
    transform: scale(1);
16
  }
17
18
  .block {
19
    width: 150px;
20
    height: 200px;
21
    background: yellow;
22
    position: absolute;
23
    top: 55px;
24
  }
25
26
  .sticky {
27
    position: absolute;
28
    background: purple;
29
    width: 50px;
30
    height: 50px;
31
    top: 205px;
32
    z-index: 1;
33
  }
34
  </style>
35
  <script>
36
  function runTest() {
37
    document.getElementById("scroll2").scrollTop = 50;
38
  }
39
  </script>
40
41
  <body onload="runTest();">
42
    <div class="scroll">
43
      <span>
44
        <div class="sticky"></div>
45
      </span>
46
      <div class="block"></div>
47
    </div>
48
49
    <div class="scroll" id="scroll2">
50
      <span>
51
        <div class="sticky"></div>
52
      </span>
53
      <div class="block"></div>
54
    </div>
55
  </body>
56
</html>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-position/position-sticky-large-top-2.tentative.html +59 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-position/position-sticky-large-top-2.tentative.html_sec1
1
<!DOCTYPE html>
2
<html>
3
  <meta charset="utf-8">
4
  <title>CSS Position Test: Test position:sticky element with large top in an overflow container</title>
5
  <link rel="author" title="Ting-Yu Lin" href="mailto:tlin@mozilla.com">
6
  <link rel="author" title="Mozilla" href="http://www.mozilla.org/">
7
  <link rel="help" href="https://drafts.csswg.org/css-position/#sticky-pos">
8
  <link rel="help" href="https://bugzilla.mozilla.org/show_bug.cgi?id=1598112">
9
  <link rel="help" href="https://github.com/w3c/csswg-drafts/issues/2794">
10
  <link rel="match" href="position-sticky-large-top-2-ref.html">
11
  <meta name="assert" content="This test verifies the position of a position:sticky element with large top value can be reached by scrolling the overflow container.">
12
13
  <style>
14
  .scroll {
15
    border: 5px solid blue;
16
    padding: 5px 3px 0 8px;
17
    overflow: auto;
18
    height: 200px;
19
    width: 200px;
20
  }
21
22
  .block {
23
    width: 150px;
24
    height: 200px;
25
    background: yellow;
26
  }
27
28
  .sticky {
29
    position: sticky;
30
    background: purple;
31
    width: 50px;
32
    height: 50px;
33
    top: 200px;
34
  }
35
  </style>
36
  <script>
37
  function runTest() {
38
    document.getElementById("scroll2").scrollTop = 50;
39
  }
40
  </script>
41
42
  <body onload="runTest();">
43
    <!-- test before scroll -->
44
    <div class="scroll">
45
      <span>
46
        <div class="sticky"></div>
47
      </span>
48
      <div class="block"></div>
49
    </div>
50
51
    <!-- test after scroll -->
52
    <div class="scroll" id="scroll2">
53
      <span>
54
        <div class="sticky"></div>
55
      </span>
56
      <div class="block"></div>
57
    </div>
58
  </body>
59
</html>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-position/position-sticky-large-top.tentative-expected.html +51 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-position/position-sticky-large-top.tentative-expected.html_sec1
1
<!DOCTYPE html>
2
<html>
3
  <meta charset="utf-8">
4
  <title>CSS Position Test Reference: Test position:sticky element with large top in an overflow scroll container</title>
5
  <link rel="author" title="Ting-Yu Lin" href="mailto:tlin@mozilla.com">
6
  <link rel="author" title="Mozilla" href="http://www.mozilla.org/">
7
8
  <style>
9
  .scroll {
10
    border: 5px solid blue;
11
    overflow: auto;
12
    height: 200px;
13
    width: 200px;
14
    transform: scale(1);
15
  }
16
17
  .block {
18
    width: 100%;
19
    height: 200px;
20
    background: yellow;
21
    position: absolute;
22
    top: 50px;
23
  }
24
25
  .sticky {
26
    position: absolute;
27
    background: purple;
28
    width: 50px;
29
    height: 50px;
30
    top: 200px;
31
    z-index: 1;
32
  }
33
  </style>
34
  <script>
35
  function runTest() {
36
    document.getElementById("scroll2").scrollTop = 50;
37
  }
38
  </script>
39
40
  <body onload="runTest();">
41
    <div class="scroll">
42
      <div class="sticky"></div>
43
      <div class="block"></div>
44
    </div>
45
46
    <div class="scroll" id="scroll2">
47
      <div class="sticky"></div>
48
      <div class="block"></div>
49
    </div>
50
  </body>
51
</html>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-position/position-sticky-large-top.tentative.html +54 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-position/position-sticky-large-top.tentative.html_sec1
1
<!DOCTYPE html>
2
<html>
3
  <meta charset="utf-8">
4
  <title>CSS Position Test: Test position:sticky element with large top in an overflow container</title>
5
  <link rel="author" title="Ting-Yu Lin" href="mailto:tlin@mozilla.com">
6
  <link rel="author" title="Mozilla" href="http://www.mozilla.org/">
7
  <link rel="help" href="https://drafts.csswg.org/css-position/#sticky-pos">
8
  <link rel="help" href="https://bugzilla.mozilla.org/show_bug.cgi?id=1598112">
9
  <link rel="help" href="https://github.com/w3c/csswg-drafts/issues/2794">
10
  <link rel="match" href="position-sticky-large-top-ref.html">
11
  <meta name="assert" content="This test verifies the position of a position:sticky element with large top value can be reached by scrolling the overflow container.">
12
13
  <style>
14
  .scroll {
15
    border: 5px solid blue;
16
    overflow: auto;
17
    height: 200px;
18
    width: 200px;
19
  }
20
21
  .block {
22
    width: 100%;
23
    height: 200px;
24
    background: yellow;
25
  }
26
27
  .sticky {
28
    position: sticky;
29
    background: purple;
30
    width: 50px;
31
    height: 50px;
32
    top: 200px;
33
  }
34
  </style>
35
  <script>
36
  function runTest() {
37
    document.getElementById("scroll2").scrollTop = 50;
38
  }
39
  </script>
40
41
  <body onload="runTest();">
42
    <!-- test before scroll -->
43
    <div class="scroll">
44
      <div class="sticky"></div>
45
      <div class="block"></div>
46
    </div>
47
48
    <!-- test after scroll -->
49
    <div class="scroll" id="scroll2">
50
      <div class="sticky"></div>
51
      <div class="block"></div>
52
    </div>
53
  </body>
54
</html>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-position/position-sticky-nested-inline-expected.html -2 / +2 lines
Lines 30-36 a/LayoutTests/imported/w3c/web-platform-tests/css/css-position/position-sticky-nested-inline-expected.html_sec1
30
}
30
}
31
31
32
.innerIndicator {
32
.innerIndicator {
33
  color: blue;
33
  color: yellow;
34
  position: absolute;
34
  position: absolute;
35
  left: 25px;
35
  left: 25px;
36
}
36
}
Lines 71-74 window.addEventListener('load', function() { a/LayoutTests/imported/w3c/web-platform-tests/css/css-position/position-sticky-nested-inline-expected.html_sec2
71
  </div>
71
  </div>
72
</div>
72
</div>
73
73
74
<div>You should see three green and three blue rectangles above. No red should be visible.</div>
74
<div>You should see three green and three yellow rectangles above. No red or blue should be visible.</div>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-position/position-sticky-nested-inline.html -2 / +6 lines
Lines 5-10 a/LayoutTests/imported/w3c/web-platform-tests/css/css-position/position-sticky-nested-inline.html_sec1
5
<meta name="assert" content="This test checks that nested inline position:sticky elements render correctly" />
5
<meta name="assert" content="This test checks that nested inline position:sticky elements render correctly" />
6
6
7
<link rel="stylesheet" type="text/css" href="/fonts/ahem.css" />
7
<link rel="stylesheet" type="text/css" href="/fonts/ahem.css" />
8
9
<script src="resources/ref-rectangle.js"></script>
10
8
<style>
11
<style>
9
.group {
12
.group {
10
  display: inline-block;
13
  display: inline-block;
Lines 59-65 a/LayoutTests/imported/w3c/web-platform-tests/css/css-position/position-sticky-nested-inline.html_sec2
59
62
60
.innerSticky {
63
.innerSticky {
61
  display: inline;
64
  display: inline;
62
  color: blue;
65
  color: yellow;
63
  position: sticky;
66
  position: sticky;
64
  top: 60px;
67
  top: 60px;
65
}
68
}
Lines 70-75 window.addEventListener('load', function() { a/LayoutTests/imported/w3c/web-platform-tests/css/css-position/position-sticky-nested-inline.html_sec3
70
  document.getElementById('scroller1').scrollTop = 50;
73
  document.getElementById('scroller1').scrollTop = 50;
71
  document.getElementById('scroller2').scrollTop = 125;
74
  document.getElementById('scroller2').scrollTop = 125;
72
  document.getElementById('scroller3').scrollTop = 225;
75
  document.getElementById('scroller3').scrollTop = 225;
76
  createIndicatorForStickyElements(document.querySelectorAll('.sticky'));
73
});
77
});
74
</script>
78
</script>
75
79
Lines 112-115 window.addEventListener('load', function() { a/LayoutTests/imported/w3c/web-platform-tests/css/css-position/position-sticky-nested-inline.html_sec4
112
  </div>
116
  </div>
113
</div>
117
</div>
114
118
115
<div>You should see three green and three blue rectangles above. No red should be visible.</div>
119
<div>You should see three green and three yellow rectangles above. No red or blue should be visible.</div>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-position/position-sticky-nested-table-expected.html -1 / +1 lines
Lines 63-66 window.addEventListener('load', function() { a/LayoutTests/imported/w3c/web-platform-tests/css/css-position/position-sticky-nested-table-expected.html_sec1
63
  </div>
63
  </div>
64
</div>
64
</div>
65
65
66
<div>You should see three green rectangles above. No red should be visible.</div>
66
<div>You should see three green rectangles above. No red or blue should be visible.</div>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-position/position-sticky-nested-table.html -1 / +4 lines
Lines 4-9 a/LayoutTests/imported/w3c/web-platform-tests/css/css-position/position-sticky-nested-table.html_sec1
4
<link rel="help" href="https://www.w3.org/TR/css-position-3/#sticky-pos" />
4
<link rel="help" href="https://www.w3.org/TR/css-position-3/#sticky-pos" />
5
<meta name="assert" content="This test checks that nested position:sticky table elements render correctly" />
5
<meta name="assert" content="This test checks that nested position:sticky table elements render correctly" />
6
6
7
<script src="resources/ref-rectangle.js"></script>
8
7
<style>
9
<style>
8
.group {
10
.group {
9
  display: inline-block;
11
  display: inline-block;
Lines 62-67 window.addEventListener('load', function() { a/LayoutTests/imported/w3c/web-platform-tests/css/css-position/position-sticky-nested-table.html_sec2
62
  document.getElementById('scroller1').scrollTop = 50;
64
  document.getElementById('scroller1').scrollTop = 50;
63
  document.getElementById('scroller2').scrollTop = 125;
65
  document.getElementById('scroller2').scrollTop = 125;
64
  document.getElementById('scroller3').scrollTop = 250;
66
  document.getElementById('scroller3').scrollTop = 250;
67
  createIndicatorForStickyElements(document.querySelectorAll('.sticky'));
65
});
68
});
66
</script>
69
</script>
67
70
Lines 128-131 window.addEventListener('load', function() { a/LayoutTests/imported/w3c/web-platform-tests/css/css-position/position-sticky-nested-table.html_sec3
128
  </div>
131
  </div>
129
</div>
132
</div>
130
133
131
<div>You should see three green rectangles above. No red should be visible.</div>
134
<div>You should see three green rectangles above. No red or blue should be visible.</div>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-position/position-sticky-rendering-expected.html -1 / +1 lines
Lines 101-104 window.addEventListener('load', function() { a/LayoutTests/imported/w3c/web-platform-tests/css/css-position/position-sticky-rendering-expected.html_sec1
101
  </div>
101
  </div>
102
</div>
102
</div>
103
103
104
<div>You should see four green squares above. No red should be visible.</div>
104
<div>You should see four green squares above. No red or blue should be visible.</div>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-position/position-sticky-rendering.html -1 / +4 lines
Lines 4-9 a/LayoutTests/imported/w3c/web-platform-tests/css/css-position/position-sticky-rendering.html_sec1
4
<link rel="help" href="https://www.w3.org/TR/css-position-3/#sticky-pos" />
4
<link rel="help" href="https://www.w3.org/TR/css-position-3/#sticky-pos" />
5
<meta name="assert" content="This test checks that position:sticky elements are rendered correctly" />
5
<meta name="assert" content="This test checks that position:sticky elements are rendered correctly" />
6
6
7
<script src="resources/ref-rectangle.js"></script>
8
7
<style>
9
<style>
8
.group {
10
.group {
9
  display: inline-block;
11
  display: inline-block;
Lines 102-107 window.addEventListener('load', function() { a/LayoutTests/imported/w3c/web-platform-tests/css/css-position/position-sticky-rendering.html_sec2
102
  document.getElementById('scroller2').scrollTop = 50;
104
  document.getElementById('scroller2').scrollTop = 50;
103
  document.getElementById('scroller3').scrollLeft = 125;
105
  document.getElementById('scroller3').scrollLeft = 125;
104
  document.getElementById('scroller4').scrollLeft = 75;
106
  document.getElementById('scroller4').scrollLeft = 75;
107
  createIndicatorForStickyElements(document.querySelectorAll('.sticky'));
105
});
108
});
106
</script>
109
</script>
107
110
Lines 153-156 window.addEventListener('load', function() { a/LayoutTests/imported/w3c/web-platform-tests/css/css-position/position-sticky-rendering.html_sec3
153
  </div>
156
  </div>
154
</div>
157
</div>
155
158
156
<div>You should see four green squares above. No red should be visible.</div>
159
<div>You should see four green squares above. No red or blue should be visible.</div>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-position/position-sticky-scroll-reposition-expected.html +10 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-position/position-sticky-scroll-reposition-expected.html_sec1
1
<!doctype html>
2
<title>Test that style mutation of contain:strict plus position:sticky updates sticky position</title>
3
<link rel="help" href="https://www.w3.org/TR/css-position-3/#sticky-pos">
4
<link rel="author" title="Chris Harrelson" href="mailto:chrishtr@chromium.org">
5
<div id="scroller" style="width: 200px; height: 200px; overflow-y: scroll;
6
                          will-change: transform;">
7
  <div id="scrollbar" style="width: 100px; height: 100px; position: sticky; background: lightblue;
8
                             top: 5px; left: 50px; contain: strict;"></div>
9
  <div style="width: 100px; height: 500px;"></div>
10
</div>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-position/position-sticky-scroll-reposition.html +20 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-position/position-sticky-scroll-reposition.html_sec1
1
<!doctype html>
2
<html class="reftest-wait">
3
<title>Test that style mutation of contain:strict plus position:sticky updates sticky position</title>
4
<link rel="help" href="https://www.w3.org/TR/css-position-3/#sticky-pos">
5
<link rel="author" title="Chris Harrelson" href="mailto:chrishtr@chromium.org">
6
<link rel="match" href="position-sticky-scroll-reposition-ref.html">
7
<div id="scroller" style="width: 200px; height: 200px; overflow-y: scroll;
8
                          will-change: transform;">
9
  <div id="sticky" style="width: 100px; height: 100px; position: sticky; background: lightblue;
10
                             top: 50px; left: 50px; contain: strict;"></div>
11
  <div style="width: 100px; height: 500px;"></div>
12
</div>
13
<script src="/common/reftest-wait.js"></script>
14
<script>
15
  requestAnimationFrame(() =>
16
      requestAnimationFrame(() => {
17
    sticky.style.top = '5px';
18
    takeScreenshot();
19
  }));
20
</script>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-position/position-sticky-stacking-context-expected.html -1 / +1 lines
Lines 14-17 a/LayoutTests/imported/w3c/web-platform-tests/css/css-position/position-sticky-stacking-context-expected.html_sec1
14
14
15
<div class="indicator box"></div>
15
<div class="indicator box"></div>
16
16
17
<div>You should see a single green box above. No red should be visible.</div>
17
<div>You should see a single green box above. No red or blue should be visible.</div>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-position/position-sticky-stacking-context.html -1 / +8 lines
Lines 4-9 a/LayoutTests/imported/w3c/web-platform-tests/css/css-position/position-sticky-stacking-context.html_sec1
4
<link rel="help" href="https://www.w3.org/TR/css-position-3/#sticky-pos" />
4
<link rel="help" href="https://www.w3.org/TR/css-position-3/#sticky-pos" />
5
<meta name="assert" content="position:sticky elements should create a stacking context" />
5
<meta name="assert" content="position:sticky elements should create a stacking context" />
6
6
7
<script src="resources/ref-rectangle.js"></script>
8
7
<style>
9
<style>
8
.indicator {
10
.indicator {
9
  position: absolute;
11
  position: absolute;
Lines 28-33 a/LayoutTests/imported/w3c/web-platform-tests/css/css-position/position-sticky-stacking-context.html_sec2
28
}
30
}
29
</style>
31
</style>
30
32
33
<script>
34
window.addEventListener('load', function() {
35
   createIndicatorForStickyElements(document.querySelectorAll('.sticky'));
36
})
37
</script>
31
<div class="indicator box"></div>
38
<div class="indicator box"></div>
32
<div class="sticky box">
39
<div class="sticky box">
33
  <!-- Because sticky forms a stacking context, this child remains on bottom
40
  <!-- Because sticky forms a stacking context, this child remains on bottom
Lines 35-38 a/LayoutTests/imported/w3c/web-platform-tests/css/css-position/position-sticky-stacking-context.html_sec3
35
  <div class="child box"></div>
42
  <div class="child box"></div>
36
</div>
43
</div>
37
44
38
<div>You should see a single green box above. No red should be visible.</div>
45
<div>You should see a single green box above. No red or blue should be visible.</div>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-position/position-sticky-table-parts-expected.html -1 / +1 lines
Lines 45-48 window.addEventListener('load', function() { a/LayoutTests/imported/w3c/web-platform-tests/css/css-position/position-sticky-table-parts-expected.html_sec1
45
      </table>
45
      </table>
46
    </div>
46
    </div>
47
  </div>
47
  </div>
48
<div>There should be a green square at the top of the scroll view and no red visible.</div>
48
<div>There should be a green square at the top of the scroll view and no red or blue visible.</div>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-position/position-sticky-table-parts.html -1 / +4 lines
Lines 4-9 a/LayoutTests/imported/w3c/web-platform-tests/css/css-position/position-sticky-table-parts.html_sec1
4
<link rel="help" href="https://www.w3.org/TR/css-position-3/#sticky-pos" />
4
<link rel="help" href="https://www.w3.org/TR/css-position-3/#sticky-pos" />
5
<meta name="assert" content="This test checks that nested position:sticky table elements render correctly" />
5
<meta name="assert" content="This test checks that nested position:sticky table elements render correctly" />
6
6
7
<script src="resources/ref-rectangle.js"></script>
8
7
<style>
9
<style>
8
.scroller {
10
.scroller {
9
  position: relative;
11
  position: relative;
Lines 50-55 table * { a/LayoutTests/imported/w3c/web-platform-tests/css/css-position/position-sticky-table-parts.html_sec2
50
window.addEventListener('load', function() {
52
window.addEventListener('load', function() {
51
  document.body.offsetTop;
53
  document.body.offsetTop;
52
  document.getElementById('scroller1').scrollTop = 150;
54
  document.getElementById('scroller1').scrollTop = 150;
55
  createIndicatorForStickyElements(document.querySelectorAll('.sticky'));
53
});
56
});
54
</script>
57
</script>
55
58
Lines 69-72 window.addEventListener('load', function() { a/LayoutTests/imported/w3c/web-platform-tests/css/css-position/position-sticky-table-parts.html_sec3
69
    </table>
72
    </table>
70
  </div>
73
  </div>
71
</div>
74
</div>
72
<div>There should be a green square at the top of the scroll view and no red visible.</div>
75
<div>There should be a green square at the top of the scroll view and no red or blue visible.</div>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-position/position-sticky-table-tfoot-bottom-expected.html -1 / +1 lines
Lines 59-62 window.addEventListener('load', function() { a/LayoutTests/imported/w3c/web-platform-tests/css/css-position/position-sticky-table-tfoot-bottom-expected.html_sec1
59
  </div>
59
  </div>
60
</div>
60
</div>
61
61
62
<div>You should see three green boxes above. No red should be visible.</div>
62
<div>You should see three green boxes above. No red or blue should be visible.</div>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-position/position-sticky-table-tfoot-bottom.html -1 / +4 lines
Lines 4-9 a/LayoutTests/imported/w3c/web-platform-tests/css/css-position/position-sticky-table-tfoot-bottom.html_sec1
4
<link rel="help" href="https://www.w3.org/TR/css-position-3/#sticky-pos" />
4
<link rel="help" href="https://www.w3.org/TR/css-position-3/#sticky-pos" />
5
<meta name="assert" content="This test checks that the position:sticky bottom constraint behaves correctly for &lt;tfoot&gt; elements" />
5
<meta name="assert" content="This test checks that the position:sticky bottom constraint behaves correctly for &lt;tfoot&gt; elements" />
6
6
7
<script src="resources/ref-rectangle.js"></script>
8
7
<style>
9
<style>
8
table {
10
table {
9
  border-collapse:collapse;
11
  border-collapse:collapse;
Lines 61-66 window.addEventListener('load', function() { a/LayoutTests/imported/w3c/web-platform-tests/css/css-position/position-sticky-table-tfoot-bottom.html_sec2
61
  document.getElementById('scroller1').scrollTop = 0;
63
  document.getElementById('scroller1').scrollTop = 0;
62
  document.getElementById('scroller2').scrollTop = 75;
64
  document.getElementById('scroller2').scrollTop = 75;
63
  document.getElementById('scroller3').scrollTop = 200;
65
  document.getElementById('scroller3').scrollTop = 200;
66
  createIndicatorForStickyElements(document.querySelectorAll('.sticky'));
64
});
67
});
65
</script>
68
</script>
66
69
Lines 118-121 window.addEventListener('load', function() { a/LayoutTests/imported/w3c/web-platform-tests/css/css-position/position-sticky-table-tfoot-bottom.html_sec3
118
  </div>
121
  </div>
119
</div>
122
</div>
120
123
121
<div>You should see three green boxes above. No red should be visible.</div>
124
<div>You should see three green boxes above. No red or blue should be visible.</div>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-position/position-sticky-table-th-left-expected.html -1 / +1 lines
Lines 59-62 window.addEventListener('load', function() { a/LayoutTests/imported/w3c/web-platform-tests/css/css-position/position-sticky-table-th-left-expected.html_sec1
59
  </div>
59
  </div>
60
</div>
60
</div>
61
61
62
<div>You should see three green boxes above. No red should be visible.</div>
62
<div>You should see three green boxes above. No red or blue should be visible.</div>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-position/position-sticky-table-th-left.html -1 / +4 lines
Lines 4-9 a/LayoutTests/imported/w3c/web-platform-tests/css/css-position/position-sticky-table-th-left.html_sec1
4
<link rel="help" href="https://www.w3.org/TR/css-position-3/#sticky-pos" />
4
<link rel="help" href="https://www.w3.org/TR/css-position-3/#sticky-pos" />
5
<meta name="assert" content="This test checks that the position:sticky left constraint behaves correctly for &lt;th&gt; elements" />
5
<meta name="assert" content="This test checks that the position:sticky left constraint behaves correctly for &lt;th&gt; elements" />
6
6
7
<script src="resources/ref-rectangle.js"></script>
8
7
<style>
9
<style>
8
table {
10
table {
9
    border-collapse: collapse;
11
    border-collapse: collapse;
Lines 58-63 window.addEventListener('load', function() { a/LayoutTests/imported/w3c/web-platform-tests/css/css-position/position-sticky-table-th-left.html_sec2
58
  document.getElementById('scroller1').scrollLeft = 50;
60
  document.getElementById('scroller1').scrollLeft = 50;
59
  document.getElementById('scroller2').scrollLeft = 125;
61
  document.getElementById('scroller2').scrollLeft = 125;
60
  document.getElementById('scroller3').scrollLeft = 250;
62
  document.getElementById('scroller3').scrollLeft = 250;
63
  createIndicatorForStickyElements(document.querySelectorAll('.sticky'));
61
});
64
});
62
</script>
65
</script>
63
66
Lines 112-115 window.addEventListener('load', function() { a/LayoutTests/imported/w3c/web-platform-tests/css/css-position/position-sticky-table-th-left.html_sec3
112
  </div>
115
  </div>
113
</div>
116
</div>
114
117
115
<div>You should see three green boxes above. No red should be visible.</div>
118
<div>You should see three green boxes above. No red or blue should be visible.</div>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-position/position-sticky-table-th-right-expected.html -1 / +1 lines
Lines 59-62 window.addEventListener('load', function() { a/LayoutTests/imported/w3c/web-platform-tests/css/css-position/position-sticky-table-th-right-expected.html_sec1
59
  </div>
59
  </div>
60
</div>
60
</div>
61
61
62
<div>You should see three green boxes above. No red should be visible.</div>
62
<div>You should see three green boxes above. No red or blue should be visible.</div>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-position/position-sticky-table-th-right.html -1 / +4 lines
Lines 4-9 a/LayoutTests/imported/w3c/web-platform-tests/css/css-position/position-sticky-table-th-right.html_sec1
4
<link rel="help" href="https://www.w3.org/TR/css-position-3/#sticky-pos" />
4
<link rel="help" href="https://www.w3.org/TR/css-position-3/#sticky-pos" />
5
<meta name="assert" content="This test checks that the position:sticky right constraint behaves correctly for &lt;th&gt; elements" />
5
<meta name="assert" content="This test checks that the position:sticky right constraint behaves correctly for &lt;th&gt; elements" />
6
6
7
<script src="resources/ref-rectangle.js"></script>
8
7
<style>
9
<style>
8
table {
10
table {
9
    border-collapse: collapse;
11
    border-collapse: collapse;
Lines 58-63 window.addEventListener('load', function() { a/LayoutTests/imported/w3c/web-platform-tests/css/css-position/position-sticky-table-th-right.html_sec2
58
  document.getElementById('scroller1').scrollLeft = 0;
60
  document.getElementById('scroller1').scrollLeft = 0;
59
  document.getElementById('scroller2').scrollLeft = 75;
61
  document.getElementById('scroller2').scrollLeft = 75;
60
  document.getElementById('scroller3').scrollLeft = 200;
62
  document.getElementById('scroller3').scrollLeft = 200;
63
  createIndicatorForStickyElements(document.querySelectorAll('.sticky'));
61
});
64
});
62
</script>
65
</script>
63
66
Lines 112-115 window.addEventListener('load', function() { a/LayoutTests/imported/w3c/web-platform-tests/css/css-position/position-sticky-table-th-right.html_sec3
112
  </div>
115
  </div>
113
</div>
116
</div>
114
117
115
<div>You should see three green boxes above. No red should be visible.</div>
118
<div>You should see three green boxes above. No red or blue should be visible.</div>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-position/position-sticky-table-thead-top-expected.html -1 / +1 lines
Lines 59-62 window.addEventListener('load', function() { a/LayoutTests/imported/w3c/web-platform-tests/css/css-position/position-sticky-table-thead-top-expected.html_sec1
59
  </div>
59
  </div>
60
</div>
60
</div>
61
61
62
<div>You should see three green boxes above. No red should be visible.</div>
62
<div>You should see three green boxes above. No red or blue should be visible.</div>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-position/position-sticky-table-thead-top.html -1 / +4 lines
Lines 4-9 a/LayoutTests/imported/w3c/web-platform-tests/css/css-position/position-sticky-table-thead-top.html_sec1
4
<link rel="help" href="https://www.w3.org/TR/css-position-3/#sticky-pos" />
4
<link rel="help" href="https://www.w3.org/TR/css-position-3/#sticky-pos" />
5
<meta name="assert" content="This test checks that the position:sticky top constraint behaves correctly for &lt;thead&gt; elements" />
5
<meta name="assert" content="This test checks that the position:sticky top constraint behaves correctly for &lt;thead&gt; elements" />
6
6
7
<script src="resources/ref-rectangle.js"></script>
8
7
<style>
9
<style>
8
table {
10
table {
9
  border-collapse:collapse;
11
  border-collapse:collapse;
Lines 61-66 window.addEventListener('load', function() { a/LayoutTests/imported/w3c/web-platform-tests/css/css-position/position-sticky-table-thead-top.html_sec2
61
  document.getElementById('scroller1').scrollTop = 50;
63
  document.getElementById('scroller1').scrollTop = 50;
62
  document.getElementById('scroller2').scrollTop = 125;
64
  document.getElementById('scroller2').scrollTop = 125;
63
  document.getElementById('scroller3').scrollTop = 250;
65
  document.getElementById('scroller3').scrollTop = 250;
66
  createIndicatorForStickyElements(document.querySelectorAll('.sticky'));
64
});
67
});
65
</script>
68
</script>
66
69
Lines 118-121 window.addEventListener('load', function() { a/LayoutTests/imported/w3c/web-platform-tests/css/css-position/position-sticky-table-thead-top.html_sec3
118
  </div>
121
  </div>
119
</div>
122
</div>
120
123
121
<div>You should see three green boxes above. No red should be visible.</div>
124
<div>You should see three green boxes above. No red or blue should be visible.</div>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-position/position-sticky-table-tr-bottom-expected.html -1 / +1 lines
Lines 59-62 window.addEventListener('load', function() { a/LayoutTests/imported/w3c/web-platform-tests/css/css-position/position-sticky-table-tr-bottom-expected.html_sec1
59
  </div>
59
  </div>
60
</div>
60
</div>
61
61
62
<div>You should see three green boxes above. No red should be visible.</div>
62
<div>You should see three green boxes above. No red or blue should be visible.</div>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-position/position-sticky-table-tr-bottom.html -1 / +4 lines
Lines 4-9 a/LayoutTests/imported/w3c/web-platform-tests/css/css-position/position-sticky-table-tr-bottom.html_sec1
4
<link rel="help" href="https://www.w3.org/TR/css-position-3/#sticky-pos" />
4
<link rel="help" href="https://www.w3.org/TR/css-position-3/#sticky-pos" />
5
<meta name="assert" content="This test checks that the position:sticky bottom constraint behaves correctly for &lt;tr&gt; elements" />
5
<meta name="assert" content="This test checks that the position:sticky bottom constraint behaves correctly for &lt;tr&gt; elements" />
6
6
7
<script src="resources/ref-rectangle.js"></script>
8
7
<style>
9
<style>
8
table {
10
table {
9
  border-collapse:collapse;
11
  border-collapse:collapse;
Lines 61-66 window.addEventListener('load', function() { a/LayoutTests/imported/w3c/web-platform-tests/css/css-position/position-sticky-table-tr-bottom.html_sec2
61
  document.getElementById('scroller1').scrollTop = 0;
63
  document.getElementById('scroller1').scrollTop = 0;
62
  document.getElementById('scroller2').scrollTop = 75;
64
  document.getElementById('scroller2').scrollTop = 75;
63
  document.getElementById('scroller3').scrollTop = 200;
65
  document.getElementById('scroller3').scrollTop = 200;
66
  createIndicatorForStickyElements(document.querySelectorAll('.sticky'));
64
});
67
});
65
</script>
68
</script>
66
69
Lines 115-118 window.addEventListener('load', function() { a/LayoutTests/imported/w3c/web-platform-tests/css/css-position/position-sticky-table-tr-bottom.html_sec3
115
  </div>
118
  </div>
116
</div>
119
</div>
117
120
118
<div>You should see three green boxes above. No red should be visible.</div>
121
<div>You should see three green boxes above. No red or blue should be visible.</div>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-position/position-sticky-table-tr-top-expected.html -1 / +1 lines
Lines 59-62 window.addEventListener('load', function() { a/LayoutTests/imported/w3c/web-platform-tests/css/css-position/position-sticky-table-tr-top-expected.html_sec1
59
  </div>
59
  </div>
60
</div>
60
</div>
61
61
62
<div>You should see three green boxes above. No red should be visible.</div>
62
<div>You should see three green boxes above. No red or blue should be visible.</div>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-position/position-sticky-table-tr-top.html -1 / +4 lines
Lines 4-9 a/LayoutTests/imported/w3c/web-platform-tests/css/css-position/position-sticky-table-tr-top.html_sec1
4
<link rel="help" href="https://www.w3.org/TR/css-position-3/#sticky-pos" />
4
<link rel="help" href="https://www.w3.org/TR/css-position-3/#sticky-pos" />
5
<meta name="assert" content="This test checks that the position:sticky top constraint behaves correctly for &lt;tr&gt; elements" />
5
<meta name="assert" content="This test checks that the position:sticky top constraint behaves correctly for &lt;tr&gt; elements" />
6
6
7
<script src="resources/ref-rectangle.js"></script>
8
7
<style>
9
<style>
8
table {
10
table {
9
  border-collapse:collapse;
11
  border-collapse:collapse;
Lines 61-66 window.addEventListener('load', function() { a/LayoutTests/imported/w3c/web-platform-tests/css/css-position/position-sticky-table-tr-top.html_sec2
61
  document.getElementById('scroller1').scrollTop = 50;
63
  document.getElementById('scroller1').scrollTop = 50;
62
  document.getElementById('scroller2').scrollTop = 125;
64
  document.getElementById('scroller2').scrollTop = 125;
63
  document.getElementById('scroller3').scrollTop = 250;
65
  document.getElementById('scroller3').scrollTop = 250;
66
  createIndicatorForStickyElements(document.querySelectorAll('.sticky'));
64
});
67
});
65
</script>
68
</script>
66
69
Lines 115-119 window.addEventListener('load', function() { a/LayoutTests/imported/w3c/web-platform-tests/css/css-position/position-sticky-table-tr-top.html_sec3
115
  </div>
118
  </div>
116
</div>
119
</div>
117
120
118
<div>You should see three green boxes above. No red should be visible.</div>
121
<div>You should see three green boxes above. No red or blue should be visible.</div>
119
122
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-position/position-sticky-writing-modes-expected.html -1 / +1 lines
Lines 55-58 window.addEventListener('load', function() { a/LayoutTests/imported/w3c/web-platform-tests/css/css-position/position-sticky-writing-modes-expected.html_sec1
55
  </div>
55
  </div>
56
</div>
56
</div>
57
57
58
<div>You should see two green blocks above. No red should be visible.</div>
58
<div>You should see two green blocks above. No red or blue should be visible.</div>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-position/position-sticky-writing-modes.html -2 / +6 lines
Lines 5-10 a/LayoutTests/imported/w3c/web-platform-tests/css/css-position/position-sticky-writing-modes.html_sec1
5
<meta name="assert" content="This test checks that position:sticky constraints are independent of the writing mode" />
5
<meta name="assert" content="This test checks that position:sticky constraints are independent of the writing mode" />
6
6
7
<link rel="stylesheet" type="text/css" href="/fonts/ahem.css" />
7
<link rel="stylesheet" type="text/css" href="/fonts/ahem.css" />
8
9
<script src="resources/ref-rectangle.js"></script>
10
8
<style>
11
<style>
9
.group {
12
.group {
10
  display: inline-block;
13
  display: inline-block;
Lines 45-50 window.addEventListener('load', function() { a/LayoutTests/imported/w3c/web-platform-tests/css/css-position/position-sticky-writing-modes.html_sec2
45
  document.getElementById('scroller1').scrollLeft = 20;
48
  document.getElementById('scroller1').scrollLeft = 20;
46
  document.getElementById('scroller2').scrollTop = 50;
49
  document.getElementById('scroller2').scrollTop = 50;
47
  document.getElementById('scroller2').scrollLeft = -25;
50
  document.getElementById('scroller2').scrollLeft = -25;
51
  createIndicatorForStickyElements(document.querySelectorAll('.sticky'));
48
});
52
});
49
</script>
53
</script>
50
54
Lines 59-69 window.addEventListener('load', function() { a/LayoutTests/imported/w3c/web-platform-tests/css/css-position/position-sticky-writing-modes.html_sec3
59
63
60
<div class="group">
64
<div class="group">
61
  <div id="scroller2" class="scroller" style="writing-mode: vertical-rl;">
65
  <div id="scroller2" class="scroller" style="writing-mode: vertical-rl;">
66
    <div class="indicator" style="left: 45px; top: 100px;">XXX</div>
62
    <div class="contents">
67
    <div class="contents">
63
      <div class="indicator" style="left: 45px; top: 100px;">XXX</div>
64
      <div class="sticky" style="right: 20px;">XXX</div>
68
      <div class="sticky" style="right: 20px;">XXX</div>
65
    </div>
69
    </div>
66
  </div>
70
  </div>
67
</div>
71
</div>
68
72
69
<div>You should see two green blocks above. No red should be visible.</div>
73
<div>You should see two green blocks above. No red or blue should be visible.</div>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-position/resources/position-sticky-fixed-ancestor-iframe-child.html +61 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-position/resources/position-sticky-fixed-ancestor-iframe-child.html_sec1
1
<!DOCTYPE html>
2
<style>
3
  body,html {
4
    margin: 0;
5
    width: 100%;
6
    height: 100%;
7
  }
8
9
  .sticky {
10
    background: green;
11
    position: sticky;
12
    bottom: 50vh;
13
    width: 100px;
14
    height: 10%;
15
  }
16
17
  .spacer {
18
    height: 90%;
19
  }
20
  .long {
21
    height: 600vh;
22
  }
23
24
  .position-parent {
25
    position: absolute;
26
    display: flex;
27
    align-items: center;
28
    justify-content: center;
29
    width: 100%;
30
    height: 100%;
31
    top: 100vh;
32
    background-color: lightgrey;
33
  }
34
35
  .container {
36
    width: 100px;
37
    height: 100%;
38
    background-color: grey;
39
  }
40
41
  button {
42
    position: fixed;
43
    left: 20px;
44
    top: 20px;
45
  }
46
47
  .fixed {
48
    position: fixed;
49
    top: 25vh;
50
  }
51
</style>
52
53
<div class="position-parent">
54
  <div class="container">
55
    <div class="spacer"></div>
56
    <div class="sticky"></div>
57
  </div>
58
</div>
59
<div class="long"></div>
60
<button id="button">Toggle Fixed</button>
61
</html>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-position/resources/ref-rectangle.js +29 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-position/resources/ref-rectangle.js_sec1
1
/**
2
 * The function positions a new div to exactly the bounding client rect without
3
 * using sticky position. If it's directly under the sticky element it could be
4
 * obscured and not show up when compared to the ref.  */
5
function createIndicatorForStickyElements(sticky_divs) {
6
  if (sticky_divs.length == 0)
7
    throw "No sticky div was found in the test case.";
8
9
  sticky_divs.forEach((sticky_div) => {
10
    // The relative position indicator will be able to share the same containing
11
    // block to match the position with the same offset from in flow position
12
    // (offsetTop/offsetLeft)
13
    if (getComputedStyle(sticky_div).position != "sticky")
14
      throw "Provided sticky element does not have position: sticky";
15
    var position_div = document.createElement("div");
16
    position_div.style.left = sticky_div.offsetLeft + "px";
17
    position_div.style.top  = sticky_div.offsetTop + "px";
18
    // The absolute position is to ensure that the position_div adds zero size
19
    // to in flow layout
20
    position_div.style.position = "absolute"
21
    var indicator_div = document.createElement("div");
22
    indicator_div.style.width = sticky_div.offsetWidth + "px";
23
    indicator_div.style.height = sticky_div.offsetHeight + "px";
24
    indicator_div.style.backgroundColor = "blue";
25
    indicator_div.style.position = "relative";
26
    position_div.appendChild(indicator_div);
27
    sticky_div.parentNode.insertBefore(position_div, sticky_div);
28
  });
29
}
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-position/resources/w3c-import.log +2 lines
Lines 14-17 Property values requiring vendor prefixes: a/LayoutTests/imported/w3c/web-platform-tests/css/css-position/resources/w3c-import.log_sec1
14
None
14
None
15
------------------------------------------------------------------------
15
------------------------------------------------------------------------
16
List of files:
16
List of files:
17
/LayoutTests/imported/w3c/web-platform-tests/css/css-position/resources/position-sticky-fixed-ancestor-iframe-child.html
18
/LayoutTests/imported/w3c/web-platform-tests/css/css-position/resources/ref-rectangle.js
17
/LayoutTests/imported/w3c/web-platform-tests/css/css-position/resources/sticky-util.js
19
/LayoutTests/imported/w3c/web-platform-tests/css/css-position/resources/sticky-util.js
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-position/w3c-import.log -1 / +38 lines
Lines 9-15 Do NOT modify or remove this file. a/LayoutTests/imported/w3c/web-platform-tests/css/css-position/w3c-import.log_sec1
9
9
10
------------------------------------------------------------------------
10
------------------------------------------------------------------------
11
Properties requiring vendor prefixes:
11
Properties requiring vendor prefixes:
12
None
12
backface-visibility
13
Property values requiring vendor prefixes:
13
Property values requiring vendor prefixes:
14
None
14
None
15
------------------------------------------------------------------------
15
------------------------------------------------------------------------
Lines 28-34 List of files: a/LayoutTests/imported/w3c/web-platform-tests/css/css-position/w3c-import.log_sec2
28
/LayoutTests/imported/w3c/web-platform-tests/css/css-position/hypothetical-dynamic-change-003-expected.html
28
/LayoutTests/imported/w3c/web-platform-tests/css/css-position/hypothetical-dynamic-change-003-expected.html
29
/LayoutTests/imported/w3c/web-platform-tests/css/css-position/hypothetical-dynamic-change-003.html
29
/LayoutTests/imported/w3c/web-platform-tests/css/css-position/hypothetical-dynamic-change-003.html
30
/LayoutTests/imported/w3c/web-platform-tests/css/css-position/inheritance.html
30
/LayoutTests/imported/w3c/web-platform-tests/css/css-position/inheritance.html
31
/LayoutTests/imported/w3c/web-platform-tests/css/css-position/nested-positions-crash.html
31
/LayoutTests/imported/w3c/web-platform-tests/css/css-position/position-absolute-abspos-table-dynamic.html
32
/LayoutTests/imported/w3c/web-platform-tests/css/css-position/position-absolute-abspos-table-dynamic.html
33
/LayoutTests/imported/w3c/web-platform-tests/css/css-position/position-absolute-center-001.tentative-expected.xht
34
/LayoutTests/imported/w3c/web-platform-tests/css/css-position/position-absolute-center-001.tentative.html
35
/LayoutTests/imported/w3c/web-platform-tests/css/css-position/position-absolute-center-002.tentative-expected.xht
36
/LayoutTests/imported/w3c/web-platform-tests/css/css-position/position-absolute-center-002.tentative.html
37
/LayoutTests/imported/w3c/web-platform-tests/css/css-position/position-absolute-center-003-expected.xht
38
/LayoutTests/imported/w3c/web-platform-tests/css/css-position/position-absolute-center-003.html
39
/LayoutTests/imported/w3c/web-platform-tests/css/css-position/position-absolute-center-004-expected.xht
40
/LayoutTests/imported/w3c/web-platform-tests/css/css-position/position-absolute-center-004.html
32
/LayoutTests/imported/w3c/web-platform-tests/css/css-position/position-absolute-chrome-bug-001.html
41
/LayoutTests/imported/w3c/web-platform-tests/css/css-position/position-absolute-chrome-bug-001.html
33
/LayoutTests/imported/w3c/web-platform-tests/css/css-position/position-absolute-chrome-bug-002.html
42
/LayoutTests/imported/w3c/web-platform-tests/css/css-position/position-absolute-chrome-bug-002.html
34
/LayoutTests/imported/w3c/web-platform-tests/css/css-position/position-absolute-container-dynamic-002.html
43
/LayoutTests/imported/w3c/web-platform-tests/css/css-position/position-absolute-container-dynamic-002.html
Lines 45-50 List of files: a/LayoutTests/imported/w3c/web-platform-tests/css/css-position/w3c-import.log_sec3
45
/LayoutTests/imported/w3c/web-platform-tests/css/css-position/position-absolute-crash-chrome-010.html
54
/LayoutTests/imported/w3c/web-platform-tests/css/css-position/position-absolute-crash-chrome-010.html
46
/LayoutTests/imported/w3c/web-platform-tests/css/css-position/position-absolute-crash-chrome-011.html
55
/LayoutTests/imported/w3c/web-platform-tests/css/css-position/position-absolute-crash-chrome-011.html
47
/LayoutTests/imported/w3c/web-platform-tests/css/css-position/position-absolute-crash-chrome-012.html
56
/LayoutTests/imported/w3c/web-platform-tests/css/css-position/position-absolute-crash-chrome-012.html
57
/LayoutTests/imported/w3c/web-platform-tests/css/css-position/position-absolute-crash-chrome-013.html
48
/LayoutTests/imported/w3c/web-platform-tests/css/css-position/position-absolute-dynamic-containing-block.html
58
/LayoutTests/imported/w3c/web-platform-tests/css/css-position/position-absolute-dynamic-containing-block.html
49
/LayoutTests/imported/w3c/web-platform-tests/css/css-position/position-absolute-dynamic-list-marker-expected.html
59
/LayoutTests/imported/w3c/web-platform-tests/css/css-position/position-absolute-dynamic-list-marker-expected.html
50
/LayoutTests/imported/w3c/web-platform-tests/css/css-position/position-absolute-dynamic-list-marker.html
60
/LayoutTests/imported/w3c/web-platform-tests/css/css-position/position-absolute-dynamic-list-marker.html
Lines 54-60 List of files: a/LayoutTests/imported/w3c/web-platform-tests/css/css-position/w3c-import.log_sec4
54
/LayoutTests/imported/w3c/web-platform-tests/css/css-position/position-absolute-dynamic-overflow-002.html
64
/LayoutTests/imported/w3c/web-platform-tests/css/css-position/position-absolute-dynamic-overflow-002.html
55
/LayoutTests/imported/w3c/web-platform-tests/css/css-position/position-absolute-dynamic-relayout-001-expected.html
65
/LayoutTests/imported/w3c/web-platform-tests/css/css-position/position-absolute-dynamic-relayout-001-expected.html
56
/LayoutTests/imported/w3c/web-platform-tests/css/css-position/position-absolute-dynamic-relayout-001.html
66
/LayoutTests/imported/w3c/web-platform-tests/css/css-position/position-absolute-dynamic-relayout-001.html
67
/LayoutTests/imported/w3c/web-platform-tests/css/css-position/position-absolute-dynamic-relayout-002-expected.xht
68
/LayoutTests/imported/w3c/web-platform-tests/css/css-position/position-absolute-dynamic-relayout-002.html
69
/LayoutTests/imported/w3c/web-platform-tests/css/css-position/position-absolute-dynamic-relayout-003-expected.xht
70
/LayoutTests/imported/w3c/web-platform-tests/css/css-position/position-absolute-dynamic-relayout-003.html
57
/LayoutTests/imported/w3c/web-platform-tests/css/css-position/position-absolute-dynamic-static-position-expected.html
71
/LayoutTests/imported/w3c/web-platform-tests/css/css-position/position-absolute-dynamic-static-position-expected.html
72
/LayoutTests/imported/w3c/web-platform-tests/css/css-position/position-absolute-dynamic-static-position-flex-expected.xht
73
/LayoutTests/imported/w3c/web-platform-tests/css/css-position/position-absolute-dynamic-static-position-flex.html
58
/LayoutTests/imported/w3c/web-platform-tests/css/css-position/position-absolute-dynamic-static-position-floats-001-expected.html
74
/LayoutTests/imported/w3c/web-platform-tests/css/css-position/position-absolute-dynamic-static-position-floats-001-expected.html
59
/LayoutTests/imported/w3c/web-platform-tests/css/css-position/position-absolute-dynamic-static-position-floats-001.html
75
/LayoutTests/imported/w3c/web-platform-tests/css/css-position/position-absolute-dynamic-static-position-floats-001.html
60
/LayoutTests/imported/w3c/web-platform-tests/css/css-position/position-absolute-dynamic-static-position-floats-002-expected.html
76
/LayoutTests/imported/w3c/web-platform-tests/css/css-position/position-absolute-dynamic-static-position-floats-002-expected.html
Lines 63-68 List of files: a/LayoutTests/imported/w3c/web-platform-tests/css/css-position/w3c-import.log_sec5
63
/LayoutTests/imported/w3c/web-platform-tests/css/css-position/position-absolute-dynamic-static-position-floats-003.html
79
/LayoutTests/imported/w3c/web-platform-tests/css/css-position/position-absolute-dynamic-static-position-floats-003.html
64
/LayoutTests/imported/w3c/web-platform-tests/css/css-position/position-absolute-dynamic-static-position-floats-004-expected.html
80
/LayoutTests/imported/w3c/web-platform-tests/css/css-position/position-absolute-dynamic-static-position-floats-004-expected.html
65
/LayoutTests/imported/w3c/web-platform-tests/css/css-position/position-absolute-dynamic-static-position-floats-004.html
81
/LayoutTests/imported/w3c/web-platform-tests/css/css-position/position-absolute-dynamic-static-position-floats-004.html
82
/LayoutTests/imported/w3c/web-platform-tests/css/css-position/position-absolute-dynamic-static-position-inline-expected.html
83
/LayoutTests/imported/w3c/web-platform-tests/css/css-position/position-absolute-dynamic-static-position-inline.html
66
/LayoutTests/imported/w3c/web-platform-tests/css/css-position/position-absolute-dynamic-static-position-margin-001-expected.html
84
/LayoutTests/imported/w3c/web-platform-tests/css/css-position/position-absolute-dynamic-static-position-margin-001-expected.html
67
/LayoutTests/imported/w3c/web-platform-tests/css/css-position/position-absolute-dynamic-static-position-margin-001.html
85
/LayoutTests/imported/w3c/web-platform-tests/css/css-position/position-absolute-dynamic-static-position-margin-001.html
68
/LayoutTests/imported/w3c/web-platform-tests/css/css-position/position-absolute-dynamic-static-position-margin-002-expected.html
86
/LayoutTests/imported/w3c/web-platform-tests/css/css-position/position-absolute-dynamic-static-position-margin-002-expected.html
Lines 77-83 List of files: a/LayoutTests/imported/w3c/web-platform-tests/css/css-position/w3c-import.log_sec6
77
/LayoutTests/imported/w3c/web-platform-tests/css/css-position/position-absolute-in-inline-crash.html
95
/LayoutTests/imported/w3c/web-platform-tests/css/css-position/position-absolute-in-inline-crash.html
78
/LayoutTests/imported/w3c/web-platform-tests/css/css-position/position-absolute-percentage-height.html
96
/LayoutTests/imported/w3c/web-platform-tests/css/css-position/position-absolute-percentage-height.html
79
/LayoutTests/imported/w3c/web-platform-tests/css/css-position/position-absolute-replaced-minmax.html
97
/LayoutTests/imported/w3c/web-platform-tests/css/css-position/position-absolute-replaced-minmax.html
98
/LayoutTests/imported/w3c/web-platform-tests/css/css-position/position-absolute-root-element-flex-expected.html
99
/LayoutTests/imported/w3c/web-platform-tests/css/css-position/position-absolute-root-element-flex.html
100
/LayoutTests/imported/w3c/web-platform-tests/css/css-position/position-absolute-root-element-grid-expected.html
101
/LayoutTests/imported/w3c/web-platform-tests/css/css-position/position-absolute-root-element-grid.html
102
/LayoutTests/imported/w3c/web-platform-tests/css/css-position/position-absolute-table-001.html
80
/LayoutTests/imported/w3c/web-platform-tests/css/css-position/position-fixed-at-bottom-right-on-viewport.html
103
/LayoutTests/imported/w3c/web-platform-tests/css/css-position/position-fixed-at-bottom-right-on-viewport.html
104
/LayoutTests/imported/w3c/web-platform-tests/css/css-position/position-fixed-root-element-flex-expected.html
105
/LayoutTests/imported/w3c/web-platform-tests/css/css-position/position-fixed-root-element-flex.html
106
/LayoutTests/imported/w3c/web-platform-tests/css/css-position/position-fixed-root-element-grid-expected.html
107
/LayoutTests/imported/w3c/web-platform-tests/css/css-position/position-fixed-root-element-grid.html
81
/LayoutTests/imported/w3c/web-platform-tests/css/css-position/position-relative-table-tbody-left-absolute-child-expected.html
108
/LayoutTests/imported/w3c/web-platform-tests/css/css-position/position-relative-table-tbody-left-absolute-child-expected.html
82
/LayoutTests/imported/w3c/web-platform-tests/css/css-position/position-relative-table-tbody-left-absolute-child.html
109
/LayoutTests/imported/w3c/web-platform-tests/css/css-position/position-relative-table-tbody-left-absolute-child.html
83
/LayoutTests/imported/w3c/web-platform-tests/css/css-position/position-relative-table-tbody-left-expected.html
110
/LayoutTests/imported/w3c/web-platform-tests/css/css-position/position-relative-table-tbody-left-expected.html
Lines 119-124 List of files: a/LayoutTests/imported/w3c/web-platform-tests/css/css-position/w3c-import.log_sec7
119
/LayoutTests/imported/w3c/web-platform-tests/css/css-position/position-sticky-change-top.html
146
/LayoutTests/imported/w3c/web-platform-tests/css/css-position/position-sticky-change-top.html
120
/LayoutTests/imported/w3c/web-platform-tests/css/css-position/position-sticky-child-multicolumn-expected.html
147
/LayoutTests/imported/w3c/web-platform-tests/css/css-position/position-sticky-child-multicolumn-expected.html
121
/LayoutTests/imported/w3c/web-platform-tests/css/css-position/position-sticky-child-multicolumn.html
148
/LayoutTests/imported/w3c/web-platform-tests/css/css-position/position-sticky-child-multicolumn.html
149
/LayoutTests/imported/w3c/web-platform-tests/css/css-position/position-sticky-fixed-ancestor-expected.html
150
/LayoutTests/imported/w3c/web-platform-tests/css/css-position/position-sticky-fixed-ancestor-iframe-expected.html
151
/LayoutTests/imported/w3c/web-platform-tests/css/css-position/position-sticky-fixed-ancestor-iframe.html
152
/LayoutTests/imported/w3c/web-platform-tests/css/css-position/position-sticky-fixed-ancestor.html
122
/LayoutTests/imported/w3c/web-platform-tests/css/css-position/position-sticky-flexbox-expected.html
153
/LayoutTests/imported/w3c/web-platform-tests/css/css-position/position-sticky-flexbox-expected.html
123
/LayoutTests/imported/w3c/web-platform-tests/css/css-position/position-sticky-flexbox.html
154
/LayoutTests/imported/w3c/web-platform-tests/css/css-position/position-sticky-flexbox.html
124
/LayoutTests/imported/w3c/web-platform-tests/css/css-position/position-sticky-get-bounding-client-rect.html
155
/LayoutTests/imported/w3c/web-platform-tests/css/css-position/position-sticky-get-bounding-client-rect.html
Lines 130-135 List of files: a/LayoutTests/imported/w3c/web-platform-tests/css/css-position/w3c-import.log_sec8
130
/LayoutTests/imported/w3c/web-platform-tests/css/css-position/position-sticky-inline-expected.html
161
/LayoutTests/imported/w3c/web-platform-tests/css/css-position/position-sticky-inline-expected.html
131
/LayoutTests/imported/w3c/web-platform-tests/css/css-position/position-sticky-inline.html
162
/LayoutTests/imported/w3c/web-platform-tests/css/css-position/position-sticky-inline.html
132
/LayoutTests/imported/w3c/web-platform-tests/css/css-position/position-sticky-input-box-gets-focused-after-scroll.html
163
/LayoutTests/imported/w3c/web-platform-tests/css/css-position/position-sticky-input-box-gets-focused-after-scroll.html
164
/LayoutTests/imported/w3c/web-platform-tests/css/css-position/position-sticky-large-top-2.tentative-expected.html
165
/LayoutTests/imported/w3c/web-platform-tests/css/css-position/position-sticky-large-top-2.tentative.html
166
/LayoutTests/imported/w3c/web-platform-tests/css/css-position/position-sticky-large-top.tentative-expected.html
167
/LayoutTests/imported/w3c/web-platform-tests/css/css-position/position-sticky-large-top.tentative.html
133
/LayoutTests/imported/w3c/web-platform-tests/css/css-position/position-sticky-left.html
168
/LayoutTests/imported/w3c/web-platform-tests/css/css-position/position-sticky-left.html
134
/LayoutTests/imported/w3c/web-platform-tests/css/css-position/position-sticky-margins.html
169
/LayoutTests/imported/w3c/web-platform-tests/css/css-position/position-sticky-margins.html
135
/LayoutTests/imported/w3c/web-platform-tests/css/css-position/position-sticky-nested-bottom.html
170
/LayoutTests/imported/w3c/web-platform-tests/css/css-position/position-sticky-nested-bottom.html
Lines 149-154 List of files: a/LayoutTests/imported/w3c/web-platform-tests/css/css-position/w3c-import.log_sec9
149
/LayoutTests/imported/w3c/web-platform-tests/css/css-position/position-sticky-rendering.html
184
/LayoutTests/imported/w3c/web-platform-tests/css/css-position/position-sticky-rendering.html
150
/LayoutTests/imported/w3c/web-platform-tests/css/css-position/position-sticky-right.html
185
/LayoutTests/imported/w3c/web-platform-tests/css/css-position/position-sticky-right.html
151
/LayoutTests/imported/w3c/web-platform-tests/css/css-position/position-sticky-root-scroller.html
186
/LayoutTests/imported/w3c/web-platform-tests/css/css-position/position-sticky-root-scroller.html
187
/LayoutTests/imported/w3c/web-platform-tests/css/css-position/position-sticky-scroll-reposition-expected.html
188
/LayoutTests/imported/w3c/web-platform-tests/css/css-position/position-sticky-scroll-reposition.html
152
/LayoutTests/imported/w3c/web-platform-tests/css/css-position/position-sticky-scroll-with-clip-and-abspos-expected.html
189
/LayoutTests/imported/w3c/web-platform-tests/css/css-position/position-sticky-scroll-with-clip-and-abspos-expected.html
153
/LayoutTests/imported/w3c/web-platform-tests/css/css-position/position-sticky-scroll-with-clip-and-abspos.html
190
/LayoutTests/imported/w3c/web-platform-tests/css/css-position/position-sticky-scroll-with-clip-and-abspos.html
154
/LayoutTests/imported/w3c/web-platform-tests/css/css-position/position-sticky-scrolled-remove-sibling.html
191
/LayoutTests/imported/w3c/web-platform-tests/css/css-position/position-sticky-scrolled-remove-sibling.html
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-properties-values-api/at-property-animation-expected.txt +14 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-properties-values-api/at-property-animation-expected.txt_sec1
1
2
FAIL @keyframes works with @property assert_equals: expected "150px" but got ""
3
FAIL @keyframes picks up the latest @property in the document assert_equals: expected "rgb(150, 150, 150)" but got ""
4
FAIL Ongoing animation picks up redeclared custom property assert_equals: expected "0px" but got ""
5
FAIL Ongoing animation matches new keyframes against the current registration assert_equals: expected "0px" but got ""
6
FAIL Ongoing animation picks up redeclared intial value assert_equals: expected "200px" but got ""
7
FAIL Ongoing animation picks up redeclared inherits flag assert_equals: expected "200px" but got " 100px"
8
FAIL Ongoing animation picks up redeclared meaning of 'unset' assert_equals: expected "200px" but got " 100px"
9
FAIL Transitioning from initial value assert_equals: expected "rgb(255, 0, 0)" but got ""
10
FAIL Transitioning from specified value assert_equals: expected "rgb(0, 0, 255)" but got " blue"
11
FAIL Transition triggered by initial value change assert_equals: expected "100px" but got ""
12
FAIL No transition when changing types assert_equals: expected "100px" but got ""
13
FAIL No transition when removing @property rule assert_equals: expected "100px" but got " 100px"
14
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-properties-values-api/at-property-animation.html +298 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-properties-values-api/at-property-animation.html_sec1
1
<!DOCTYPE html>
2
<link rel="help" href="https://drafts.css-houdini.org/css-properties-values-api-1">
3
<script src="/resources/testharness.js"></script>
4
<script src="/resources/testharnessreport.js"></script>
5
<script src="./resources/utils.js"></script>
6
<div id=outer>
7
  <div id=div></div>
8
</div>
9
<script>
10
11
test_with_at_property({
12
  syntax: '"<length>"',
13
  inherits: false,
14
  initialValue: '0px'
15
}, (name) => {
16
  with_style_node(`
17
    @keyframes test {
18
      from { ${name}: 100px; }
19
      to { ${name}: 200px; }
20
    }
21
    #div { animation: test 100s -50s linear; }
22
  `, () => {
23
    assert_equals(getComputedStyle(div).getPropertyValue(name), '150px');
24
  });
25
}, '@keyframes works with @property');
26
27
test_with_at_property({
28
  syntax: '"<length>"',
29
  inherits: false,
30
  initialValue: '0px'
31
}, (name) => {
32
  with_style_node(`
33
    @property ${name} {
34
      syntax: "<color>";
35
      inherits: false;
36
      initial-value: black;
37
    }
38
    @keyframes test {
39
      from { ${name}: rgb(100, 100, 100); }
40
      to { ${name}: rgb(200, 200, 200); }
41
    }
42
    #div { animation: test 100s -50s linear; }
43
  `, () => {
44
    assert_equals(getComputedStyle(div).getPropertyValue(name), 'rgb(150, 150, 150)');
45
  });
46
}, '@keyframes picks up the latest @property in the document');
47
48
test_with_at_property({
49
  syntax: '"<length>"',
50
  inherits: false,
51
  initialValue: '0px'
52
}, (name) => {
53
  // These keyframes are initially invalid for the declared custom property.
54
  let animation = div.animate([
55
    { [name]: 'rgb(100, 100, 100)'},
56
    { [name]: 'rgb(200, 200, 200)'},
57
  ], { duration: 10000, delay: -5000, easing: 'linear' });
58
  let cs = getComputedStyle(div);
59
  assert_equals(cs.getPropertyValue(name), '0px');
60
61
  // Redeclare the property as a <color>, effectively making the existing
62
  // keyframes valid.
63
  with_at_property({
64
    name: name,
65
    syntax: '"<color>"',
66
    inherits: false,
67
    initialValue: 'black'
68
  }, (name) => {
69
    assert_equals(cs.getPropertyValue(name), 'rgb(150, 150, 150)');
70
  });
71
72
  animation.finish();
73
}, 'Ongoing animation picks up redeclared custom property');
74
75
test_with_at_property({
76
  syntax: '"<length>"',
77
  inherits: false,
78
  initialValue: '0px'
79
}, (name) => {
80
  // These keyframes are initially invalid for the declared custom property.
81
  let animation = div.animate([
82
    { [name]: 'rgb(100, 100, 100)'},
83
    { [name]: 'rgb(200, 200, 200)'},
84
  ], { duration: 10000, delay: -5000, easing: 'linear' });
85
  let cs = getComputedStyle(div);
86
  assert_equals(cs.getPropertyValue(name), '0px');
87
88
  // Setting the keyframes to something that matches <length> makes the
89
  // interpolation valid.
90
  animation.effect.setKeyframes([
91
    {[name]: '100px'},
92
    {[name]: '200px'}
93
  ]);
94
  assert_equals(cs.getPropertyValue(name), '150px');
95
96
  animation.finish();
97
}, 'Ongoing animation matches new keyframes against the current registration');
98
99
test_with_at_property({
100
  syntax: '"<length>"',
101
  inherits: false,
102
  initialValue: '0px'
103
}, (name) => {
104
  let animation = div.animate([
105
    { [name]: 'initial'},
106
    { [name]: '400px'},
107
  ], { duration: 10000, delay: -5000, easing: 'linear' });
108
  let cs = getComputedStyle(div);
109
  assert_equals(cs.getPropertyValue(name), '200px');
110
111
  // Change initial value.
112
  with_at_property({
113
    name: name,
114
    syntax: '"<length>"',
115
    inherits: false,
116
    initialValue: '100px'
117
  }, (name) => {
118
    assert_equals(cs.getPropertyValue(name), '250px');
119
  });
120
121
  animation.finish();
122
}, 'Ongoing animation picks up redeclared intial value');
123
124
test_with_at_property({
125
  syntax: '"<length>"',
126
  inherits: false,
127
  initialValue: '0px'
128
}, (name) => {
129
  try {
130
    document.body.style = `${name}: 100px`;
131
    // Note that 'inherit' here refers to #outer, which has the initial
132
    // value. (#outer did not inherit from body, since the property is not
133
    // yet declared as inherited).
134
    let animation = div.animate([
135
      { [name]: 'inherit'},
136
      { [name]: '400px'},
137
    ], { duration: 10000, delay: -5000, easing: 'linear' });
138
    let cs = getComputedStyle(div);
139
    assert_equals(cs.getPropertyValue(name), '200px');
140
141
    // Change inherits to 'true'. The value should now propagate from body
142
    // to #outer.
143
    with_at_property({
144
      name: name,
145
      syntax: '"<length>"',
146
      inherits: true,
147
      initialValue: '0px'
148
    }, (name) => {
149
      assert_equals(cs.getPropertyValue(name), '250px');
150
    });
151
152
    animation.finish();
153
  } finally {
154
    document.body.style = '';
155
  }
156
}, 'Ongoing animation picks up redeclared inherits flag');
157
158
test_with_at_property({
159
  syntax: '"<length>"',
160
  inherits: false,
161
  initialValue: '0px'
162
}, (name) => {
163
  try {
164
    outer.style = `${name}: 100px`;
165
    // 'unset' should take the initial value (not the value from #outer), since
166
    // the property is not declared as inherited.
167
    let animation = div.animate([
168
      { [name]: 'unset'},
169
      { [name]: '400px'},
170
    ], { duration: 10000, delay: -5000, easing: 'linear' });
171
    let cs = getComputedStyle(div);
172
    assert_equals(cs.getPropertyValue(name), '200px');
173
174
    // Change inherits to 'true'. 'unset' now refers to #outer's value.
175
    with_at_property({
176
      name: name,
177
      syntax: '"<length>"',
178
      inherits: true,
179
      initialValue: '0px'
180
    }, (name) => {
181
      assert_equals(cs.getPropertyValue(name), '250px');
182
    });
183
184
    animation.finish();
185
  } finally {
186
    outer.style = '';
187
  }
188
}, 'Ongoing animation picks up redeclared meaning of \'unset\'');
189
190
test_with_at_property({
191
  syntax: '"<color>"',
192
  inherits: false,
193
  initialValue: 'red'
194
}, (name) => {
195
  try {
196
    assert_equals(getComputedStyle(div).getPropertyValue(name), 'rgb(255, 0, 0)');
197
    div.style = `transition: ${name} steps(2, start) 100s; ${name}: blue`;
198
    assert_equals(getComputedStyle(div).getPropertyValue(name), 'rgb(128, 0, 128)');
199
  } finally {
200
    div.style = '';
201
  }
202
}, 'Transitioning from initial value');
203
204
test_with_at_property({
205
  syntax: '"<color>"',
206
  inherits: false,
207
  initialValue: 'red'
208
}, (name) => {
209
  try {
210
    div.style = `${name}: blue;`;
211
    assert_equals(getComputedStyle(div).getPropertyValue(name), 'rgb(0, 0, 255)');
212
    div.style = `transition: ${name} steps(2, start) 100s; ${name}: green`;
213
    assert_equals(getComputedStyle(div).getPropertyValue(name), 'rgb(0, 64, 128)');
214
  } finally {
215
    div.style = '';
216
  }
217
}, 'Transitioning from specified value');
218
219
test_with_at_property({
220
  syntax: '"<length>"',
221
  inherits: false,
222
  initialValue: '100px'
223
}, (name) => {
224
    with_style_node(`div { transition: ${name} steps(2, start) 100s; }`, () => {
225
      assert_equals(getComputedStyle(div).getPropertyValue(name), '100px');
226
      // Re-declaring the property with a different initial value effectively
227
      // means the computed value has changed. This means we should transition
228
      // from the old initial value to the new initial value.
229
      with_at_property({
230
        name: name,
231
        syntax: '"<length>"',
232
        inherits: false,
233
        initialValue: '200px'
234
      }, () => {
235
        assert_equals(getComputedStyle(div).getPropertyValue(name), '150px');
236
      });
237
    });
238
}, 'Transition triggered by initial value change');
239
240
test_with_at_property({
241
  syntax: '"<length>"',
242
  inherits: false,
243
  initialValue: '100px'
244
}, (name) => {
245
    with_style_node(`div { transition: ${name} steps(2, start) 100s; }`, () => {
246
      assert_equals(getComputedStyle(div).getPropertyValue(name), '100px');
247
      with_at_property({
248
        name: name,
249
        syntax: '"<color>"',
250
        inherits: false,
251
        initialValue: 'green'
252
      }, () => {
253
        assert_equals(getComputedStyle(div).getPropertyValue(name), 'rgb(0, 128, 0)');
254
      });
255
    });
256
}, 'No transition when changing types');
257
258
test(() => {
259
  let name = generate_name();
260
  with_style_node(`div { ${name}: 100px; transition: ${name} steps(2, start) 100s; }`, () => {
261
    assert_equals(getComputedStyle(div).getPropertyValue(name), ' 100px');
262
263
    let style1 = document.createElement('style');
264
    style1.textContent = `
265
      @property ${name} {
266
        syntax: "<length>";
267
        inherits: false;
268
        initial-value: 200px;
269
      }
270
    `;
271
272
    let style2 = document.createElement('style');
273
    style2.textContent = `div { ${name}: 400px; }`;
274
275
    try {
276
      // Register the property:
277
      document.body.append(style1);
278
      // The token sequence ' 100px' is now interpreted as a length '100px'.
279
      assert_equals(getComputedStyle(div).getPropertyValue(name), '100px');
280
281
      // Change the computed value:
282
      document.body.append(style2);
283
      // This should cause an interpolation between 100px and 400px:
284
      assert_equals(getComputedStyle(div).getPropertyValue(name), '250px');
285
286
      // In the middle of the transition above, remove the @property rule
287
      // (making the computed value a token sequence again). We should snap
288
      // to the new token sequence.
289
      style1.remove();
290
      assert_equals(getComputedStyle(div).getPropertyValue(name), ' 400px');
291
    } finally {
292
      style1.remove();
293
      style2.remove();
294
    }
295
  });
296
}, 'No transition when removing @property rule');
297
298
</script>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-properties-values-api/at-property-cssom-expected.txt +64 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-properties-values-api/at-property-cssom-expected.txt_sec1
1
2
FAIL Rule for --valid has expected cssText assert_true: expected true got false
3
FAIL Rule for --valid-reverse has expected cssText assert_true: expected true got false
4
FAIL Rule for --valid-universal has expected cssText assert_true: expected true got false
5
FAIL Rule for --valid-whitespace has expected cssText assert_true: expected true got false
6
FAIL Rule for --vALId has expected cssText assert_true: expected true got false
7
FAIL Rule for --no-descriptors has expected cssText assert_true: expected true got false
8
FAIL Rule for --no-syntax has expected cssText assert_true: expected true got false
9
FAIL Rule for --no-inherits has expected cssText assert_true: expected true got false
10
FAIL Rule for --no-initial-value has expected cssText assert_true: expected true got false
11
FAIL Rule for --syntax-only has expected cssText assert_true: expected true got false
12
FAIL Rule for --inherits-only has expected cssText assert_true: expected true got false
13
FAIL Rule for --initial-value-only has expected cssText assert_true: expected true got false
14
FAIL Rule for --tab	tab has expected cssText assert_true: expected true got false
15
FAIL CSSRule.type returns 0 null is not an object (evaluating 'rule.type')
16
FAIL Rule for --valid returns expected value for CSSPropertyRule.name assert_true: expected true got false
17
FAIL Rule for --valid-reverse returns expected value for CSSPropertyRule.name assert_true: expected true got false
18
FAIL Rule for --valid-universal returns expected value for CSSPropertyRule.name assert_true: expected true got false
19
FAIL Rule for --valid-whitespace returns expected value for CSSPropertyRule.name assert_true: expected true got false
20
FAIL Rule for --vALId returns expected value for CSSPropertyRule.name assert_true: expected true got false
21
FAIL Rule for --no-descriptors returns expected value for CSSPropertyRule.name assert_true: expected true got false
22
FAIL Rule for --no-syntax returns expected value for CSSPropertyRule.name assert_true: expected true got false
23
FAIL Rule for --no-inherits returns expected value for CSSPropertyRule.name assert_true: expected true got false
24
FAIL Rule for --no-initial-value returns expected value for CSSPropertyRule.name assert_true: expected true got false
25
FAIL Rule for --syntax-only returns expected value for CSSPropertyRule.name assert_true: expected true got false
26
FAIL Rule for --inherits-only returns expected value for CSSPropertyRule.name assert_true: expected true got false
27
FAIL Rule for --initial-value-only returns expected value for CSSPropertyRule.name assert_true: expected true got false
28
FAIL Rule for --valid returns expected value for CSSPropertyRule.syntax assert_true: expected true got false
29
FAIL Rule for --valid-reverse returns expected value for CSSPropertyRule.syntax assert_true: expected true got false
30
FAIL Rule for --valid-universal returns expected value for CSSPropertyRule.syntax assert_true: expected true got false
31
FAIL Rule for --valid-whitespace returns expected value for CSSPropertyRule.syntax assert_true: expected true got false
32
FAIL Rule for --vALId returns expected value for CSSPropertyRule.syntax assert_true: expected true got false
33
FAIL Rule for --no-descriptors returns expected value for CSSPropertyRule.syntax assert_true: expected true got false
34
FAIL Rule for --no-syntax returns expected value for CSSPropertyRule.syntax assert_true: expected true got false
35
FAIL Rule for --no-inherits returns expected value for CSSPropertyRule.syntax assert_true: expected true got false
36
FAIL Rule for --no-initial-value returns expected value for CSSPropertyRule.syntax assert_true: expected true got false
37
FAIL Rule for --syntax-only returns expected value for CSSPropertyRule.syntax assert_true: expected true got false
38
FAIL Rule for --inherits-only returns expected value for CSSPropertyRule.syntax assert_true: expected true got false
39
FAIL Rule for --initial-value-only returns expected value for CSSPropertyRule.syntax assert_true: expected true got false
40
FAIL Rule for --valid returns expected value for CSSPropertyRule.inherits assert_true: expected true got false
41
FAIL Rule for --valid-reverse returns expected value for CSSPropertyRule.inherits assert_true: expected true got false
42
FAIL Rule for --valid-universal returns expected value for CSSPropertyRule.inherits assert_true: expected true got false
43
FAIL Rule for --valid-whitespace returns expected value for CSSPropertyRule.inherits assert_true: expected true got false
44
FAIL Rule for --vALId returns expected value for CSSPropertyRule.inherits assert_true: expected true got false
45
FAIL Rule for --no-descriptors returns expected value for CSSPropertyRule.inherits assert_true: expected true got false
46
FAIL Rule for --no-syntax returns expected value for CSSPropertyRule.inherits assert_true: expected true got false
47
FAIL Rule for --no-inherits returns expected value for CSSPropertyRule.inherits assert_true: expected true got false
48
FAIL Rule for --no-initial-value returns expected value for CSSPropertyRule.inherits assert_true: expected true got false
49
FAIL Rule for --syntax-only returns expected value for CSSPropertyRule.inherits assert_true: expected true got false
50
FAIL Rule for --inherits-only returns expected value for CSSPropertyRule.inherits assert_true: expected true got false
51
FAIL Rule for --initial-value-only returns expected value for CSSPropertyRule.inherits assert_true: expected true got false
52
FAIL Rule for --valid returns expected value for CSSPropertyRule.initialValue assert_true: expected true got false
53
FAIL Rule for --valid-reverse returns expected value for CSSPropertyRule.initialValue assert_true: expected true got false
54
FAIL Rule for --valid-universal returns expected value for CSSPropertyRule.initialValue assert_true: expected true got false
55
FAIL Rule for --valid-whitespace returns expected value for CSSPropertyRule.initialValue assert_true: expected true got false
56
FAIL Rule for --vALId returns expected value for CSSPropertyRule.initialValue assert_true: expected true got false
57
FAIL Rule for --no-descriptors returns expected value for CSSPropertyRule.initialValue assert_true: expected true got false
58
FAIL Rule for --no-syntax returns expected value for CSSPropertyRule.initialValue assert_true: expected true got false
59
FAIL Rule for --no-inherits returns expected value for CSSPropertyRule.initialValue assert_true: expected true got false
60
FAIL Rule for --no-initial-value returns expected value for CSSPropertyRule.initialValue assert_true: expected true got false
61
FAIL Rule for --syntax-only returns expected value for CSSPropertyRule.initialValue assert_true: expected true got false
62
FAIL Rule for --inherits-only returns expected value for CSSPropertyRule.initialValue assert_true: expected true got false
63
FAIL Rule for --initial-value-only returns expected value for CSSPropertyRule.initialValue assert_true: expected true got false
64
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-properties-values-api/at-property-cssom.html +197 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-properties-values-api/at-property-cssom.html_sec1
1
<!DOCTYPE html>
2
<link rel="help" href="https://drafts.css-houdini.org/css-properties-values-api-1/#cssom">
3
<script src="/resources/testharness.js"></script>
4
<script src="/resources/testharnessreport.js"></script>
5
<style>
6
  @property --valid {
7
    syntax: "<color> | none";
8
    inherits: false;
9
    initial-value: red;
10
  }
11
  @property --valid-reverse {
12
    initial-value: 0px;
13
    inherits: true;
14
    syntax: "<length>";
15
  }
16
  @property --valid-universal {
17
    syntax: "*";
18
    inherits: false;
19
  }
20
  @property --valid-whitespace {
21
    syntax: " <color>+ ";
22
    inherits: false;
23
    initial-value: red, blue;
24
  }
25
  @property --vALId {
26
    syntax: "<color> | none";
27
    inherits: false;
28
    initial-value: red;
29
  }
30
  @property --no-descriptors {
31
32
  }
33
  @property --no-syntax {
34
    inherits: false;
35
    initial-value: red;
36
  }
37
  @property --no-inherits {
38
    syntax: "<color> | none";
39
    initial-value: red;
40
  }
41
  @property --no-initial-value {
42
    syntax: "<color> | none";
43
    inherits: false;
44
  }
45
  @property --syntax-only {
46
    syntax: "<color> | none";
47
  }
48
  @property --inherits-only {
49
    inherits: true;
50
  }
51
  @property --initial-value-only {
52
    initial-value: red;
53
  }
54
  /* U+0009 CHARACTER TABULATION */
55
  @property --tab\9 tab {  }
56
</style>
57
<script>
58
59
function find_at_property_rule(name) {
60
  for (let rule of document.styleSheets[0].cssRules) {
61
    if (rule.constructor.name != "CSSPropertyRule")
62
      continue;
63
    if (rule.name == name)
64
      return rule;
65
  }
66
  return null;
67
}
68
69
function test_css_text(name, expected) {
70
  test(() => {
71
    let rule = find_at_property_rule(name);
72
    assert_true(!!rule);
73
    assert_equals(rule.cssText, expected);
74
  }, `Rule for ${name} has expected cssText`);
75
}
76
77
function test_name(name) {
78
  test(() => {
79
    let rule = find_at_property_rule(name);
80
    assert_true(!!rule);
81
    assert_equals(rule.name, name);
82
  }, `Rule for ${name} returns expected value for CSSPropertyRule.name`);
83
}
84
85
function test_syntax(name, expected) {
86
  test(() => {
87
    let rule = find_at_property_rule(name);
88
    assert_true(!!rule);
89
    assert_equals(rule.syntax, expected);
90
  }, `Rule for ${name} returns expected value for CSSPropertyRule.syntax`);
91
}
92
93
function test_inherits(name, expected) {
94
  test(() => {
95
    let rule = find_at_property_rule(name);
96
    assert_true(!!rule);
97
    assert_equals(rule.inherits, expected);
98
  }, `Rule for ${name} returns expected value for CSSPropertyRule.inherits`);
99
}
100
101
function test_initial_value(name, expected) {
102
  test(() => {
103
    let rule = find_at_property_rule(name);
104
    assert_true(!!rule);
105
    assert_equals(rule.initialValue, expected);
106
  }, `Rule for ${name} returns expected value for CSSPropertyRule.initialValue`);
107
}
108
109
// CSSPropertyRule.cssText
110
111
test_css_text('--valid', '@property --valid { syntax: "<color> | none"; inherits: false; initial-value: red; }');
112
test_css_text('--valid-reverse', '@property --valid-reverse { syntax: "<length>"; inherits: true; initial-value: 0px; }');
113
test_css_text('--valid-universal', '@property --valid-universal { syntax: "*"; inherits: false; }');
114
test_css_text('--valid-whitespace', '@property --valid-whitespace { syntax: " <color>+ "; inherits: false; initial-value: red, blue; }');
115
test_css_text('--vALId', '@property --vALId { syntax: "<color> | none"; inherits: false; initial-value: red; }');
116
117
test_css_text('--no-descriptors', '@property --no-descriptors { }');
118
test_css_text('--no-syntax', '@property --no-syntax { inherits: false; initial-value: red; }');
119
test_css_text('--no-inherits', '@property --no-inherits { syntax: "<color> | none"; initial-value: red; }');
120
test_css_text('--no-initial-value', '@property --no-initial-value { syntax: "<color> | none"; inherits: false; }');
121
test_css_text('--syntax-only', '@property --syntax-only { syntax: "<color> | none"; }');
122
test_css_text('--inherits-only', '@property --inherits-only { inherits: true; }');
123
test_css_text('--initial-value-only', '@property --initial-value-only { initial-value: red; }');
124
test_css_text('--tab\ttab', '@property --tab\\9 tab { }');
125
126
// CSSRule.type
127
128
test(() => {
129
  let rule = find_at_property_rule('--valid');
130
  assert_equals(rule.type, 0);
131
}, 'CSSRule.type returns 0');
132
133
// CSSPropertyRule.name
134
135
test_name('--valid');
136
test_name('--valid-reverse');
137
test_name('--valid-universal');
138
test_name('--valid-whitespace');
139
test_name('--vALId');
140
141
test_name('--no-descriptors');
142
test_name('--no-syntax');
143
test_name('--no-inherits');
144
test_name('--no-initial-value');
145
test_name('--syntax-only');
146
test_name('--inherits-only');
147
test_name('--initial-value-only');
148
149
// CSSPropertyRule.syntax
150
151
test_syntax('--valid', '<color> | none');
152
test_syntax('--valid-reverse', '<length>');
153
test_syntax('--valid-universal', '*');
154
test_syntax('--valid-whitespace', ' <color>+ ');
155
test_syntax('--vALId', '<color> | none');
156
157
test_syntax('--no-descriptors', '');
158
test_syntax('--no-syntax', '');
159
test_syntax('--no-inherits', '<color> | none');
160
test_syntax('--no-initial-value', '<color> | none');
161
test_syntax('--syntax-only', '<color> | none');
162
test_syntax('--inherits-only', '');
163
test_syntax('--initial-value-only', '');
164
165
// CSSPropertyRule.inherits
166
167
test_inherits('--valid', false);
168
test_inherits('--valid-reverse', true);
169
test_inherits('--valid-universal', false);
170
test_inherits('--valid-whitespace', false);
171
test_inherits('--vALId', false);
172
173
test_inherits('--no-descriptors', false);
174
test_inherits('--no-syntax', false);
175
test_inherits('--no-inherits', false);
176
test_inherits('--no-initial-value', false);
177
test_inherits('--syntax-only', false);
178
test_inherits('--inherits-only', true);
179
test_inherits('--initial-value-only', false);
180
181
// CSSPropertyRule.initialValue
182
183
test_initial_value('--valid', ' red');
184
test_initial_value('--valid-reverse', ' 0px');
185
test_initial_value('--valid-universal', null);
186
test_initial_value('--valid-whitespace', ' red, blue');
187
test_initial_value('--vALId', ' red');
188
189
test_initial_value('--no-descriptors', null);
190
test_initial_value('--no-syntax', ' red');
191
test_initial_value('--no-inherits', ' red');
192
test_initial_value('--no-initial-value', null);
193
test_initial_value('--syntax-only', null);
194
test_initial_value('--inherits-only', null);
195
test_initial_value('--initial-value-only', ' red');
196
197
</script>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-properties-values-api/at-property-expected.txt +64 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-properties-values-api/at-property-expected.txt_sec1
1
2
FAIL Attribute 'syntax' returns expected value for ["<color>"] undefined is not an object (evaluating 'rule.syntax')
3
FAIL Attribute 'syntax' returns expected value for ["<color> | none"] undefined is not an object (evaluating 'rule.syntax')
4
FAIL Attribute 'syntax' returns expected value for ["<color># | <image> | none"] undefined is not an object (evaluating 'rule.syntax')
5
FAIL Attribute 'syntax' returns expected value for ["foo | bar | baz"] undefined is not an object (evaluating 'rule.syntax')
6
FAIL Attribute 'syntax' returns expected value for ["*"] undefined is not an object (evaluating 'rule.syntax')
7
FAIL Attribute 'syntax' returns expected value for ["notasyntax"] undefined is not an object (evaluating 'rule.syntax')
8
FAIL Attribute 'syntax' returns expected value for [red] undefined is not an object (evaluating 'rule.syntax')
9
FAIL Attribute 'syntax' returns expected value for [rgb(255, 0, 0)] undefined is not an object (evaluating 'rule.syntax')
10
FAIL Attribute 'syntax' returns expected value for [<color>] undefined is not an object (evaluating 'rule.syntax')
11
FAIL Attribute 'syntax' returns expected value for [foo | bar] undefined is not an object (evaluating 'rule.syntax')
12
FAIL Attribute 'initial-value' returns expected value for [10px] undefined is not an object (evaluating 'rule.initialValue')
13
FAIL Attribute 'initial-value' returns expected value for [rgb(1, 2, 3)] undefined is not an object (evaluating 'rule.initialValue')
14
FAIL Attribute 'initial-value' returns expected value for [red] undefined is not an object (evaluating 'rule.initialValue')
15
FAIL Attribute 'initial-value' returns expected value for [foo] undefined is not an object (evaluating 'rule.initialValue')
16
FAIL Attribute 'initial-value' returns expected value for [if(){}] undefined is not an object (evaluating 'rule.initialValue')
17
FAIL Attribute 'initial-value' returns expected value for [var(--x)] undefined is not an object (evaluating 'rule.initialValue')
18
FAIL Attribute 'inherits' returns expected value for [true] undefined is not an object (evaluating 'rule.inherits')
19
FAIL Attribute 'inherits' returns expected value for [false] undefined is not an object (evaluating 'rule.inherits')
20
FAIL Attribute 'inherits' returns expected value for [none] undefined is not an object (evaluating 'rule.inherits')
21
FAIL Attribute 'inherits' returns expected value for [0] undefined is not an object (evaluating 'rule.inherits')
22
FAIL Attribute 'inherits' returns expected value for [1] undefined is not an object (evaluating 'rule.inherits')
23
FAIL Attribute 'inherits' returns expected value for ["true"] undefined is not an object (evaluating 'rule.inherits')
24
FAIL Attribute 'inherits' returns expected value for ["false"] undefined is not an object (evaluating 'rule.inherits')
25
FAIL Attribute 'inherits' returns expected value for [calc(0)] undefined is not an object (evaluating 'rule.inherits')
26
PASS Invalid property name does not parse [foo] 
27
PASS Invalid property name does not parse [-foo] 
28
FAIL Rule applied [*, if(){}, false] assert_equals: expected "if(){}" but got ""
29
FAIL Rule applied [<angle>, 42deg, false] assert_equals: expected "42deg" but got ""
30
FAIL Rule applied [<angle>, 1turn, false] assert_equals: expected "360deg" but got ""
31
FAIL Rule applied [<color>, green, false] assert_equals: expected "rgb(0, 128, 0)" but got ""
32
FAIL Rule applied [<color>, rgb(1, 2, 3), false] assert_equals: expected "rgb(1, 2, 3)" but got ""
33
FAIL Rule applied [<image>, url("http://a/"), false] assert_equals: expected "url(\"http://a/\")" but got ""
34
FAIL Rule applied [<integer>, 5, false] assert_equals: expected "5" but got ""
35
FAIL Rule applied [<length-percentage>, 10px, false] assert_equals: expected "10px" but got ""
36
FAIL Rule applied [<length-percentage>, 10%, false] assert_equals: expected "10%" but got ""
37
FAIL Rule applied [<length-percentage>, calc(10% + 10px), false] assert_equals: expected "calc(10% + 10px)" but got ""
38
FAIL Rule applied [<length>, 10px, false] assert_equals: expected "10px" but got ""
39
FAIL Rule applied [<number>, 2.5, false] assert_equals: expected "2.5" but got ""
40
FAIL Rule applied [<percentage>, 10%, false] assert_equals: expected "10%" but got ""
41
FAIL Rule applied [<resolution>, 50dppx, false] assert_equals: expected "50dppx" but got ""
42
FAIL Rule applied [<resolution>, 96dpi, false] assert_equals: expected "1dppx" but got ""
43
FAIL Rule applied [<time>, 10s, false] assert_equals: expected "10s" but got ""
44
FAIL Rule applied [<time>, 1000ms, false] assert_equals: expected "1s" but got ""
45
FAIL Rule applied [<transform-function>, rotateX(0deg), false] assert_equals: expected "rotateX(0deg)" but got ""
46
FAIL Rule applied [<transform-list>, rotateX(0deg), false] assert_equals: expected "rotateX(0deg)" but got ""
47
FAIL Rule applied [<transform-list>, rotateX(0deg) translateX(10px), false] assert_equals: expected "rotateX(0deg) translateX(10px)" but got ""
48
FAIL Rule applied [<url>, url("http://a/"), false] assert_equals: expected "url(\"http://a/\")" but got ""
49
FAIL Rule applied [<color>, tomato, false] assert_equals: expected "rgb(255, 99, 71)" but got ""
50
FAIL Rule applied [<color>, tomato, true] assert_equals: expected "rgb(255, 99, 71)" but got ""
51
PASS Rule applied for "*", even with no initial value 
52
PASS Rule not applied [undefined, green, false] 
53
PASS Rule not applied [<color>, undefined, false] 
54
PASS Rule not applied [<color>, green, undefined] 
55
PASS Rule not applied [<gandalf>, grey, false] 
56
PASS Rule not applied [gandalf, grey, false] 
57
PASS Rule not applied [<color>, notacolor, false] 
58
PASS Rule not applied [<length>, 10em, false] 
59
FAIL Non-inherited properties do not inherit assert_equals: expected "40px" but got " 40px"
60
FAIL Inherited properties inherit assert_equals: expected "40px" but got " 40px"
61
FAIL Initial values substituted as computed value assert_equals: expected "rgb(0, 128, 0)" but got ""
62
PASS Non-universal registration are invalid without an initial value 
63
FAIL Initial value may be omitted for universal registration assert_equals: expected "" but got " calc(1px + 1px)"
64
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-properties-values-api/at-property-non-matching-media-crash-expected.txt +8 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-properties-values-api/at-property-non-matching-media-crash-expected.txt_sec1
1
layer at (0,0) size 800x600
2
  RenderView at (0,0) size 800x600
3
layer at (0,0) size 800x50
4
  RenderBlock {HTML} at (0,0) size 800x50
5
    RenderBody {BODY} at (8,16) size 784x18
6
      RenderBlock {P} at (0,0) size 784x18
7
        RenderText {#text} at (0,0) size 109x18
8
          text run at (0,0) width 109: "PASS if no crash"
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-properties-values-api/at-property-non-matching-media-crash.html +19 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-properties-values-api/at-property-non-matching-media-crash.html_sec1
1
<!DOCTYPE html>
2
<html class="test-wait">
3
  <link rel="help" href="https://crbug.com/1085994">
4
  <style id="style">
5
    @property --x {
6
      syntax: "<length>";
7
      inherits: false;
8
      initial-value: 0px;
9
    }
10
  </style>
11
  <script>
12
      document.documentElement.offsetTop;
13
      style.setAttribute('media', 'braille');
14
      document.documentElement.className = '';
15
  </script>
16
  <p>
17
    PASS if no crash
18
  </p>
19
</html>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-properties-values-api/at-property-shadow-expected.txt +3 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-properties-values-api/at-property-shadow-expected.txt_sec1
1
2
FAIL @property rules in shadow trees should have no effect assert_equals: expected "2px" but got " calc(1px + 1px)"
3
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-properties-values-api/at-property-shadow.html +46 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-properties-values-api/at-property-shadow.html_sec1
1
<!DOCTYPE html>
2
<link rel="help" href="https://drafts.css-houdini.org/css-properties-values-api-1/#at-property-rule">
3
<script src="/resources/testharness.js"></script>
4
<script src="/resources/testharnessreport.js"></script>
5
<script src="./resources/utils.js"></script>
6
<style>
7
  @property --x {
8
    syntax: "<length>";
9
    inherits: false;
10
    initial-value: 0px;
11
  }
12
  #outside {
13
    --x: calc(1px + 1px);
14
    --y: calc(1px + 1px);
15
  }
16
</style>
17
<template id=template>
18
  <style>
19
    /* This rule should have no effect */
20
    @property --y {
21
      syntax: "<length>";
22
      inherits: false;
23
      initial-value: 0px;
24
    }
25
    #inside {
26
      --x: calc(1px + 1px);
27
      --y: calc(1px + 1px);
28
    }
29
  </style>
30
  <div id=inside></div>
31
</template>
32
<div id=host></div>
33
<div id=outside></div>
34
<script>
35
36
test(() => {
37
  let root = host.attachShadow({ mode: 'open' });
38
  root.append(template.content.cloneNode(true));
39
  let inside = root.querySelector('#inside');
40
  assert_equals(getComputedStyle(outside).getPropertyValue('--x'), '2px');
41
  assert_equals(getComputedStyle(outside).getPropertyValue('--y'), ' calc(1px + 1px)');
42
  assert_equals(getComputedStyle(inside).getPropertyValue('--x'), '2px');
43
  assert_equals(getComputedStyle(inside).getPropertyValue('--y'), ' calc(1px + 1px)');
44
}, '@property rules in shadow trees should have no effect');
45
46
</script>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-properties-values-api/at-property-stylesheets-expected.txt +7 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-properties-values-api/at-property-stylesheets-expected.txt_sec1
1
2
FAIL @property detected when stylesheet appears assert_equals: expected "1px" but got ""
3
FAIL @property removal detected when last @property rule disappears assert_equals: expected "1px" but got ""
4
FAIL @property detected in second stylesheet assert_equals: expected "2px" but got ""
5
FAIL @property removal detected with removal of second stylesheet assert_equals: expected "2px" but got ""
6
FAIL @property removal detected with removal of first stylesheet assert_equals: expected "1px" but got ""
7
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-properties-values-api/at-property-stylesheets.html +106 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-properties-values-api/at-property-stylesheets.html_sec1
1
<!DOCTYPE html>
2
<title>Verify that the correct registration is selected for mutated stylesheets</title>
3
<link rel="help" href="https://drafts.css-houdini.org/css-properties-values-api-1/#determining-registration">
4
<script src="/resources/testharness.js"></script>
5
<script src="/resources/testharnessreport.js"></script>
6
<script src="./resources/utils.js"></script>
7
<div id=div></div>
8
<script>
9
10
test(() => {
11
  with_at_property({
12
    syntax: '"<length>"',
13
    inherits: false,
14
    initialValue: '1px'
15
  }, (name) => {
16
    assert_equals(getComputedStyle(div).getPropertyValue(name), '1px');
17
  });
18
}, '@property detected when stylesheet appears');
19
20
test(() => {
21
  let name = generate_name();
22
  with_at_property({
23
    name: name,
24
    syntax: '"<length>"',
25
    inherits: false,
26
    initialValue: '1px'
27
  }, (name) => {
28
    assert_equals(getComputedStyle(div).getPropertyValue(name), '1px');
29
  });
30
  assert_equals(getComputedStyle(div).getPropertyValue(name), '');
31
}, '@property removal detected when last @property rule disappears');
32
33
test(() => {
34
  with_at_property({
35
    syntax: '"<length>"',
36
    inherits: false,
37
    initialValue: '1px'
38
  }, (name1) => {
39
    with_at_property({
40
      syntax: '"<length>"',
41
      inherits: false,
42
      initialValue: '2px'
43
    }, (name2) => {
44
      assert_equals(getComputedStyle(div).getPropertyValue(name2), '2px');
45
    });
46
  });
47
}, '@property detected in second stylesheet');
48
49
test(() => {
50
  let name2 = generate_name();
51
  with_at_property({
52
    syntax: '"<length>"',
53
    inherits: false,
54
    initialValue: '1px'
55
  }, (name1) => {
56
    with_at_property({
57
      name2: name2,
58
      syntax: '"<length>"',
59
      inherits: false,
60
      initialValue: '2px'
61
    }, (name2) => {
62
      assert_equals(getComputedStyle(div).getPropertyValue(name2), '2px');
63
    });
64
    assert_equals(getComputedStyle(div).getPropertyValue(name2), '');
65
  });
66
}, '@property removal detected with removal of second stylesheet');
67
68
test(() => {
69
  let name1 = generate_name();
70
  let name2 = generate_name();
71
72
  let sheet1 = `
73
    @property ${name1} {
74
      inherits: false;
75
      syntax: "<length>";
76
      initial-value: 1px;
77
    }
78
  `;
79
  let sheet2 = `
80
    @property ${name2} {
81
      inherits: false;
82
      syntax: "<length>";
83
      initial-value: 2px;
84
    }
85
  `;
86
87
  let node1 = document.createElement('style');
88
  let node2 = document.createElement('style');
89
90
  node1.textContent = sheet1;
91
  node2.textContent = sheet2;
92
93
  try {
94
    document.body.append(node1, node2);
95
    assert_equals(getComputedStyle(div).getPropertyValue(name1), '1px');
96
    assert_equals(getComputedStyle(div).getPropertyValue(name2), '2px');
97
    node1.remove();
98
    assert_equals(getComputedStyle(div).getPropertyValue(name1), '');
99
    assert_equals(getComputedStyle(div).getPropertyValue(name2), '2px');
100
  } finally {
101
    node1.remove();
102
    node2.remove();
103
  }
104
}, '@property removal detected with removal of first stylesheet');
105
106
</script>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-properties-values-api/at-property-typedom-expected.txt +4 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-properties-values-api/at-property-typedom-expected.txt_sec1
1
2
FAIL Properties declared with @property reify correctly div.computedStyleMap is not a function. (In 'div.computedStyleMap()', 'div.computedStyleMap' is undefined)
3
FAIL Re-declaring a property with a different type affects reification div.computedStyleMap is not a function. (In 'div.computedStyleMap()', 'div.computedStyleMap' is undefined)
4
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-properties-values-api/at-property-typedom.html +64 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-properties-values-api/at-property-typedom.html_sec1
1
<!DOCTYPE html>
2
<link rel="help" href="https://drafts.css-houdini.org/css-properties-values-api-1/#css-style-value-reification">
3
<script src="/resources/testharness.js"></script>
4
<script src="/resources/testharnessreport.js"></script>
5
<script src="./resources/utils.js"></script>
6
<div id=div></div>
7
<script>
8
9
test(() => {
10
  let name = generate_name();
11
  with_style_node(`div { ${name}: 100px; }`, () => {
12
    // Before registering the property, ${name} should reify as a
13
    // a token sequence.
14
    assert_equals(div.computedStyleMap().get(name).constructor.name, 'CSSUnparsedValue');
15
    assert_equals(div.computedStyleMap().get(name).toString(), ' 100px');
16
17
    with_at_property({
18
      name: name,
19
      syntax: '"<length>"',
20
      inherits: false,
21
      initialValue: '0px'
22
    }, () => {
23
      // After registering, it should reify as a <length>.
24
      assert_equals(div.computedStyleMap().get(name).constructor.name, 'CSSUnitValue');
25
      assert_equals(div.computedStyleMap().get(name).value, 100);
26
      assert_equals(div.computedStyleMap().get(name).unit, 'px');
27
    });
28
29
    // After @property is removed, the computed value is once again a token
30
    // sequence.
31
    assert_equals(div.computedStyleMap().get(name).constructor.name, 'CSSUnparsedValue');
32
    assert_equals(div.computedStyleMap().get(name).toString(), ' 100px');
33
  });
34
}, 'Properties declared with @property reify correctly');
35
36
test(() => {
37
  let name = generate_name();
38
  // 0 is valid as a both <length> and <integer>, which reify differently.
39
  with_style_node(`div { ${name}: 0; }`, () => {
40
    with_at_property({
41
      name: name,
42
      syntax: '"<length>"',
43
      inherits: false,
44
      initialValue: '1000px'
45
    }, () => {
46
      assert_equals(div.computedStyleMap().get(name).constructor.name, 'CSSUnitValue');
47
      assert_equals(div.computedStyleMap().get(name).value, 0);
48
      assert_equals(div.computedStyleMap().get(name).unit, 'px');
49
50
      with_at_property({
51
        name: name,
52
        syntax: '"<integer>"',
53
        inherits: false,
54
        initialValue: '1000'
55
      }, () => {
56
        assert_equals(div.computedStyleMap().get(name).constructor.name, 'CSSUnitValue');
57
        assert_equals(div.computedStyleMap().get(name).value, 0);
58
        assert_equals(div.computedStyleMap().get(name).unit, 'number');
59
      });
60
    });
61
  });
62
}, 'Re-declaring a property with a different type affects reification');
63
64
</script>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-properties-values-api/at-property.html +224 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-properties-values-api/at-property.html_sec1
1
<!DOCTYPE html>
2
<link rel="help" href="https://drafts.css-houdini.org/css-properties-values-api-1/#at-property-rule">
3
<script src="/resources/testharness.js"></script>
4
<script src="/resources/testharnessreport.js"></script>
5
<script src="./resources/utils.js"></script>
6
<div id="outer">
7
  <div id="target"></div>
8
</div>
9
<script>
10
11
// Parsing:
12
13
let uppercase_first = (x) => x.charAt(0).toUpperCase() + x.slice(1);
14
let to_camel_case = (x) => x.split('-')[0] + x.split('-').slice(1).map(uppercase_first).join('');
15
16
function get_cssom_descriptor_value(rule, descriptor) {
17
  switch (descriptor) {
18
    case 'syntax':
19
      return rule.syntax;
20
    case 'inherits':
21
      return rule.inherits;
22
    case 'initial-value':
23
      return rule.initialValue;
24
    default:
25
      assert_true(false, 'Should not reach here');
26
      return null;
27
  }
28
}
29
30
// Test that for the given descriptor (e.g. 'syntax'), the specified value
31
// will yield the expected_value when observed using CSSOM. If the expected_value
32
// is omitted, it is the same as the specified value.
33
function test_descriptor(descriptor, specified_value, expected_value) {
34
  let camel = to_camel_case(descriptor);
35
  if (typeof(expected_value) === 'undefined')
36
    expected_value = specified_value;
37
  test_with_at_property({ [camel]: specified_value }, (name, rule) => {
38
    assert_equals(get_cssom_descriptor_value(rule, descriptor), expected_value);
39
  }, `Attribute '${descriptor}' returns expected value for [${specified_value}]`);
40
}
41
42
// syntax
43
test_descriptor('syntax', '"<color>"', '<color>');
44
test_descriptor('syntax', '"<color> | none"', '<color> | none');
45
test_descriptor('syntax', '"<color># | <image> | none"', '<color># | <image> | none');
46
test_descriptor('syntax', '"foo | bar | baz"', 'foo | bar | baz');
47
test_descriptor('syntax', '"*"', '*');
48
test_descriptor('syntax', '"notasyntax"', 'notasyntax');
49
50
test_descriptor('syntax', 'red', '');
51
test_descriptor('syntax', 'rgb(255, 0, 0)', '');
52
test_descriptor('syntax', '<color>', '');
53
test_descriptor('syntax', 'foo | bar', '');
54
55
// initial-value
56
test_descriptor('initial-value', '10px');
57
test_descriptor('initial-value', 'rgb(1, 2, 3)');
58
test_descriptor('initial-value', 'red');
59
test_descriptor('initial-value', 'foo');
60
test_descriptor('initial-value', 'if(){}');
61
test_descriptor('initial-value', 'var(--x)');
62
63
// inherits
64
test_descriptor('inherits', 'true', true);
65
test_descriptor('inherits', 'false', false);
66
67
test_descriptor('inherits', 'none', false);
68
test_descriptor('inherits', '0', false);
69
test_descriptor('inherits', '1', false);
70
test_descriptor('inherits', '"true"', false);
71
test_descriptor('inherits', '"false"', false);
72
test_descriptor('inherits', 'calc(0)', false);
73
74
test_with_style_node('@property foo { }', (node) => {
75
  assert_equals(node.sheet.rules.length, 0);
76
}, 'Invalid property name does not parse [foo]');
77
78
test_with_style_node('@property -foo { }', (node) => {
79
  assert_equals(node.sheet.rules.length, 0);
80
}, 'Invalid property name does not parse [-foo]');
81
82
// Applying @property rules
83
84
function test_applied(syntax, initial, inherits, expected) {
85
  test_with_at_property({
86
    syntax: `"${syntax}"`,
87
    initialValue: initial,
88
    inherits: inherits
89
  }, (name, rule) => {
90
    let actual = getComputedStyle(target).getPropertyValue(name);
91
    assert_equals(actual, expected);
92
  }, `Rule applied [${syntax}, ${initial}, ${inherits}]`);
93
}
94
95
function test_not_applied(syntax, initial, inherits) {
96
  test_with_at_property({
97
    syntax: `"${syntax}"`,
98
    initialValue: initial,
99
    inherits: inherits
100
  }, (name, rule) => {
101
    let actual = getComputedStyle(target).getPropertyValue(name);
102
    assert_equals(actual, '');
103
  }, `Rule not applied [${syntax}, ${initial}, ${inherits}]`);
104
}
105
106
// syntax, initialValue, inherits, expected
107
test_applied('*', 'if(){}', false, 'if(){}');
108
test_applied('<angle>', '42deg', false, '42deg');
109
test_applied('<angle>', '1turn', false, '360deg');
110
test_applied('<color>', 'green', false, 'rgb(0, 128, 0)');
111
test_applied('<color>', 'rgb(1, 2, 3)', false, 'rgb(1, 2, 3)');
112
test_applied('<image>', 'url("http://a/")', false, 'url("http://a/")');
113
test_applied('<integer>', '5', false, '5');
114
test_applied('<length-percentage>', '10px', false, '10px');
115
test_applied('<length-percentage>', '10%', false, '10%');
116
test_applied('<length-percentage>', 'calc(10% + 10px)', false, 'calc(10% + 10px)');
117
test_applied('<length>', '10px', false, '10px');
118
test_applied('<number>', '2.5', false, '2.5');
119
test_applied('<percentage>', '10%', false, '10%');
120
test_applied('<resolution>', '50dppx', false, '50dppx');
121
test_applied('<resolution>', '96dpi', false, '1dppx');
122
test_applied('<time>', '10s', false, '10s');
123
test_applied('<time>', '1000ms', false, '1s');
124
test_applied('<transform-function>', 'rotateX(0deg)', false, 'rotateX(0deg)');
125
test_applied('<transform-list>', 'rotateX(0deg)', false, 'rotateX(0deg)');
126
test_applied('<transform-list>', 'rotateX(0deg) translateX(10px)', false, 'rotateX(0deg) translateX(10px)');
127
test_applied('<url>', 'url("http://a/")', false, 'url("http://a/")');
128
129
// inherits: true/false
130
test_applied('<color>', 'tomato', false, 'rgb(255, 99, 71)');
131
test_applied('<color>', 'tomato', true, 'rgb(255, 99, 71)');
132
133
test_with_at_property({ syntax: '"*"', inherits: true }, (name, rule) => {
134
  try {
135
    outer.style.setProperty(name, 'foo');
136
    let actual = getComputedStyle(target).getPropertyValue(name);
137
    assert_equals(actual, 'foo');
138
  } finally {
139
    outer.style = '';
140
  }
141
}, 'Rule applied for "*", even with no initial value');
142
143
test_not_applied(undefined, 'green', false);
144
test_not_applied('<color>', undefined, false);
145
test_not_applied('<color>', 'green', undefined);
146
test_not_applied('<gandalf>', 'grey', false);
147
test_not_applied('gandalf', 'grey', false);
148
test_not_applied('<color>', 'notacolor', false);
149
test_not_applied('<length>', '10em', false);
150
151
// Inheritance
152
153
test_with_at_property({
154
  syntax: '"<length>"',
155
  inherits: false,
156
  initialValue: '0px'
157
}, (name, rule) => {
158
  try {
159
    outer.style = `${name}: 40px`;
160
    assert_equals(getComputedStyle(outer).getPropertyValue(name), '40px');
161
    assert_equals(getComputedStyle(target).getPropertyValue(name), '0px');
162
  } finally {
163
    outer.style = '';
164
  }
165
}, 'Non-inherited properties do not inherit');
166
167
test_with_at_property({
168
  syntax: '"<length>"',
169
  inherits: true,
170
  initialValue: '0px'
171
}, (name, rule) => {
172
  try {
173
    outer.style = `${name}: 40px`;
174
    assert_equals(getComputedStyle(outer).getPropertyValue(name), '40px');
175
    assert_equals(getComputedStyle(target).getPropertyValue(name), '40px');
176
  } finally {
177
    outer.style = '';
178
  }
179
}, 'Inherited properties inherit');
180
181
// Initial values
182
183
test_with_at_property({
184
  syntax: '"<color>"',
185
  inherits: true,
186
  initialValue: 'green'
187
}, (name, rule) => {
188
  try {
189
    target.style = `--x:var(${name})`;
190
    assert_equals(getComputedStyle(target).getPropertyValue(name), 'rgb(0, 128, 0)');
191
  } finally {
192
    target.style = '';
193
  }
194
}, 'Initial values substituted as computed value');
195
196
test_with_at_property({
197
  syntax: '"<length>"',
198
  inherits: false,
199
  initialValue: undefined
200
}, (name, rule) => {
201
  try {
202
    target.style = `${name}: calc(1px + 1px);`;
203
    assert_equals(getComputedStyle(target).getPropertyValue(name), ' calc(1px + 1px)');
204
  } finally {
205
    target.style = '';
206
  }
207
}, 'Non-universal registration are invalid without an initial value');
208
209
test_with_at_property({
210
  syntax: '"*"',
211
  inherits: false,
212
  initialValue: undefined
213
}, (name, rule) => {
214
  try {
215
    // If the registration suceeded, ${name} does *not* inherit, and hence
216
    // the computed value on 'target' should be empty.
217
    outer.style = `${name}: calc(1px + 1px);`;
218
    assert_equals(getComputedStyle(target).getPropertyValue(name), '');
219
  } finally {
220
    outer.style = '';
221
  }
222
}, 'Initial value may be omitted for universal registration');
223
224
</script>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-properties-values-api/conditional-rules-expected.txt +5 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-properties-values-api/conditional-rules-expected.txt_sec1
1
2
PASS @supports should ignore registered syntax 
3
PASS CSS.supports(conditionText) should ignore registered syntax 
4
FAIL CSS.supports(property, value) should ignore registered syntax assert_true: expected true got false
5
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-properties-values-api/conditional-rules.html +43 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-properties-values-api/conditional-rules.html_sec1
1
<!DOCTYPE html>
2
<link rel="help" href="https://drafts.css-houdini.org/css-properties-values-api-1/#conditional-rules">
3
<script src="/resources/testharness.js"></script>
4
<script src="/resources/testharnessreport.js"></script>
5
6
<script>
7
  CSS.registerProperty({
8
    name: '--length',
9
    syntax: '<length>',
10
    initialValue: '0px',
11
    inherits: false
12
  });
13
</script>
14
15
<style>
16
  #target { color: red; }
17
  @supports(--length: green) {
18
    #target { color: rgb(1, 2, 3); }
19
  }
20
</style>
21
22
<div id=target></div>
23
24
<script>
25
26
test(function() {
27
  let cs = getComputedStyle(target);
28
  assert_equals(cs.getPropertyValue('color'), 'rgb(1, 2, 3)');
29
}, '@supports should ignore registered syntax');
30
31
test(function() {
32
  assert_true(CSS.supports('--length: red'));
33
  assert_true(CSS.supports('--length: 10px'));
34
  assert_true(CSS.supports('--length: anything, really'));
35
}, 'CSS.supports(conditionText) should ignore registered syntax');
36
37
test(function() {
38
  assert_true(CSS.supports('--length', 'red'));
39
  assert_true(CSS.supports('--length', '10px'));
40
  assert_true(CSS.supports('--length', ' anything, really'));
41
}, 'CSS.supports(property, value) should ignore registered syntax');
42
43
</script>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-properties-values-api/determine-registration-expected.txt +15 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-properties-values-api/determine-registration-expected.txt_sec1
1
2
FAIL @property determines the registration when uncontested assert_equals: expected "1px" but got ""
3
FAIL CSS.registerProperty wins over @property The given initial value does not parse for the given syntax.
4
FAIL @property later in document order wins assert_equals: expected "6" but got ""
5
FAIL @property later in stylesheet wins assert_equals: expected "rgb(255, 0, 0)" but got ""
6
FAIL CSS.registerProperty determines the registration when uncontested The given initial value does not parse for the given syntax.
7
FAIL @property registrations are cleared when rule removed assert_equals: expected "10px" but got ""
8
FAIL Computed value becomes token sequence when @property is removed assert_equals: expected "2px" but got " calc(1px + 1px)"
9
FAIL Inherited status is reflected in computed styles when @property is removed assert_equals: expected "0px" but got " 10px"
10
FAIL Invalid @property rule (missing syntax) does not overwrite previous valid rule assert_equals: expected "1px" but got ""
11
FAIL Invalid @property rule (missing inherits descriptor) does not overwrite previous valid rule assert_equals: expected "1px" but got ""
12
FAIL Invalid @property rule (missing initial-value) does not overwrite previous valid rule assert_equals: expected "1px" but got ""
13
FAIL Previous invalid rule does not prevent valid rule from causing registration assert_equals: expected "1px" but got ""
14
FAIL Unknown descriptors are ignored and do not invalidate rule assert_equals: expected "1px" but got ""
15
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-properties-values-api/determine-registration.html +232 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-properties-values-api/determine-registration.html_sec1
1
<!DOCTYPE html>
2
<link rel="help" href="https://drafts.css-houdini.org/css-properties-values-api-1/#determining-registration">
3
<script src="/resources/testharness.js"></script>
4
<script src="/resources/testharnessreport.js"></script>
5
<script src="./resources/utils.js"></script>
6
<div id=outer>
7
  <div id=div></div>
8
</div>
9
<script>
10
11
test_with_at_property({
12
  syntax: '"<length>"',
13
  inherits: false,
14
  initialValue: '1px'
15
}, (name) => {
16
  assert_equals(getComputedStyle(div).getPropertyValue(name), '1px');
17
}, '@property determines the registration when uncontested');
18
19
test_with_at_property({
20
  syntax: '"<length>"',
21
  inherits: false,
22
  initialValue: '2px'
23
}, (name) => {
24
  CSS.registerProperty({
25
    name: name,
26
    syntax: '<color>',
27
    inherits: false,
28
    initialValue: 'green'
29
  });
30
  assert_equals(getComputedStyle(div).getPropertyValue(name), 'rgb(0, 128, 0)');
31
}, 'CSS.registerProperty wins over @property');
32
33
test_with_at_property({
34
  syntax: '"<length>"',
35
  inherits: false,
36
  initialValue: '3px'
37
}, (name1) => {
38
  with_at_property({
39
    name: name1,
40
    syntax: '"<integer>"',
41
    inherits: false,
42
    initialValue: '6'
43
  }, (name2) => {
44
    assert_equals(name1, name2);
45
    assert_equals(getComputedStyle(div).getPropertyValue(name2), '6');
46
  });
47
}, '@property later in document order wins');
48
49
test(() => {
50
  let name = generate_name();
51
52
  with_style_node(`
53
    @property ${name} {
54
      syntax: "<length>";
55
      inherits: false;
56
      initial-value: 4px;
57
    }
58
59
    @property ${name} {
60
      syntax: "<color>";
61
      inherits: false;
62
      initial-value: red;
63
    }
64
  `, () => {
65
    assert_equals(getComputedStyle(div).getPropertyValue(name), 'rgb(255, 0, 0)');
66
  });
67
}, '@property later in stylesheet wins');
68
69
test(() => {
70
  let name = generate_name();
71
  CSS.registerProperty({
72
    name: name,
73
    syntax: '<color>',
74
    inherits: false,
75
    initialValue: 'green'
76
  });
77
  assert_equals(getComputedStyle(div).getPropertyValue(name), 'rgb(0, 128, 0)');
78
}, 'CSS.registerProperty determines the registration when uncontested');
79
80
test(() => {
81
  let name = generate_name();
82
83
  // ${name} is initially not registered, hence has no initial value.
84
  assert_equals(getComputedStyle(div).getPropertyValue(name), '');
85
86
  with_at_property({
87
    name: name,
88
    syntax: '"<length>"',
89
    inherits: false,
90
    initialValue: '10px'
91
  }, () => {
92
    assert_equals(getComputedStyle(div).getPropertyValue(name), '10px');
93
  });
94
95
  // When the style node is removed, ${name} should be unregistered again.
96
  assert_equals(getComputedStyle(div).getPropertyValue(name), '');
97
}, '@property registrations are cleared when rule removed');
98
99
test(() => {
100
  let name = generate_name();
101
102
  with_style_node(`div { ${name}: calc(1px + 1px); }`, () => {
103
    // ${name} should be a token sequence at this point.
104
    assert_equals(getComputedStyle(div).getPropertyValue(name), ' calc(1px + 1px)');
105
106
    with_at_property({
107
      name: name,
108
      syntax: '"<length>"',
109
      inherits: false,
110
      initialValue: '0px'
111
    }, () => {
112
      // ${name} is now a <length>, hence the calc() should be simplified.
113
      assert_equals(getComputedStyle(div).getPropertyValue(name), '2px');
114
    });
115
116
    // ${name} should be a token sequence again.
117
    assert_equals(getComputedStyle(div).getPropertyValue(name), ' calc(1px + 1px)');
118
  });
119
}, 'Computed value becomes token sequence when @property is removed');
120
121
test(() => {
122
  let name = generate_name();
123
124
  with_style_node(`#outer { ${name}: 10px; }`, () => {
125
    assert_equals(getComputedStyle(div).getPropertyValue(name), ' 10px');
126
127
    with_at_property({
128
      name: name,
129
      syntax: '"<length>"',
130
      inherits: false,
131
      initialValue: '0px'
132
    }, () => {
133
      // ${name} is no longer inherited
134
      assert_equals(getComputedStyle(div).getPropertyValue(name), '0px');
135
    });
136
137
    assert_equals(getComputedStyle(div).getPropertyValue(name), ' 10px');
138
  });
139
}, 'Inherited status is reflected in computed styles when @property is removed');
140
141
test(() => {
142
  let name = generate_name();
143
144
  with_style_node(`
145
    @property ${name} {
146
      syntax: "<length>";
147
      inherits: false;
148
      initial-value: 1px;
149
    }
150
151
    @property ${name} {
152
      inherits: false;
153
      initial-value: green;
154
    }
155
  `, () => {
156
    assert_equals(getComputedStyle(div).getPropertyValue(name), '1px');
157
  });
158
}, 'Invalid @property rule (missing syntax) does not overwrite previous valid rule');
159
160
test(() => {
161
  let name = generate_name();
162
163
  with_style_node(`
164
    @property ${name} {
165
      syntax: "<length>";
166
      inherits: false;
167
      initial-value: 1px;
168
    }
169
170
    @property ${name} {
171
      syntax: "<color>";
172
      initial-value: green;
173
    }
174
  `, () => {
175
    assert_equals(getComputedStyle(div).getPropertyValue(name), '1px');
176
  });
177
}, 'Invalid @property rule (missing inherits descriptor) does not overwrite previous valid rule');
178
179
test(() => {
180
  let name = generate_name();
181
182
  with_style_node(`
183
    @property ${name} {
184
      syntax: "<length>";
185
      inherits: false;
186
      initial-value: 1px;
187
    }
188
189
    @property ${name} {
190
      syntax: "<color>";
191
      inherits: false;
192
    }
193
  `, () => {
194
    assert_equals(getComputedStyle(div).getPropertyValue(name), '1px');
195
  });
196
}, 'Invalid @property rule (missing initial-value) does not overwrite previous valid rule');
197
198
test(() => {
199
  let name = generate_name();
200
201
  with_style_node(`
202
    @property ${name} {
203
      syntax: "<color>";
204
      inherits: false;
205
    }
206
207
    @property ${name} {
208
      syntax: "<length>";
209
      inherits: false;
210
      initial-value: 1px;
211
    }
212
  `, () => {
213
    assert_equals(getComputedStyle(div).getPropertyValue(name), '1px');
214
  });
215
}, 'Previous invalid rule does not prevent valid rule from causing registration');
216
217
test(() => {
218
  let name = generate_name();
219
220
  with_style_node(`
221
    @property ${name} {
222
      syntax: "<length>";
223
      inherits: false;
224
      initial-value: 1px;
225
      quite-unknown: 200;
226
    }
227
  `, () => {
228
    assert_equals(getComputedStyle(div).getPropertyValue(name), '1px');
229
  });
230
}, 'Unknown descriptors are ignored and do not invalidate rule');
231
232
</script>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-properties-values-api/font-size-animation-expected.txt +3 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-properties-values-api/font-size-animation-expected.txt_sec1
1
2
FAIL Animating font-size handled identically for standard and custom properties assert_equals: expected "0px" but got "250px"
3
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-properties-values-api/font-size-animation.html +44 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-properties-values-api/font-size-animation.html_sec1
1
<!DOCTYPE html>
2
<link rel="help" href="https://drafts.css-houdini.org/css-properties-values-api-1">
3
<link rel="help" href="https://github.com/w3c/csswg-drafts/issues/3751">
4
<script src="/resources/testharness.js"></script>
5
<script src="/resources/testharnessreport.js"></script>
6
<script>
7
    CSS.registerProperty({
8
        name: '--length',
9
        syntax: '<length>',
10
        initialValue: '0px',
11
        inherits: false
12
    });
13
</script>
14
<style>
15
    @keyframes font_size_animation {
16
        from {
17
            font-size: 10px;
18
            width: 10em;
19
            --length: 10em;
20
        }
21
        to {
22
            font-size: 20px;
23
            width: 20em;
24
            --length: 20em;
25
        }
26
    }
27
    #target1 {
28
        font-size: 1px;
29
        animation: font_size_animation 10s -5s linear paused;
30
    }
31
</style>
32
<div id=target1></div>
33
<script>
34
    test(function() {
35
        // At the time of writing, the correct (absolute) answer is not
36
        // yet defined. However, whatever the correct answer is, there should
37
        // be no difference in 'width' and a custom property registered with
38
        // "<length>".
39
        //
40
        // See https://github.com/w3c/csswg-drafts/issues/3751
41
        assert_equals(getComputedStyle(target1).getPropertyValue('width'),
42
                      getComputedStyle(target1).getPropertyValue('--length'));
43
    }, 'Animating font-size handled identically for standard and custom properties');
44
</script>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-properties-values-api/property-cascade.html -1 / +1 lines
Lines 1-6 a/LayoutTests/imported/w3c/web-platform-tests/css/css-properties-values-api/property-cascade.html_sec1
1
<!DOCTYPE html>
1
<!DOCTYPE html>
2
<link rel="help" href="https://drafts.css-houdini.org/css-properties-values-api-1/#the-registerproperty-function" />
2
<link rel="help" href="https://drafts.css-houdini.org/css-properties-values-api-1/#the-registerproperty-function" />
3
<meta name="assert" content="Verifies that registering a propety does not affect the cascade" />
3
<meta name="assert" content="Verifies that registering a property does not affect the cascade" />
4
<script src="/resources/testharness.js"></script>
4
<script src="/resources/testharness.js"></script>
5
<script src="/resources/testharnessreport.js"></script>
5
<script src="/resources/testharnessreport.js"></script>
6
6
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-properties-values-api/register-property-expected.txt -2 / +2 lines
Lines 1-8 a/LayoutTests/imported/w3c/web-platform-tests/css/css-properties-values-api/register-property-expected.txt_sec1
1
1
2
PASS registerProperty requires a Dictionary type 
2
PASS registerProperty requires a Dictionary type 
3
PASS registerProperty requires a name matching <custom-property-name> 
3
PASS registerProperty requires a name matching <custom-property-name> 
4
FAIL registerProperty only allows omitting initialValue if syntax is '*' assert_throws: function "() => CSS.registerProperty({name: '--syntax-test-3', syntax: 'length', inherits: false})" did not throw
4
FAIL registerProperty only allows omitting initialValue if syntax is '*' assert_throws_dom: function "() => CSS.registerProperty({name: '--syntax-test-3', syntax: 'length', inherits: false})" did not throw
5
FAIL registerProperty fails for an already registered property assert_throws: function "() => CSS.registerProperty({name: '--re-register', syntax: '<percentage>', initialValue: '0%', inherits: false})" threw object "SyntaxError: The given initial value does not parse for the given syntax." ("SyntaxError") expected object "[object Object]" ("InvalidModificationError")
5
FAIL registerProperty fails for an already registered property assert_throws_dom: function "() => CSS.registerProperty({name: '--re-register', syntax: '<percentage>', initialValue: '0%', inherits: false})" threw object "SyntaxError: The given initial value does not parse for the given syntax." that is not a DOMException InvalidModificationError: property "code" is equal to 12, expected 13
6
PASS registerProperty requires inherits 
6
PASS registerProperty requires inherits 
7
FAIL Registering a property should not cause a transition The given initial value does not parse for the given syntax.
7
FAIL Registering a property should not cause a transition The given initial value does not parse for the given syntax.
8
8
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-properties-values-api/register-property-syntax-parsing-expected.txt -31 / +68 lines
Lines 6-14 FAIL syntax:' <number>', initialValue:'5' is valid The given initial value does a/LayoutTests/imported/w3c/web-platform-tests/css/css-properties-values-api/register-property-syntax-parsing-expected.txt_sec1
6
FAIL syntax:'<percentage> ', initialValue:'10%' is valid The given initial value does not parse for the given syntax.
6
FAIL syntax:'<percentage> ', initialValue:'10%' is valid The given initial value does not parse for the given syntax.
7
FAIL syntax:'<color>+', initialValue:'red' is valid The given initial value does not parse for the given syntax.
7
FAIL syntax:'<color>+', initialValue:'red' is valid The given initial value does not parse for the given syntax.
8
FAIL syntax:' <length>+ | <percentage>', initialValue:'2px 8px' is valid The given initial value does not parse for the given syntax.
8
FAIL syntax:' <length>+ | <percentage>', initialValue:'2px 8px' is valid The given initial value does not parse for the given syntax.
9
FAIL syntax:' <length>+ | <color>#', initialValue:'red, blue' is valid The given initial value does not parse for the given syntax.
9
PASS syntax:'<length>|<percentage>|<length-percentage>', initialValue:'2px' is valid 
10
PASS syntax:'<length>|<percentage>|<length-percentage>', initialValue:'2px' is valid 
10
FAIL syntax:'<color> | <image> | <url> | <integer> | <angle>', initialValue:'red' is valid The given initial value does not parse for the given syntax.
11
FAIL syntax:'<color> | <image> | <url> | <integer> | <angle>', initialValue:'red' is valid The given initial value does not parse for the given syntax.
11
FAIL syntax:'<time> | <resolution> | <transform-list> | <custom-ident>', initialValue:'red' is valid The given initial value does not parse for the given syntax.
12
FAIL syntax:'<time> | <resolution> | <transform-list> | <custom-ident>', initialValue:'red' is valid The given initial value does not parse for the given syntax.
13
FAIL syntax:'	<color>
14
|   foo', initialValue:'foo' is valid The given initial value does not parse for the given syntax.
12
PASS syntax:'*', initialValue:':> hello' is valid 
15
PASS syntax:'*', initialValue:':> hello' is valid 
13
PASS syntax:'*', initialValue:'([ brackets ]) { yay (??)}' is valid 
16
PASS syntax:'*', initialValue:'([ brackets ]) { yay (??)}' is valid 
14
PASS syntax:'*', initialValue:'yep 'this is valid too'' is valid 
17
PASS syntax:'*', initialValue:'yep 'this is valid too'' is valid 
Lines 26-31 FAIL syntax:'<percentage>', initialValue:'-9.3e3%' is valid The given initial va a/LayoutTests/imported/w3c/web-platform-tests/css/css-properties-values-api/register-property-syntax-parsing-expected.txt_sec2
26
FAIL syntax:'<length-percentage>', initialValue:'-54%' is valid The given initial value does not parse for the given syntax.
29
FAIL syntax:'<length-percentage>', initialValue:'-54%' is valid The given initial value does not parse for the given syntax.
27
PASS syntax:'<length-percentage>', initialValue:'0' is valid 
30
PASS syntax:'<length-percentage>', initialValue:'0' is valid 
28
FAIL syntax:'<length-percentage>', initialValue:'calc(-11px + 10.4%)' is valid The given initial value does not parse for the given syntax.
31
FAIL syntax:'<length-percentage>', initialValue:'calc(-11px + 10.4%)' is valid The given initial value does not parse for the given syntax.
32
PASS syntax:'<length>', initialValue:'10vmin' is valid 
33
FAIL syntax:'<percentage> | <length>+', initialValue:'calc(100vh - 10px) 30px' is valid The given initial value does not parse for the given syntax.
29
FAIL syntax:'<number>', initialValue:'-109' is valid The given initial value does not parse for the given syntax.
34
FAIL syntax:'<number>', initialValue:'-109' is valid The given initial value does not parse for the given syntax.
30
FAIL syntax:'<number>', initialValue:'2.3e4' is valid The given initial value does not parse for the given syntax.
35
FAIL syntax:'<number>', initialValue:'2.3e4' is valid The given initial value does not parse for the given syntax.
31
FAIL syntax:'<integer>', initialValue:'-109' is valid The given initial value does not parse for the given syntax.
36
FAIL syntax:'<integer>', initialValue:'-109' is valid The given initial value does not parse for the given syntax.
Lines 57-66 FAIL syntax:'banana', initialValue:'banana' is valid The given initial value doe a/LayoutTests/imported/w3c/web-platform-tests/css/css-properties-values-api/register-property-syntax-parsing-expected.txt_sec3
57
FAIL syntax:'bAnAnA', initialValue:'bAnAnA' is valid The given initial value does not parse for the given syntax.
62
FAIL syntax:'bAnAnA', initialValue:'bAnAnA' is valid The given initial value does not parse for the given syntax.
58
FAIL syntax:'ba-na-nya', initialValue:'ba-na-nya' is valid The given initial value does not parse for the given syntax.
63
FAIL syntax:'ba-na-nya', initialValue:'ba-na-nya' is valid The given initial value does not parse for the given syntax.
59
FAIL syntax:'banana', initialValue:'banan\61' is valid The given initial value does not parse for the given syntax.
64
FAIL syntax:'banana', initialValue:'banan\61' is valid The given initial value does not parse for the given syntax.
65
FAIL syntax:'banan\61', initialValue:'banana' is valid The given initial value does not parse for the given syntax.
60
FAIL syntax:'<custom-ident>', initialValue:'banan\61' is valid The given initial value does not parse for the given syntax.
66
FAIL syntax:'<custom-ident>', initialValue:'banan\61' is valid The given initial value does not parse for the given syntax.
61
FAIL syntax:'big | bigger | BIGGER', initialValue:'bigger' is valid The given initial value does not parse for the given syntax.
67
FAIL syntax:'big | bigger | BIGGER', initialValue:'bigger' is valid The given initial value does not parse for the given syntax.
62
FAIL syntax:'foo+|bar', initialValue:'foo foo foo' is valid The given initial value does not parse for the given syntax.
68
FAIL syntax:'foo+|bar', initialValue:'foo foo foo' is valid The given initial value does not parse for the given syntax.
63
FAIL syntax:'default', initialValue:'default' is valid The given initial value does not parse for the given syntax.
64
FAIL syntax:'banana	', initialValue:'banana' is valid The given initial value does not parse for the given syntax.
69
FAIL syntax:'banana	', initialValue:'banana' is valid The given initial value does not parse for the given syntax.
65
FAIL syntax:'
70
FAIL syntax:'
66
banana\r
71
banana\r
Lines 70-110 FAIL syntax:'ba a/LayoutTests/imported/w3c/web-platform-tests/css/css-properties-values-api/register-property-syntax-parsing-expected.txt_sec4
70
FAIL syntax:'null', initialValue:'null' is valid The given initial value does not parse for the given syntax.
75
FAIL syntax:'null', initialValue:'null' is valid The given initial value does not parse for the given syntax.
71
PASS syntax:'undefined', initialValue:'undefined' is valid 
76
PASS syntax:'undefined', initialValue:'undefined' is valid 
72
FAIL syntax:'array', initialValue:'array' is valid The given initial value does not parse for the given syntax.
77
FAIL syntax:'array', initialValue:'array' is valid The given initial value does not parse for the given syntax.
78
FAIL syntax:'\1F914', initialValue:'🤔' is valid The given initial value does not parse for the given syntax.
79
FAIL syntax:'hmm\1F914', initialValue:'hmm🤔' is valid The given initial value does not parse for the given syntax.
80
FAIL syntax:'\1F914hmm', initialValue:'🤔hmm' is valid The given initial value does not parse for the given syntax.
81
FAIL syntax:'\1F914 hmm', initialValue:'🤔hmm' is valid The given initial value does not parse for the given syntax.
82
FAIL syntax:'\1F914\1F914', initialValue:'🤔🤔' is valid The given initial value does not parse for the given syntax.
73
PASS syntax:'banana,nya', initialValue:'banana' is invalid 
83
PASS syntax:'banana,nya', initialValue:'banana' is invalid 
74
PASS syntax:'banan\61', initialValue:'banana' is invalid 
84
FAIL syntax:'<\6c ength>', initialValue:'10px' is invalid assert_throws_dom: function "() => CSS.registerProperty({name: name, syntax: syntax, initialValue: initialValue, inherits: false})" did not throw
75
FAIL syntax:'<\6c ength>', initialValue:'10px' is invalid assert_throws: function "() => CSS.registerProperty({name: name, syntax: syntax, initialValue: initialValue, inherits: false})" did not throw
76
PASS syntax:'<banana>', initialValue:'banana' is invalid 
85
PASS syntax:'<banana>', initialValue:'banana' is invalid 
77
PASS syntax:'<Number>', initialValue:'10' is invalid 
86
PASS syntax:'<Number>', initialValue:'10' is invalid 
78
FAIL syntax:'<length', initialValue:'10px' is invalid assert_throws: function "() => CSS.registerProperty({name: name, syntax: syntax, initialValue: initialValue, inherits: false})" did not throw
87
FAIL syntax:'<length', initialValue:'10px' is invalid assert_throws_dom: function "() => CSS.registerProperty({name: name, syntax: syntax, initialValue: initialValue, inherits: false})" did not throw
79
FAIL syntax:'<LENGTH>', initialValue:'10px' is invalid assert_throws: function "() => CSS.registerProperty({name: name, syntax: syntax, initialValue: initialValue, inherits: false})" did not throw
88
FAIL syntax:'<LENGTH>', initialValue:'10px' is invalid assert_throws_dom: function "() => CSS.registerProperty({name: name, syntax: syntax, initialValue: initialValue, inherits: false})" did not throw
80
FAIL syntax:'< length>', initialValue:'10px' is invalid assert_throws: function "() => CSS.registerProperty({name: name, syntax: syntax, initialValue: initialValue, inherits: false})" did not throw
89
FAIL syntax:'< length>', initialValue:'10px' is invalid assert_throws_dom: function "() => CSS.registerProperty({name: name, syntax: syntax, initialValue: initialValue, inherits: false})" did not throw
81
FAIL syntax:'<length >', initialValue:'10px' is invalid assert_throws: function "() => CSS.registerProperty({name: name, syntax: syntax, initialValue: initialValue, inherits: false})" did not throw
90
FAIL syntax:'<length >', initialValue:'10px' is invalid assert_throws_dom: function "() => CSS.registerProperty({name: name, syntax: syntax, initialValue: initialValue, inherits: false})" did not throw
82
FAIL syntax:'<length> +', initialValue:'10px' is invalid assert_throws: function "() => CSS.registerProperty({name: name, syntax: syntax, initialValue: initialValue, inherits: false})" did not throw
91
FAIL syntax:'<length> +', initialValue:'10px' is invalid assert_throws_dom: function "() => CSS.registerProperty({name: name, syntax: syntax, initialValue: initialValue, inherits: false})" did not throw
83
FAIL syntax:'<length>++', initialValue:'10px' is invalid assert_throws: function "() => CSS.registerProperty({name: name, syntax: syntax, initialValue: initialValue, inherits: false})" did not throw
92
PASS syntax:'<transform-list>+', initialValue:'scale(2)' is invalid 
84
FAIL syntax:'<length> | *', initialValue:'10px' is invalid assert_throws: function "() => CSS.registerProperty({name: name, syntax: syntax, initialValue: initialValue, inherits: false})" did not throw
93
PASS syntax:'<transform-list>#', initialValue:'scale(2)' is invalid 
94
FAIL syntax:'<length>++', initialValue:'10px' is invalid assert_throws_dom: function "() => CSS.registerProperty({name: name, syntax: syntax, initialValue: initialValue, inherits: false})" did not throw
95
FAIL syntax:'<length>##', initialValue:'10px' is invalid assert_throws_dom: function "() => CSS.registerProperty({name: name, syntax: syntax, initialValue: initialValue, inherits: false})" did not throw
96
FAIL syntax:'<length>+#', initialValue:'10px' is invalid assert_throws_dom: function "() => CSS.registerProperty({name: name, syntax: syntax, initialValue: initialValue, inherits: false})" did not throw
97
FAIL syntax:'<length>#+', initialValue:'10px' is invalid assert_throws_dom: function "() => CSS.registerProperty({name: name, syntax: syntax, initialValue: initialValue, inherits: false})" did not throw
98
FAIL syntax:'<length> | *', initialValue:'10px' is invalid assert_throws_dom: function "() => CSS.registerProperty({name: name, syntax: syntax, initialValue: initialValue, inherits: false})" did not throw
85
PASS syntax:'*|banana', initialValue:'banana' is invalid 
99
PASS syntax:'*|banana', initialValue:'banana' is invalid 
100
PASS syntax:'|banana', initialValue:'banana' is invalid 
86
PASS syntax:'*+', initialValue:'banana' is invalid 
101
PASS syntax:'*+', initialValue:'banana' is invalid 
102
PASS syntax:'|', initialValue:'banana' is invalid 
103
PASS syntax:' |', initialValue:'banana' is invalid 
104
PASS syntax:'||', initialValue:'banana' is invalid 
105
PASS syntax:'foo bar', initialValue:'foo bar' is invalid 
106
PASS syntax:'foo foo foo', initialValue:'foo foo foo' is invalid 
107
PASS syntax:'foo § bar', initialValue:'foo § bar' is invalid 
108
PASS syntax:'foo \1F914 bar', initialValue:'foo \1F914 bar' is invalid 
109
PASS syntax:'<length> <number>', initialValue:'0px 0' is invalid 
110
PASS syntax:'<length> <length> <length>', initialValue:'0px 0px 0px' is invalid 
87
PASS syntax:'initial', initialValue:'initial' is invalid 
111
PASS syntax:'initial', initialValue:'initial' is invalid 
88
PASS syntax:'inherit', initialValue:'inherit' is invalid 
112
PASS syntax:'inherit', initialValue:'inherit' is invalid 
89
PASS syntax:'unset', initialValue:'unset' is invalid 
113
PASS syntax:'unset', initialValue:'unset' is invalid 
90
FAIL syntax:'<length>|initial', initialValue:'10px' is invalid assert_throws: function "() => CSS.registerProperty({name: name, syntax: syntax, initialValue: initialValue, inherits: false})" did not throw
114
PASS syntax:'revert', initialValue:'revert' is invalid 
91
FAIL syntax:'<length>|INHERIT', initialValue:'10px' is invalid assert_throws: function "() => CSS.registerProperty({name: name, syntax: syntax, initialValue: initialValue, inherits: false})" did not throw
115
PASS syntax:'default', initialValue:'default' is invalid 
116
FAIL syntax:'<length>|initial', initialValue:'10px' is invalid assert_throws_dom: function "() => CSS.registerProperty({name: name, syntax: syntax, initialValue: initialValue, inherits: false})" did not throw
117
FAIL syntax:'<length>|INHERIT', initialValue:'10px' is invalid assert_throws_dom: function "() => CSS.registerProperty({name: name, syntax: syntax, initialValue: initialValue, inherits: false})" did not throw
92
PASS syntax:'<percentage>|unsEt', initialValue:'2%' is invalid 
118
PASS syntax:'<percentage>|unsEt', initialValue:'2%' is invalid 
93
FAIL syntax:'*', initialValue:'initial' is invalid assert_throws: function "() => CSS.registerProperty({name: name, syntax: syntax, initialValue: initialValue, inherits: false})" did not throw
119
PASS syntax:'<color>|REVert', initialValue:'red' is invalid 
94
FAIL syntax:'*', initialValue:'inherit' is invalid assert_throws: function "() => CSS.registerProperty({name: name, syntax: syntax, initialValue: initialValue, inherits: false})" did not throw
120
PASS syntax:'<integer>|deFAUlt', initialValue:'1' is invalid 
95
FAIL syntax:'*', initialValue:'unset' is invalid assert_throws: function "() => CSS.registerProperty({name: name, syntax: syntax, initialValue: initialValue, inherits: false})" did not throw
121
FAIL syntax:'*', initialValue:'initial' is invalid assert_throws_dom: function "() => CSS.registerProperty({name: name, syntax: syntax, initialValue: initialValue, inherits: false})" did not throw
96
FAIL syntax:'*', initialValue:'revert' is invalid assert_throws: function "() => CSS.registerProperty({name: name, syntax: syntax, initialValue: initialValue, inherits: false})" did not throw
122
FAIL syntax:'*', initialValue:'inherit' is invalid assert_throws_dom: function "() => CSS.registerProperty({name: name, syntax: syntax, initialValue: initialValue, inherits: false})" did not throw
123
FAIL syntax:'*', initialValue:'unset' is invalid assert_throws_dom: function "() => CSS.registerProperty({name: name, syntax: syntax, initialValue: initialValue, inherits: false})" did not throw
124
FAIL syntax:'*', initialValue:'revert' is invalid assert_throws_dom: function "() => CSS.registerProperty({name: name, syntax: syntax, initialValue: initialValue, inherits: false})" did not throw
125
FAIL syntax:'*', initialValue:'default' is invalid assert_throws_dom: function "() => CSS.registerProperty({name: name, syntax: syntax, initialValue: initialValue, inherits: false})" did not throw
97
PASS syntax:'<custom-ident>', initialValue:'initial' is invalid 
126
PASS syntax:'<custom-ident>', initialValue:'initial' is invalid 
127
PASS syntax:'<custom-ident>', initialValue:'inherit' is invalid 
128
PASS syntax:'<custom-ident>', initialValue:'unset' is invalid 
129
PASS syntax:'<custom-ident>', initialValue:'revert' is invalid 
130
PASS syntax:'<custom-ident>', initialValue:'default' is invalid 
131
PASS syntax:'<custom-ident>+', initialValue:'foo initial bar' is invalid 
98
PASS syntax:'<custom-ident>+', initialValue:'foo inherit bar' is invalid 
132
PASS syntax:'<custom-ident>+', initialValue:'foo inherit bar' is invalid 
99
FAIL syntax:'*', initialValue:')' is invalid assert_throws: function "() => CSS.registerProperty({name: name, syntax: syntax, initialValue: initialValue, inherits: false})" did not throw
133
PASS syntax:'<custom-ident>+', initialValue:'foo unset bar' is invalid 
100
FAIL syntax:'*', initialValue:'([)]' is invalid assert_throws: function "() => CSS.registerProperty({name: name, syntax: syntax, initialValue: initialValue, inherits: false})" did not throw
134
PASS syntax:'<custom-ident>+', initialValue:'foo revert bar' is invalid 
101
FAIL syntax:'*', initialValue:'whee!' is invalid assert_throws: function "() => CSS.registerProperty({name: name, syntax: syntax, initialValue: initialValue, inherits: false})" did not throw
135
PASS syntax:'<custom-ident>+', initialValue:'foo default bar' is invalid 
136
FAIL syntax:'*', initialValue:')' is invalid assert_throws_dom: function "() => CSS.registerProperty({name: name, syntax: syntax, initialValue: initialValue, inherits: false})" did not throw
137
FAIL syntax:'*', initialValue:'([)]' is invalid assert_throws_dom: function "() => CSS.registerProperty({name: name, syntax: syntax, initialValue: initialValue, inherits: false})" did not throw
138
FAIL syntax:'*', initialValue:'whee!' is invalid assert_throws_dom: function "() => CSS.registerProperty({name: name, syntax: syntax, initialValue: initialValue, inherits: false})" did not throw
102
FAIL syntax:'*', initialValue:'"
139
FAIL syntax:'*', initialValue:'"
103
' is invalid assert_throws: function "() => CSS.registerProperty({name: name, syntax: syntax, initialValue: initialValue, inherits: false})" did not throw
140
' is invalid assert_throws_dom: function "() => CSS.registerProperty({name: name, syntax: syntax, initialValue: initialValue, inherits: false})" did not throw
104
FAIL syntax:'*', initialValue:'url(moo '')' is invalid assert_throws: function "() => CSS.registerProperty({name: name, syntax: syntax, initialValue: initialValue, inherits: false})" did not throw
141
FAIL syntax:'*', initialValue:'url(moo '')' is invalid assert_throws_dom: function "() => CSS.registerProperty({name: name, syntax: syntax, initialValue: initialValue, inherits: false})" did not throw
105
FAIL syntax:'*', initialValue:'semi;colon' is invalid assert_throws: function "() => CSS.registerProperty({name: name, syntax: syntax, initialValue: initialValue, inherits: false})" did not throw
142
FAIL syntax:'*', initialValue:'semi;colon' is invalid assert_throws_dom: function "() => CSS.registerProperty({name: name, syntax: syntax, initialValue: initialValue, inherits: false})" did not throw
106
FAIL syntax:'*', initialValue:'var(invalid var ref)' is invalid assert_throws: function "() => CSS.registerProperty({name: name, syntax: syntax, initialValue: initialValue, inherits: false})" did not throw
143
FAIL syntax:'*', initialValue:'var(invalid var ref)' is invalid assert_throws_dom: function "() => CSS.registerProperty({name: name, syntax: syntax, initialValue: initialValue, inherits: false})" did not throw
107
FAIL syntax:'*', initialValue:'var(--foo)' is invalid assert_throws: function "() => CSS.registerProperty({name: name, syntax: syntax, initialValue: initialValue, inherits: false})" did not throw
144
FAIL syntax:'*', initialValue:'var(--foo)' is invalid assert_throws_dom: function "() => CSS.registerProperty({name: name, syntax: syntax, initialValue: initialValue, inherits: false})" did not throw
108
PASS syntax:'banana', initialValue:'bAnAnA' is invalid 
145
PASS syntax:'banana', initialValue:'bAnAnA' is invalid 
109
PASS syntax:'<length>', initialValue:'var(--moo)' is invalid 
146
PASS syntax:'<length>', initialValue:'var(--moo)' is invalid 
110
PASS syntax:'<length>', initialValue:'10' is invalid 
147
PASS syntax:'<length>', initialValue:'10' is invalid 
Lines 112-134 PASS syntax:'<length>', initialValue:'10%' is invalid a/LayoutTests/imported/w3c/web-platform-tests/css/css-properties-values-api/register-property-syntax-parsing-expected.txt_sec5
112
PASS syntax:'<length>', initialValue:'calc(5px + 10%)' is invalid 
149
PASS syntax:'<length>', initialValue:'calc(5px + 10%)' is invalid 
113
PASS syntax:'<length>', initialValue:'calc(5px * 3px / 6px)' is invalid 
150
PASS syntax:'<length>', initialValue:'calc(5px * 3px / 6px)' is invalid 
114
PASS syntax:'<length>', initialValue:'10em' is invalid 
151
PASS syntax:'<length>', initialValue:'10em' is invalid 
115
FAIL syntax:'<length>', initialValue:'10vmin' is invalid assert_throws: function "() => CSS.registerProperty({name: name, syntax: syntax, initialValue: initialValue, inherits: false})" did not throw
116
PASS syntax:'<length>', initialValue:'calc(4px + 3em)' is invalid 
152
PASS syntax:'<length>', initialValue:'calc(4px + 3em)' is invalid 
117
PASS syntax:'<length>', initialValue:'calc(4px + calc(8 * 2em))' is invalid 
153
PASS syntax:'<length>', initialValue:'calc(4px + calc(8 * 2em))' is invalid 
118
PASS syntax:'<length>+', initialValue:'calc(2ex + 16px)' is invalid 
154
PASS syntax:'<length>+', initialValue:'calc(2ex + 16px)' is invalid 
119
PASS syntax:'<length>+', initialValue:'10px calc(20px + 4rem)' is invalid 
155
PASS syntax:'<length>+', initialValue:'10px calc(20px + 4rem)' is invalid 
120
FAIL syntax:'<length>+', initialValue:'' is invalid assert_throws: function "() => CSS.registerProperty({name: name, syntax: syntax, initialValue: initialValue, inherits: false})" did not throw
156
FAIL syntax:'<length>+', initialValue:'' is invalid assert_throws_dom: function "() => CSS.registerProperty({name: name, syntax: syntax, initialValue: initialValue, inherits: false})" did not throw
121
FAIL syntax:'<length>#', initialValue:'' is invalid assert_throws: function "() => CSS.registerProperty({name: name, syntax: syntax, initialValue: initialValue, inherits: false})" did not throw
157
FAIL syntax:'<length>#', initialValue:'' is invalid assert_throws_dom: function "() => CSS.registerProperty({name: name, syntax: syntax, initialValue: initialValue, inherits: false})" did not throw
122
PASS syntax:'<percentage> | <length>+', initialValue:'calc(100vh - 10px) 30px' is invalid 
123
PASS syntax:'<length>', initialValue:'10px;' is invalid 
158
PASS syntax:'<length>', initialValue:'10px;' is invalid 
124
PASS syntax:'<length-percentage>', initialValue:'calc(2px + 10% + 7ex)' is invalid 
159
PASS syntax:'<length-percentage>', initialValue:'calc(2px + 10% + 7ex)' is invalid 
125
FAIL syntax:'<percentage>', initialValue:'0' is invalid assert_throws: function "() => CSS.registerProperty({name: name, syntax: syntax, initialValue: initialValue, inherits: false})" did not throw
160
FAIL syntax:'<percentage>', initialValue:'0' is invalid assert_throws_dom: function "() => CSS.registerProperty({name: name, syntax: syntax, initialValue: initialValue, inherits: false})" did not throw
126
PASS syntax:'<integer>', initialValue:'1.0' is invalid 
161
PASS syntax:'<integer>', initialValue:'1.0' is invalid 
127
PASS syntax:'<integer>', initialValue:'1e0' is invalid 
162
PASS syntax:'<integer>', initialValue:'1e0' is invalid 
128
PASS syntax:'<number>|foo', initialValue:'foo var(--foo, bla)' is invalid 
163
PASS syntax:'<number>|foo', initialValue:'foo var(--foo, bla)' is invalid 
129
FAIL syntax:'<angle>', initialValue:'0' is invalid assert_throws: function "() => CSS.registerProperty({name: name, syntax: syntax, initialValue: initialValue, inherits: false})" did not throw
164
PASS syntax:'Foo | bar', initialValue:'foo' is invalid 
165
PASS syntax:'Foo | bar', initialValue:'Bar' is invalid 
166
FAIL syntax:'<angle>', initialValue:'0' is invalid assert_throws_dom: function "() => CSS.registerProperty({name: name, syntax: syntax, initialValue: initialValue, inherits: false})" did not throw
130
PASS syntax:'<angle>', initialValue:'10%' is invalid 
167
PASS syntax:'<angle>', initialValue:'10%' is invalid 
131
FAIL syntax:'<time>', initialValue:'2px' is invalid assert_throws: function "() => CSS.registerProperty({name: name, syntax: syntax, initialValue: initialValue, inherits: false})" did not throw
168
FAIL syntax:'<time>', initialValue:'2px' is invalid assert_throws_dom: function "() => CSS.registerProperty({name: name, syntax: syntax, initialValue: initialValue, inherits: false})" did not throw
132
PASS syntax:'<resolution>', initialValue:'10' is invalid 
169
PASS syntax:'<resolution>', initialValue:'10' is invalid 
133
PASS syntax:'<transform-function>', initialValue:'scale()' is invalid 
170
PASS syntax:'<transform-function>', initialValue:'scale()' is invalid 
134
PASS syntax:'<transform-list>', initialValue:'scale()' is invalid 
171
PASS syntax:'<transform-list>', initialValue:'scale()' is invalid 
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-properties-values-api/register-property-syntax-parsing.html -5 / +43 lines
Lines 1-4 a/LayoutTests/imported/w3c/web-platform-tests/css/css-properties-values-api/register-property-syntax-parsing.html_sec1
1
<!DOCTYPE HTML>
1
<!DOCTYPE HTML>
2
<meta charset="utf-8">
2
<link rel="help" href="https://drafts.css-houdini.org/css-properties-values-api/#dom-css-registerproperty" />
3
<link rel="help" href="https://drafts.css-houdini.org/css-properties-values-api/#dom-css-registerproperty" />
3
<link rel="help" href="https://drafts.css-houdini.org/css-properties-values-api/#supported-syntax-strings" />
4
<link rel="help" href="https://drafts.css-houdini.org/css-properties-values-api/#supported-syntax-strings" />
4
<script src="/resources/testharness.js"></script>
5
<script src="/resources/testharness.js"></script>
Lines 17-23 function assert_valid(syntax, initialValue) { a/LayoutTests/imported/w3c/web-platform-tests/css/css-properties-values-api/register-property-syntax-parsing.html_sec2
17
function assert_invalid(syntax, initialValue) {
18
function assert_invalid(syntax, initialValue) {
18
    test(function(){
19
    test(function(){
19
        var name = '--syntax-test-' + (test_count++);
20
        var name = '--syntax-test-' + (test_count++);
20
        assert_throws(new SyntaxError(),
21
        assert_throws_dom("SyntaxError",
21
            () => CSS.registerProperty({name: name, syntax: syntax, initialValue: initialValue, inherits: false}));
22
            () => CSS.registerProperty({name: name, syntax: syntax, initialValue: initialValue, inherits: false}));
22
    }, "syntax:'" + syntax + "', initialValue:'" + initialValue + "' is invalid");
23
    }, "syntax:'" + syntax + "', initialValue:'" + initialValue + "' is invalid");
23
}
24
}
Lines 29-37 assert_valid(" <number>", "5"); a/LayoutTests/imported/w3c/web-platform-tests/css/css-properties-values-api/register-property-syntax-parsing.html_sec3
29
assert_valid("<percentage> ", "10%");
30
assert_valid("<percentage> ", "10%");
30
assert_valid("<color>+", "red");
31
assert_valid("<color>+", "red");
31
assert_valid(" <length>+ | <percentage>", "2px 8px");
32
assert_valid(" <length>+ | <percentage>", "2px 8px");
33
assert_valid(" <length>+ | <color>#", "red, blue");
32
assert_valid("<length>|<percentage>|<length-percentage>", "2px"); // Valid but silly
34
assert_valid("<length>|<percentage>|<length-percentage>", "2px"); // Valid but silly
33
assert_valid("<color> | <image> | <url> | <integer> | <angle>", "red");
35
assert_valid("<color> | <image> | <url> | <integer> | <angle>", "red");
34
assert_valid("<time> | <resolution> | <transform-list> | <custom-ident>", "red");
36
assert_valid("<time> | <resolution> | <transform-list> | <custom-ident>", "red");
37
assert_valid("\t<color>\n|   foo", "foo");
35
38
36
assert_valid("*", ":> hello");
39
assert_valid("*", ":> hello");
37
assert_valid("*", "([ brackets ]) { yay (??)}");
40
assert_valid("*", "([ brackets ]) { yay (??)}");
Lines 51-56 assert_valid("<percentage>", "-9.3e3%"); a/LayoutTests/imported/w3c/web-platform-tests/css/css-properties-values-api/register-property-syntax-parsing.html_sec4
51
assert_valid("<length-percentage>", "-54%");
54
assert_valid("<length-percentage>", "-54%");
52
assert_valid("<length-percentage>", "0");
55
assert_valid("<length-percentage>", "0");
53
assert_valid("<length-percentage>", "calc(-11px + 10.4%)");
56
assert_valid("<length-percentage>", "calc(-11px + 10.4%)");
57
assert_valid("<length>", "10vmin");
58
assert_valid("<percentage> | <length>+", "calc(100vh - 10px) 30px");
54
59
55
assert_valid("<number>", "-109");
60
assert_valid("<number>", "-109");
56
assert_valid("<number>", "2.3e4");
61
assert_valid("<number>", "2.3e4");
Lines 86-95 assert_valid("banana", "banana"); a/LayoutTests/imported/w3c/web-platform-tests/css/css-properties-values-api/register-property-syntax-parsing.html_sec5
86
assert_valid("bAnAnA", "bAnAnA");
91
assert_valid("bAnAnA", "bAnAnA");
87
assert_valid("ba-na-nya", "ba-na-nya");
92
assert_valid("ba-na-nya", "ba-na-nya");
88
assert_valid("banana", "banan\\61");
93
assert_valid("banana", "banan\\61");
94
assert_valid("banan\\61", "banana");
89
assert_valid("<custom-ident>", "banan\\61");
95
assert_valid("<custom-ident>", "banan\\61");
90
assert_valid("big | bigger | BIGGER", "bigger");
96
assert_valid("big | bigger | BIGGER", "bigger");
91
assert_valid("foo+|bar", "foo foo foo");
97
assert_valid("foo+|bar", "foo foo foo");
92
assert_valid("default", "default");
93
98
94
assert_valid("banana\t", "banana");
99
assert_valid("banana\t", "banana");
95
assert_valid("\nbanana\r\n", "banana");
100
assert_valid("\nbanana\r\n", "banana");
Lines 99-107 assert_valid(null, "null"); a/LayoutTests/imported/w3c/web-platform-tests/css/css-properties-values-api/register-property-syntax-parsing.html_sec6
99
assert_valid(undefined, "undefined");
104
assert_valid(undefined, "undefined");
100
assert_valid(["array"], "array");
105
assert_valid(["array"], "array");
101
106
107
assert_valid("\\1F914", "🤔");
108
assert_valid("hmm\\1F914", "hmm🤔");
109
assert_valid("\\1F914hmm", "🤔hmm");
110
assert_valid("\\1F914 hmm", "🤔hmm");
111
assert_valid("\\1F914\\1F914", "🤔🤔");
112
102
// Invalid syntax
113
// Invalid syntax
103
assert_invalid("banana,nya", "banana");
114
assert_invalid("banana,nya", "banana");
104
assert_invalid("banan\\61", "banana");
105
assert_invalid("<\\6c ength>", "10px");
115
assert_invalid("<\\6c ength>", "10px");
106
assert_invalid("<banana>", "banana");
116
assert_invalid("<banana>", "banana");
107
assert_invalid("<Number>", "10");
117
assert_invalid("<Number>", "10");
Lines 110-135 assert_invalid("<LENGTH>", "10px"); a/LayoutTests/imported/w3c/web-platform-tests/css/css-properties-values-api/register-property-syntax-parsing.html_sec7
110
assert_invalid("< length>", "10px");
120
assert_invalid("< length>", "10px");
111
assert_invalid("<length >", "10px");
121
assert_invalid("<length >", "10px");
112
assert_invalid("<length> +", "10px");
122
assert_invalid("<length> +", "10px");
123
assert_invalid("<transform-list>+", "scale(2)");
124
assert_invalid("<transform-list>#", "scale(2)");
113
125
114
assert_invalid("<length>++", "10px");
126
assert_invalid("<length>++", "10px");
127
assert_invalid("<length>##", "10px");
128
assert_invalid("<length>+#", "10px");
129
assert_invalid("<length>#+", "10px");
115
assert_invalid("<length> | *", "10px");
130
assert_invalid("<length> | *", "10px");
116
assert_invalid("*|banana", "banana");
131
assert_invalid("*|banana", "banana");
132
assert_invalid("|banana", "banana");
117
assert_invalid("*+", "banana");
133
assert_invalid("*+", "banana");
134
assert_invalid("|", "banana");
135
assert_invalid(" |", "banana");
136
assert_invalid("||", "banana");
137
assert_invalid("foo bar", "foo bar");
138
assert_invalid("foo foo foo", "foo foo foo");
139
assert_invalid("foo § bar", "foo § bar");
140
assert_invalid("foo \\1F914 bar", "foo \\1F914 bar");
141
assert_invalid("<length> <number>", "0px 0");
142
assert_invalid("<length> <length> <length>", "0px 0px 0px");
118
143
119
assert_invalid("initial", "initial");
144
assert_invalid("initial", "initial");
120
assert_invalid("inherit", "inherit");
145
assert_invalid("inherit", "inherit");
121
assert_invalid("unset", "unset");
146
assert_invalid("unset", "unset");
147
assert_invalid("revert", "revert");
148
assert_invalid("default", "default");
122
assert_invalid("<length>|initial", "10px");
149
assert_invalid("<length>|initial", "10px");
123
assert_invalid("<length>|INHERIT", "10px");
150
assert_invalid("<length>|INHERIT", "10px");
124
assert_invalid("<percentage>|unsEt", "2%");
151
assert_invalid("<percentage>|unsEt", "2%");
152
assert_invalid("<color>|REVert", "red");
153
assert_invalid("<integer>|deFAUlt", "1");
125
154
126
// Invalid initialValue
155
// Invalid initialValue
127
assert_invalid("*", "initial");
156
assert_invalid("*", "initial");
128
assert_invalid("*", "inherit");
157
assert_invalid("*", "inherit");
129
assert_invalid("*", "unset");
158
assert_invalid("*", "unset");
130
assert_invalid("*", "revert");
159
assert_invalid("*", "revert");
160
assert_invalid("*", "default");
131
assert_invalid("<custom-ident>", "initial");
161
assert_invalid("<custom-ident>", "initial");
162
assert_invalid("<custom-ident>", "inherit");
163
assert_invalid("<custom-ident>", "unset");
164
assert_invalid("<custom-ident>", "revert");
165
assert_invalid("<custom-ident>", "default");
166
assert_invalid("<custom-ident>+", "foo initial bar");
132
assert_invalid("<custom-ident>+", "foo inherit bar");
167
assert_invalid("<custom-ident>+", "foo inherit bar");
168
assert_invalid("<custom-ident>+", "foo unset bar");
169
assert_invalid("<custom-ident>+", "foo revert bar");
170
assert_invalid("<custom-ident>+", "foo default bar");
133
171
134
assert_invalid("*", ")");
172
assert_invalid("*", ")");
135
assert_invalid("*", "([)]");
173
assert_invalid("*", "([)]");
Lines 147-166 assert_invalid("<length>", "10%"); a/LayoutTests/imported/w3c/web-platform-tests/css/css-properties-values-api/register-property-syntax-parsing.html_sec8
147
assert_invalid("<length>", "calc(5px + 10%)");
185
assert_invalid("<length>", "calc(5px + 10%)");
148
assert_invalid("<length>", "calc(5px * 3px / 6px)");
186
assert_invalid("<length>", "calc(5px * 3px / 6px)");
149
assert_invalid("<length>", "10em");
187
assert_invalid("<length>", "10em");
150
assert_invalid("<length>", "10vmin");
151
assert_invalid("<length>", "calc(4px + 3em)");
188
assert_invalid("<length>", "calc(4px + 3em)");
152
assert_invalid("<length>", "calc(4px + calc(8 * 2em))");
189
assert_invalid("<length>", "calc(4px + calc(8 * 2em))");
153
assert_invalid("<length>+", "calc(2ex + 16px)");
190
assert_invalid("<length>+", "calc(2ex + 16px)");
154
assert_invalid("<length>+", "10px calc(20px + 4rem)");
191
assert_invalid("<length>+", "10px calc(20px + 4rem)");
155
assert_invalid("<length>+", "");
192
assert_invalid("<length>+", "");
156
assert_invalid("<length>#", "");
193
assert_invalid("<length>#", "");
157
assert_invalid("<percentage> | <length>+", "calc(100vh - 10px) 30px");
158
assert_invalid("<length>", "10px;");
194
assert_invalid("<length>", "10px;");
159
assert_invalid("<length-percentage>", "calc(2px + 10% + 7ex)");
195
assert_invalid("<length-percentage>", "calc(2px + 10% + 7ex)");
160
assert_invalid("<percentage>", "0");
196
assert_invalid("<percentage>", "0");
161
assert_invalid("<integer>", "1.0");
197
assert_invalid("<integer>", "1.0");
162
assert_invalid("<integer>", "1e0");
198
assert_invalid("<integer>", "1e0");
163
assert_invalid("<number>|foo", "foo var(--foo, bla)");
199
assert_invalid("<number>|foo", "foo var(--foo, bla)");
200
assert_invalid("Foo | bar", "foo");
201
assert_invalid("Foo | bar", "Bar");
164
202
165
assert_invalid("<angle>", "0");
203
assert_invalid("<angle>", "0");
166
assert_invalid("<angle>", "10%");
204
assert_invalid("<angle>", "10%");
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-properties-values-api/register-property.html -13 / +13 lines
Lines 8-19 a/LayoutTests/imported/w3c/web-platform-tests/css/css-properties-values-api/register-property.html_sec1
8
// Tests for error checking during property registration
8
// Tests for error checking during property registration
9
9
10
test(function() {
10
test(function() {
11
    assert_throws(new TypeError(), () => CSS.registerProperty());
11
    assert_throws_js(TypeError, () => CSS.registerProperty());
12
    assert_throws(new TypeError(), () => CSS.registerProperty(undefined));
12
    assert_throws_js(TypeError, () => CSS.registerProperty(undefined));
13
    assert_throws(new TypeError(), () => CSS.registerProperty(true));
13
    assert_throws_js(TypeError, () => CSS.registerProperty(true));
14
    assert_throws(new TypeError(), () => CSS.registerProperty(2));
14
    assert_throws_js(TypeError, () => CSS.registerProperty(2));
15
    assert_throws(new TypeError(), () => CSS.registerProperty("css"));
15
    assert_throws_js(TypeError, () => CSS.registerProperty("css"));
16
    assert_throws(new TypeError(), () => CSS.registerProperty(null));
16
    assert_throws_js(TypeError, () => CSS.registerProperty(null));
17
}, "registerProperty requires a Dictionary type");
17
}, "registerProperty requires a Dictionary type");
18
18
19
test(function() {
19
test(function() {
Lines 23-51 test(function() { a/LayoutTests/imported/w3c/web-platform-tests/css/css-properties-values-api/register-property.html_sec2
23
    CSS.registerProperty({name: ['--name', 3], inherits: false});
23
    CSS.registerProperty({name: ['--name', 3], inherits: false});
24
24
25
    // Invalid property names
25
    // Invalid property names
26
    assert_throws(new TypeError(), () => CSS.registerProperty({}));
26
    assert_throws_js(TypeError, () => CSS.registerProperty({}));
27
    assert_throws(new SyntaxError(), () => CSS.registerProperty({name: 'no-leading-dash', inherits: false}));
27
    assert_throws_dom("SyntaxError", () => CSS.registerProperty({name: 'no-leading-dash', inherits: false}));
28
    assert_throws(new SyntaxError(), () => CSS.registerProperty({name: '', inherits: false}));
28
    assert_throws_dom("SyntaxError", () => CSS.registerProperty({name: '', inherits: false}));
29
    assert_throws(new SyntaxError(), () => CSS.registerProperty({name: '\\--name', inherits: false}));
29
    assert_throws_dom("SyntaxError", () => CSS.registerProperty({name: '\\--name', inherits: false}));
30
}, "registerProperty requires a name matching <custom-property-name>");
30
}, "registerProperty requires a name matching <custom-property-name>");
31
31
32
test(function() {
32
test(function() {
33
    CSS.registerProperty({name: '--syntax-test-1', syntax: '*', inherits: false});
33
    CSS.registerProperty({name: '--syntax-test-1', syntax: '*', inherits: false});
34
    CSS.registerProperty({name: '--syntax-test-2', syntax: ' * ', inherits: false});
34
    CSS.registerProperty({name: '--syntax-test-2', syntax: ' * ', inherits: false});
35
    assert_throws(new SyntaxError(),
35
    assert_throws_dom("SyntaxError",
36
        () => CSS.registerProperty({name: '--syntax-test-3', syntax: 'length', inherits: false}));
36
        () => CSS.registerProperty({name: '--syntax-test-3', syntax: 'length', inherits: false}));
37
}, "registerProperty only allows omitting initialValue if syntax is '*'");
37
}, "registerProperty only allows omitting initialValue if syntax is '*'");
38
38
39
test(function() {
39
test(function() {
40
    CSS.registerProperty({name: '--re-register', syntax: '<length>', initialValue: '0px', inherits: false});
40
    CSS.registerProperty({name: '--re-register', syntax: '<length>', initialValue: '0px', inherits: false});
41
    assert_throws({name: 'InvalidModificationError'},
41
    assert_throws_dom('InvalidModificationError',
42
        () => CSS.registerProperty({name: '--re-register', syntax: '<percentage>', initialValue: '0%', inherits: false}));
42
        () => CSS.registerProperty({name: '--re-register', syntax: '<percentage>', initialValue: '0%', inherits: false}));
43
}, "registerProperty fails for an already registered property");
43
}, "registerProperty fails for an already registered property");
44
44
45
test(function(){
45
test(function(){
46
    CSS.registerProperty({name: '--inherit-test-1', syntax: '<length>', initialValue: '0px', inherits: true});
46
    CSS.registerProperty({name: '--inherit-test-1', syntax: '<length>', initialValue: '0px', inherits: true});
47
    CSS.registerProperty({name: '--inherit-test-2', syntax: '<length>', initialValue: '0px', inherits: false});
47
    CSS.registerProperty({name: '--inherit-test-2', syntax: '<length>', initialValue: '0px', inherits: false});
48
    assert_throws(new TypeError(), () => CSS.registerProperty({name: '--inherit-test-3', syntax: '<length>', initialValue: '0px'}));
48
    assert_throws_js(TypeError, () => CSS.registerProperty({name: '--inherit-test-3', syntax: '<length>', initialValue: '0px'}));
49
}, "registerProperty requires inherits");
49
}, "registerProperty requires inherits");
50
50
51
test(function(){
51
test(function(){
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-properties-values-api/registered-property-change-style-001-expected.txt +4 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-properties-values-api/registered-property-change-style-001-expected.txt_sec1
1
2
FAIL New registered property declaration The given initial value does not parse for the given syntax.
3
FAIL Registered property overrides a previous declaration  The given initial value does not parse for the given syntax.
4
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-properties-values-api/registered-property-change-style-001.html +50 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-properties-values-api/registered-property-change-style-001.html_sec1
1
<!DOCTYPE html>
2
<meta charset="utf-8">
3
<title>CSS Variables Test: Style changes on registered properties using variables</title>
4
<link rel="author" title="Javier Fernandez Garcia-Boente" href="mailto:jfernandez@igalia.com">
5
<link rel="help" href="http://www.w3.org/TR/css-variables-1/#using-variables">
6
<meta name="assert" content="A change in the custom property declaration must be propagated to all the descendants">
7
<script src="/resources/testharness.js"></script>
8
<script src="/resources/testharnessreport.js"></script>
9
<div id="outer">
10
    <div id="inbetween">
11
        <div id="inner"></div>
12
    </div>
13
</div>
14
<script>
15
    "use strict";
16
    test( function () {
17
        outer.style.cssText = '';
18
        inbetween.style.cssText = '';
19
        inner.style.cssText = 'color: var(--color1)';
20
        let initialValue = getComputedStyle(inner).getPropertyValue('color');
21
        assert_equals(initialValue, "rgb(0, 0, 0)", "Initial value");
22
23
        inbetween.style.cssText = 'color: green';
24
        let inheritedValue = getComputedStyle(inner).getPropertyValue('color');
25
        assert_equals(inheritedValue, "rgb(0, 128, 0)", "Inherited value");
26
27
        CSS.registerProperty({name: '--color1', syntax: '<color>', initialValue: 'red', inherits: true});
28
        let actualValue = getComputedStyle(inner).getPropertyValue('color');
29
        assert_equals(actualValue, "rgb(255, 0, 0)", "Resolved value");
30
    }, "New registered property declaration");
31
32
    test( function () {
33
        outer.style.cssText = '';
34
        inbetween.style.cssText = '';
35
        inner.style.cssText = 'color: var(--color2)';
36
        let initialValue = getComputedStyle(inner).getPropertyValue('color');
37
        assert_equals(initialValue, "rgb(0, 0, 0)", "Initial value");
38
39
        outer.style.cssText = '--color2: blue';
40
        inbetween.style.cssText = 'color: green';
41
        let resolvedValue = getComputedStyle(inner).getPropertyValue('color');
42
        assert_equals(resolvedValue, "rgb(0, 0, 255)", "Resolved value");
43
44
        outer.style.cssText = '';
45
        CSS.registerProperty({name: '--color2', syntax: '<color>', initialValue: 'red', inherits: true});
46
        let actualValue = getComputedStyle(inner).getPropertyValue('color');
47
        assert_equals(actualValue, "rgb(255, 0, 0)", "Resolved value");
48
    }, "Registered property overrides a previous declaration ");
49
</script>
50
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-properties-values-api/registered-property-computation-expected.txt +5 lines
Lines 8-13 PASS <length> values are computed correctly [13vw] a/LayoutTests/imported/w3c/web-platform-tests/css/css-properties-values-api/registered-property-computation-expected.txt_sec1
8
PASS <length> values are computed correctly [14em] 
8
PASS <length> values are computed correctly [14em] 
9
PASS <length> values are computed correctly [15vmin] 
9
PASS <length> values are computed correctly [15vmin] 
10
PASS <length> values are computed correctly [calc(16px - 7em + 10vh)] 
10
PASS <length> values are computed correctly [calc(16px - 7em + 10vh)] 
11
PASS <length> values are computed correctly [1in] 
12
PASS <length> values are computed correctly [2.54cm] 
13
PASS <length> values are computed correctly [25.4mm] 
14
PASS <length> values are computed correctly [6pc] 
15
PASS <length> values are computed correctly [72pt] 
11
PASS <length-percentage> values are computed correctly [17em] 
16
PASS <length-percentage> values are computed correctly [17em] 
12
FAIL <length-percentage> values are computed correctly [18%] assert_equals: expected "18%" but got "0px"
17
FAIL <length-percentage> values are computed correctly [18%] assert_equals: expected "18%" but got "0px"
13
FAIL <length-percentage> values are computed correctly [calc(19em - 2%)] assert_equals: expected "calc(-2% + 190px)" but got "0px"
18
FAIL <length-percentage> values are computed correctly [calc(19em - 2%)] assert_equals: expected "calc(-2% + 190px)" but got "0px"
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-properties-values-api/registered-property-computation.html +6 lines
Lines 101-106 test_computed_value('<length>', '14em', '140px'); a/LayoutTests/imported/w3c/web-platform-tests/css/css-properties-values-api/registered-property-computation.html_sec1
101
test_computed_value('<length>', '15vmin', length_ref('15vmin'));
101
test_computed_value('<length>', '15vmin', length_ref('15vmin'));
102
test_computed_value('<length>', 'calc(16px - 7em + 10vh)', length_ref('calc(10vh - 54px)'));
102
test_computed_value('<length>', 'calc(16px - 7em + 10vh)', length_ref('calc(10vh - 54px)'));
103
103
104
test_computed_value('<length>', '1in', '96px');
105
test_computed_value('<length>', '2.54cm', '96px');
106
test_computed_value('<length>', '25.4mm', '96px');
107
test_computed_value('<length>', '6pc', '96px');
108
test_computed_value('<length>', '72pt', '96px');
109
104
test_computed_value('<length-percentage>', '17em', '170px');
110
test_computed_value('<length-percentage>', '17em', '170px');
105
test_computed_value('<length-percentage>', '18%', '18%');
111
test_computed_value('<length-percentage>', '18%', '18%');
106
test_computed_value('<length-percentage>', 'calc(19em - 2%)', 'calc(-2% + 190px)');
112
test_computed_value('<length-percentage>', 'calc(19em - 2%)', 'calc(-2% + 190px)');
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-properties-values-api/registered-property-cssom-expected.txt -2 / +2 lines
Lines 2-9 a/LayoutTests/imported/w3c/web-platform-tests/css/css-properties-values-api/registered-property-cssom-expected.txt_sec1
2
PASS CSSOM setters function as expected for unregistered properties 
2
PASS CSSOM setters function as expected for unregistered properties 
3
FAIL CSS.registerProperty The given initial value does not parse for the given syntax.
3
FAIL CSS.registerProperty The given initial value does not parse for the given syntax.
4
FAIL Formerly valid values are still readable from inline styles but are computed as the unset value assert_equals: expected "rgb(0, 0, 255)" but got "hello"
4
FAIL Formerly valid values are still readable from inline styles but are computed as the unset value assert_equals: expected "rgb(0, 0, 255)" but got "hello"
5
FAIL Values not matching the registered type can't be set assert_equals: expected "hello" but got "20"
5
FAIL Values not matching the registered type can still be set assert_equals: expected "hi" but got "5"
6
FAIL Values can be removed from inline styles assert_equals: expected "rgb(255, 0, 0)" but got " red"
6
FAIL Values can be removed from inline styles assert_equals: expected "rgb(255, 0, 0)" but got " red"
7
PASS Stylesheets can be modified by CSSOM 
7
FAIL Stylesheets can be modified by CSSOM assert_equals: expected "0px" but got "10px"
8
FAIL Valid values can be set on inline styles assert_equals: expected "rgb(255, 192, 203)" but got "pink"
8
FAIL Valid values can be set on inline styles assert_equals: expected "rgb(255, 192, 203)" but got "pink"
9
9
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-properties-values-api/registered-property-cssom.html -5 / +6 lines
Lines 52-60 test(function() { a/LayoutTests/imported/w3c/web-platform-tests/css/css-properties-values-api/registered-property-cssom.html_sec1
52
test(function() {
52
test(function() {
53
  inlineStyle.setProperty('--length', 'hi');
53
  inlineStyle.setProperty('--length', 'hi');
54
  inlineStyle.setProperty('--color', '20');
54
  inlineStyle.setProperty('--color', '20');
55
  assert_equals(inlineStyle.getPropertyValue('--length'), '5');
55
  assert_equals(inlineStyle.getPropertyValue('--length'), 'hi');
56
  assert_equals(inlineStyle.getPropertyValue('--color'), 'hello');
56
  assert_equals(inlineStyle.getPropertyValue('--color'), '20');
57
}, "Values not matching the registered type can't be set");
57
}, "Values not matching the registered type can still be set");
58
58
59
test(function() {
59
test(function() {
60
  inlineStyle.removeProperty('--length');
60
  inlineStyle.removeProperty('--length');
Lines 66-73 test(function() { a/LayoutTests/imported/w3c/web-platform-tests/css/css-properties-values-api/registered-property-cssom.html_sec2
66
}, "Values can be removed from inline styles");
66
}, "Values can be removed from inline styles");
67
67
68
test(function() {
68
test(function() {
69
  sheetStyle.setProperty('--length', 'banana'); // Invalid, no change
69
  // 'banana' is not a valid <length>, but still accepted.
70
  assert_equals(computedStyle.getPropertyValue('--length'), '10px');
70
  sheetStyle.setProperty('--length', 'banana');
71
  assert_equals(computedStyle.getPropertyValue('--length'), '0px');
71
  sheetStyle.setProperty('--length', '20px');
72
  sheetStyle.setProperty('--length', '20px');
72
  assert_equals(computedStyle.getPropertyValue('--length'), '20px');
73
  assert_equals(computedStyle.getPropertyValue('--length'), '20px');
73
  sheetStyle.setProperty('--length', 'initial');
74
  sheetStyle.setProperty('--length', 'initial');
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-properties-values-api/registered-property-initial-expected.txt +20 lines
Lines 1-11 a/LayoutTests/imported/w3c/web-platform-tests/css/css-properties-values-api/registered-property-initial-expected.txt_sec1
1
1
2
PASS Initial value for <length> correctly computed [calc(10px + 15px)] 
2
PASS Initial value for <length> correctly computed [calc(10px + 15px)] 
3
PASS Initial value for <length> correctly computed [1in] 
4
PASS Initial value for <length> correctly computed [2.54cm] 
5
PASS Initial value for <length> correctly computed [25.4mm] 
6
PASS Initial value for <length> correctly computed [6pc] 
7
PASS Initial value for <length> correctly computed [72pt] 
8
FAIL Initial value for <percentage> correctly computed [calc(10% + 20%)] The given initial value does not parse for the given syntax.
3
FAIL Initial value for <length-percentage> correctly computed [calc(1in + 10% + 4px)] The given initial value does not parse for the given syntax.
9
FAIL Initial value for <length-percentage> correctly computed [calc(1in + 10% + 4px)] The given initial value does not parse for the given syntax.
4
FAIL Initial value for <color> correctly computed [pink, inherits] The given initial value does not parse for the given syntax.
10
FAIL Initial value for <color> correctly computed [pink, inherits] The given initial value does not parse for the given syntax.
5
FAIL Initial value for <color> correctly computed [purple] The given initial value does not parse for the given syntax.
11
FAIL Initial value for <color> correctly computed [purple] The given initial value does not parse for the given syntax.
6
FAIL Initial value for <transform-function> correctly computed [rotate(42deg)] The given initial value does not parse for the given syntax.
12
FAIL Initial value for <transform-function> correctly computed [rotate(42deg)] The given initial value does not parse for the given syntax.
7
FAIL Initial value for <transform-list> correctly computed [scale(calc(2 + 2))] The given initial value does not parse for the given syntax.
13
FAIL Initial value for <transform-list> correctly computed [scale(calc(2 + 2))] The given initial value does not parse for the given syntax.
8
FAIL Initial value for <transform-list> correctly computed [scale(calc(2 + 1)) translateX(calc(3px + 1px))] The given initial value does not parse for the given syntax.
14
FAIL Initial value for <transform-list> correctly computed [scale(calc(2 + 1)) translateX(calc(3px + 1px))] The given initial value does not parse for the given syntax.
15
FAIL Initial value for <url> correctly computed [url(a)] The given initial value does not parse for the given syntax.
16
FAIL Initial value for <url>+ correctly computed [url(a) url(a)] The given initial value does not parse for the given syntax.
9
FAIL Initial inherited value can be substituted [purple, color] The given initial value does not parse for the given syntax.
17
FAIL Initial inherited value can be substituted [purple, color] The given initial value does not parse for the given syntax.
10
FAIL Initial non-inherited value can be substituted [pink, background-color] The given initial value does not parse for the given syntax.
18
FAIL Initial non-inherited value can be substituted [pink, background-color] The given initial value does not parse for the given syntax.
19
FAIL Initial non-inherited value can be substituted [	foo	, --x] The given initial value does not parse for the given syntax.
20
FAIL Initial non-inherited value can be substituted [	1turn, --x] The given initial value does not parse for the given syntax.
21
FAIL Initial non-inherited value can be substituted [ pink , --x] The given initial value does not parse for the given syntax.
22
FAIL Initial non-inherited value can be substituted [	test, --x] The given initial value does not parse for the given syntax.
23
FAIL Initial non-inherited value can be substituted [calc(20 + 20 + 10), --x] The given initial value does not parse for the given syntax.
24
FAIL Initial non-inherited value can be substituted [	calc(13% + 37px), --x] The given initial value does not parse for the given syntax.
25
PASS Initial non-inherited value can be substituted [calc(10px + 15px), --x] 
26
FAIL Initial non-inherited value can be substituted [calc(13 + 37), --x] The given initial value does not parse for the given syntax.
27
FAIL Initial non-inherited value can be substituted [calc(13% + 37%), --x] The given initial value does not parse for the given syntax.
28
FAIL Initial non-inherited value can be substituted [2000ms, --x] The given initial value does not parse for the given syntax.
29
FAIL Initial non-inherited value can be substituted [scale(calc(2 + 2)), --x] The given initial value does not parse for the given syntax.
30
FAIL Initial non-inherited value can be substituted [scale(calc(2 + 2)) translateX(calc(3px + 1px)), --x] The given initial value does not parse for the given syntax.
11
31
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-properties-values-api/registered-property-initial.html -2 / +28 lines
Lines 1-6 a/LayoutTests/imported/w3c/web-platform-tests/css/css-properties-values-api/registered-property-initial.html_sec1
1
<!DOCTYPE html>
1
<!DOCTYPE html>
2
<link rel="help" href="https://drafts.css-houdini.org/css-properties-values-api/#dom-propertydescriptor-initialvalue" />
2
<link rel="help" href="https://drafts.css-houdini.org/css-properties-values-api-1/#dom-propertydescriptor-initialvalue" />
3
<link rel="help" href="https://drafts.css-houdini.org/css-properties-values-api/#register-a-custom-property" />
3
<link rel="help" href="https://drafts.css-houdini.org/css-properties-values-api-1/#register-a-custom-property" />
4
<link rel="help" href="https://drafts.css-houdini.org/css-properties-values-api-1/#substitution" />
4
<script src="/resources/testharness.js"></script>
5
<script src="/resources/testharness.js"></script>
5
<script src="/resources/testharnessreport.js"></script>
6
<script src="/resources/testharnessreport.js"></script>
6
<script src="./resources/utils.js"></script>
7
<script src="./resources/utils.js"></script>
Lines 17-28 function test_initial_value(reg, expected) { a/LayoutTests/imported/w3c/web-platform-tests/css/css-properties-values-api/registered-property-initial.html_sec2
17
}
18
}
18
19
19
test_initial_value({ syntax: '<length>', initialValue: 'calc(10px + 15px)' }, '25px');
20
test_initial_value({ syntax: '<length>', initialValue: 'calc(10px + 15px)' }, '25px');
21
test_initial_value({ syntax: '<length>', initialValue: '1in' }, '96px');
22
test_initial_value({ syntax: '<length>', initialValue: '2.54cm' }, '96px');
23
test_initial_value({ syntax: '<length>', initialValue: '25.4mm' }, '96px');
24
test_initial_value({ syntax: '<length>', initialValue: '6pc' }, '96px');
25
test_initial_value({ syntax: '<length>', initialValue: '72pt' }, '96px');
26
test_initial_value({ syntax: '<percentage>', initialValue: 'calc(10% + 20%)' }, '30%');
20
test_initial_value({ syntax: '<length-percentage>', initialValue: 'calc(1in + 10% + 4px)' }, 'calc(10% + 100px)');
27
test_initial_value({ syntax: '<length-percentage>', initialValue: 'calc(1in + 10% + 4px)' }, 'calc(10% + 100px)');
21
test_initial_value({ syntax: '<color>', initialValue: 'pink', inherits: true }, 'rgb(255, 192, 203)');
28
test_initial_value({ syntax: '<color>', initialValue: 'pink', inherits: true }, 'rgb(255, 192, 203)');
22
test_initial_value({ syntax: '<color>', initialValue: 'purple' }, 'rgb(128, 0, 128)');
29
test_initial_value({ syntax: '<color>', initialValue: 'purple' }, 'rgb(128, 0, 128)');
23
test_initial_value({ syntax: '<transform-function>', initialValue: 'rotate(42deg)' }, 'rotate(42deg)');
30
test_initial_value({ syntax: '<transform-function>', initialValue: 'rotate(42deg)' }, 'rotate(42deg)');
24
test_initial_value({ syntax: '<transform-list>', initialValue: 'scale(calc(2 + 2))' }, 'scale(4)');
31
test_initial_value({ syntax: '<transform-list>', initialValue: 'scale(calc(2 + 2))' }, 'scale(4)');
25
test_initial_value({ syntax: '<transform-list>', initialValue: 'scale(calc(2 + 1)) translateX(calc(3px + 1px))' }, 'scale(3) translateX(4px)');
32
test_initial_value({ syntax: '<transform-list>', initialValue: 'scale(calc(2 + 1)) translateX(calc(3px + 1px))' }, 'scale(3) translateX(4px)');
33
test_initial_value({ syntax: '<url>', initialValue: 'url(a)' },
34
    `url("${new URL('a', document.baseURI)}")`);
35
test_initial_value({ syntax: '<url>+', initialValue: 'url(a) url(a)' },
36
    `url("${new URL('a', document.baseURI)}") url("${new URL('a', document.baseURI)}")`);
26
37
27
// Test that the initial value of the custom property 'reg' is successfully
38
// Test that the initial value of the custom property 'reg' is successfully
28
// substituted into 'property'.
39
// substituted into 'property'.
Lines 42-45 function test_substituted_value(reg, property, expected) { a/LayoutTests/imported/w3c/web-platform-tests/css/css-properties-values-api/registered-property-initial.html_sec3
42
test_substituted_value({ syntax: '<color>', initialValue: 'purple', inherits: true }, 'color', 'rgb(128, 0, 128)');
53
test_substituted_value({ syntax: '<color>', initialValue: 'purple', inherits: true }, 'color', 'rgb(128, 0, 128)');
43
test_substituted_value({ syntax: '<color>', initialValue: 'pink' }, 'background-color', 'rgb(255, 192, 203)');
54
test_substituted_value({ syntax: '<color>', initialValue: 'pink' }, 'background-color', 'rgb(255, 192, 203)');
44
55
56
// Registered properties shall substitute as a token sequence equivalent to
57
// their computed value.
58
test_substituted_value({ syntax: 'foo', initialValue: '\tfoo\t' }, '--x', 'foo');
59
test_substituted_value({ syntax: '<angle>', initialValue: '\t1turn' }, '--x', '360deg');
60
test_substituted_value({ syntax: '<color>', initialValue: ' pink ' }, '--x', 'rgb(255, 192, 203)');
61
test_substituted_value({ syntax: '<custom-ident>', initialValue: '\ttest' }, '--x', 'test');
62
test_substituted_value({ syntax: '<integer>', initialValue: 'calc(20 + 20 + 10)' }, '--x', '50');
63
test_substituted_value({ syntax: '<length-percentage>', initialValue: '\tcalc(13% + 37px)' }, '--x', 'calc(13% + 37px)');
64
test_substituted_value({ syntax: '<length>', initialValue: 'calc(10px + 15px)' }, '--x', '25px');
65
test_substituted_value({ syntax: '<number>', initialValue: 'calc(13 + 37)' }, '--x', '50');
66
test_substituted_value({ syntax: '<percentage>', initialValue: 'calc(13% + 37%)' }, '--x', '50%');
67
test_substituted_value({ syntax: '<time>', initialValue: '2000ms' }, '--x', '2s');
68
test_substituted_value({ syntax: '<transform-function>', initialValue: 'scale(calc(2 + 2))' }, '--x', 'scale(4)');
69
test_substituted_value({ syntax: '<transform-list>', initialValue: 'scale(calc(2 + 2)) translateX(calc(3px + 1px))' }, '--x', 'scale(4) translateX(4px)');
70
45
</script>
71
</script>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-properties-values-api/registered-property-revert-expected.txt +6 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-properties-values-api/registered-property-revert-expected.txt_sec1
1
2
PASS Inherited registered custom property can be reverted 
3
PASS Non-inherited registered custom property can be reverted 
4
FAIL Non-inherited registered custom property can be reverted in animation assert_equals: expected "50px" but got "0px"
5
FAIL Inherited registered custom property can be reverted in animation assert_equals: expected "50px" but got "0px"
6
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-properties-values-api/registered-property-revert.html +94 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-properties-values-api/registered-property-revert.html_sec1
1
<!DOCTYPE html>
2
<link rel="help" href="https://drafts.css-houdini.org/css-properties-values-api-1" />
3
<link rel="help" href="https://drafts.csswg.org/css-cascade/#default" />
4
<script src="/resources/testharness.js"></script>
5
<script src="/resources/testharnessreport.js"></script>
6
<style>
7
    #parent {
8
        --inherited: 10px;
9
        --non-inherited: 10px;
10
    }
11
    #child {
12
        --inherited: 20px;
13
        --non-inherited: 20px;
14
        --inherited: revert;
15
        --non-inherited: revert;
16
    }
17
18
    @keyframes revert_animation {
19
        from {
20
            --animated-inherited: revert;
21
            --animated-non-inherited: revert;
22
        }
23
        to {
24
            --animated-inherited: 100px;
25
            --animated-non-inherited: 100px;
26
        }
27
    }
28
29
    #animated_parent {
30
        --animated-inherited: 0px;
31
    }
32
    #animated_child {
33
        animation: revert_animation 10s -5s linear paused;
34
    }
35
</style>
36
<div id=parent>
37
    <div id=child>
38
    </div>
39
</div>
40
<div id=animated_parent>
41
    <div id=animated_child>
42
    </div>
43
</div>
44
<script>
45
46
CSS.registerProperty({
47
    name: "--inherited",
48
    syntax: "<length>",
49
    initialValue: "0px",
50
    inherits: true
51
});
52
53
CSS.registerProperty({
54
    name: "--non-inherited",
55
    syntax: "<length>",
56
    initialValue: "0px",
57
    inherits: false
58
});
59
60
CSS.registerProperty({
61
    name: "--animated-non-inherited",
62
    syntax: "<length>",
63
    initialValue: "0px",
64
    inherits: false
65
});
66
67
CSS.registerProperty({
68
    name: "--animated-inherited",
69
    syntax: "<length>",
70
    initialValue: "10000px",
71
    inherits: true
72
});
73
74
test(function(){
75
    let cs = getComputedStyle(child);
76
    assert_equals(cs.getPropertyValue('--inherited'), '10px');
77
}, 'Inherited registered custom property can be reverted');
78
79
test(function(){
80
    let cs = getComputedStyle(child);
81
    assert_equals(cs.getPropertyValue('--non-inherited'), '0px');
82
}, 'Non-inherited registered custom property can be reverted');
83
84
test(function(){
85
    let cs = getComputedStyle(animated_child);
86
    assert_equals(cs.getPropertyValue('--animated-non-inherited'), '50px');
87
}, 'Non-inherited registered custom property can be reverted in animation');
88
89
test(function(){
90
    let cs = getComputedStyle(animated_child);
91
    assert_equals(cs.getPropertyValue('--animated-inherited'), '50px');
92
}, 'Inherited registered custom property can be reverted in animation');
93
94
</script>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-properties-values-api/resources/utils.js +32 lines
Lines 92-94 function all_syntaxes() { a/LayoutTests/imported/w3c/web-platform-tests/css/css-properties-values-api/resources/utils.js_sec1
92
    '<url>'
92
    '<url>'
93
  ]
93
  ]
94
}
94
}
95
96
function with_style_node(text, fn) {
97
  let node = document.createElement('style');
98
  node.textContent = text;
99
  try {
100
    document.body.append(node);
101
    fn(node);
102
  } finally {
103
    node.remove();
104
  }
105
}
106
107
function with_at_property(desc, fn) {
108
  let name = typeof(desc.name) === 'undefined' ? generate_name() : desc.name;
109
  let text = `@property ${name} {`;
110
  if (typeof(desc.syntax) !== 'undefined')
111
    text += `syntax:${desc.syntax};`;
112
  if (typeof(desc.initialValue) !== 'undefined')
113
    text += `initial-value:${desc.initialValue};`;
114
  if (typeof(desc.inherits) !== 'undefined')
115
    text += `inherits:${desc.inherits};`;
116
  text += '}';
117
  with_style_node(text, (node) => fn(name, node.sheet.rules[0]));
118
}
119
120
function test_with_at_property(desc, fn, description) {
121
  test(() => with_at_property(desc, fn), description);
122
}
123
124
function test_with_style_node(text, fn, description) {
125
  test(() => with_style_node(text, fn), description);
126
}
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-properties-values-api/self-utils.html -3 / +3 lines
Lines 33-41 test(function(){ a/LayoutTests/imported/w3c/web-platform-tests/css/css-properties-values-api/self-utils.html_sec1
33
}, 'Generated properties respect inherits flag');
33
}, 'Generated properties respect inherits flag');
34
34
35
test(function(){
35
test(function(){
36
  assert_throws(new Error(), () => generate_property({syntax: '<length>', foo: 1}));
36
  assert_throws_js(Error, () => generate_property({syntax: '<length>', foo: 1}));
37
  assert_throws(new Error(), () => generate_property({syntax: '<length>', inherited: false}));
37
  assert_throws_js(Error, () => generate_property({syntax: '<length>', inherited: false}));
38
  assert_throws(new Error(), () => generate_property({syntax: '<length>', initial: '10px'}));
38
  assert_throws_js(Error, () => generate_property({syntax: '<length>', initial: '10px'}));
39
}, 'Can\'t generate property with unknown fields');
39
}, 'Can\'t generate property with unknown fields');
40
40
41
</script>
41
</script>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-properties-values-api/typedom-expected.txt +6 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-properties-values-api/typedom-expected.txt_sec1
1
CONSOLE MESSAGE: TypeError: target.attributeStyleMap.clear is not a function. (In 'target.attributeStyleMap.clear()', 'target.attributeStyleMap.clear' is undefined)
2
3
Harness Error (FAIL), message = TypeError: target.attributeStyleMap.clear is not a function. (In 'target.attributeStyleMap.clear()', 'target.attributeStyleMap.clear' is undefined)
4
5
FAIL Computed * is reified as CSSUnparsedValue target.computedStyleMap is not a function. (In 'target.computedStyleMap()', 'target.computedStyleMap' is undefined)
6
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-properties-values-api/typedom.html +993 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-properties-values-api/typedom.html_sec1
1
<!DOCTYPE html>
2
<link rel="help" href="https://drafts.css-houdini.org/css-properties-values-api-1/#css-style-value-reification" />
3
<meta name="assert" content="Verifies that registered custom properties interact correctly with CSS Typed OM" />
4
<script src="/resources/testharness.js"></script>
5
<script src="/resources/testharnessreport.js"></script>
6
<script src="./resources/utils.js"></script>
7
<style id=style>
8
    div {}
9
</style>
10
<div id=target></div>
11
12
<script>
13
14
// Cleans style rules used for testing between every test.
15
add_result_callback(function(){
16
    target.attributeStyleMap.clear();
17
    // Clears 'div' rule in #style:
18
    style.sheet.rules[0].styleMap.clear();
19
});
20
21
// In the following utility functions, the 'map' parameter (if present)
22
// can be any StylePropertyMap. (Not StylePropertyMapReadOnly).
23
24
// Verifies that get()/getAll() reifies the specified property to a
25
// CSSUnparsedValue, with a string serialization equal to 'value'.
26
function verify_map_get_unparsed(map, name, value) {
27
    map.set(name, value);
28
29
    let specifiedValue = map.get(name);
30
    assert_true(specifiedValue instanceof CSSUnparsedValue);
31
    assert_equals(specifiedValue.toString(), value);
32
33
    let allSpecifiedValues = map.getAll(name);
34
    assert_equals(allSpecifiedValues.length, 1);
35
    assert_true(allSpecifiedValues[0] instanceof CSSUnparsedValue);
36
    assert_equals(allSpecifiedValues[0].toString(), value);
37
}
38
39
// Verifies that the specified value is accepted by set().
40
function verify_map_set(map, name, value) {
41
    map.set(name, value);
42
    assert_equals(map.get(name).toString(), value.toString());
43
}
44
45
// Verifies that the specified value is NOT accepted by set().
46
function verify_map_not_set(map, name, value) {
47
    assert_throws_js(TypeError, () => {
48
        map.set(name, value);
49
    });
50
}
51
52
// Verifies that the specified value is NOT accepted by append().
53
function verify_map_no_append(map, name, value) {
54
    assert_throws_js(TypeError, () => {
55
        map.append(name, value);
56
    });
57
}
58
59
// Verifies that the property 'name' shows up on iteration, that it's reified
60
// as a CSSUnparsedValue, and that the string representation is equal to
61
// 'value'.
62
function verify_map_iteration_unparsed(map, name, value) {
63
    map.set(name, value);
64
    let result = Array.from(map).filter(e => e[0] == name)[0];
65
    assert_equals(result.length, 2);
66
    let iter_value = result[1];
67
    assert_equals(iter_value.length, 1);
68
    assert_true(iter_value[0] instanceof CSSUnparsedValue);
69
    assert_equals(iter_value[0].toString(), value);
70
}
71
72
// Verifies that CSSStyleValue.parse/parseAll results in a CSSStyleValue with
73
// the 'expected' type.
74
function verify_parsed_type(prop, value, expected) {
75
    let parse_value = CSSStyleValue.parse(prop, value);
76
    let parse_all_value = CSSStyleValue.parseAll(prop, value);
77
78
    assert_true(parse_value instanceof expected);
79
    assert_true(parse_all_value.every(x => x instanceof expected))
80
}
81
82
// On the target element, verify that computed value of 'name' is an instance
83
// of 'expected' and not an instance of CSSUnparsedValue.
84
//
85
// If 'value' is non-null, that value is first set using the style attribute
86
// of the target element.
87
function verify_computed_type(name, value, expected) {
88
    if (expected == CSSUnparsedValue) {
89
        throw 'CSSUnparsedValue may not be used as expected type';
90
    }
91
92
    try {
93
        if (value != null) {
94
            target.style = `${name}: ${value}`;
95
        }
96
97
        let computedValue = target.computedStyleMap().get(name);
98
99
        assert_false(computedValue instanceof CSSUnparsedValue);
100
        assert_true(computedValue instanceof expected);
101
    } finally {
102
        if (value != null) {
103
            target.style = '';
104
        }
105
    }
106
}
107
108
// Verifies that the property 'name' shows up on iteration, that it's reified
109
// to the specified type, and that the string representation is equal to 'value'.
110
function verify_computed_iteration_type(name, value, type) {
111
    target.attributeStyleMap.set(name, value);
112
    let result = Array.from(target.computedStyleMap()).filter(e => e[0] == name)[0];
113
    assert_equals(result.length, 2);
114
    let iter_value = result[1];
115
    assert_equals(iter_value.length, 1);
116
    assert_true(iter_value[0] instanceof type);
117
    assert_equals(iter_value[0].toString(), value);
118
}
119
120
// Run the same test twice: once for each StylePropertyMap.
121
//
122
// https://drafts.css-houdini.org/css-typed-om-1/#stylepropertymap
123
function test_specified_maps(func, description) {
124
    test(function(){
125
        func(target.attributeStyleMap)
126
    }, description + ' [attributeStyleMap]');
127
128
    test(function(){
129
        let rule = style.sheet.rules[0];
130
        func(rule.styleMap)
131
    }, description + ' [styleMap]');
132
}
133
134
// StylePropertyMapReadOnly.get
135
136
test(function(){
137
    let name = generate_property('*', 'if(){}');
138
    assert_true(target.computedStyleMap().get(name) instanceof CSSUnparsedValue);
139
140
    target.attributeStyleMap.set(name, 'as{}df');
141
    assert_true(target.computedStyleMap().get(name) instanceof CSSUnparsedValue);
142
    target.attributeStyleMap.delete(name);
143
}, 'Computed * is reified as CSSUnparsedValue');
144
145
test(function(){
146
    verify_computed_type(generate_property('<angle>'), null, CSSUnitValue);
147
    verify_computed_type(generate_property('fail | <angle> '), '42deg', CSSUnitValue);
148
}, 'Computed <angle> is reified as CSSUnitValue');
149
150
test(function(){
151
    verify_computed_type(generate_property('<color>'), null, CSSStyleValue);
152
    verify_computed_type(generate_property('fail | <color> '), null, CSSStyleValue);
153
}, 'Computed <color> is reified as CSSStyleValue');
154
155
test(function(){
156
    verify_computed_type(generate_property('<custom-ident>'), null, CSSKeywordValue);
157
    verify_computed_type(generate_property('<custom-ident> | <length>'), 'none', CSSKeywordValue);
158
}, 'Computed <custom-ident> is reified as CSSKeywordValue');
159
160
test(function(){
161
    verify_computed_type(generate_property('<image>'), null, CSSImageValue);
162
    verify_computed_type(generate_property('fail | <image> '), 'url(thing.png)', CSSImageValue);
163
}, 'Computed <image> [url] is reified as CSSImageValue');
164
165
test(function(){
166
    verify_computed_type(generate_property('<integer>'), null, CSSUnitValue);
167
    verify_computed_type(generate_property('fail | <integer> '), '100', CSSUnitValue);
168
}, 'Computed <integer> is reified as CSSUnitValue');
169
170
test(function(){
171
    verify_computed_type(generate_property('<length-percentage>'), null, CSSUnitValue);
172
    verify_computed_type(generate_property('fail | <length-percentage> '), '10%', CSSUnitValue);
173
}, 'Computed <length-percentage> [%] is reified as CSSUnitValue');
174
175
test(function(){
176
    verify_computed_type(generate_property('<length-percentage>'), null, CSSUnitValue);
177
    verify_computed_type(generate_property('fail | <length-percentage> '), '10px', CSSUnitValue);
178
}, 'Computed <length-percentage> [px] is reified as CSSUnitValue');
179
180
test(function(){
181
    verify_computed_type(generate_property({syntax: '<length-percentage>', initialValue: 'calc(10% + 10px)'}), null, CSSMathSum);
182
    verify_computed_type(generate_property('fail | <length-percentage> '), 'calc(10px + 10%)', CSSMathSum);
183
}, 'Computed <length-percentage> [px + %] is reified as CSSMathSum');
184
185
test(function(){
186
    verify_computed_type(generate_property('<length>'), null, CSSUnitValue);
187
    verify_computed_type(generate_property('fail | <length> '), '10px', CSSUnitValue);
188
}, 'Computed <length> is reified as CSSUnitValue');
189
190
test(function(){
191
    verify_computed_type(generate_property('<number>'), null, CSSUnitValue);
192
    verify_computed_type(generate_property('fail | <number> '), '42', CSSUnitValue);
193
}, 'Computed <number> is reified as CSSUnitValue');
194
195
test(function(){
196
    verify_computed_type(generate_property('<percentage>'), null, CSSUnitValue);
197
    verify_computed_type(generate_property('fail | <percentage> '), '10%', CSSUnitValue);
198
}, 'Computed <percentage> is reified as CSSUnitValue');
199
200
test(function(){
201
    verify_computed_type(generate_property('<resolution>'), null, CSSUnitValue);
202
    verify_computed_type(generate_property('fail | <resolution> '), '300dpi', CSSUnitValue);
203
}, 'Computed <resolution> is reified as CSSUnitValue');
204
205
test(function(){
206
    verify_computed_type(generate_property('<time>'), null, CSSUnitValue);
207
    verify_computed_type(generate_property('fail | <time> '), '42s', CSSUnitValue);
208
}, 'Computed <time> is reified as CSSUnitValue');
209
210
test(function(){
211
    verify_computed_type(generate_property('<url>'), null, CSSStyleValue);
212
    verify_computed_type(generate_property('fail | <url> '), 'url(a)', CSSStyleValue);
213
}, 'Computed <url> is reified as CSSStyleValue');
214
215
test(function(){
216
    verify_computed_type(generate_property('thing1 | THING2'), null, CSSKeywordValue);
217
    verify_computed_type(generate_property('thing1 | THING2 | <url>'), 'THING2', CSSKeywordValue);
218
}, 'Computed ident is reified as CSSKeywordValue');
219
220
test(function(){
221
    verify_computed_type(generate_property('<length>+'), null, CSSUnitValue);
222
    verify_computed_type(generate_property('<length>+'), '10px 20px', CSSUnitValue);
223
}, 'First computed value correctly reified in space-separated list');
224
225
test(function(){
226
    verify_computed_type(generate_property('<length>#'), null, CSSUnitValue);
227
    verify_computed_type(generate_property('<length>#'), '10px, 20px', CSSUnitValue);
228
}, 'First computed value correctly reified in comma-separated list');
229
230
// StylePropertyMapReadOnly.getAll
231
232
test(function(){
233
    let name = generate_property({syntax: '<length>+', initialValue: '10px 20px'});
234
    assert_equals(target.computedStyleMap().getAll(name).length, 2);
235
    assert_true(target.computedStyleMap().getAll(name).every(x => x instanceof CSSUnitValue));
236
237
    target.style = `${name}: 10px 20px 30px`;
238
    assert_equals(target.computedStyleMap().getAll(name).length, 3);
239
    assert_true(target.computedStyleMap().getAll(name).every(x => x instanceof CSSUnitValue));
240
}, 'All computed values correctly reified in space-separated list');
241
242
test(function(){
243
    let name = generate_property({syntax: '<length>#', initialValue: '10px, 20px'});
244
    assert_equals(target.computedStyleMap().getAll(name).length, 2);
245
    assert_true(target.computedStyleMap().getAll(name).every(x => x instanceof CSSUnitValue));
246
247
    target.style = `${name}: 10px, 20px, 30px`;
248
    assert_equals(target.computedStyleMap().getAll(name).length, 3);
249
    assert_true(target.computedStyleMap().getAll(name).every(x => x instanceof CSSUnitValue));
250
}, 'All computed values correctly reified in comma-separated list');
251
252
// StylePropertyMap.get/All
253
254
test_specified_maps(function(map){
255
    verify_map_get_unparsed(map, generate_property('*'), 'foo');
256
}, 'Specified * is reified as CSSUnparsedValue from get/getAll');
257
258
test_specified_maps(function(map){
259
    verify_map_get_unparsed(map, generate_property('foo'), 'foo');
260
}, 'Specified foo is reified as CSSUnparsedValue from get/getAll');
261
262
test_specified_maps(function(map){
263
    verify_map_get_unparsed(map, generate_property('<angle>'), '10deg');
264
}, 'Specified <angle> is reified as CSSUnparsedValue from get/getAll');
265
266
test_specified_maps(function(map){
267
    verify_map_get_unparsed(map, generate_property('<color>'), 'green');
268
}, 'Specified <color> is reified as CSSUnparsedValue from get/getAll');
269
270
test_specified_maps(function(map){
271
    verify_map_get_unparsed(map, generate_property('<custom-ident>'), 'foo');
272
}, 'Specified <custom-ident> is reified as CSSUnparsedValue from get/getAll');
273
274
test_specified_maps(function(map){
275
    verify_map_get_unparsed(map, generate_property('<image>'), 'url("a")');
276
}, 'Specified <image> is reified as CSSUnparsedValue from get/getAll');
277
278
test_specified_maps(function(map){
279
    verify_map_get_unparsed(map, generate_property('<integer>'), '1');
280
}, 'Specified <integer> is reified as CSSUnparsedValue from get/getAll');
281
282
test_specified_maps(function(map){
283
    verify_map_get_unparsed(map, generate_property('<length-percentage>'), 'calc(10% + 10px)');
284
}, 'Specified <length-percentage> is reified as CSSUnparsedValue from get/getAll');
285
286
test_specified_maps(function(map){
287
    verify_map_get_unparsed(map, generate_property('<length>'), '10px');
288
}, 'Specified <length> is reified as CSSUnparsedValue from get/getAll');
289
290
test_specified_maps(function(map){
291
    verify_map_get_unparsed(map, generate_property('<number>'), '1');
292
}, 'Specified <number> is reified as CSSUnparsedValue from get/getAll');
293
294
test_specified_maps(function(map){
295
    verify_map_get_unparsed(map, generate_property('<percentage>'), '10%');
296
}, 'Specified <percentage> is reified as CSSUnparsedValue from get/getAll');
297
298
test_specified_maps(function(map){
299
    verify_map_get_unparsed(map, generate_property('<resolution>'), '10dpi');
300
}, 'Specified <resolution> is reified as CSSUnparsedValue from get/getAll');
301
302
test_specified_maps(function(map){
303
    verify_map_get_unparsed(map, generate_property('<time>'), '1s');
304
}, 'Specified <time> is reified as CSSUnparsedValue from get/getAll');
305
306
test_specified_maps(function(map){
307
    verify_map_get_unparsed(map, generate_property('<transform-function>'), 'matrix(0, 0, 0, 0, 0, 0)');
308
}, 'Specified <transform-function> is reified as CSSUnparsedValue from get/getAll');
309
310
test_specified_maps(function(map){
311
    verify_map_get_unparsed(map, generate_property('<transform-list>'), 'matrix(0, 0, 0, 0, 0, 0)');
312
}, 'Specified <transform-list> is reified as CSSUnparsedValue from get/getAll');
313
314
test_specified_maps(function(map){
315
    verify_map_get_unparsed(map, generate_property('<url>'), 'url("a")');
316
}, 'Specified <url> is reified as CSSUnparsedValue from get/getAll');
317
318
test_specified_maps(function(map){
319
    verify_map_get_unparsed(map, generate_property('<length>+'), '10px 11px');
320
}, 'Specified <length>+ is reified as CSSUnparsedValue from get/getAll');
321
322
test_specified_maps(function(map){
323
    verify_map_get_unparsed(map, generate_property('<length>#'), '10px, 11px');
324
}, 'Specified <length># is reified as CSSUnparsedValue from get/getAll');
325
326
// StylePropertyMap.set
327
328
// The following strings are valid for the specified syntax, and should be
329
// accepted by set().
330
331
test_specified_maps(function(map){
332
    verify_map_set(map, generate_property('*'), 'foo');
333
}, 'Specified string "foo" accepted by set() for syntax *');
334
335
test_specified_maps(function(map){
336
    verify_map_set(map, generate_property('foo'), 'foo');
337
}, 'Specified string "foo" accepted by set() for syntax foo');
338
339
test_specified_maps(function(map){
340
    verify_map_set(map, generate_property('<angle>'), '10deg');
341
}, 'Specified string "10deg" accepted by set() for syntax <angle>');
342
343
test_specified_maps(function(map){
344
    verify_map_set(map, generate_property('<color>'), 'green');
345
}, 'Specified string "green" accepted by set() for syntax <color>');
346
347
test_specified_maps(function(map){
348
    verify_map_set(map, generate_property('<custom-ident>'), 'foo');
349
}, 'Specified string "foo" accepted by set() for syntax <custom-ident>');
350
351
test_specified_maps(function(map){
352
    verify_map_set(map, generate_property('<image>'), 'url("a")');
353
}, 'Specified string "url("a")" accepted by set() for syntax <image>');
354
355
test_specified_maps(function(map){
356
    verify_map_set(map, generate_property('<integer>'), '1');
357
}, 'Specified string "1" accepted by set() for syntax <integer>');
358
359
test_specified_maps(function(map){
360
    verify_map_set(map, generate_property('<length-percentage>'), 'calc(10% + 10px)');
361
}, 'Specified string "calc(10% + 10px)" accepted by set() for syntax <length-percentage>');
362
363
test_specified_maps(function(map){
364
    verify_map_set(map, generate_property('<length>'), '10px');
365
}, 'Specified string "10px" accepted by set() for syntax <length>');
366
367
test_specified_maps(function(map){
368
    verify_map_set(map, generate_property('<number>'), '1');
369
}, 'Specified string "1" accepted by set() for syntax <number>');
370
371
test_specified_maps(function(map){
372
    verify_map_set(map, generate_property('<percentage>'), '10%');
373
}, 'Specified string "10%" accepted by set() for syntax <percentage>');
374
375
test_specified_maps(function(map){
376
    verify_map_set(map, generate_property('<resolution>'), '10dpi');
377
}, 'Specified string "10dpi" accepted by set() for syntax <resolution>');
378
379
test_specified_maps(function(map){
380
    verify_map_set(map, generate_property('<time>'), '1s');
381
}, 'Specified string "1s" accepted by set() for syntax <time>');
382
383
test_specified_maps(function(map){
384
    verify_map_set(map, generate_property('<transform-function>'), 'matrix(0, 0, 0, 0, 0, 0)');
385
}, 'Specified string "matrix(0, 0, 0, 0, 0, 0)" accepted by set() for syntax <transform-function>');
386
387
test_specified_maps(function(map){
388
    verify_map_set(map, generate_property('<transform-list>'), 'matrix(0, 0, 0, 0, 0, 0)');
389
}, 'Specified string "matrix(0, 0, 0, 0, 0, 0)" accepted by set() for syntax <transform-list>');
390
391
test_specified_maps(function(map){
392
    verify_map_set(map, generate_property('<url>'), 'url("a")');
393
}, 'Specified string "url("a")" accepted by set() for syntax <url>');
394
395
test_specified_maps(function(map){
396
    verify_map_set(map, generate_property('<length>+'), '10px 11px');
397
}, 'Specified string "10px 11px" accepted by set() for syntax <length>+');
398
399
test_specified_maps(function(map){
400
    verify_map_set(map, generate_property('<length>#'), '10px, 11px');
401
}, 'Specified string "10px, 11px" accepted by set() for syntax <length>#');
402
403
// The following strings are invalid for the specified syntax, but should
404
// should be accepted by set().
405
406
test_specified_maps(function(map){
407
    verify_map_set(map, generate_property('foo'), 'bar');
408
}, 'Specified string "bar" accepted by set() for syntax foo');
409
410
test_specified_maps(function(map){
411
    verify_map_set(map, generate_property('<angle>'), '10px');
412
}, 'Specified string "10px" accepted by set() for syntax <angle>');
413
414
test_specified_maps(function(map){
415
    verify_map_set(map, generate_property('<color>'), '10px');
416
}, 'Specified string "10px" accepted by set() for syntax <color>');
417
418
test_specified_maps(function(map){
419
    verify_map_set(map, generate_property('<custom-ident>'), '10px');
420
}, 'Specified string "10px" accepted by set() for syntax <custom-ident>');
421
422
test_specified_maps(function(map){
423
    verify_map_set(map, generate_property('<image>'), 'a');
424
}, 'Specified string "a" accepted by set() for syntax <image>');
425
426
test_specified_maps(function(map){
427
    verify_map_set(map, generate_property('<integer>'), 'float');
428
}, 'Specified string "float" accepted by set() for syntax <integer>');
429
430
test_specified_maps(function(map){
431
    verify_map_set(map, generate_property('<length-percentage>'), 'red');
432
}, 'Specified string "red" accepted by set() for syntax <length-percentage>');
433
434
test_specified_maps(function(map){
435
    verify_map_set(map, generate_property('<length>'), 'red');
436
}, 'Specified string "red" accepted by set() for syntax <length>');
437
438
test_specified_maps(function(map){
439
    verify_map_set(map, generate_property('<number>'), 'red');
440
}, 'Specified string "red" accepted by set() for syntax <number>');
441
442
test_specified_maps(function(map){
443
    verify_map_set(map, generate_property('<percentage>'), 'var(--x)');
444
}, 'Specified string "var(--x)" accepted by set() for syntax <percentage>');
445
446
test_specified_maps(function(map){
447
    verify_map_set(map, generate_property('<resolution>'), 'blue');
448
}, 'Specified string "blue" accepted by set() for syntax <resolution>');
449
450
test_specified_maps(function(map){
451
    verify_map_set(map, generate_property('<time>'), '1meter');
452
}, 'Specified string "1meter" accepted by set() for syntax <time>');
453
454
test_specified_maps(function(map){
455
    verify_map_set(map, generate_property('<transform-function>'), 'foo(0)');
456
}, 'Specified string "foo(0)" accepted by set() for syntax <transform-function>');
457
458
test_specified_maps(function(map){
459
    verify_map_set(map, generate_property('<transform-list>'), 'bar(1)');
460
}, 'Specified string "bar(1)" accepted by set() for syntax <transform-list>');
461
462
test_specified_maps(function(map){
463
    verify_map_set(map, generate_property('<url>'), 'a');
464
}, 'Specified string "a" accepted by set() for syntax <url>');
465
466
test_specified_maps(function(map){
467
    verify_map_set(map, generate_property('<length>+'), 'a b');
468
}, 'Specified string "a b" accepted by set() for syntax <length>+');
469
470
test_specified_maps(function(map){
471
    verify_map_set(map, generate_property('<length>#'), 'a, b');
472
}, 'Specified string "a, b" accepted by set() for syntax <length>#');
473
474
// CSSUnparsedValue should always be accepted by any custom property,
475
// regardless of registation status.
476
477
const unparsed = CSSStyleValue.parse('--x', 'foo bar thing');
478
479
test_specified_maps(function(map){
480
    verify_map_set(map, generate_property('*'), unparsed);
481
}, 'CSSUnparsedValue is accepted via set() for syntax *');
482
483
test_specified_maps(function(map){
484
    verify_map_set(map, generate_property('foo'), unparsed);
485
}, 'CSSUnparsedValue is accepted via set() for syntax foo');
486
487
test_specified_maps(function(map){
488
    verify_map_set(map, generate_property('<angle>'), unparsed);
489
}, 'CSSUnparsedValue is accepted via set() for syntax <angle>');
490
491
test_specified_maps(function(map){
492
    verify_map_set(map, generate_property('<color>'), unparsed);
493
}, 'CSSUnparsedValue is accepted via set() for syntax <color>');
494
495
test_specified_maps(function(map){
496
    verify_map_set(map, generate_property('<custom-ident>'), unparsed);
497
}, 'CSSUnparsedValue is accepted via set() for syntax <custom-ident>');
498
499
test_specified_maps(function(map){
500
    verify_map_set(map, generate_property('<image>'), unparsed);
501
}, 'CSSUnparsedValue is accepted via set() for syntax <image>');
502
503
test_specified_maps(function(map){
504
    verify_map_set(map, generate_property('<integer>'), unparsed);
505
}, 'CSSUnparsedValue is accepted via set() for syntax <integer>');
506
507
test_specified_maps(function(map){
508
    verify_map_set(map, generate_property('<length-percentage>'), unparsed);
509
}, 'CSSUnparsedValue is accepted via set() for syntax <length-percentage>');
510
511
test_specified_maps(function(map){
512
    verify_map_set(map, generate_property('<length>'), unparsed);
513
}, 'CSSUnparsedValue is accepted via set() for syntax <length>');
514
515
test_specified_maps(function(map){
516
    verify_map_set(map, generate_property('<number>'), unparsed);
517
}, 'CSSUnparsedValue is accepted via set() for syntax <number>');
518
519
test_specified_maps(function(map){
520
    verify_map_set(map, generate_property('<percentage>'), unparsed);
521
}, 'CSSUnparsedValue is accepted via set() for syntax <percentage>');
522
523
test_specified_maps(function(map){
524
    verify_map_set(map, generate_property('<resolution>'), unparsed);
525
}, 'CSSUnparsedValue is accepted via set() for syntax <resolution>');
526
527
test_specified_maps(function(map){
528
    verify_map_set(map, generate_property('<time>'), unparsed);
529
}, 'CSSUnparsedValue is accepted via set() for syntax <time>');
530
531
test_specified_maps(function(map){
532
    verify_map_set(map, generate_property('<transform-function>'), unparsed);
533
}, 'CSSUnparsedValue is accepted via set() for syntax <transform-function>');
534
535
test_specified_maps(function(map){
536
    verify_map_set(map, generate_property('<transform-list>'), unparsed);
537
}, 'CSSUnparsedValue is accepted via set() for syntax <transform-list>');
538
539
test_specified_maps(function(map){
540
    verify_map_set(map, generate_property('<url>'), unparsed);
541
}, 'CSSUnparsedValue is accepted via set() for syntax <url>');
542
543
test_specified_maps(function(map){
544
    verify_map_set(map, generate_property('<length>+'), unparsed);
545
}, 'CSSUnparsedValue is accepted via set() for syntax <length>+');
546
547
test_specified_maps(function(map){
548
    verify_map_set(map, generate_property('<length>#'), unparsed);
549
}, 'CSSUnparsedValue is accepted via set() for syntax <length>#');
550
551
// CSSStyleValues which aren't CSSUnparsedValues aren't accepted by set(),
552
// even if they're a value which is compatible with the syntax.
553
//
554
// https://drafts.css-houdini.org/css-properties-values-api-1/#cssom
555
const zero_matrix = CSSStyleValue.parse('transform', 'matrix(0, 0, 0, 0, 0, 0)');
556
const image_value = CSSStyleValue.parse('background-image', 'url(a)');
557
558
test_specified_maps(function(map){
559
    verify_map_not_set(map, generate_property('*'), new CSSKeywordValue('foo'));
560
}, 'CSSKeywordValue rejected by set() for syntax *');
561
562
test_specified_maps(function(map){
563
    verify_map_not_set(map, generate_property('foo'), new CSSKeywordValue('foo'));
564
}, 'CSSKeywordValue rejected by set() for syntax foo');
565
566
test_specified_maps(function(map){
567
    verify_map_not_set(map, generate_property('<angle>'), CSS.deg(10));
568
}, 'CSSUnitValue rejected by set() for syntax <angle>');
569
570
test_specified_maps(function(map){
571
    verify_map_not_set(map, generate_property('<custom-ident>'), new CSSKeywordValue('foo'));
572
}, 'CSSKeywordValue rejected by set() for syntax <custom-ident>');
573
574
test_specified_maps(function(map){
575
    verify_map_not_set(map, generate_property('<image>'), image_value);
576
}, 'CSSImageValue rejected by set() for syntax <image>');
577
578
test_specified_maps(function(map){
579
    verify_map_not_set(map, generate_property('<integer>'), CSS.number(1));
580
}, 'CSSUnitValue rejected by set() for syntax <integer>');
581
582
test_specified_maps(function(map){
583
    verify_map_not_set(map, generate_property('<length-percentage>'), CSS.px(10));
584
}, 'CSSUnitValue rejected by set() for syntax <length-percentage>');
585
586
test_specified_maps(function(map){
587
    verify_map_not_set(map, generate_property('<length>'), CSS.px(10));
588
}, 'CSSUnitValue rejected by set() for syntax <length>');
589
590
test_specified_maps(function(map){
591
    verify_map_not_set(map, generate_property('<number>'), CSS.number(10));
592
}, 'CSSUnitValue rejected by set() for syntax <number>');
593
594
test_specified_maps(function(map){
595
    verify_map_not_set(map, generate_property('<percentage>'), CSS.percent(10));
596
}, 'CSSUnitValue rejected by set() for syntax <percentage>');
597
598
test_specified_maps(function(map){
599
    verify_map_not_set(map, generate_property('<resolution>'), CSS.dpi(10));
600
}, 'CSSUnitValue rejected by set() for syntax <resolution>');
601
602
test_specified_maps(function(map){
603
    verify_map_not_set(map, generate_property('<time>'), CSS.s(10));
604
}, 'CSSUnitValue rejected by set() for syntax <time>');
605
606
test_specified_maps(function(map){
607
    verify_map_not_set(map, generate_property('<transform-list>'), zero_matrix);
608
}, 'CSSTransformValue rejected by set() for syntax <transform-list>');
609
610
test_specified_maps(function(map){
611
    verify_map_not_set(map, generate_property('<length>+'), CSS.px(10), CSS.px(10));
612
}, 'CSSUnitValue rejected by set() for syntax <length>+');
613
614
test_specified_maps(function(map){
615
    verify_map_not_set(map, generate_property('<length>#'), CSS.px(10), CSS.px(10));
616
}, 'CSSUnitValue rejected by set() for syntax <length>#');
617
618
// <color> has no CSSStyleValue subclass yet.
619
// <url> has no CSSStyleValue subclass yet.
620
// <transform-function> has no CSSStyleValue subclass yet.
621
622
// StylePropertyMap.append
623
624
// It is not allowed to append CSSStyleValues to custom properties, even
625
// when the string matches the syntax of the custom property.
626
627
test_specified_maps(function(map){
628
    verify_map_no_append(map, generate_property('*'), 'a');
629
}, 'Appending a string to * is not allowed');
630
631
test_specified_maps(function(map){
632
    verify_map_no_append(map, generate_property('foo+'), 'foo');
633
}, 'Appending a string to foo+ is not allowed');
634
635
test_specified_maps(function(map){
636
    verify_map_no_append(map, generate_property('<angle>+'), '10deg');
637
}, 'Appending a string to <angle>+ is not allowed');
638
639
test_specified_maps(function(map){
640
    verify_map_no_append(map, generate_property('<color>+'), 'red');
641
}, 'Appending a string to <color>+ is not allowed');
642
643
test_specified_maps(function(map){
644
    verify_map_no_append(map, generate_property('<custom-ident>+'), 'foo');
645
}, 'Appending a string to <custom-ident>+ is not allowed');
646
647
test_specified_maps(function(map){
648
    verify_map_no_append(map, generate_property('<image>+'), 'url(a)');
649
}, 'Appending a string to <image>+ is not allowed');
650
651
test_specified_maps(function(map){
652
    verify_map_no_append(map, generate_property('<integer>+'), 'a');
653
}, 'Appending a string to <integer>+ is not allowed');
654
655
test_specified_maps(function(map){
656
    verify_map_no_append(map, generate_property('<length-percentage>+'), 'calc(10*% + 10px)');
657
}, 'Appending a string to <length-percentage>+ is not allowed');
658
659
test_specified_maps(function(map){
660
    verify_map_no_append(map, generate_property('<length>+'), '10px');
661
}, 'Appending a string to <length>+ is not allowed');
662
663
test_specified_maps(function(map){
664
    verify_map_no_append(map, generate_property('<number>+'), '1.3');
665
}, 'Appending a string to <number>+ is not allowed');
666
667
test_specified_maps(function(map){
668
    verify_map_no_append(map, generate_property('<percentage>+'), '10%');
669
}, 'Appending a string to <percentage>+ is not allowed');
670
671
test_specified_maps(function(map){
672
    verify_map_no_append(map, generate_property('<resolution>+'), '10dpi');
673
}, 'Appending a string to <resolution>+ is not allowed');
674
675
test_specified_maps(function(map){
676
    verify_map_no_append(map, generate_property('<time>+'), '1s');
677
}, 'Appending a string to <time>+ is not allowed');
678
679
test_specified_maps(function(map){
680
    verify_map_no_append(map, generate_property('<transform-function>+'), 'matrix(0, 0, 0, 0, 0, 0)');
681
}, 'Appending a string to <transform-function>+ is not allowed');
682
683
test_specified_maps(function(map){
684
    verify_map_no_append(map, generate_property('<transform-list>'), 'matrix(0, 0, 0, 0, 0, 0)');
685
}, 'Appending a string to <transform-list> is not allowed');
686
687
test_specified_maps(function(map){
688
    verify_map_no_append(map, generate_property('<url>+'), 'url(a)');
689
}, 'Appending a string to <url>+ is not allowed');
690
691
test_specified_maps(function(map){
692
    verify_map_no_append(map, generate_property('<length>#'), '10px');
693
}, 'Appending a string to <length># is not allowed');
694
695
// It is not allowed to append CSSStyleValues to custom properties, even
696
// when the CSSStyleValue matches the syntax of the custom property.
697
698
test_specified_maps(function(map) {
699
    verify_map_no_append(map, generate_property('*'), new CSSKeywordValue('foo'));
700
}, 'Appending a CSSKeywordValue to * is not allowed');
701
702
test_specified_maps(function(map) {
703
    verify_map_no_append(map, generate_property('foo+'), new CSSKeywordValue('foo'));
704
}, 'Appending a CSSKeywordValue to foo+ is not allowed');
705
706
test_specified_maps(function(map) {
707
    verify_map_no_append(map, generate_property('<angle>+'), CSS.deg(10));
708
}, 'Appending a CSSUnitValue to <angle>+ is not allowed');
709
710
test_specified_maps(function(map) {
711
    verify_map_no_append(map, generate_property('<custom-ident>+'), new CSSKeywordValue('foo'));
712
}, 'Appending a CSSKeywordValue to <custom-ident>+ is not allowed');
713
714
test_specified_maps(function(map) {
715
    verify_map_no_append(map, generate_property('<image>+'), image_value);
716
}, 'Appending a CSSImageValue to <image>+ is not allowed');
717
718
test_specified_maps(function(map) {
719
    verify_map_no_append(map, generate_property('<integer>+'), CSS.number(1));
720
}, 'Appending a CSSUnitValue to <integer>+ is not allowed');
721
722
test_specified_maps(function(map) {
723
    verify_map_no_append(map, generate_property('<length-percentage>+'), CSS.px(10));
724
}, 'Appending a CSSUnitValue to <length-percentage>+ is not allowed');
725
726
test_specified_maps(function(map) {
727
    verify_map_no_append(map, generate_property('<length>+'), CSS.px(10));
728
}, 'Appending a CSSUnitValue to <length>+ is not allowed');
729
730
test_specified_maps(function(map) {
731
    verify_map_no_append(map, generate_property('<number>+'), CSS.number(10));
732
}, 'Appending a CSSUnitValue to <number>+ is not allowed');
733
734
test_specified_maps(function(map) {
735
    verify_map_no_append(map, generate_property('<percentage>+'), CSS.percent(10));
736
}, 'Appending a CSSUnitValue to <percentage>+ is not allowed');
737
738
test_specified_maps(function(map) {
739
    verify_map_no_append(map, generate_property('<resolution>+'), CSS.dpi(10));
740
}, 'Appending a CSSUnitValue to <resolution>+ is not allowed');
741
742
test_specified_maps(function(map) {
743
    verify_map_no_append(map, generate_property('<time>+'), CSS.s(10));
744
}, 'Appending a CSSUnitValue to <time>+ is not allowed');
745
746
test_specified_maps(function(map) {
747
    verify_map_no_append(map, generate_property('<transform-list>'), zero_matrix);
748
}, 'Appending a CSSKeywordValue to <transform-list> is not allowed');
749
750
test_specified_maps(function(map) {
751
    verify_map_no_append(map, generate_property('<length>#'), CSS.px(10));
752
}, 'Appending a CSSUnitValue to <length># is not allowed');
753
754
// <color> has no CSSStyleValue subclass yet.
755
// <url> has no CSSStyleValue subclass yet.
756
// <transform-function> has no CSSStyleValue subclass yet.
757
758
// CSSStyleValue.parse/parseAll
759
760
test(function(){
761
    verify_parsed_type(generate_property('*'), 'while(){}', CSSUnparsedValue);
762
}, 'CSSStyleValue.parse[All] returns CSSUnparsedValue for syntax *', CSSUnparsedValue);
763
764
test(function(){
765
    verify_parsed_type(generate_property('<angle>'), '42deg', CSSUnparsedValue);
766
}, 'CSSStyleValue.parse[All] returns CSSUnparsedValue for syntax <angle>');
767
768
test(function(){
769
    verify_parsed_type(generate_property('<color>'), '#fefefe', CSSUnparsedValue);
770
}, 'CSSStyleValue.parse[All] returns CSSUnparsedValue for syntax <color>');
771
772
test(function(){
773
    verify_parsed_type(generate_property('<custom-ident> | <length>'), 'none', CSSUnparsedValue);
774
}, 'CSSStyleValue.parse[All] returns CSSUnparsedValue for syntax <custom-ident> | <length>');
775
776
test(function(){
777
    verify_parsed_type(generate_property('<image>'), 'url(thing.png)', CSSUnparsedValue);
778
}, 'CSSStyleValue.parse[All] returns CSSUnparsedValue for syntax <image>');
779
780
test(function(){
781
    verify_parsed_type(generate_property('<integer>'), '100', CSSUnparsedValue);
782
}, 'CSSStyleValue.parse[All] returns CSSUnparsedValue for syntax <integer>');
783
784
test(function(){
785
    verify_parsed_type(generate_property('<length-percentage>'), '10%', CSSUnparsedValue);
786
}, 'CSSStyleValue.parse[All] returns CSSUnparsedValue for syntax <length-percentage> (10%)');
787
788
test(function(){
789
    verify_parsed_type(generate_property('<length-percentage>'), '10px', CSSUnparsedValue);
790
}, 'CSSStyleValue.parse[All] returns CSSUnparsedValue for syntax <length-percentage> (10px)');
791
792
test(function(){
793
    verify_parsed_type(generate_property('<length-percentage>'), 'calc(10px + 10%)', CSSUnparsedValue);
794
}, 'CSSStyleValue.parse[All] returns CSSUnparsedValue for syntax <length-percentage> (calc(10px + 10%))');
795
796
test(function(){
797
    verify_parsed_type(generate_property('<length>'), '10px', CSSUnparsedValue);
798
}, 'CSSStyleValue.parse[All] returns CSSUnparsedValue for syntax <length>');
799
800
test(function(){
801
    verify_parsed_type(generate_property('<number>'), '42', CSSUnparsedValue);
802
}, 'CSSStyleValue.parse[All] returns CSSUnparsedValue for syntax <number>');
803
804
test(function(){
805
    verify_parsed_type(generate_property('<percentage>'), '10%', CSSUnparsedValue);
806
}, 'CSSStyleValue.parse[All] returns CSSUnparsedValue for syntax <percentage>');
807
808
test(function(){
809
    verify_parsed_type(generate_property('<resolution>'), '300dpi', CSSUnparsedValue);
810
}, 'CSSStyleValue.parse[All] returns CSSUnparsedValue for syntax <resolution>');
811
812
test(function(){
813
    verify_parsed_type(generate_property('<time>'), '42s', CSSUnparsedValue);
814
}, 'CSSStyleValue.parse[All] returns CSSUnparsedValue for syntax <time>');
815
816
test(function(){
817
    verify_parsed_type(generate_property('<transform-function>'), 'matrix(0, 0, 0, 0, 0, 0)', CSSUnparsedValue);
818
}, 'CSSStyleValue.parse[All] returns CSSUnparsedValue for syntax <transform-function>');
819
820
test(function(){
821
    verify_parsed_type(generate_property('<transform-list>'), 'matrix(0, 0, 0, 0, 0, 0)', CSSUnparsedValue);
822
}, 'CSSStyleValue.parse[All] returns CSSUnparsedValue for syntax <transform-list>');
823
824
test(function(){
825
    verify_parsed_type(generate_property('<url>'), 'url(a)', CSSUnparsedValue);
826
}, 'CSSStyleValue.parse[All] returns CSSUnparsedValue for syntax <url>');
827
828
test(function(){
829
    verify_parsed_type(generate_property('thing1 | THING2 | <url>'), 'THING2', CSSUnparsedValue);
830
}, 'CSSStyleValue.parse[All] returns CSSUnparsedValue for syntax thing1 | THING2 | <url>');
831
832
test(function(){
833
    verify_parsed_type(generate_property('<length>+'), '10px 20px', CSSUnparsedValue);
834
}, 'CSSStyleValue.parse[All] returns CSSUnparsedValue for syntax <length>+');
835
836
test(function(){
837
    verify_parsed_type(generate_property('<length>#'), '10px, 20px', CSSUnparsedValue);
838
}, 'CSSStyleValue.parse[All] returns CSSUnparsedValue for syntax <length>#');
839
840
// Direct CSSStyleValue objects:
841
842
test_specified_maps(function(map){
843
    for (let syntax of all_syntaxes()) {
844
        let name = generate_property(syntax);
845
846
        let initialValue = target.computedStyleMap().get(name);
847
848
        // We only care about direct CSSStyleValue instances in this test.
849
        // Ultimately, in some future version of CSS TypedOM, we may have no
850
        // direct CSSStyleValue instances at all, which is fine.
851
        if (initialValue.constructor !== CSSStyleValue) {
852
            continue;
853
        }
854
855
        // Verify that direct CSSStyleValues are rejected by set(). Two things
856
        // should prevent this: 1) direct CSSStyleValues are not
857
        // CSSUnparsedValues, and 2) direct CSSStyleValues are only valid for
858
        // the property they were reified from.
859
        verify_map_not_set(map, generate_property(syntax), initialValue);
860
    }
861
}, 'Direct CSSStyleValue may not be set');
862
863
// StylePropertyMap iteration
864
865
test_specified_maps(function(map){
866
    verify_map_iteration_unparsed(map, generate_property('*'), 'foo');
867
}, 'Specified * is reified CSSUnparsedValue by iterator');
868
869
test_specified_maps(function(map){
870
    verify_map_iteration_unparsed(map, generate_property('foo'), 'foo');
871
}, 'Specified foo is reified CSSUnparsedValue by iterator');
872
873
test_specified_maps(function(map){
874
    verify_map_iteration_unparsed(map, generate_property('<angle>'), '10deg');
875
}, 'Specified <angle> is reified CSSUnparsedValue by iterator');
876
877
test_specified_maps(function(map){
878
    verify_map_iteration_unparsed(map, generate_property('<color>'), 'green');
879
}, 'Specified <color> is reified CSSUnparsedValue by iterator');
880
881
test_specified_maps(function(map){
882
    verify_map_iteration_unparsed(map, generate_property('<custom-ident>'), 'foo');
883
}, 'Specified <custom-ident> is reified CSSUnparsedValue by iterator');
884
885
test_specified_maps(function(map){
886
    verify_map_iteration_unparsed(map, generate_property('<image>'), 'url("a")');
887
}, 'Specified <image> is reified CSSUnparsedValue by iterator');
888
889
test_specified_maps(function(map){
890
    verify_map_iteration_unparsed(map, generate_property('<integer>'), '1');
891
}, 'Specified <integer> is reified CSSUnparsedValue by iterator');
892
893
test_specified_maps(function(map){
894
    verify_map_iteration_unparsed(map, generate_property('<length-percentage>'), 'calc(10% + 10px)');
895
}, 'Specified <length-percentage> is reified CSSUnparsedValue by iterator');
896
897
test_specified_maps(function(map){
898
    verify_map_iteration_unparsed(map, generate_property('<length>'), '10px');
899
}, 'Specified <length> is reified CSSUnparsedValue by iterator');
900
901
test_specified_maps(function(map){
902
    verify_map_iteration_unparsed(map, generate_property('<number>'), '1');
903
}, 'Specified <number> is reified CSSUnparsedValue by iterator');
904
905
test_specified_maps(function(map){
906
    verify_map_iteration_unparsed(map, generate_property('<percentage>'), '10%');
907
}, 'Specified <percentage> is reified CSSUnparsedValue by iterator');
908
909
test_specified_maps(function(map){
910
    verify_map_iteration_unparsed(map, generate_property('<resolution>'), '10dpi');
911
}, 'Specified <resolution> is reified CSSUnparsedValue by iterator');
912
913
test_specified_maps(function(map){
914
    verify_map_iteration_unparsed(map, generate_property('<time>'), '1s');
915
}, 'Specified <time> is reified CSSUnparsedValue by iterator');
916
917
test_specified_maps(function(map){
918
    verify_map_iteration_unparsed(map, generate_property('<transform-function>'), 'matrix(0, 0, 0, 0, 0, 0)');
919
}, 'Specified <transform-function> is reified CSSUnparsedValue by iterator');
920
921
test_specified_maps(function(map){
922
    verify_map_iteration_unparsed(map, generate_property('<transform-list>'), 'matrix(0, 0, 0, 0, 0, 0)');
923
}, 'Specified <transform-list> is reified CSSUnparsedValue by iterator');
924
925
test_specified_maps(function(map){
926
    verify_map_iteration_unparsed(map, generate_property('<url>'), 'url("a")');
927
}, 'Specified <url> is reified CSSUnparsedValue by iterator');
928
929
test_specified_maps(function(map){
930
    verify_map_iteration_unparsed(map, generate_property('<length>+'), '10px 11px');
931
}, 'Specified <length>+ is reified CSSUnparsedValue by iterator');
932
933
test_specified_maps(function(map){
934
    verify_map_iteration_unparsed(map, generate_property('<length>#'), '10px, 11px');
935
}, 'Specified <length># is reified CSSUnparsedValue by iterator');
936
937
// StylePropertyMapReadOnly iteration
938
939
test(function(){
940
    let name = generate_property({syntax: '<length>', initialValue: '10px'});
941
    let result = Array.from(target.computedStyleMap()).filter(e => e[0] == name)[0];
942
    assert_true(typeof(result) !== 'undefined');
943
}, 'Registered property with initial value show up on iteration of computedStyleMap');
944
945
test(function(){
946
    verify_computed_iteration_type(generate_property('*'), 'thing', CSSUnparsedValue);
947
}, 'Computed * is reified as CSSUnparsedValue by iterator');
948
949
test(function(){
950
    verify_computed_iteration_type(generate_property('<angle>'), '42deg', CSSUnitValue);
951
}, 'Computed <angle> is reified as CSSUnitValue by iterator');
952
953
test(function(){
954
    verify_computed_iteration_type(generate_property('<custom-ident>'), 'thing', CSSKeywordValue);
955
}, 'Computed <custom-ident> is reified as CSSKeywordValue by iterator');
956
957
test(function(){
958
    verify_computed_iteration_type(generate_property('<image>'), 'url(\"a\")', CSSImageValue);
959
}, 'Computed <image> is reified as CSSImageValue by iterator');
960
961
test(function(){
962
    verify_computed_iteration_type(generate_property('<integer>'), '100', CSSUnitValue);
963
}, 'Computed <integer> is reified as CSSUnitValue by iterator');
964
965
test(function(){
966
    verify_computed_iteration_type(generate_property('<length>'), '10px', CSSUnitValue);
967
}, 'Computed <length> is reified as CSSUnitValue by iterator');
968
969
test(function(){
970
    verify_computed_iteration_type(generate_property('<number>'), '42', CSSUnitValue);
971
}, 'Computed <number> is reified as CSSUnitValue by iterator');
972
973
test(function(){
974
    verify_computed_iteration_type(generate_property('<percentage>'), '10%', CSSUnitValue);
975
}, 'Computed <percentage> is reified as CSSUnitValue by iterator');
976
977
test(function(){
978
    verify_computed_iteration_type(generate_property('<resolution>'), '300dppx', CSSUnitValue);
979
}, 'Computed <resolution> is reified as CSSUnitValue by iterator');
980
981
test(function(){
982
    verify_computed_iteration_type(generate_property('<time>'), '10s', CSSUnitValue);
983
}, 'Computed <time> is reified as CSSUnitValue by iterator');
984
985
test(function(){
986
    verify_computed_iteration_type(generate_property('none | thing | THING'), 'THING', CSSKeywordValue);
987
}, 'Computed none | thing | THING is reified as CSSKeywordValue by iterator');
988
989
test(function(){
990
    verify_computed_iteration_type(generate_property('<angle> | <length>'), '10px', CSSUnitValue);
991
}, 'Computed <angle> | <length> is reified as CSSUnitValue by iterator');
992
993
</script>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-properties-values-api/typedom.tentative-expected.txt -6 lines
Lines 1-6 a/LayoutTests/imported/w3c/web-platform-tests/css/css-properties-values-api/typedom.tentative-expected.txt_sec1
1
CONSOLE MESSAGE: TypeError: target.attributeStyleMap.clear is not a function. (In 'target.attributeStyleMap.clear()', 'target.attributeStyleMap.clear' is undefined)
2
3
Harness Error (FAIL), message = TypeError: target.attributeStyleMap.clear is not a function. (In 'target.attributeStyleMap.clear()', 'target.attributeStyleMap.clear' is undefined)
4
5
FAIL Computed * is reified as CSSUnparsedValue target.computedStyleMap is not a function. (In 'target.computedStyleMap()', 'target.computedStyleMap' is undefined)
6
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-properties-values-api/typedom.tentative.html -1020 lines
Lines 1-1020 a/LayoutTests/imported/w3c/web-platform-tests/css/css-properties-values-api/typedom.tentative.html_sec1
1
<!DOCTYPE html>
2
<!--  TODO(andruud): Add Typed OM details to spec and link to it here.  -->
3
<link rel="help" href="https://github.com/w3c/css-houdini-drafts/pull/783" />
4
<meta name="assert" content="Verifies that registered custom properties interact correctly with CSS Typed OM" />
5
<script src="/resources/testharness.js"></script>
6
<script src="/resources/testharnessreport.js"></script>
7
<style id=style>
8
    div {}
9
</style>
10
<div id=target></div>
11
12
<script>
13
14
// Properties are generated on demand, as `--prop-${g_counter}`.
15
let g_counter = 1;
16
17
// Generate a new property name.
18
function gen_name() {
19
    let name = `--prop-${g_counter}`;
20
    g_counter++;
21
    return name;
22
}
23
24
// Generate a property and return its name.
25
function gen_prop(syntax, initialValue) {
26
    let name = gen_name();
27
    CSS.registerProperty({
28
        name: name,
29
        syntax: syntax,
30
        initialValue: initialValue,
31
        inherits: false
32
    });
33
    return name;
34
}
35
36
// Cleans style rules used for testing between every test.
37
add_result_callback(function(){
38
    target.attributeStyleMap.clear();
39
    // Clears 'div' rule in #style:
40
    style.sheet.rules[0].styleMap.clear();
41
});
42
43
// On the target element, verify that computed value of 'name' is an instance
44
// of 'expected' and not an instance of CSSUnparsedValue.
45
//
46
// If 'value' is non-null, that value is first set on the attributeStyleMap
47
// of the target.
48
function assert_computed_type(name, value, expected) {
49
    if (expected == CSSUnparsedValue) {
50
        throw 'CSSUnparsedValue may not be used as expected type';
51
    }
52
53
    if (value != null) {
54
        target.style = `${name}: ${value}`;
55
    }
56
57
    let computedValue = target.computedStyleMap().get(name);
58
59
    assert_false(computedValue instanceof CSSUnparsedValue);
60
    assert_true(computedValue instanceof expected);
61
62
    if (value != null) {
63
        target.style = '';
64
    }
65
}
66
67
function assert_attribute_get_type(styleDecl, propertyMap, syntax, value, expected) {
68
    let name = gen_name();
69
    styleDecl.setProperty(name, value);
70
71
    assert_true(propertyMap.get(name) instanceof CSSUnparsedValue);
72
73
    CSS.registerProperty({
74
        name: name,
75
        syntax: syntax,
76
        initialValue: value,
77
        inherits: false
78
    });
79
80
    if (expected == CSSStyleValue) {
81
        assert_false(propertyMap.get(name) instanceof CSSUnparsedValue);
82
    }
83
84
    assert_true(propertyMap.get(name) instanceof expected);
85
}
86
87
// computedStyleMap
88
89
test(function(){
90
    let name = gen_prop('*', 'if(){}');
91
    assert_true(target.computedStyleMap().get(name) instanceof CSSUnparsedValue);
92
93
    target.attributeStyleMap.set(name, 'as{}df');
94
    assert_true(target.computedStyleMap().get(name) instanceof CSSUnparsedValue);
95
    target.attributeStyleMap.delete(name);
96
}, 'Computed * is reified as CSSUnparsedValue');
97
98
test(function(){
99
    assert_computed_type(gen_prop('<angle>', '42deg'), null, CSSUnitValue);
100
    assert_computed_type(gen_prop('<angle> | fail', 'fail'), '42deg', CSSUnitValue);
101
}, 'Computed <angle> is reified as CSSUnitValue');
102
103
test(function(){
104
    assert_computed_type(gen_prop('<color>', '#fefefe'), null, CSSStyleValue);
105
    assert_computed_type(gen_prop('<color> | fail', 'fail'), null, CSSStyleValue);
106
}, 'Computed <color> is reified as CSSStyleValue');
107
108
test(function(){
109
    assert_computed_type(gen_prop('<custom-ident>', 'none'), null, CSSKeywordValue);
110
    assert_computed_type(gen_prop('<custom-ident> | <length>', '10px'), 'none', CSSKeywordValue);
111
}, 'Computed <custom-ident> is reified as CSSKeywordValue');
112
113
test(function(){
114
    assert_computed_type(gen_prop('<image>', 'url(thing.png)'), null, CSSImageValue);
115
    assert_computed_type(gen_prop('<image> | fail', 'fail'), 'url(thing.png)', CSSImageValue);
116
}, 'Computed <image> [url] is reified as CSSImageValue');
117
118
test(function(){
119
    assert_computed_type(gen_prop('<integer>', '100'), null, CSSUnitValue);
120
    assert_computed_type(gen_prop('<integer> | fail', 'fail'), '100', CSSUnitValue);
121
}, 'Computed <integer> is reified as CSSUnitValue');
122
123
test(function(){
124
    assert_computed_type(gen_prop('<length-percentage>', '10%'), null, CSSUnitValue);
125
    assert_computed_type(gen_prop('<length-percentage> | fail', 'fail'), '10%', CSSUnitValue);
126
}, 'Computed <length-percentage> [%] is reified as CSSUnitValue');
127
128
test(function(){
129
    assert_computed_type(gen_prop('<length-percentage>', '10px'), null, CSSUnitValue);
130
    assert_computed_type(gen_prop('<length-percentage> | fail', 'fail'), '10px', CSSUnitValue);
131
}, 'Computed <length-percentage> [px] is reified as CSSUnitValue');
132
133
test(function(){
134
    assert_computed_type(gen_prop('<length-percentage>', 'calc(10px + 10%)'), null, CSSMathSum);
135
    assert_computed_type(gen_prop('<length-percentage> | fail', 'fail'), 'calc(10px + 10%)', CSSMathSum);
136
}, 'Computed <length-percentage> [px + %] is reified as CSSMathSum');
137
138
test(function(){
139
    assert_computed_type(gen_prop('<length>', '10px'), null, CSSUnitValue);
140
    assert_computed_type(gen_prop('<length> | fail', 'fail'), '10px', CSSUnitValue);
141
}, 'Computed <length> is reified as CSSUnitValue');
142
143
test(function(){
144
    assert_computed_type(gen_prop('<number>', '42'), null, CSSUnitValue);
145
    assert_computed_type(gen_prop('<number> | fail', 'fail'), '42', CSSUnitValue);
146
}, 'Computed <number> is reified as CSSUnitValue');
147
148
test(function(){
149
    assert_computed_type(gen_prop('<percentage>', '10%'), null, CSSUnitValue);
150
    assert_computed_type(gen_prop('<percentage> | fail', 'fail'), '10%', CSSUnitValue);
151
}, 'Computed <percentage> is reified as CSSUnitValue');
152
153
test(function(){
154
    assert_computed_type(gen_prop('<resolution>', '300dpi'), null, CSSUnitValue);
155
    assert_computed_type(gen_prop('<resolution> | fail', 'fail'), '300dpi', CSSUnitValue);
156
}, 'Computed <resolution> is reified as CSSUnitValue');
157
158
test(function(){
159
    assert_computed_type(gen_prop('<time>', '42s'), null, CSSUnitValue);
160
    assert_computed_type(gen_prop('<time> | fail', 'fail'), '42s', CSSUnitValue);
161
}, 'Computed <time> is reified as CSSUnitValue');
162
163
test(function(){
164
    assert_computed_type(gen_prop('<url>', 'url(a)'), null, CSSStyleValue);
165
    assert_computed_type(gen_prop('<url> | fail', 'fail'), 'url(a)', CSSStyleValue);
166
}, 'Computed <url> is reified as CSSStyleValue');
167
168
test(function(){
169
    assert_computed_type(gen_prop('thing1 | THING2', 'thing1'), null, CSSKeywordValue);
170
    assert_computed_type(gen_prop('thing1 | THING2 | <url>', 'url(fail)'), 'THING2', CSSKeywordValue);
171
}, 'Computed ident is reified as CSSKeywordValue');
172
173
test(function(){
174
    assert_computed_type(gen_prop('<length>+', '10px 20px'), null, CSSUnitValue);
175
    assert_computed_type(gen_prop('<length>+', '0px 0px'), '10px 20px', CSSUnitValue);
176
}, 'First computed value correctly reified in space-separated list');
177
178
test(function(){
179
    assert_computed_type(gen_prop('<length>#', '10px, 20px'), null, CSSUnitValue);
180
    assert_computed_type(gen_prop('<length>#', '0px, 0px'), '10px, 20px', CSSUnitValue);
181
}, 'First computed value correctly reified in comma-separated list');
182
183
test(function(){
184
    let name = gen_prop('<length>+', '10px 20px');
185
    assert_equals(target.computedStyleMap().getAll(name).length, 2);
186
    assert_true(target.computedStyleMap().getAll(name).every(x => x instanceof CSSUnitValue));
187
188
    target.style = `${name}: 10px 20px 30px`;
189
    assert_equals(target.computedStyleMap().getAll(name).length, 3);
190
    assert_true(target.computedStyleMap().getAll(name).every(x => x instanceof CSSUnitValue));
191
}, 'All computed values correctly reified in space-separated list');
192
193
test(function(){
194
    let name = gen_prop('<length>#', '10px, 20px');
195
    assert_equals(target.computedStyleMap().getAll(name).length, 2);
196
    assert_true(target.computedStyleMap().getAll(name).every(x => x instanceof CSSUnitValue));
197
198
    target.style = `${name}: 10px, 20px, 30px`;
199
    assert_equals(target.computedStyleMap().getAll(name).length, 3);
200
    assert_true(target.computedStyleMap().getAll(name).every(x => x instanceof CSSUnitValue));
201
}, 'All computed values correctly reified in comma-separated list');
202
203
// attributeStyleMap.get / styleMap.get
204
205
function test_style_property_map_get(test_fn, name_fn) {
206
    let rule = style.sheet.rules[0];
207
208
    test(function(){
209
        target.attributeStyleMap.clear();
210
        test_fn(target.style, target.attributeStyleMap);
211
    }, name_fn('attributeStyleMap'));
212
213
    test(function(){
214
        rule.styleMap.clear();
215
        test_fn(rule.style, rule.styleMap);
216
    }, name_fn('styleMap'));
217
}
218
219
test_style_property_map_get(function(styleDecl, propertyMap){
220
    let name1 = gen_prop('<length>', '100px');
221
    let name2 = gen_prop('<length>', '0px');
222
    styleDecl.setProperty(name2, `var(${name1})`);
223
    assert_true(propertyMap.get(name2) instanceof CSSUnparsedValue);
224
}, name => `StylePropertyMap.get returns CSSUnparsedValue for value with var references (${name})`);
225
226
test_style_property_map_get(function(styleDecl, propertyMap){
227
    let name1 = gen_prop('<length>', '100px');
228
    let name2 = gen_prop('<length>#', '0px');
229
    styleDecl.setProperty(name2, `1px, var(${name1}), 3px`);
230
    assert_true(propertyMap.get(name2) instanceof CSSUnparsedValue);
231
}, name => `StylePropertyMap.get returns CSSUnparsedValue for value with var references in list (${name})`);
232
233
test_style_property_map_get(function(styleDecl, propertyMap){
234
    assert_attribute_get_type(styleDecl, propertyMap, '*', 'if(){}', CSSUnparsedValue);
235
}, name => `StylePropertyMap.get returns CSSUnparsedValue for * (${name})`);
236
237
test_style_property_map_get(function(styleDecl, propertyMap){
238
    assert_attribute_get_type(styleDecl, propertyMap, '<angle>', '42deg', CSSUnitValue);
239
}, name => `StylePropertyMap.get returns CSSUnitValue for <angle> (${name})`);
240
241
test_style_property_map_get(function(styleDecl, propertyMap){
242
    assert_attribute_get_type(styleDecl, propertyMap, '<color>', '#fefefe', CSSStyleValue);
243
}, name => `StylePropertyMap.get returns CSSStyleValue for <color> (${name})`);
244
245
test_style_property_map_get(function(styleDecl, propertyMap){
246
    assert_attribute_get_type(styleDecl, propertyMap, '<custom-ident>', 'none', CSSKeywordValue);
247
}, name => `StylePropertyMap.get returns CSSKeywordValue for <custom-ident> (${name})`);
248
249
test_style_property_map_get(function(styleDecl, propertyMap){
250
    assert_attribute_get_type(styleDecl, propertyMap, '<image>', 'url(thing.png)', CSSImageValue);
251
}, name => `StylePropertyMap.get returns CSSImageValue for <image> (${name})`);
252
253
test_style_property_map_get(function(styleDecl, propertyMap){
254
    assert_attribute_get_type(styleDecl, propertyMap, '<integer>', '100', CSSUnitValue);
255
}, name => `StylePropertyMap.get returns CSSUnitValue for <integer> (${name})`);
256
257
test_style_property_map_get(function(styleDecl, propertyMap){
258
    assert_attribute_get_type(styleDecl, propertyMap, '<length-percentage>', '10%', CSSUnitValue);
259
}, name => `StylePropertyMap.get returns CSSUnitValue for <length-percentage> [10%] (${name})`);
260
261
test_style_property_map_get(function(styleDecl, propertyMap){
262
    assert_attribute_get_type(styleDecl, propertyMap, '<length-percentage>', '10px', CSSUnitValue);
263
}, name => `StylePropertyMap.get returns CSSUnitValue for <length-percentage> [10px] (${name})`);
264
265
test_style_property_map_get(function(styleDecl, propertyMap){
266
    assert_attribute_get_type(styleDecl, propertyMap, '<length-percentage>', 'calc(10px + 10%)', CSSMathSum);
267
}, name => `StylePropertyMap.get returns CSSMathSum for <length-percentage> [calc(10px + 10%)] (${name})`);
268
269
test_style_property_map_get(function(styleDecl, propertyMap){
270
    assert_attribute_get_type(styleDecl, propertyMap, '<length>', '10px', CSSUnitValue);
271
}, name => `StylePropertyMap.get returns CSSUnitValue for <length> (${name})`);
272
273
test_style_property_map_get(function(styleDecl, propertyMap){
274
    assert_attribute_get_type(styleDecl, propertyMap, '<number>', '42', CSSUnitValue);
275
}, name => `StylePropertyMap.get returns CSSUnitValue for <number> (${name})`);
276
277
test_style_property_map_get(function(styleDecl, propertyMap){
278
    assert_attribute_get_type(styleDecl, propertyMap, '<percentage>', '10%', CSSUnitValue);
279
}, name => `StylePropertyMap.get returns CSSUnitValue for <percentage> (${name})`);
280
281
test_style_property_map_get(function(styleDecl, propertyMap){
282
    assert_attribute_get_type(styleDecl, propertyMap, '<resolution>', '300dpi', CSSUnitValue);
283
}, name => `StylePropertyMap.get returns CSSUnitValue for <resolution> (${name})`);
284
285
test_style_property_map_get(function(styleDecl, propertyMap){
286
    assert_attribute_get_type(styleDecl, propertyMap, '<time>', '42s', CSSUnitValue);
287
}, name => `StylePropertyMap.get returns CSSUnitValue for <time> (${name})`);
288
289
test_style_property_map_get(function(styleDecl, propertyMap){
290
    assert_attribute_get_type(styleDecl, propertyMap, '<url>', 'url(a)', CSSStyleValue);
291
}, name => `StylePropertyMap.get returns CSSStyleValue for <url> (${name})`);
292
293
test_style_property_map_get(function(styleDecl, propertyMap){
294
    assert_attribute_get_type(styleDecl, propertyMap, 'thing1 | THING2', 'thing1', CSSKeywordValue);
295
}, name => `StylePropertyMap.get returns CSSKeywordValue for thing1 | THING2 (${name})`);
296
297
test_style_property_map_get(function(styleDecl, propertyMap){
298
    assert_attribute_get_type(styleDecl, propertyMap, '<length>+', '10px 20px', CSSUnitValue);
299
}, name => `StylePropertyMap.get returns CSSUnitValue for <length>+ (${name})`);
300
301
test_style_property_map_get(function(styleDecl, propertyMap){
302
    assert_attribute_get_type(styleDecl, propertyMap, '<length>#', '10px 20px', CSSUnitValue);
303
}, name => `StylePropertyMap.get returns CSSUnitValue for <length># (${name})`);
304
305
// attributeStyleMap.getAll
306
307
test_style_property_map_get(function(styleDecl, propertyMap){
308
    let name = gen_prop('<length>+', '0px');
309
    styleDecl.setProperty(name, '10px 20px 30px');
310
    assert_equals(propertyMap.getAll(name).length, 3);
311
    assert_true(propertyMap.getAll(name).every(x => x instanceof CSSUnitValue));
312
}, name => `StylePropertyMap.getAll returns a list of CSSUnitValues for <length>+ (${name})`);
313
314
test_style_property_map_get(function(styleDecl, propertyMap){
315
    let name = gen_prop('<length>#', '0px');
316
    styleDecl.setProperty(name, '10px, 20px, 30px');
317
    assert_equals(propertyMap.getAll(name).length, 3);
318
    assert_true(propertyMap.getAll(name).every(x => x instanceof CSSUnitValue));
319
}, name => `StylePropertyMap.getAll returns a list of CSSUnitValues for <length># (${name})`);
320
321
// StylePropertyMap.set
322
323
function test_style_property_map_set_using_property_map(propertyMapName, propertyMap, options) {
324
    test(function(){
325
        let name = gen_prop(options.syntax, options.initialValue);
326
        propertyMap.clear();
327
328
        let ensureArray = v => v.constructor === Array ? v : [v];
329
330
        for (let value of options.shouldAccept)
331
            propertyMap.set(name, ...ensureArray(value));
332
333
        for (let value of options.shouldReject) {
334
            assert_throws(new TypeError(), () => propertyMap.set(name, ...ensureArray(value)));
335
        }
336
    }, `StylePropertyMap.set accepts correct CSSStyleValues for ${options.syntax} (${propertyMapName})`);
337
}
338
339
// Verify that the correct CSSStyleValues are accepted/rejected for a registered
340
// property with the specified syntax.
341
//
342
// The same test is performed twice: once for attributeStyleMap, and once
343
// for styleMap.
344
function test_style_property_map_set(options) {
345
    test_style_property_map_set_using_property_map('attributeStyleMap', target.attributeStyleMap, options);
346
    test_style_property_map_set_using_property_map('styleMap', style.sheet.rules[0].styleMap, options);
347
}
348
349
let unparsed = x => new CSSUnparsedValue([x]);
350
let keyword = x => new CSSKeywordValue(x);
351
let sum = (a, b) => new CSSMathSum(a, b);
352
let url_image = x => CSSStyleValue.parse('background-image', x);
353
354
test_style_property_map_set({
355
    syntax: '*',
356
    initialValue: 'none',
357
    shouldAccept: [unparsed('thing')],
358
    shouldReject: [CSS.px(15), keyword('none')],
359
});
360
361
test_style_property_map_set({
362
    syntax: '<angle>',
363
    initialValue: '0deg',
364
    shouldAccept: [CSS.deg(42), CSS.turn(2), '42deg'],
365
    shouldReject: [unparsed('42deg'), CSS.px(15), '50px', [CSS.deg(15), '10deg']],
366
});
367
368
test_style_property_map_set({
369
    syntax: '<custom-ident>',
370
    initialValue: 'none',
371
    shouldAccept: [keyword('foo'), 'foo'],
372
    shouldReject: [unparsed('foo'), CSS.px(15), '15px', [keyword('foo'), 'foo']],
373
});
374
375
test_style_property_map_set({
376
    syntax: '<image>',
377
    initialValue: 'url(a)',
378
    shouldAccept: [url_image('url(b)'), 'url(b)'],
379
    shouldReject: [unparsed('url(b)'), CSS.px(100), '50px', [url_image('url(1)'), 'url(2)']],
380
});
381
382
test_style_property_map_set({
383
    syntax: '<integer>',
384
    initialValue: '0',
385
    shouldAccept: [CSS.number(1), CSS.number(-42), '1', '-42', 'calc(2.4)'],
386
    shouldReject: [unparsed('42'), CSS.px(100), '50px', [CSS.number(42), '42'], 'calc(2px + 1px)'],
387
});
388
389
test_style_property_map_set({
390
    syntax: '<length-percentage>',
391
    initialValue: '0px',
392
    shouldAccept: [CSS.percent(10), CSS.px(1), CSS.em(1), '10px', '10%'],
393
    shouldReject: [unparsed('10%'), unparsed('10px'), CSS.dpi(1), 'url(b)', [CSS.percent(10), '10%']],
394
});
395
396
test_style_property_map_set({
397
    syntax: '<length>',
398
    initialValue: '0px',
399
    shouldAccept: [CSS.px(10), CSS.em(10), CSS.vh(200), sum(CSS.px(10), CSS.em(20)), '10em', 'calc(10px + 10em)'],
400
    shouldReject: [unparsed('10px'), CSS.percent(1), 'url(b)', [CSS.em(10), '10px']],
401
});
402
403
test_style_property_map_set({
404
    syntax: '<number>',
405
    initialValue: '0',
406
    shouldAccept: [CSS.number(1337), CSS.number(-42.5), '1337', '-42.5'],
407
    shouldReject: [unparsed('42'), CSS.px(15), '#fef', [CSS.number(-42.5), '42.5']],
408
});
409
410
test_style_property_map_set({
411
    syntax: '<percentage>',
412
    initialValue: '0%',
413
    shouldAccept: [CSS.percent(10), '10%'],
414
    shouldReject: [unparsed('10%'), CSS.px(1), '#fef', [CSS.percent(10), '1%']],
415
});
416
417
test_style_property_map_set({
418
    syntax: '<resolution>',
419
    initialValue: '0dpi',
420
    shouldAccept: [CSS.dpi(100), CSS.dpcm(10), CSS.dppx(50), '100dpi'],
421
    shouldReject: [unparsed('42'), CSS.px(15), '#fef', [CSS.dpi(1), '2dpi']],
422
});
423
424
test_style_property_map_set({
425
    syntax: '<time>',
426
    initialValue: '0s',
427
    shouldAccept: [CSS.s(42), CSS.ms(16), '16ms'],
428
    shouldReject: [unparsed('42s'), CSS.px(15), '#fef', [CSS.s(5), '6s']],
429
});
430
431
test_style_property_map_set({
432
    syntax: '<url>',
433
    initialValue: 'url(a)',
434
    shouldAccept: [url_image('url(b)')],
435
    shouldReject: [unparsed('url(b)'), CSS.px(100), '#fef', [url_image('url(1)'), 'url(2)']],
436
});
437
438
test_style_property_map_set({
439
    syntax: '<transform-list>',
440
    initialValue: 'translateX(0px)',
441
    shouldAccept: [CSSStyleValue.parse('transform', 'translateX(10px)')],
442
    shouldReject: [unparsed('transformX(10px'), CSS.px(100), '#fef'],
443
});
444
445
test_style_property_map_set({
446
    syntax: 'none | thing | THING',
447
    initialValue: 'none',
448
    shouldAccept: [keyword('thing'), keyword('THING'), 'thing'],
449
    shouldReject: [unparsed('thing'), CSS.px(15), keyword('notathing'), 'notathing', [keyword('thing'), keyword('thing')]],
450
});
451
452
test_style_property_map_set({
453
    syntax: '<angle> | <length>',
454
    initialValue: '0deg',
455
    shouldAccept: [CSS.deg(42), CSS.turn(2), CSS.px(10), CSS.em(10), '10deg', '10px'],
456
    shouldReject: [unparsed('42deg'), unparsed('20px'), CSS.s(1), '#fef', [CSS.deg(42), '21deg']],
457
});
458
459
// StylePropertyMap.set for list-valued properties:
460
461
test_style_property_map_set({
462
    syntax: '<angle>+',
463
    initialValue: '0deg',
464
    shouldAccept: [CSS.deg(15), [CSS.deg(15), '10deg'], '15deg 10deg'],
465
    shouldReject: [[CSS.deg(15), CSS.px(10)], '15deg 10px'],
466
});
467
468
test_style_property_map_set({
469
    syntax: '<custom-ident>+',
470
    initialValue: 'none',
471
    shouldAccept: [keyword('foo'), [keyword('foo'), 'bar'], 'foo bar'],
472
    shouldReject: [[keyword('foo'), CSS.px(10)], 'foo 10px'],
473
});
474
475
test_style_property_map_set({
476
    syntax: '<image>+',
477
    initialValue: 'url(a)',
478
    shouldAccept: [url_image('url(1)'), [url_image('url(1)'), 'url(2)'], 'url(1) url(2)'],
479
    shouldReject: [[url_image('url(1)'), CSS.px(10)], 'url(1) 10px'],
480
});
481
482
test_style_property_map_set({
483
    syntax: '<integer>+',
484
    initialValue: '0',
485
    shouldAccept: [CSS.number(42), [CSS.number(42), '42'], '42 42', 'calc(2.4) calc(2.6)'],
486
    shouldReject: [[CSS.number(42), keyword('noint')], '42 noint', 'calc(2px + 2px)'],
487
});
488
489
test_style_property_map_set({
490
    syntax: '<length-percentage>+',
491
    initialValue: '0px',
492
    shouldAccept: [CSS.percent(10), [CSS.percent(10), '10%']],
493
    shouldReject: [[CSS.percent(10), keyword('nolength')], '10% nolength'],
494
});
495
496
test_style_property_map_set({
497
    syntax: '<length>+',
498
    initialValue: '0px',
499
    shouldAccept: [CSS.em(10), [CSS.em(10), '10px']],
500
    shouldReject: [[CSS.em(10), keyword('nolength'), '10em nolength']],
501
});
502
503
test_style_property_map_set({
504
    syntax: '<number>+',
505
    initialValue: '0',
506
    shouldAccept: [CSS.number(-42.5), [CSS.number(-42.5), '42.5'], '-42.5 42.5'],
507
    shouldReject: [[CSS.number(-42.5), CSS.px(10)], '-42.5 10px'],
508
});
509
510
test_style_property_map_set({
511
    syntax: '<percentage>+',
512
    initialValue: '0%',
513
    shouldAccept: [CSS.percent(10), [CSS.percent(10), '1%'], '10% 1%'],
514
    shouldReject: [[CSS.percent(10), keyword('foo')], '10% foo'],
515
});
516
517
test_style_property_map_set({
518
    syntax: '<resolution>+',
519
    initialValue: '0dpi',
520
    shouldAccept: [CSS.dpi(1), [CSS.dpi(1), '2dpi'], '1dpi 2dpi'],
521
    shouldReject: [[CSS.dpi(1), keyword('foo')], '1dpi foo'],
522
});
523
524
test_style_property_map_set({
525
    syntax: '<time>+',
526
    initialValue: '0s',
527
    shouldAccept: [CSS.s(5), [CSS.s(5), '6s'], '5s 6s'],
528
    shouldReject: [[CSS.s(5), keyword('foo')], '5s foo'],
529
});
530
531
test_style_property_map_set({
532
    syntax: '<url>+',
533
    initialValue: 'url(a)',
534
    shouldAccept: [url_image('url(1)'), [url_image('url(1)'), 'url(2)'], 'url(1) url(2)'],
535
    shouldReject: [[url_image('url(1)'), CSS.px(10)], 'url(1) 10px'],
536
});
537
538
test_style_property_map_set({
539
    syntax: 'thing+',
540
    initialValue: 'thing',
541
    shouldAccept: [keyword('thing'), [keyword('thing'), 'thing'], 'thing thing'],
542
    shouldReject: [[keyword('thing'), CSS.px(10)], 'thing 10px'],
543
});
544
545
test_style_property_map_set({
546
    syntax: '<length>#',
547
    initialValue: '0px',
548
    shouldAccept: [CSS.em(10), [CSS.em(10), '10px']],
549
    shouldReject: [[CSS.em(10), keyword('nolength'), '10em nolength']],
550
});
551
552
function test_append_for_property_map(propertyMapName, propertyMap, options) {
553
    test(function(){
554
        let name = gen_prop(options.syntax, options.initialValue);
555
556
        let ensureArray = v => v.constructor === Array ? v : [v];
557
558
        for (let value of options.values) {
559
            propertyMap.clear();
560
561
            if (value.base !== null)
562
                propertyMap.set(name, ...ensureArray(value.base));
563
564
            // If 'null' is expected, it means we expect the append to fail.
565
            if (value.expect !== null) {
566
                propertyMap.append(name, ...ensureArray(value.append));
567
                let actual = Array.from(propertyMap.getAll(name)).join(' ');
568
                assert_equals(actual, value.expect);
569
            } else {
570
                assert_throws(new TypeError(), () => propertyMap.append(name, ...ensureArray(value.append)));
571
            }
572
        }
573
    }, `StylePropertyMap.append accepts correct CSSStyleValues for ${options.syntax} (${propertyMapName})`);
574
}
575
576
// Verify that the correct CSSStyleValues are accepted/rejected when
577
// appending values to list-valued properties.
578
//
579
// The same test is performed twice: once for attributeStyleMap, and once
580
// for styleMap.
581
function test_append(options) {
582
    test_append_for_property_map('attributeStyleMap', target.attributeStyleMap, options);
583
    test_append_for_property_map('styleMap', style.sheet.rules[0].styleMap, options);
584
}
585
586
test_append({
587
    syntax: '<angle>+',
588
    initialValue: '0deg',
589
    values: [
590
        { base: [CSS.deg(1)], append: [CSS.px(1)], expect: null },
591
        { base: [CSS.deg(1)], append: [CSS.deg(2), CSS.px(1)], expect: null },
592
        { base: [CSS.deg(1)], append: [CSS.deg(2), '1px'], expect: null },
593
        { base: [CSS.deg(1)], append: [CSS.turn(2), CSS.deg(3)], expect: '1deg 2turn 3deg' },
594
        { base: [CSS.deg(1), CSS.deg(2)], append: [CSS.deg(3)], expect: '1deg 2deg 3deg' },
595
        { base: [CSS.deg(1)], append: [CSS.deg(2), '3deg'], expect: '1deg 2deg 3deg' },
596
        { base: [CSS.deg(1)], append: [CSS.deg(2), '3turn 4deg'], expect: '1deg 2deg 3turn 4deg' },
597
        { base: null, append: [CSS.deg(1), '2deg'], expect: '1deg 2deg' },
598
    ],
599
});
600
601
test_append({
602
    syntax: '<custom-ident>+',
603
    initialValue: 'none',
604
    values: [
605
        { base: [keyword('foo')], append: [CSS.px(1)], expect: null },
606
        { base: [keyword('foo')], append: [keyword('bar'), CSS.px(1)], expect: null },
607
        { base: [keyword('foo')], append: [keyword('bar'), '1px'], expect: null },
608
        { base: [keyword('foo')], append: [keyword('bar'), keyword('baz')], expect: 'foo bar baz' },
609
        { base: [keyword('foo'), keyword('bar')], append: [keyword('baz')], expect: 'foo bar baz' },
610
        { base: [keyword('foo')], append: [keyword('bar'), 'baz'], expect: 'foo bar baz' },
611
        { base: [keyword('foo')], append: [keyword('bar'), 'baz zim'], expect: 'foo bar baz zim' },
612
        { base: null, append: [keyword('foo'), 'bar'], expect: 'foo bar' },
613
    ],
614
});
615
616
['<image>+', '<url>+'].forEach((syntax) => {
617
    test_append({
618
        syntax: syntax,
619
        initialValue: 'url(0)',
620
        values: [
621
            { base: [url_image('url("1")')], append: [CSS.px(1)], expect: null },
622
            { base: [url_image('url("1")')], append: [url_image('url("2")'), CSS.px(1)], expect: null },
623
            { base: [url_image('url("1")')], append: [url_image('url("2")'), '1px'], expect: null },
624
            { base: [url_image('url("1")')], append: [url_image('url("2")'), url_image('url("3")')], expect: 'url("1") url("2") url("3")' },
625
            { base: [url_image('url("1")'), url_image('url("2")')], append: [url_image('url("3")')], expect: 'url("1") url("2") url("3")' },
626
            { base: [url_image('url("1")')], append: [url_image('url("2")'), 'url("3")'], expect: 'url("1") url("2") url("3")' },
627
            { base: [url_image('url("1")')], append: [url_image('url("2")'), 'url("3") url("4")'], expect: 'url("1") url("2") url("3") url("4")' },
628
            { base: null, append: [url_image('url("1")'), 'url("2")'], expect: 'url("1") url("2")' },
629
        ],
630
    });
631
});
632
633
test_append({
634
    syntax: '<integer>+',
635
    initialValue: '0',
636
    values: [
637
        { base: [CSS.number(1)], append: [CSS.px(1)], expect: null },
638
        { base: [CSS.number(1)], append: [CSS.number(2), CSS.px(1)], expect: null },
639
        { base: [CSS.number(1)], append: [CSS.number(2), 'noint'], expect: null },
640
        { base: [CSS.number(1)], append: [CSS.number(2), CSS.number(3)], expect: '1 2 3' },
641
        { base: [CSS.number(1), CSS.number(2)], append: [CSS.number(3)], expect: '1 2 3' },
642
        { base: [CSS.number(1)], append: [CSS.number(2), '3'], expect: '1 2 3' },
643
        { base: [CSS.number(1)], append: [CSS.number(2), '3 4'], expect: '1 2 3 4' },
644
        { base: null, append: [CSS.number(1), '2'], expect: '1 2' },
645
    ],
646
});
647
648
test_append({
649
    syntax: '<length-percentage>+',
650
    initialValue: '0px',
651
    values: [
652
        { base: [CSS.px(1)], append: [keyword('nolength')], expect: null },
653
        { base: [CSS.px(1)], append: [CSS.px(2), keyword('nolength')], expect: null },
654
        { base: [CSS.px(1)], append: [CSS.px(2), 'nolength'], expect: null },
655
        { base: [CSS.px(1)], append: [CSS.px(2), CSS.percent(3)], expect: '1px 2px 3%' },
656
        { base: [CSS.px(1), CSS.px(2)], append: [CSS.percent(3)], expect: '1px 2px 3%' },
657
        { base: [CSS.px(1)], append: [CSS.percent(2), '3px'], expect: '1px 2% 3px' },
658
        { base: [CSS.px(1)], append: [CSS.px(2), '3% 4px'], expect: '1px 2px 3% 4px' },
659
        { base: null, append: [CSS.px(1), '2%'], expect: '1px 2%' },
660
    ],
661
});
662
663
test_append({
664
    syntax: '<length>+',
665
    initialValue: '0',
666
    values: [
667
        { base: [CSS.px(1)], append: [keyword('nolength')], expect: null },
668
        { base: [CSS.px(1)], append: [CSS.px(2), keyword('nolength')], expect: null },
669
        { base: [CSS.px(1)], append: [CSS.px(2), 'nolength'], expect: null },
670
        { base: [CSS.px(1)], append: [CSS.em(2), CSS.px(3)], expect: '1px 2em 3px' },
671
        { base: [CSS.px(1), CSS.em(2)], append: [CSS.vh(3)], expect: '1px 2em 3vh' },
672
        { base: [CSS.px(1)], append: [CSS.em(2), '3px'], expect: '1px 2em 3px' },
673
        { base: [CSS.px(1)], append: [CSS.px(2), '3em 4cm'], expect: '1px 2px 3em 4cm' },
674
        { base: null, append: [CSS.vh(1), '2px'], expect: '1vh 2px' },
675
    ],
676
});
677
678
test_append({
679
    syntax: '<number>+',
680
    initialValue: '0',
681
    values: [
682
        { base: [CSS.number(-1)], append: [keyword('NaN')], expect: null },
683
        { base: [CSS.number(-1)], append: [CSS.number(2.5), keyword('NaN')], expect: null },
684
        { base: [CSS.number(-1)], append: [CSS.number(2.5), '1px'], expect: null },
685
        { base: [CSS.number(-1)], append: [CSS.number(2.5), CSS.number(3.2)], expect: '-1 2.5 3.2' },
686
        { base: [CSS.number(-1), CSS.number(2.5)], append: [CSS.number(3.2)], expect: '-1 2.5 3.2' },
687
        { base: [CSS.number(-1)], append: [CSS.number(2.5), '3.2'], expect: '-1 2.5 3.2' },
688
        { base: [CSS.number(-1)], append: [CSS.number(2.5), '3.2 4'], expect: '-1 2.5 3.2 4' },
689
        { base: null, append: [CSS.number(-1), '2.5'], expect: '-1 2.5' },
690
    ],
691
});
692
693
test_append({
694
    syntax: '<percentage>+',
695
    initialValue: '0%',
696
    values: [
697
        { base: [CSS.percent(1)], append: [CSS.px(1)], expect: null },
698
        { base: [CSS.percent(1)], append: [CSS.percent(2), CSS.px(1)], expect: null },
699
        { base: [CSS.percent(1)], append: [CSS.percent(2), '1px'], expect: null },
700
        { base: [CSS.percent(1)], append: [CSS.percent(2), CSS.percent(3)], expect: '1% 2% 3%' },
701
        { base: [CSS.percent(1), CSS.percent(2)], append: [CSS.percent(3)], expect: '1% 2% 3%' },
702
        { base: [CSS.percent(1)], append: [CSS.percent(2), '3%'], expect: '1% 2% 3%' },
703
        { base: [CSS.percent(1)], append: [CSS.percent(2), '3% 4%'], expect: '1% 2% 3% 4%' },
704
        { base: null, append: [CSS.percent(1), '2%'], expect: '1% 2%' },
705
    ],
706
});
707
708
test_append({
709
    syntax: '<resolution>+',
710
    initialValue: '0dpi',
711
    values: [
712
        { base: [CSS.dpi(1)], append: [CSS.px(1)], expect: null },
713
        { base: [CSS.dpi(1)], append: [CSS.dpi(2), CSS.px(1)], expect: null },
714
        { base: [CSS.dpi(1)], append: [CSS.dpi(2), '1px'], expect: null },
715
        { base: [CSS.dpi(1)], append: [CSS.dpi(2), CSS.dpi(3)], expect: '1dpi 2dpi 3dpi' },
716
        { base: [CSS.dpi(1), CSS.dpi(2)], append: [CSS.dpi(3)], expect: '1dpi 2dpi 3dpi' },
717
        { base: [CSS.dpi(1)], append: [CSS.dpi(2), '3dpi'], expect: '1dpi 2dpi 3dpi' },
718
        { base: [CSS.dpi(1)], append: [CSS.dpi(2), '3dpi 4dpi'], expect: '1dpi 2dpi 3dpi 4dpi' },
719
        { base: null, append: [CSS.dpi(1), '2dpi'], expect: '1dpi 2dpi' },
720
    ],
721
});
722
723
test_append({
724
    syntax: '<time>+',
725
    initialValue: '0s',
726
    values: [
727
        { base: [CSS.s(1)], append: [CSS.px(1)], expect: null },
728
        { base: [CSS.s(1)], append: [CSS.s(2), CSS.px(1)], expect: null },
729
        { base: [CSS.s(1)], append: [CSS.ms(2), '1px'], expect: null },
730
        { base: [CSS.s(1)], append: [CSS.ms(2), CSS.s(3)], expect: '1s 2ms 3s' },
731
        { base: [CSS.s(1), CSS.s(2)], append: [CSS.s(3)], expect: '1s 2s 3s' },
732
        { base: [CSS.s(1)], append: [CSS.s(2), '3s'], expect: '1s 2s 3s' },
733
        { base: [CSS.s(1)], append: [CSS.s(2), '3ms 4s'], expect: '1s 2s 3ms 4s' },
734
        { base: null, append: [CSS.s(1), '2s'], expect: '1s 2s' },
735
    ],
736
});
737
738
test_append({
739
    syntax: 'foo+',
740
    initialValue: 'foo',
741
    values: [
742
        { base: [keyword('foo')], append: [CSS.px(1)], expect: null },
743
        { base: [keyword('foo')], append: [keyword('foo'), CSS.px(1)], expect: null },
744
        { base: [keyword('foo')], append: [keyword('foo'), '1px'], expect: null },
745
        { base: [keyword('foo')], append: [keyword('foo'), keyword('foo')], expect: 'foo foo foo' },
746
        { base: [keyword('foo'), keyword('foo')], append: [keyword('foo')], expect: 'foo foo foo' },
747
        { base: [keyword('foo')], append: [keyword('foo'), 'foo'], expect: 'foo foo foo' },
748
        { base: [keyword('foo')], append: [keyword('foo'), 'foo foo'], expect: 'foo foo foo foo' },
749
        { base: null, append: [keyword('foo'), keyword('foo')], expect: 'foo foo' },
750
    ],
751
});
752
753
// CSSStyleValue.parse/parseAll
754
755
function assert_parsed_type(prop, value, expected) {
756
    let parse_value = CSSStyleValue.parse(prop, value);
757
    let parse_all_value = CSSStyleValue.parseAll(prop, value);
758
759
    assert_true(parse_value instanceof expected);
760
    assert_true(parse_all_value.every(x => x instanceof expected))
761
762
    // If CSSStyleValue is expected, the values must be exactly CSSStyleValue.
763
    // This is because CSSUnparsedValues are also CSSStyleValues, which would be
764
    // wrong in this case.
765
    if (expected == CSSStyleValue) {
766
        assert_equals(parse_value.constructor, CSSStyleValue);
767
        assert_true(parse_all_value.every(x => x.constructor == CSSStyleValue));
768
    }
769
}
770
771
test(function(){
772
    assert_parsed_type(gen_prop('*', 'if(){}'), 'while(){}', CSSUnparsedValue);
773
}, 'CSSStyleValue.parse[All] returns CSSUnparsedValue for *');
774
775
test(function(){
776
    assert_parsed_type(gen_prop('<angle> | fail', 'fail'), '42deg', CSSUnitValue);
777
}, 'CSSStyleValue.parse[All] returns CSSUnitValue for <angle>');
778
779
test(function(){
780
    assert_parsed_type(gen_prop('<color> | fail', 'fail'), '#fefefe', CSSStyleValue);
781
}, 'CSSStyleValue.parse[All] returns CSSStyleValue for <color>');
782
783
test(function(){
784
    assert_parsed_type(gen_prop('<custom-ident> | <length>', '10px'), 'none', CSSKeywordValue);
785
}, 'CSSStyleValue.parse[All] returns CSSKeywordValue for <custom-ident>');
786
787
test(function(){
788
    assert_parsed_type(gen_prop('<image> | fail', 'fail'), 'url(thing.png)', CSSImageValue);
789
}, 'CSSStyleValue.parse[All] returns CSSImageValue for <image> [url]');
790
791
test(function(){
792
    assert_parsed_type(gen_prop('<integer> | fail', 'fail'), '100', CSSUnitValue);
793
}, 'CSSStyleValue.parse[All] returns CSSUnitValue for <integer>');
794
795
test(function(){
796
    assert_parsed_type(gen_prop('<length-percentage> | fail', 'fail'), '10%', CSSUnitValue);
797
}, 'CSSStyleValue.parse[All] returns CSSUnitValue for <length-percentage> [%]');
798
799
test(function(){
800
    assert_parsed_type(gen_prop('<length-percentage> | fail', 'fail'), '10px', CSSUnitValue);
801
}, 'CSSStyleValue.parse[All] returns CSSUnitValue for <length-percentage> [px]');
802
803
test(function(){
804
    assert_parsed_type(gen_prop('<length-percentage> | fail', 'fail'), 'calc(10px + 10%)', CSSMathSum);
805
}, 'CSSStyleValue.parse[All] returns CSSMathSum for <length-percentage> [px + %]');
806
807
test(function(){
808
    assert_parsed_type(gen_prop('<length> | fail', 'fail'), '10px', CSSUnitValue);
809
}, 'CSSStyleValue.parse[All] returns CSSUnitValue for <length>');
810
811
test(function(){
812
    assert_parsed_type(gen_prop('<number> | fail', 'fail'), '42', CSSUnitValue);
813
}, 'CSSStyleValue.parse[All] returns CSSUnitValue for <number>');
814
815
test(function(){
816
    assert_parsed_type(gen_prop('<percentage> | fail', 'fail'), '10%', CSSUnitValue);
817
}, 'CSSStyleValue.parse[All] returns CSSUnitValue for <percentage>');
818
819
test(function(){
820
    assert_parsed_type(gen_prop('<resolution> | fail', 'fail'), '300dpi', CSSUnitValue);
821
}, 'CSSStyleValue.parse[All] returns CSSUnitValue for <resolution>');
822
823
test(function(){
824
    assert_parsed_type(gen_prop('<time> | fail', 'fail'), '42s', CSSUnitValue);
825
}, 'CSSStyleValue.parse[All] returns CSSUnitValue for <time>');
826
827
test(function(){
828
    assert_parsed_type(gen_prop('<url> | fail', 'fail'), 'url(a)', CSSStyleValue);
829
}, 'CSSStyleValue.parse[All] returns CSSStyleValue for <url>');
830
831
test(function(){
832
    assert_parsed_type(gen_prop('thing1 | THING2 | <url>', 'url(fail)'), 'THING2', CSSKeywordValue);
833
}, 'CSSStyleValue.parse[All] returns CSSKeywordValue for ident');
834
835
test(function(){
836
    assert_parsed_type(gen_prop('<length>+ | fail', 'fail'), '10px 20px', CSSUnitValue);
837
}, 'CSSStyleValue.parse[All] returns list of CSSUnitValues for <length>+');
838
839
test(function(){
840
    assert_parsed_type(gen_prop('<length># | fail', 'fail'), '10px, 20px', CSSUnitValue);
841
}, 'CSSStyleValue.parse[All] returns list of CSSUnitValues for <length>#');
842
843
// Direct CSSStyleValue objects:
844
845
function gen_all_props() {
846
    return [
847
        gen_prop('*', 'foo'),
848
        gen_prop('foo', 'foo'),
849
        gen_prop('<angle>', '0deg'),
850
        gen_prop('<color>', 'rgb(1, 2, 3)'),
851
        gen_prop('<custom-ident>', 'thing'),
852
        gen_prop('<image>', 'url(a)'),
853
        gen_prop('<integer>', '0'),
854
        gen_prop('<length-percentage>', 'calc(10px + 10%)'),
855
        gen_prop('<length>', '0px'),
856
        gen_prop('<number>', '0.5'),
857
        gen_prop('<percentage>', '0%'),
858
        gen_prop('<resolution>', '0dpi'),
859
        gen_prop('<time>', '0s'),
860
        gen_prop('<transform-function>', 'rotateX(0deg)'),
861
        gen_prop('<transform-list>', 'rotateX(0deg)'),
862
        gen_prop('<url>', 'url(a)')
863
    ];
864
}
865
866
test(function(){
867
    let props0 = gen_all_props();
868
    let props1 = gen_all_props();
869
870
    for (let i = 0; i < props0.length; i++) {
871
        let prop0 = props0[i];
872
        let prop1 = props1[i];
873
874
        // Abuse computedStyleMap to get the initialValue (just to get some
875
        // value that will parse for prop0/1's syntax).
876
        let initialValue = target.computedStyleMap().get(prop0);
877
878
        // We only care about direct CSSStyleValue instances in this test.
879
        // Ultimately, in some future version of CSS TypedOM, we may have no
880
        // direct CSSStyleValue instances at all, which is fine.
881
        if (initialValue.constructor !== CSSStyleValue) {
882
            continue;
883
        }
884
885
        let value = CSSStyleValue.parse(prop0, initialValue.toString());
886
887
        // A value parsed for prop0 must be assignable to prop0.
888
        target.attributeStyleMap.clear();
889
        target.attributeStyleMap.set(prop0, value); // Don't throw.
890
891
        // A value parsed for prop0 must not be assignable to prop1, even if
892
        // the properties have compatible syntaxes.
893
        assert_throws(new TypeError(), () => {
894
            target.attributeStyleMap.clear();
895
            target.attributeStyleMap.set(prop1, value);
896
        });
897
    }
898
}, 'Direct CSSStyleValue instances are tied to their associated property');
899
900
// StylePropertyMapReadOnly iteration
901
902
test(function(){
903
    let name = gen_prop('<length>', '10px');
904
    let result = Array.from(target.computedStyleMap()).filter(e => e[0] == name)[0];
905
    assert_true(typeof(result) !== 'undefined');
906
}, 'Registered property with initial value show up on iteration of computedStyleMap');
907
908
// Verifies that iterating a StylePropertyMap[ReadOnly] yields correctly
909
// typed objects for a given syntax/value.
910
function test_iteration_type_for_property_map(propertyMapName, propertyMap, options) {
911
    test(function(){
912
        let name = gen_prop(options.syntax, options.initialValue);
913
        if (propertyMap instanceof StylePropertyMap) {
914
            // Only set the value if the propertyMap is mutable.
915
            propertyMap.set(name, options.value);
916
        }
917
        let result = Array.from(propertyMap).filter(e => e[0] == name)[0];
918
        let value = result[1];
919
        assert_true(options.expect(value));
920
    }, `Iteration on ${propertyMapName} produces correct type for ${options.syntax}`);
921
}
922
923
function test_iteration_type(options) {
924
    test_iteration_type_for_property_map('computedStyleMap', target.computedStyleMap(), options);
925
    test_iteration_type_for_property_map('attributeStyleMap', target.attributeStyleMap, options);
926
    test_iteration_type_for_property_map('styleMap', style.sheet.rules[0].styleMap, options);
927
}
928
929
test_iteration_type({
930
    syntax: '*',
931
    initialValue: 'none',
932
    value: 'thing',
933
    expect: v => v.length == 1 && v[0] instanceof CSSUnparsedValue,
934
});
935
936
test_iteration_type({
937
    syntax: '<angle>',
938
    initialValue: '0deg',
939
    value: '42deg',
940
    expect: v => v.length == 1 && v[0] instanceof CSSUnitValue,
941
});
942
943
test_iteration_type({
944
    syntax: '<custom-ident>',
945
    initialValue: 'none',
946
    value: 'thing',
947
    expect: v => v.length == 1 && v[0] instanceof CSSKeywordValue,
948
});
949
950
test_iteration_type({
951
    syntax: '<image>',
952
    initialValue: 'url(a)',
953
    value: 'url(b)',
954
    expect: v => v.length == 1 && v[0] instanceof CSSImageValue,
955
});
956
957
test_iteration_type({
958
    syntax: '<integer>',
959
    initialValue: '0',
960
    value: '100',
961
    expect: v => v.length == 1 && v[0] instanceof CSSUnitValue,
962
});
963
964
test_iteration_type({
965
    syntax: '<length>',
966
    initialValue: '0px',
967
    value: '10px',
968
    expect: v => v.length == 1 && v[0] instanceof CSSUnitValue,
969
});
970
971
test_iteration_type({
972
    syntax: '<number>',
973
    initialValue: '0',
974
    value: '42',
975
    expect: v => v.length == 1 && v[0] instanceof CSSUnitValue,
976
});
977
978
test_iteration_type({
979
    syntax: '<percentage>',
980
    initialValue: '0%',
981
    value: '10%',
982
    expect: v => v.length == 1 && v[0] instanceof CSSUnitValue,
983
});
984
985
test_iteration_type({
986
    syntax: '<resolution>',
987
    initialValue: '0dpi',
988
    value: '300dpi',
989
    expect: v => v.length == 1 && v[0] instanceof CSSUnitValue,
990
});
991
992
test_iteration_type({
993
    syntax: '<time>',
994
    initialValue: '0s',
995
    value: '10s',
996
    expect: v => v.length == 1 && v[0] instanceof CSSUnitValue,
997
});
998
999
test_iteration_type({
1000
    syntax: '<url>',
1001
    initialValue: 'url(a)',
1002
    value: 'url(b)',
1003
    expect: v => v.length == 1 && v[0].constructor === CSSStyleValue,
1004
});
1005
1006
test_iteration_type({
1007
    syntax: 'none | thing | THING',
1008
    initialValue: 'none',
1009
    value: 'THING',
1010
    expect: v => v.length == 1 && v[0] instanceof CSSKeywordValue,
1011
});
1012
1013
test_iteration_type({
1014
    syntax: '<angle> | <length>',
1015
    initialValue: '0deg',
1016
    value: '10px',
1017
    expect: v => v.length == 1 && v[0] instanceof CSSUnitValue,
1018
});
1019
1020
</script>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-properties-values-api/unit-cycles.html -22 / +19 lines
Lines 96-114 a/LayoutTests/imported/w3c/web-platform-tests/css/css-properties-values-api/unit-cycles.html_sec1
96
    test(function() {
96
    test(function() {
97
        target.style = 'font-size: var(--font-size-em);';
97
        target.style = 'font-size: var(--font-size-em);';
98
        assert_property_equals('font-size', unsetFontSize);
98
        assert_property_equals('font-size', unsetFontSize);
99
        assert_property_equals('--font-size-em', compute_dimension('2em', 'unset'));
99
        assert_property_equals('--font-size-em', '');
100
    }, 'Lengths with em units may not be referenced from font-size');
100
    }, 'Lengths with em units may not be referenced from font-size');
101
101
102
    test(function() {
102
    test(function() {
103
        target.style = 'font-size: var(--font-size-ex);';
103
        target.style = 'font-size: var(--font-size-ex);';
104
        assert_property_equals('font-size', unsetFontSize);
104
        assert_property_equals('font-size', unsetFontSize);
105
        assert_property_equals('--font-size-ex', compute_dimension('2ex', 'unset'));
105
        assert_property_equals('--font-size-ex', '');
106
    }, 'Lengths with ex units may not be referenced from font-size');
106
    }, 'Lengths with ex units may not be referenced from font-size');
107
107
108
    test(function() {
108
    test(function() {
109
        target.style = 'font-size: var(--font-size-ch);';
109
        target.style = 'font-size: var(--font-size-ch);';
110
        assert_property_equals('font-size', unsetFontSize);
110
        assert_property_equals('font-size', unsetFontSize);
111
        assert_property_equals('--font-size-ch', compute_dimension('2ch', 'unset'));
111
        assert_property_equals('--font-size-ch', '');
112
    }, 'Lengths with ch units may not be referenced from font-size');
112
    }, 'Lengths with ch units may not be referenced from font-size');
113
113
114
    test(function() {
114
    test(function() {
Lines 120-130 a/LayoutTests/imported/w3c/web-platform-tests/css/css-properties-values-api/unit-cycles.html_sec2
120
120
121
    test(function() {
121
    test(function() {
122
        let root = document.documentElement;
122
        let root = document.documentElement;
123
        let expected1rem = compute_dimension('1rem', 'unset', root);
124
        let expected2rem = compute_dimension('2rem', 'unset', root);
125
        root.style = 'font-size: var(--font-size-rem);';
123
        root.style = 'font-size: var(--font-size-rem);';
126
        assert_property_equals('font-size', expected1rem, root);
124
        assert_property_equals('font-size', unsetFontSize, root);
127
        assert_property_equals('--font-size-rem', expected2rem, root);
125
        assert_property_equals('--font-size-rem', '', root);
128
    }, 'Lengths with rem units may not be referenced from font-size on root element');
126
    }, 'Lengths with rem units may not be referenced from font-size on root element');
129
127
130
    test(function() {
128
    test(function() {
Lines 134-184 a/LayoutTests/imported/w3c/web-platform-tests/css/css-properties-values-api/unit-cycles.html_sec3
134
132
135
    test(function() {
133
    test(function() {
136
        target.style = 'font-size: var(--font-size-em, 42px);';
134
        target.style = 'font-size: var(--font-size-em, 42px);';
137
        assert_property_equals('font-size', '42px');
135
        assert_property_equals('font-size', unsetFontSize);
138
    }, 'Fallback triggered when em unit cycle is detected');
136
    }, 'Fallback not triggered while inside em unit cycle');
139
137
140
    test(function() {
138
    test(function() {
141
        target.style = 'font-size: var(--font-size-ex, 42px);';
139
        target.style = 'font-size: var(--font-size-ex, 42px);';
142
        assert_property_equals('font-size', '42px');
140
        assert_property_equals('font-size', unsetFontSize);
143
    }, 'Fallback triggered when ex unit cycle is detected');
141
    }, 'Fallback not triggered while inside ex unit cycle');
144
142
145
    test(function() {
143
    test(function() {
146
        target.style = 'font-size: var(--font-size-ch, 42px);';
144
        target.style = 'font-size: var(--font-size-ch, 42px);';
147
        assert_property_equals('font-size', '42px');
145
        assert_property_equals('font-size', unsetFontSize);
148
    }, 'Fallback triggered when ch unit cycle is detected');
146
    }, 'Fallback not triggered while inside ch unit cycle');
149
147
150
    test(function() {
148
    test(function() {
151
        let root = document.documentElement;
149
        let root = document.documentElement;
152
        root.style = 'font-size: var(--font-size-rem, 42px);';
150
        root.style = 'font-size: var(--font-size-rem, 42px);';
153
        assert_property_equals('font-size', '42px', root);
151
        assert_property_equals('font-size', unsetFontSize, root);
154
        root.style = 'font-size: unset;';
152
        root.style = 'font-size: unset;';
155
    }, 'Fallback triggered when rem unit cycle is detected on root element');
153
    }, 'Fallback not triggered while inside rem unit cycle on root element');
156
154
157
    test(function() {
155
    test(function() {
158
        target.style = 'font-size: var(--font-size-em-via-var);';
156
        target.style = 'font-size: var(--font-size-em-via-var);';
159
        assert_property_equals('font-size', unsetFontSize);
157
        assert_property_equals('font-size', unsetFontSize);
160
        assert_property_equals('--font-size-em-via-var', compute_dimension('10em', 'unset'));
158
        assert_property_equals('--font-size-em-via-var', '');
161
    }, 'Lengths with em units are detected via var references');
159
    }, 'Lengths with em units are detected via var references');
162
160
163
    test(function() {
161
    test(function() {
164
        target.style = 'font-size: var(--font-size-ex-via-var);';
162
        target.style = 'font-size: var(--font-size-ex-via-var);';
165
        assert_property_equals('font-size', unsetFontSize);
163
        assert_property_equals('font-size', unsetFontSize);
166
        assert_property_equals('--font-size-ex-via-var', compute_dimension('10ex', 'unset'));
164
        assert_property_equals('--font-size-ex-via-var', '');
167
    }, 'Lengths with ex units are detected via var references');
165
    }, 'Lengths with ex units are detected via var references');
168
166
169
    test(function() {
167
    test(function() {
170
        target.style = 'font-size: var(--font-size-ch-via-var);';
168
        target.style = 'font-size: var(--font-size-ch-via-var);';
171
        assert_property_equals('font-size', unsetFontSize);
169
        assert_property_equals('font-size', unsetFontSize);
172
        assert_property_equals('--font-size-ch-via-var', compute_dimension('10ch', 'unset'));
170
        assert_property_equals('--font-size-ch-via-var', '');
173
    }, 'Lengths with ch units are detected via var references');
171
    }, 'Lengths with ch units are detected via var references');
174
172
175
    test(function() {
173
    test(function() {
176
        let root = document.documentElement;
174
        let root = document.documentElement;
177
        let expected1rem = compute_dimension('1rem', 'unset', root);
178
        let expected10rem = compute_dimension('10rem', 'unset', root);
179
        root.style = 'font-size: var(--font-size-rem-via-var);';
175
        root.style = 'font-size: var(--font-size-rem-via-var);';
180
        assert_property_equals('font-size', expected1rem, root);
176
        assert_property_equals('font-size', unsetFontSize, root);
181
        assert_property_equals('--font-size-rem-via-var', expected10rem, root);
177
        assert_property_equals('--font-size-rem-via-var', '', root);
178
        root.style = 'font-size: unset';
182
    }, 'Lengths with rem units are detected via var references');
179
    }, 'Lengths with rem units are detected via var references');
183
180
184
    test(function() {
181
    test(function() {
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-properties-values-api/var-reference-registered-properties-cycles-expected.txt +1 lines
Lines 3-6 PASS A var() cycle between two registered properties is handled correctly. a/LayoutTests/imported/w3c/web-platform-tests/css/css-properties-values-api/var-reference-registered-properties-cycles-expected.txt_sec1
3
PASS A var() cycle between a registered properties and an unregistered property is handled correctly. 
3
PASS A var() cycle between a registered properties and an unregistered property is handled correctly. 
4
PASS A var() cycle between a two unregistered properties is handled correctly. 
4
PASS A var() cycle between a two unregistered properties is handled correctly. 
5
PASS A var() cycle between a syntax:'*' property and an unregistered property is handled correctly. 
5
PASS A var() cycle between a syntax:'*' property and an unregistered property is handled correctly. 
6
PASS Invalid at computed-value time triggers 'unset' behavior 
6
7
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-properties-values-api/var-reference-registered-properties-cycles.html +38 lines
Lines 142-144 test(function() { a/LayoutTests/imported/w3c/web-platform-tests/css/css-properties-values-api/var-reference-registered-properties-cycles.html_sec1
142
    assert_equals(computedStyle.transitionProperty, 'water');
142
    assert_equals(computedStyle.transitionProperty, 'water');
143
}, "A var() cycle between a syntax:'*' property and an unregistered property is handled correctly.");
143
}, "A var() cycle between a syntax:'*' property and an unregistered property is handled correctly.");
144
</script>
144
</script>
145
146
<style>
147
#test5_parent {
148
    --registered-5-c:foo;
149
    --registered-5-d:bar;
150
    --registered-5-e:baz;
151
    color: green;
152
}
153
#test5 {
154
    --registered-5-a:var(--registered-5-b,hello);
155
    --registered-5-b:var(--registered-5-a,world);
156
157
    --registered-5-c:var(--registered-5-a);
158
    --registered-5-d:var(--registered-5-b);
159
    --registered-5-e:var(--unknown);
160
    color: var(--registered-5-e);
161
}
162
</style>
163
<div id=test5_parent>
164
    <div id=test5></div>
165
</div>
166
<script>
167
test(function() {
168
    CSS.registerProperty({name: '--registered-5-a', syntax: '*', inherits: true});
169
    CSS.registerProperty({name: '--registered-5-b', syntax: '*', inherits: true});
170
    CSS.registerProperty({name: '--registered-5-c', syntax: '*', inherits: true});
171
    CSS.registerProperty({name: '--registered-5-d', syntax: '*', inherits: true});
172
    CSS.registerProperty({name: '--registered-5-e', syntax: '*', inherits: true});
173
174
    let computedStyle = getComputedStyle(test5);
175
    assert_equals(computedStyle.getPropertyValue('--registered-5-a'), '');
176
    assert_equals(computedStyle.getPropertyValue('--registered-5-b'), '');
177
    assert_equals(computedStyle.getPropertyValue('--registered-5-c'), 'foo');
178
    assert_equals(computedStyle.getPropertyValue('--registered-5-d'), 'bar');
179
    assert_equals(computedStyle.getPropertyValue('--registered-5-e'), 'baz');
180
    assert_equals(computedStyle.getPropertyValue('color'), 'rgb(0, 128, 0)');
181
}, "Invalid at computed-value time triggers 'unset' behavior");
182
</script>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-properties-values-api/var-reference-registered-properties-expected.txt +1 lines
Lines 6-11 FAIL Registered lists may be concatenated assert_equals: expected "1px, 10px, 2p a/LayoutTests/imported/w3c/web-platform-tests/css/css-properties-values-api/var-reference-registered-properties-expected.txt_sec1
6
PASS Font-relative units are absolutized when substituting 
6
PASS Font-relative units are absolutized when substituting 
7
PASS Calc expressions are resolved when substituting 
7
PASS Calc expressions are resolved when substituting 
8
FAIL Lists with relative units are absolutized when substituting assert_equals: expected "110px, 120px" but got "0px"
8
FAIL Lists with relative units are absolutized when substituting assert_equals: expected "110px, 120px" but got "0px"
9
FAIL Values are absolutized when substituting into properties with universal syntax The given initial value does not parse for the given syntax.
9
PASS Valid fallback does not invalidate var()-reference [<length>, 10px] 
10
PASS Valid fallback does not invalidate var()-reference [<length>, 10px] 
10
PASS Valid fallback does not invalidate var()-reference [<length> | <color>, red] 
11
PASS Valid fallback does not invalidate var()-reference [<length> | <color>, red] 
11
PASS Valid fallback does not invalidate var()-reference [<length> | none, none] 
12
PASS Valid fallback does not invalidate var()-reference [<length> | none, none] 
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-properties-values-api/var-reference-registered-properties.html +9 lines
Lines 136-141 test(function(){ a/LayoutTests/imported/w3c/web-platform-tests/css/css-properties-values-api/var-reference-registered-properties.html_sec1
136
    element.style = '';
136
    element.style = '';
137
}, 'Lists with relative units are absolutized when substituting');
137
}, 'Lists with relative units are absolutized when substituting');
138
138
139
test(function(){
140
    let length = generate_property('none | <length>');
141
    let universal = generate_property('*');
142
    element.style = `font-size: 10px; ${length}: 10em; ${universal}: var(${length})`;
143
    let computedStyle = getComputedStyle(element);
144
    assert_equals(computedStyle.getPropertyValue(universal), ' 100px');
145
    element.style = '';
146
}, 'Values are absolutized when substituting into properties with universal syntax');
147
139
function test_valid_fallback(syntax, value, fallback) {
148
function test_valid_fallback(syntax, value, fallback) {
140
    test(function(){
149
    test(function(){
141
        let name = generate_property(syntax);
150
        let name = generate_property(syntax);
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-properties-values-api/w3c-import.log -1 / +13 lines
Lines 15-30 None a/LayoutTests/imported/w3c/web-platform-tests/css/css-properties-values-api/w3c-import.log_sec1
15
------------------------------------------------------------------------
15
------------------------------------------------------------------------
16
List of files:
16
List of files:
17
/LayoutTests/imported/w3c/web-platform-tests/css/css-properties-values-api/META.yml
17
/LayoutTests/imported/w3c/web-platform-tests/css/css-properties-values-api/META.yml
18
/LayoutTests/imported/w3c/web-platform-tests/css/css-properties-values-api/at-property-animation.html
19
/LayoutTests/imported/w3c/web-platform-tests/css/css-properties-values-api/at-property-cssom.html
20
/LayoutTests/imported/w3c/web-platform-tests/css/css-properties-values-api/at-property-non-matching-media-crash.html
21
/LayoutTests/imported/w3c/web-platform-tests/css/css-properties-values-api/at-property-shadow.html
22
/LayoutTests/imported/w3c/web-platform-tests/css/css-properties-values-api/at-property-stylesheets.html
23
/LayoutTests/imported/w3c/web-platform-tests/css/css-properties-values-api/at-property-typedom.html
24
/LayoutTests/imported/w3c/web-platform-tests/css/css-properties-values-api/at-property.html
25
/LayoutTests/imported/w3c/web-platform-tests/css/css-properties-values-api/conditional-rules.html
26
/LayoutTests/imported/w3c/web-platform-tests/css/css-properties-values-api/determine-registration.html
27
/LayoutTests/imported/w3c/web-platform-tests/css/css-properties-values-api/font-size-animation.html
18
/LayoutTests/imported/w3c/web-platform-tests/css/css-properties-values-api/idlharness.html
28
/LayoutTests/imported/w3c/web-platform-tests/css/css-properties-values-api/idlharness.html
19
/LayoutTests/imported/w3c/web-platform-tests/css/css-properties-values-api/property-cascade.html
29
/LayoutTests/imported/w3c/web-platform-tests/css/css-properties-values-api/property-cascade.html
20
/LayoutTests/imported/w3c/web-platform-tests/css/css-properties-values-api/register-property-syntax-parsing.html
30
/LayoutTests/imported/w3c/web-platform-tests/css/css-properties-values-api/register-property-syntax-parsing.html
21
/LayoutTests/imported/w3c/web-platform-tests/css/css-properties-values-api/register-property.html
31
/LayoutTests/imported/w3c/web-platform-tests/css/css-properties-values-api/register-property.html
22
/LayoutTests/imported/w3c/web-platform-tests/css/css-properties-values-api/registered-properties-inheritance.html
32
/LayoutTests/imported/w3c/web-platform-tests/css/css-properties-values-api/registered-properties-inheritance.html
33
/LayoutTests/imported/w3c/web-platform-tests/css/css-properties-values-api/registered-property-change-style-001.html
23
/LayoutTests/imported/w3c/web-platform-tests/css/css-properties-values-api/registered-property-computation.html
34
/LayoutTests/imported/w3c/web-platform-tests/css/css-properties-values-api/registered-property-computation.html
24
/LayoutTests/imported/w3c/web-platform-tests/css/css-properties-values-api/registered-property-cssom.html
35
/LayoutTests/imported/w3c/web-platform-tests/css/css-properties-values-api/registered-property-cssom.html
25
/LayoutTests/imported/w3c/web-platform-tests/css/css-properties-values-api/registered-property-initial.html
36
/LayoutTests/imported/w3c/web-platform-tests/css/css-properties-values-api/registered-property-initial.html
37
/LayoutTests/imported/w3c/web-platform-tests/css/css-properties-values-api/registered-property-revert.html
26
/LayoutTests/imported/w3c/web-platform-tests/css/css-properties-values-api/self-utils.html
38
/LayoutTests/imported/w3c/web-platform-tests/css/css-properties-values-api/self-utils.html
27
/LayoutTests/imported/w3c/web-platform-tests/css/css-properties-values-api/typedom.tentative.html
39
/LayoutTests/imported/w3c/web-platform-tests/css/css-properties-values-api/typedom.html
28
/LayoutTests/imported/w3c/web-platform-tests/css/css-properties-values-api/unit-cycles.html
40
/LayoutTests/imported/w3c/web-platform-tests/css/css-properties-values-api/unit-cycles.html
29
/LayoutTests/imported/w3c/web-platform-tests/css/css-properties-values-api/url-resolution.html
41
/LayoutTests/imported/w3c/web-platform-tests/css/css-properties-values-api/url-resolution.html
30
/LayoutTests/imported/w3c/web-platform-tests/css/css-properties-values-api/var-reference-registered-properties-cycles.html
42
/LayoutTests/imported/w3c/web-platform-tests/css/css-properties-values-api/var-reference-registered-properties-cycles.html
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/META.yml +4 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/META.yml_sec1
1
spec: https://drafts.csswg.org/css-pseudo/
2
suggested_reviewers:
3
  - plinss
4
  - frivoal
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/OWNERS -2 lines
Lines 1-2 a/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/OWNERS_sec1
1
@plinss
2
@frivoal
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/active-selection-051-expected.html +32 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/active-selection-051-expected.html_sec1
1
<!DOCTYPE html>
2
3
  <meta charset="UTF-8">
4
5
  <title>CSS Reftest Reference</title>
6
7
  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/">
8
9
   <style>
10
  div
11
    {
12
      font-size: 300%;
13
    }
14
  </style>
15
16
  <script>
17
  function startTest()
18
  {
19
  var targetRange = document.createRange();
20
  /* We first create an empty range */
21
  targetRange.selectNodeContents(document.getElementById("test"));
22
  /* Then we set the range boundaries to the children of div#test */
23
  window.getSelection().addRange(targetRange);
24
  /* Finally, we now select such range of content */
25
  }
26
  </script>
27
28
  <body onload="startTest();">
29
30
  <p>Test passes if "Selected Text" appears selected using the OS selection colors.
31
32
  <div id="test">Selected Text</div>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/active-selection-051.html +43 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/active-selection-051.html_sec1
1
<!DOCTYPE html>
2
3
  <meta charset="UTF-8">
4
5
  <title>CSS Pseudo-Elements Test: active selection and invalid declaration block</title>
6
7
  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/">
8
  <link rel="help" href="https://www.w3.org/TR/css-pseudo-4/#highlight-cascade">
9
  <link rel="match" href="active-selection-051-ref.html">
10
11
  <meta content="invalid should" name="flags">
12
  <meta name="assert" content="In this test, the selector div::selection has an invalid declaration block. Therefore, it is ignored. In such case, the UA should use the OS-default highlight colors for div::selection.">
13
14
  <style>
15
  div
16
    {
17
      color: transparent;
18
      font-size: 300%;
19
    }
20
21
  div::selection
22
    {
23
      foo: bar;
24
    }
25
  </style>
26
27
  <script>
28
  function startTest()
29
  {
30
  var targetRange = document.createRange();
31
  /* We first create an empty range */
32
  targetRange.selectNodeContents(document.getElementById("test"));
33
  /* Then we set the range boundaries to the children of div#test */
34
  window.getSelection().addRange(targetRange);
35
  /* Finally, we now select such range of content */
36
  }
37
  </script>
38
39
  <body onload="startTest();">
40
41
  <p>Test passes if "Selected Text" appears selected using the OS selection colors.
42
43
  <div id="test">Selected Text</div>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/active-selection-052-expected.html +32 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/active-selection-052-expected.html_sec1
1
<!DOCTYPE html>
2
3
  <meta charset="UTF-8">
4
5
  <title>CSS Reftest Reference</title>
6
7
  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/">
8
9
   <style>
10
  div
11
    {
12
      font-size: 300%;
13
    }
14
  </style>
15
16
  <script>
17
  function startTest()
18
  {
19
  var targetRange = document.createRange();
20
  /* We first create an empty range */
21
  targetRange.selectNodeContents(document.getElementById("test"));
22
  /* Then we set the range boundaries to the children of div#test */
23
  window.getSelection().addRange(targetRange);
24
  /* Finally, we now select such range of content */
25
  }
26
  </script>
27
28
  <body onload="startTest();">
29
30
  <p>Test passes if "Selected Text" appears selected using the OS selection colors.
31
32
  <div id="test">Selected Text</div>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/active-selection-052.html +43 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/active-selection-052.html_sec1
1
<!DOCTYPE html>
2
3
  <meta charset="UTF-8">
4
5
  <title>CSS Pseudo-Elements Test: active selection and empty declaration block</title>
6
7
  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/">
8
  <link rel="help" href="https://www.w3.org/TR/css-pseudo-4/#highlight-cascade">
9
  <link rel="match" href="active-selection-051-ref.html">
10
11
  <meta content="should" name="flags">
12
  <meta name="assert" content="In this test, neither color nor background-color have been specified for the selector div::selection. In such case, the UA should use the OS-default highlight colors for div::selection.">
13
14
  <style>
15
  div
16
    {
17
      color: transparent;
18
      font-size: 300%;
19
    }
20
21
  div::selection
22
    {
23
24
    }
25
  </style>
26
27
  <script>
28
  function startTest()
29
  {
30
  var targetRange = document.createRange();
31
  /* We first create an empty range */
32
  targetRange.selectNodeContents(document.getElementById("test"));
33
  /* Then we set the range boundaries to the children of div#test */
34
  window.getSelection().addRange(targetRange);
35
  /* Finally, we now select such range of content */
36
  }
37
  </script>
38
39
  <body onload="startTest();">
40
41
  <p>Test passes if "Selected Text" appears selected using the OS selection colors.
42
43
  <div id="test">Selected Text</div>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/active-selection-053-expected.html +32 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/active-selection-053-expected.html_sec1
1
<!DOCTYPE html>
2
3
  <meta charset="UTF-8">
4
5
  <title>CSS Reftest Reference</title>
6
7
  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/">
8
9
   <style>
10
  div
11
    {
12
      font-size: 300%;
13
    }
14
  </style>
15
16
  <script>
17
  function startTest()
18
  {
19
  var targetRange = document.createRange();
20
  /* We first create an empty range */
21
  targetRange.selectNodeContents(document.getElementById("test"));
22
  /* Then we set the range boundaries to the children of div#test */
23
  window.getSelection().addRange(targetRange);
24
  /* Finally, we now select such range of content */
25
  }
26
  </script>
27
28
  <body onload="startTest();">
29
30
  <p>Test passes if "Selected Text" appears selected using the OS selection colors.
31
32
  <div id="test">Selected Text</div>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/active-selection-053.html +43 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/active-selection-053.html_sec1
1
<!DOCTYPE html>
2
3
  <meta charset="UTF-8">
4
5
  <title>CSS Pseudo-Elements Test: active selection and invalid color value</title>
6
7
  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/">
8
  <link rel="help" href="https://www.w3.org/TR/css-pseudo-4/#highlight-cascade">
9
  <link rel="match" href="active-selection-051-ref.html">
10
11
  <meta content="invalid should" name="flags">
12
  <meta name="assert" content="In this test, 'color' has an invalid value which makes the declaration invalid; therefore, it is ignored. Therefore, the div::selection selector has neither color nor background-color specified. In such case, the UA should use the OS-default highlight colors for div::selection.">
13
14
  <style>
15
  div
16
    {
17
      color: transparent;
18
      font-size: 300%;
19
    }
20
21
  div::selection
22
    {
23
      color: foo;
24
    }
25
  </style>
26
27
  <script>
28
  function startTest()
29
  {
30
  var targetRange = document.createRange();
31
  /* We first create an empty range */
32
  targetRange.selectNodeContents(document.getElementById("test"));
33
  /* Then we set the range boundaries to the children of div#test */
34
  window.getSelection().addRange(targetRange);
35
  /* Finally, we now select such range of content */
36
  }
37
  </script>
38
39
  <body onload="startTest();">
40
41
  <p>Test passes if "Selected Text" appears selected using the OS selection colors.
42
43
  <div id="test">Selected Text</div>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/active-selection-054-expected.html +32 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/active-selection-054-expected.html_sec1
1
<!DOCTYPE html>
2
3
  <meta charset="UTF-8">
4
5
  <title>CSS Reftest Reference</title>
6
7
  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/">
8
9
   <style>
10
  div
11
    {
12
      font-size: 300%;
13
    }
14
  </style>
15
16
  <script>
17
  function startTest()
18
  {
19
  var targetRange = document.createRange();
20
  /* We first create an empty range */
21
  targetRange.selectNodeContents(document.getElementById("test"));
22
  /* Then we set the range boundaries to the children of div#test */
23
  window.getSelection().addRange(targetRange);
24
  /* Finally, we now select such range of content */
25
  }
26
  </script>
27
28
  <body onload="startTest();">
29
30
  <p>Test passes if "Selected Text" appears selected using the OS selection colors.
31
32
  <div id="test">Selected Text</div>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/active-selection-054.html +43 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/active-selection-054.html_sec1
1
<!DOCTYPE html>
2
3
  <meta charset="UTF-8">
4
5
  <title>CSS Pseudo-Elements Test: active selection and invalid background-color value</title>
6
7
  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/">
8
  <link rel="help" href="https://www.w3.org/TR/css-pseudo-4/#highlight-cascade">
9
  <link rel="match" href="active-selection-051-ref.html">
10
11
  <meta content="invalid should" name="flags">
12
  <meta name="assert" content="In this test, 'background-color' has an invalid value which makes the declaration invalid; therefore, it is ignored. Therefore, the div::selection selector has neither color nor background-color specified. In such case, the UA should use the OS-default highlight colors for div::selection.">
13
14
  <style>
15
  div
16
    {
17
      color: transparent;
18
      font-size: 300%;
19
    }
20
21
  div::selection
22
    {
23
      background-color: bar;
24
    }
25
  </style>
26
27
  <script>
28
  function startTest()
29
  {
30
  var targetRange = document.createRange();
31
  /* We first create an empty range */
32
  targetRange.selectNodeContents(document.getElementById("test"));
33
  /* Then we set the range boundaries to the children of div#test */
34
  window.getSelection().addRange(targetRange);
35
  /* Finally, we now select such range of content */
36
  }
37
  </script>
38
39
  <body onload="startTest();">
40
41
  <p>Test passes if "Selected Text" appears selected using the OS selection colors.
42
43
  <div id="test">Selected Text</div>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/active-selection-056-expected.xht +18 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/active-selection-056-expected.xht_sec1
1
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
2
3
<html xmlns="http://www.w3.org/1999/xhtml">
4
5
 <head>
6
7
  <title>CSS Reftest Reference</title>
8
9
  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
10
11
 </head>
12
13
 <body>
14
15
  <p>Test passes if there is nothing below.</p>
16
17
 </body>
18
</html>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/active-selection-056.html +51 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/active-selection-056.html_sec1
1
<!DOCTYPE html>
2
3
  <meta charset="UTF-8">
4
5
  <title>CSS Pseudo-Elements Test: active selection and 3 consecutive &lt;br&gt; elements</title>
6
7
  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/">
8
  <link rel="help" href="https://www.w3.org/TR/css-pseudo-4/#highlight-selectors">
9
  <link rel="match" href="reference/ref-nothing-below.xht">
10
11
  <!--
12
13
  Issue 1018465: [CSS4-Pseudo] Active selection and hard wrap (or hard return)
14
  line break: ::selection should not select <br>
15
  https://bugs.chromium.org/p/chromium/issues/detail?id=1018465
16
17
  -->
18
19
  <meta content="" name="flags">
20
  <meta name="assert" content="The &lt;br&gt; element is an empty element. Its background color can be painted but specifying its color should generate no rendering effect of any kind. Since the 'background-color' has been specified as 'transparent', then nothing should be painted or viewable in this test.">
21
22
  <style>
23
  div
24
    {
25
      font-size: 100px;
26
    }
27
28
  div::selection
29
    {
30
      background-color: transparent;
31
      color: red;
32
    }
33
  </style>
34
35
  <script>
36
  function startTest()
37
  {
38
  var targetRange = document.createRange();
39
  /* We first create an empty range */
40
  targetRange.selectNodeContents(document.getElementById("test"));
41
  /* Then we set the range boundaries to the children of div#test */
42
  window.getSelection().addRange(targetRange);
43
  /* Finally, we now select such range of content */
44
  }
45
  </script>
46
47
  <body onload="startTest();">
48
49
  <p>Test passes if there is nothing below.
50
51
  <div id="test">&nbsp;<br><br><br>&nbsp;</div>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/active-selection-063-expected.xht +19 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/active-selection-063-expected.xht_sec1
1
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
2
<html xmlns="http://www.w3.org/1999/xhtml">
3
 <head>
4
  <title>CSS Reftest Reference</title>
5
  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
6
  <style type="text/css"><![CDATA[
7
  div
8
  {
9
  background-color: green;
10
  height: 100px;
11
  width: 100px;
12
  }
13
  ]]></style>
14
 </head>
15
 <body>
16
  <p>Test passes if there is a filled green square and <strong>no red</strong>.</p>
17
  <div></div>
18
 </body>
19
</html>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/active-selection-063.html +59 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/active-selection-063.html_sec1
1
<!DOCTYPE html>
2
3
  <meta charset="UTF-8">
4
5
  <title>CSS Pseudo-Elements Test: active selection and consecutive preserved &amp;Tab;</title>
6
7
  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/">
8
  <link rel="help" href="https://www.w3.org/TR/css-pseudo-4/#highlight-selectors">
9
  <link rel="help" href="https://www.w3.org/TR/css-text-3/#tab-size-property">
10
  <link rel="match" href="reference/ref-filled-green-100px-square.xht">
11
  <link rel="stylesheet" type="text/css" href="/fonts/ahem.css">
12
13
  <meta content="" name="flags">
14
  <meta name="assert" content="In this test, tab characters are preserved and converted into 4 consecutive blank spaces. The background of such blank spaces can be painted. The lines are broken after each tab character since 'white-space: pre' preserves line breaks.">
15
16
  <style>
17
  div
18
    {
19
      background-color: red;
20
      color: red;
21
      float: left; /* or display: inline-block or position: absolute or width: 4em */
22
      font-family: Ahem;
23
      font-size: 25px;
24
      line-height: 1;
25
      /* -moz-tab-size: 4; */
26
      /*
27
      Implement 'tab-size' (dropping the -moz- prefix)
28
      https://bugzilla.mozilla.org/show_bug.cgi?id=737785
29
      */
30
      tab-size: 4;
31
      white-space: pre;
32
    }
33
34
  div::selection
35
    {
36
      background-color: green;
37
    }
38
  </style>
39
40
  <script>
41
  function startTest()
42
  {
43
  var targetRange = document.createRange();
44
  /* We first create an empty range */
45
  targetRange.selectNodeContents(document.getElementById("test"));
46
  /* Then we set the range boundaries to the children of div#test */
47
  window.getSelection().addRange(targetRange);
48
  /* Finally, we now select such range of content */
49
  }
50
  </script>
51
52
  <body onload="startTest();">
53
54
  <p>Test passes if there is a filled green square and <strong>no red</strong>.
55
56
  <div id="test">&Tab;
57
&Tab;
58
&Tab;
59
&Tab;</div>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/before-dynamic-display-none-expected.html +11 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/before-dynamic-display-none-expected.html_sec1
1
<!doctype html>
2
<html>
3
<head>
4
   <title>Reference rendering - passes if there is the word "PASS" below</title>
5
   <link rel="author" title="Opera" href="https://www.opera.com/">
6
</head>
7
<body>
8
   <p>Test passes if there is the word "PASS" below.</p>
9
   <div>PASS</div>
10
</body>
11
</html>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/before-dynamic-display-none.html +22 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/before-dynamic-display-none.html_sec1
1
<!doctype html>
2
<title>CSS Test: ::before box removed when display set to 'none'.</title>
3
<link rel="help" href="https://drafts.csswg.org/css-pseudo-4/#generated-content">
4
<link rel="match" href="../reference/pass_if_pass_below.html">
5
<style>
6
  #id::before {
7
    content: "FAIL";
8
    position: absolute;
9
    width: 100px;
10
    height: 100px;
11
    background-color: red;
12
  }
13
  #id.none::before {
14
    display: none;
15
  }
16
</style>
17
<p>Test passes if there is the word "PASS" below.</p>
18
<div id="id" class="open">PASS</div>
19
<script>
20
  id.offsetTop;
21
  id.className = "none";
22
</script>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/before-in-display-none-thcrash-expected.txt +3 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/before-in-display-none-thcrash-expected.txt_sec1
1
2
PASS Invalidating style inside display:none with ::before should not crash. 
3
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/before-in-display-none-thcrash.html +19 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/before-in-display-none-thcrash.html_sec1
1
<!doctype html>
2
<title>CSS Test: Invalidating style inside display:none with ::before should not crash.</title>
3
<link rel="help" href="https://crbug.com/1013570">
4
<script src="/resources/testharness.js"></script>
5
<script src="/resources/testharnessreport.js"></script>
6
<style>
7
  #outer { display: none }
8
  #outer::before { content: " "; }
9
</style>
10
<div id="outer">
11
  <div id="inner"></div>
12
</div>
13
<script>
14
  test(() => {
15
    assert_equals(getComputedStyle(inner).color, "rgb(0, 0, 0)");
16
    inner.style.color = "green";
17
    assert_equals(getComputedStyle(inner).color, "rgb(0, 128, 0)");
18
  }, "Invalidating style inside display:none with ::before should not crash.");
19
</script>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/cascade-highlight-001-expected.html +21 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/cascade-highlight-001-expected.html_sec1
1
<!DOCTYPE html>
2
3
  <meta charset="UTF-8">
4
5
  <title>CSS Reftest Reference</title>
6
7
  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/">
8
9
  <style>
10
  div
11
    {
12
      background-color: green;
13
      color: yellow;
14
      display: inline;
15
      font-size: 300%;
16
    }
17
  </style>
18
19
  <p>Test passes if background color of "Text sample" is green and <strong>not red</strong>.
20
21
  <div>Text sample</div>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/cascade-highlight-001.html +67 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/cascade-highlight-001.html_sec1
1
<!DOCTYPE html>
2
3
  <meta charset="UTF-8">
4
5
  <title>CSS Pseudo-Elements Test: higher specificity of selectors (Example 11)</title>
6
7
  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/">
8
  <link rel="help" href="https://www.w3.org/TR/css-pseudo-4/#highlight-cascade">
9
  <link rel="match" href="cascade-highlight-001-ref.html">
10
11
  <!--
12
  Example 11 is
13
  https://www.w3.org/TR/css-pseudo-4/#example-c35bf49a
14
  -->
15
16
  <meta content="" name="flags">
17
  <meta name="assert" content="This test is an adaptation (or modified version) of Example 11 (#example-c35bf49a). The 'div &gt; span::selection' selector has an higher specificity than the 'span::selection' selector.">
18
19
  <style>
20
  div
21
    {
22
      font-size: 300%;
23
    }
24
25
  div::selection
26
    {
27
      background-color: green;
28
      color: yellow;
29
    }
30
31
  div > span::selection
32
  /*
33
  count the number of element names and pseudo-elements in the selector (= d)
34
  a=0 b=0 c=0 d=3 -> specificity = 0,0,0,3
35
  */
36
    {
37
      background-color: green;
38
    }
39
40
  span::selection
41
  /*
42
  count the number of element names and pseudo-elements in the selector (= d)
43
  a=0 b=0 c=0 d=2 -> specificity = 0,0,0,2
44
  */
45
    {
46
      background-color: red;
47
      color: yellow;
48
    }
49
  </style>
50
51
  <script>
52
  function startTest()
53
  {
54
  var targetRange = document.createRange();
55
  /* We first create an empty range */
56
  targetRange.selectNodeContents(document.getElementById("test"));
57
  /* Then we set the range boundaries to the children of div#test */
58
  window.getSelection().addRange(targetRange);
59
  /* Finally, we now select such range of content */
60
  }
61
  </script>
62
63
  <body onload="startTest();">
64
65
  <p>Test passes if background color of "Text sample" is green and <strong>not red</strong>.
66
67
  <div id="test">Text <span>sample</span></div>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/cascade-highlight-002-expected.html +21 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/cascade-highlight-002-expected.html_sec1
1
<!DOCTYPE html>
2
3
  <meta charset="UTF-8">
4
5
  <title>CSS Reftest Reference</title>
6
7
  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/">
8
9
  <style>
10
  div
11
    {
12
      background-color: green;
13
      color: yellow;
14
      display: inline;
15
      font-size: 300%;
16
    }
17
  </style>
18
19
  <p>Test passes if background color of "Text sample" is green and <strong>not red</strong>.
20
21
  <div>Text sample</div>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/cascade-highlight-002.html +54 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/cascade-highlight-002.html_sec1
1
<!DOCTYPE html>
2
3
  <meta charset="UTF-8">
4
5
  <title>CSS Pseudo-Elements Test: tag selector missing (Example 12)</title>
6
7
  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/">
8
  <link rel="help" href="https://www.w3.org/TR/css-pseudo-4/#highlight-cascade">
9
  <link rel="match" href="cascade-highlight-001-ref.html">
10
11
  <!--
12
  Example 12 is
13
  https://www.w3.org/TR/css-pseudo-4/#example-97480f68
14
  -->
15
16
  <meta content="" name="flags">
17
  <meta name="assert" content="This test is an adaptation (or modified version) of Example 12 (#example-97480f68). In this test, &ltspan&gt; element's ::selection matches the ::selection { background-color: green; } rule and not the div#test::selection rule because '*' is implied when a tag selector is missing.">
18
19
  <style>
20
  div
21
    {
22
      font-size: 300%;
23
    }
24
25
  ::selection
26
    {
27
      background-color: green;
28
      color: yellow;
29
    }
30
31
  div#test::selection
32
    {
33
      background-color: red;
34
      color: black;
35
    }
36
  </style>
37
38
  <script>
39
  function startTest()
40
  {
41
  var targetRange = document.createRange();
42
  /* We first create an empty range */
43
  targetRange.selectNodeContents(document.getElementById("test"));
44
  /* Then we set the range boundaries to the children of div#test */
45
  window.getSelection().addRange(targetRange);
46
  /* Finally, we now select such range of content */
47
  }
48
  </script>
49
50
  <body onload="startTest();">
51
52
  <p>Test passes if background color of "Text sample" is green and <strong>not red</strong>.
53
54
  <div id="test"><span>Text sample</span></div>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/cascade-highlight-004-expected.html +21 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/cascade-highlight-004-expected.html_sec1
1
<!DOCTYPE html>
2
3
  <meta charset="UTF-8">
4
5
  <title>CSS Reftest Reference</title>
6
7
  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/">
8
9
  <style>
10
  div
11
    {
12
      background-color: yellow;
13
      color: green;
14
      display: inline;
15
      font-size: 300%;
16
    }
17
  </style>
18
19
   <p>Test passes if "Text sample" is green and if its background color is yellow.
20
21
  <div>Text sample</div>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/cascade-highlight-004.html +52 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/cascade-highlight-004.html_sec1
1
<!DOCTYPE html>
2
3
  <meta charset="UTF-8">
4
5
  <title>CSS Pseudo-Elements Test: inheritance of selection highlight colors from its parent element</title>
6
7
  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/">
8
  <link rel="help" href="https://www.w3.org/TR/css-pseudo-4/#highlight-cascade">
9
  <link rel="match" href="cascade-highlight-004-ref.html">
10
11
  <meta content="" name="flags">
12
  <meta name="assert" content="In this test, 'color' and 'background-color' have not been given a value for the span element. Since its parent element has an highlight pseudo-element, then these values should be inherited. Therefore the span element should be green on a yellow background and should not use the OS default selection highlight color values.">
13
14
  <!--
15
  When any supported property is not given a value by the
16
  cascade, its value is determined by inheritance from the
17
  corresponding highlight pseudo-element of its originating
18
  element's parent element (regardless of whether that property
19
  is an inherited property).
20
  https://www.w3.org/TR/css-pseudo-4/#highlight-cascade
21
  -->
22
23
  <style>
24
  div
25
    {
26
      font-size: 300%;
27
    }
28
29
  div::selection
30
    {
31
      background-color: yellow;
32
      color: green;
33
    }
34
  </style>
35
36
  <script>
37
  function startTest()
38
  {
39
  var targetRange = document.createRange();
40
  /* We first create an empty range */
41
  targetRange.selectNodeContents(document.getElementById("test"));
42
  /* Then we set the range boundaries to the children of div#test */
43
  window.getSelection().addRange(targetRange);
44
  /* Finally, we now select such range of content */
45
  }
46
  </script>
47
48
  <body onload="startTest();">
49
50
  <p>Test passes if "Text sample" is green and if its background color is yellow.
51
52
  <div id="test"><span>Text sample</span></div>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/file-chooser-button-001-notref.html +3 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/file-chooser-button-001-notref.html_sec1
1
<!doctype html>
2
<title>CSS Test Reference</title>
3
<input type="file">
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/file-chooser-button-001.tentative-expected.html +3 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/file-chooser-button-001.tentative-expected.html_sec1
1
<!doctype html>
2
<title>CSS Test Reference</title>
3
<input type="file">
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/file-chooser-button-001.tentative.html +11 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/file-chooser-button-001.tentative.html_sec1
1
<!doctype html>
2
<title>::file-chooser-button allows to customize the button in &lt;input type=file&gt;</title>
3
<link rel="help" href="https://github.com/w3c/csswg-drafts/issues/5049">
4
<link rel="mismatch" href="file-chooser-button-001-notref.html">
5
<style>
6
  input::file-chooser-button {
7
    background: green;
8
    color: white;
9
  }
10
</style>
11
<input type="file">
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/file-chooser-button-display-toggle-crash.tentative-expected.txt +12 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/file-chooser-button-display-toggle-crash.tentative-expected.txt_sec1
1
layer at (0,0) size 800x600
2
  RenderView at (0,0) size 800x600
3
layer at (0,0) size 800x38
4
  RenderBlock {HTML} at (0,0) size 800x38
5
    RenderBody {BODY} at (8,8) size 784x22
6
      RenderFileUploadControl {INPUT} at (2,2) size 238x18 "no file selected"
7
        RenderButton {INPUT} at (0,0) size 78x18 [color=#000000D8] [bgcolor=#C0C0C0]
8
          RenderBlock (anonymous) at (8,2) size 62x13
9
            RenderText at (0,0) size 62x13
10
              text run at (0,0) width 62: "Choose File"
11
      RenderText {#text} at (0,0) size 0x0
12
      RenderText {#text} at (0,0) size 0x0
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/file-chooser-button-display-toggle-crash.tentative.html +16 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/file-chooser-button-display-toggle-crash.tentative.html_sec1
1
<!doctype html>
2
<title>Shouldn't assert when re-creating a ::file-chooser-button pseudo-element after it being display: none</title>
3
<link rel="help" href="https://github.com/w3c/csswg-drafts/issues/5049">
4
<style>
5
  .tweak::file-chooser-button {
6
    display: none;
7
  }
8
</style>
9
<input type="file">
10
<script>
11
  let input = document.querySelector("input");
12
  input.getBoundingClientRect().top;
13
  input.classList.add("tweak");
14
  input.getBoundingClientRect().top;
15
  input.classList.remove("tweak");
16
</script>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/first-letter-001-expected.html -18 / +18 lines
Lines 1-25 a/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/first-letter-001-expected.html_sec1
1
<!doctype html>
1
<!doctype html>
2
<html>
2
<html>
3
<head>
3
<head>
4
	<meta charset="utf-8">
4
  <meta charset="utf-8">
5
	<title>CSS Reference File</title>
5
  <title>CSS Reference File</title>
6
	<link rel="author" title="Florian Rivoal" href="mailto:florian@rivoal.net">
6
  <link rel="author" title="Florian Rivoal" href="mailto:florian@rivoal.net">
7
	<style>
7
  <style>
8
	div {
8
  div {
9
		font-size: 50px;
9
    font-size: 50px;
10
		position: absolute;
10
    position: absolute;
11
		left: 30px;
11
    left: 30px;
12
		top: 50px;
12
    top: 50px;
13
	}
13
  }
14
	div span {
14
  div span {
15
		color: green;
15
    color: green;
16
		background: green;
16
    background: green;
17
		float: left;
17
    float: left;
18
	}
18
  }
19
	</style>
19
  </style>
20
</head>
20
</head>
21
<body>
21
<body>
22
	<p>Test passes if there is a <strong>filled green rectangle</strong> and <strong>no red</strong>.</p>
22
  <p>Test passes if there is a <strong>filled green rectangle</strong> and <strong>no red</strong>.</p>
23
	<div><span>a</span></div>
23
  <div><span>a</span></div>
24
</body>
24
</body>
25
</html>
25
</html>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/first-letter-001.html -26 / +26 lines
Lines 1-33 a/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/first-letter-001.html_sec1
1
<!doctype html>
1
<!doctype html>
2
<html>
2
<html>
3
<head>
3
<head>
4
	<meta charset="utf-8">
4
  <meta charset="utf-8">
5
	<title>CSS Test: ::first-letter formatting</title>
5
  <title>CSS Test: ::first-letter formatting</title>
6
	<link rel="author" title="Florian Rivoal" href="mailto:florian@rivoal.net">
6
  <link rel="author" title="Florian Rivoal" href="mailto:florian@rivoal.net">
7
	<link rel="match" href="first-letter-001-ref.html">
7
  <link rel="match" href="first-letter-001-ref.html">
8
	<link rel="help" href="https://drafts.csswg.org/css-pseudo-4/#first-letter-styling">
8
  <link rel="help" href="https://drafts.csswg.org/css-pseudo-4/#first-letter-styling">
9
	<meta name="flags" content="">
9
  <meta name="flags" content="">
10
	<meta name="assert" content="Test checks that a floated ::first-letter follows the usual formating rules for floats.">
10
  <meta name="assert" content="Test checks that a floated ::first-letter follows the usual formating rules for floats.">
11
	<style>
11
  <style>
12
	div {
12
  div {
13
		font-size: 50px;
13
    font-size: 50px;
14
		position: absolute;
14
    position: absolute;
15
		left: 30px;
15
    left: 30px;
16
		top: 50px;
16
    top: 50px;
17
		background: red;
17
    background: red;
18
	}
18
  }
19
	span {
19
  span {
20
		background : white;
20
    background : white;
21
	}
21
  }
22
	div::first-letter {
22
  div::first-letter {
23
		color: green;
23
    color: green;
24
		background: green;
24
    background: green;
25
		float: left;
25
    float: left;
26
	}
26
  }
27
	</style>
27
  </style>
28
</head>
28
</head>
29
<body>
29
<body>
30
	<p>Test passes if there is a <strong>filled green rectangle</strong> and <strong>no red</strong>.</p>
30
  <p>Test passes if there is a <strong>filled green rectangle</strong> and <strong>no red</strong>.</p>
31
	<div>a<span>&nbsp;</span></div>
31
  <div>a<span>&nbsp;</span></div>
32
</body>
32
</body>
33
</html>
33
</html>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/first-letter-002-expected.html -18 / +18 lines
Lines 1-25 a/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/first-letter-002-expected.html_sec1
1
<!doctype html>
1
<!doctype html>
2
<html>
2
<html>
3
<head>
3
<head>
4
	<meta charset="utf-8">
4
  <meta charset="utf-8">
5
	<title>CSS Reference File</title>
5
  <title>CSS Reference File</title>
6
	<link rel="author" title="Florian Rivoal" href="mailto:florian@rivoal.net">
6
  <link rel="author" title="Florian Rivoal" href="mailto:florian@rivoal.net">
7
	<style>
7
  <style>
8
	div {
8
  div {
9
		font-size: 50px;
9
    font-size: 50px;
10
		position: absolute;
10
    position: absolute;
11
		left: 30px;
11
    left: 30px;
12
		top: 50px;
12
    top: 50px;
13
	}
13
  }
14
	div span {
14
  div span {
15
		color: green;
15
    color: green;
16
		background: green;
16
    background: green;
17
		float: left;
17
    float: left;
18
	}
18
  }
19
	</style>
19
  </style>
20
</head>
20
</head>
21
<body>
21
<body>
22
	<p>Test passes if there is a <strong>filled green rectangle</strong> and <strong>no red</strong>.</p>
22
  <p>Test passes if there is a <strong>filled green rectangle</strong> and <strong>no red</strong>.</p>
23
	<div><span>a</span></div>
23
  <div><span>a</span></div>
24
</body>
24
</body>
25
</html>
25
</html>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/first-letter-002.html -28 / +28 lines
Lines 1-35 a/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/first-letter-002.html_sec1
1
<!doctype html>
1
<!doctype html>
2
<html>
2
<html>
3
<head>
3
<head>
4
	<meta charset="utf-8">
4
  <meta charset="utf-8">
5
	<title>CSS Test: ::first-letter formatting</title>
5
  <title>CSS Test: ::first-letter formatting</title>
6
	<link rel="author" title="Florian Rivoal" href="mailto:florian@rivoal.net">
6
  <link rel="author" title="Florian Rivoal" href="mailto:florian@rivoal.net">
7
	<link rel="match" href="first-letter-001-ref.html">
7
  <link rel="match" href="first-letter-001-ref.html">
8
	<link rel="help" href="https://drafts.csswg.org/css-pseudo-4/#first-letter-styling">
8
  <link rel="help" href="https://drafts.csswg.org/css-pseudo-4/#first-letter-styling">
9
	<meta name="flags" content="">
9
  <meta name="flags" content="">
10
	<meta name="assert" content="Test checks that a floated ::first-letter is formatted identically to a floated non-pseudo element with the same content.">
10
  <meta name="assert" content="Test checks that a floated ::first-letter is formatted identically to a floated non-pseudo element with the same content.">
11
	<style>
11
  <style>
12
	div {
12
  div {
13
		font-size: 50px;
13
    font-size: 50px;
14
		position: absolute;
14
    position: absolute;
15
		left: 30px;
15
    left: 30px;
16
		top: 50px;
16
    top: 50px;
17
	}
17
  }
18
	#d1 span {
18
  #d1 span {
19
		color: red;
19
    color: red;
20
		background: red;
20
    background: red;
21
		float: left;
21
    float: left;
22
	}
22
  }
23
	#d2::first-letter {
23
  #d2::first-letter {
24
		color: green;
24
    color: green;
25
		background: green;
25
    background: green;
26
		float: left;
26
    float: left;
27
	}
27
  }
28
	</style>
28
  </style>
29
</head>
29
</head>
30
<body>
30
<body>
31
	<p>Test passes if there is a <strong>filled green rectangle</strong> and <strong>no red</strong>.</p>
31
  <p>Test passes if there is a <strong>filled green rectangle</strong> and <strong>no red</strong>.</p>
32
	<div id="d1"><span>a</span></div>
32
  <div id="d1"><span>a</span></div>
33
	<div id="d2">a</div>
33
  <div id="d2">a</div>
34
</body>
34
</body>
35
</html>
35
</html>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/first-letter-003-expected.html -18 / +18 lines
Lines 1-25 a/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/first-letter-003-expected.html_sec1
1
<!doctype html>
1
<!doctype html>
2
<html>
2
<html>
3
<head>
3
<head>
4
	<meta charset="utf-8">
4
  <meta charset="utf-8">
5
	<title>CSS Reference File</title>
5
  <title>CSS Reference File</title>
6
	<link rel="author" title="Florian Rivoal" href="mailto:florian@rivoal.net">
6
  <link rel="author" title="Florian Rivoal" href="mailto:florian@rivoal.net">
7
	<style>
7
  <style>
8
	div {
8
  div {
9
		font-size: 50px;
9
    font-size: 50px;
10
		position: absolute;
10
    position: absolute;
11
		left: 30px;
11
    left: 30px;
12
		top: 50px;
12
    top: 50px;
13
	}
13
  }
14
	div span {
14
  div span {
15
		color: green;
15
    color: green;
16
		background: green;
16
    background: green;
17
		float: left;
17
    float: left;
18
	}
18
  }
19
	</style>
19
  </style>
20
</head>
20
</head>
21
<body>
21
<body>
22
	<p>Test passes if there is a <strong>filled green rectangle</strong> and <strong>no red</strong>.</p>
22
  <p>Test passes if there is a <strong>filled green rectangle</strong> and <strong>no red</strong>.</p>
23
	<div><span>a</span></div>
23
  <div><span>a</span></div>
24
</body>
24
</body>
25
</html>
25
</html>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/first-letter-003.html -28 / +28 lines
Lines 1-35 a/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/first-letter-003.html_sec1
1
<!doctype html>
1
<!doctype html>
2
<html>
2
<html>
3
<head>
3
<head>
4
	<meta charset="utf-8">
4
  <meta charset="utf-8">
5
	<title>CSS Test: ::first-letter formatting</title>
5
  <title>CSS Test: ::first-letter formatting</title>
6
	<link rel="author" title="Florian Rivoal" href="mailto:florian@rivoal.net">
6
  <link rel="author" title="Florian Rivoal" href="mailto:florian@rivoal.net">
7
	<link rel="match" href="first-letter-001-ref.html">
7
  <link rel="match" href="first-letter-001-ref.html">
8
	<link rel="help" href="https://drafts.csswg.org/css-pseudo-4/#first-letter-styling">
8
  <link rel="help" href="https://drafts.csswg.org/css-pseudo-4/#first-letter-styling">
9
	<meta name="flags" content="">
9
  <meta name="flags" content="">
10
	<meta name="assert" content="Test checks that a floated ::first-letter is formatted identically to a floated non-pseudo element with the same content.">
10
  <meta name="assert" content="Test checks that a floated ::first-letter is formatted identically to a floated non-pseudo element with the same content.">
11
	<style>
11
  <style>
12
	div {
12
  div {
13
		font-size: 50px;
13
    font-size: 50px;
14
		position: absolute;
14
    position: absolute;
15
		left: 30px;
15
    left: 30px;
16
		top: 50px;
16
    top: 50px;
17
	}
17
  }
18
	#d1::first-letter {
18
  #d1::first-letter {
19
		color: red;
19
    color: red;
20
		background: red;
20
    background: red;
21
		float: left;
21
    float: left;
22
	}
22
  }
23
	#d2 span {
23
  #d2 span {
24
		color: green;
24
    color: green;
25
		background: green;
25
    background: green;
26
		float: left;
26
    float: left;
27
	}
27
  }
28
	</style>
28
  </style>
29
</head>
29
</head>
30
<body>
30
<body>
31
	<p>Test passes if there is a <strong>filled green rectangle</strong> and <strong>no red</strong>.</p>
31
  <p>Test passes if there is a <strong>filled green rectangle</strong> and <strong>no red</strong>.</p>
32
	<div id="d1">a</div>
32
  <div id="d1">a</div>
33
	<div id="d2"><span>a</span></div>
33
  <div id="d2"><span>a</span></div>
34
</body>
34
</body>
35
</html>
35
</html>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/first-letter-allowed-properties-expected.txt +37 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/first-letter-allowed-properties-expected.txt_sec1
1
2
PASS pre test setup 
3
PASS backgroundAttachment should be applied to first-letter pseudo elements. 
4
PASS backgroundBlendMode should be applied to first-letter pseudo elements. 
5
PASS backgroundClip should be applied to first-letter pseudo elements. 
6
PASS backgroundColor should be applied to first-letter pseudo elements. 
7
PASS backgroundImage should be applied to first-letter pseudo elements. 
8
PASS backgroundOrigin should be applied to first-letter pseudo elements. 
9
PASS backgroundPosition should be applied to first-letter pseudo elements. 
10
PASS backgroundRepeat should be applied to first-letter pseudo elements. 
11
PASS backgroundSize should be applied to first-letter pseudo elements. 
12
PASS border should be applied to first-letter pseudo elements. 
13
PASS borderImage should be applied to first-letter pseudo elements. 
14
PASS borderRadius should be applied to first-letter pseudo elements. 
15
PASS boxShadow should be applied to first-letter pseudo elements. 
16
PASS color should be applied to first-letter pseudo elements. 
17
PASS float should be applied to first-letter pseudo elements. 
18
FAIL font should be applied to first-letter pseudo elements. assert_equals: expected "italic small-caps 900 10px / 20px sans-serif" but got "italic small-caps 900 normal 10px/20px sans-serif"
19
PASS fontFeatureSettings should be applied to first-letter pseudo elements. 
20
FAIL fontSizeAdjust should be applied to first-letter pseudo elements. assert_equals: expected (string) "0.5" but got (undefined) undefined
21
PASS fontKerning should be applied to first-letter pseudo elements. 
22
PASS fontVariationSettings should be applied to first-letter pseudo elements. 
23
PASS letterSpacing should be applied to first-letter pseudo elements. 
24
PASS margin should be applied to first-letter pseudo elements. 
25
PASS padding should be applied to first-letter pseudo elements. 
26
PASS opacity should be applied to first-letter pseudo elements. 
27
FAIL textDecoration should be applied to first-letter pseudo elements. assert_equals: expected "overline wavy rgb(10, 20, 30)" but got "none"
28
FAIL textJustify should be applied to first-letter pseudo elements. assert_equals: expected (string) "inter-word" but got (undefined) undefined
29
PASS textShadow should be applied to first-letter pseudo elements. 
30
PASS textTransform should be applied to first-letter pseudo elements. 
31
PASS textUnderlinePosition should be applied to first-letter pseudo elements. 
32
PASS verticalAlign should be applied to first-letter pseudo elements. 
33
PASS wordSpacing should be applied to first-letter pseudo elements. 
34
FAIL transition should not be applied to first-letter pseudo elements. assert_equals: expected "all 0s ease 0s" but got "transform 1s ease 0s"
35
PASS transform should not be applied to first-letter pseudo elements. 
36
FAIL wordBreak should not be applied to first-letter pseudo elements. assert_equals: expected "normal" but got "break-all"
37
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/first-letter-allowed-properties.html +82 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/first-letter-allowed-properties.html_sec1
1
<!DOCTYPE html>
2
<title>CSS Test: Properties allowed on ::first-letter pseudo elements</title>
3
<link rel="author" title="Chris Nardi" href="mailto:cnardi@chromium.org">
4
<link rel="help" href="https://drafts.csswg.org/css-pseudo-4/#first-letter-styling">
5
<script src="/resources/testharness.js"></script>
6
<script src="/resources/testharnessreport.js"></script>
7
<style>
8
#target::first-letter {}
9
#target { visibility: hidden; }
10
</style>
11
<div id="target">text</div>
12
<script>
13
'use strict';
14
var style;
15
const target = document.querySelector("#target");
16
var defaultComputedStyle = getComputedStyle(target);
17
18
test(function() {
19
  var styleRule = document.styleSheets[0].cssRules[0];
20
  assert_equals(styleRule.selectorText, '#target::first-letter', 'make sure we have the correct style rule');
21
  style = styleRule.style;
22
}, 'pre test setup');
23
24
var validProperties = {
25
  backgroundAttachment: 'fixed',
26
  backgroundBlendMode: 'hue',
27
  backgroundClip: 'padding-box',
28
  backgroundColor: 'rgb(10, 20, 30)',
29
  backgroundImage: 'linear-gradient(rgb(0, 0, 0), rgb(255, 255, 255))',
30
  backgroundOrigin: 'border-box',
31
  backgroundPosition: 'left 10px top 20px',
32
  backgroundRepeat: 'no-repeat',
33
  backgroundSize: '10px 20px',
34
  border: '40px dotted rgb(10, 20, 30)',
35
  borderImage: 'linear-gradient(rgb(0, 0, 0), rgb(255, 255, 255)) 10% / 20 / 30px repeat',
36
  borderRadius: '10px 20px',
37
  boxShadow: 'rgb(10, 20, 30) 10px 20px 30px 40px inset',
38
  color: 'rgba(10, 20, 30, 0.4)',
39
  float: 'right',
40
  font: 'italic small-caps 900 10px / 20px sans-serif',
41
  fontFeatureSettings: '"vert" 2',
42
  fontSizeAdjust: '0.5',
43
  fontKerning: 'none',
44
  fontVariationSettings: '"XHGT" 0.7',
45
  letterSpacing: '12px',
46
  margin: '10px 20px 30px 40px',
47
  padding: '10px 20px 30px 40px',
48
  opacity: '0.5',
49
  textDecoration: 'overline wavy rgb(10, 20, 30)',
50
  textJustify: 'inter-word',
51
  textShadow: 'rgb(10, 20, 30) 10px 20px 30px',
52
  textTransform: 'capitalize',
53
  textUnderlinePosition: 'under',
54
  verticalAlign: '12%',
55
  wordSpacing: '12px'
56
};
57
58
var invalidProperties = {
59
  transition: 'transform 1s',
60
  transform: 'rotate(45deg)',
61
  wordBreak: 'break-all'
62
};
63
64
function testFirstLetterProperty(property, rule, expected, reason) {
65
  test(function() {
66
    style[property] = "";
67
    style[property] = rule;
68
    assert_equals(getComputedStyle(target, '::first-letter')[property], expected);
69
    style[property] = "";
70
  }, reason);
71
}
72
73
for (var property in validProperties) {
74
  testFirstLetterProperty(property, validProperties[property], validProperties[property],
75
                          property + " should be applied to first-letter pseudo elements.");
76
}
77
78
for (var property in invalidProperties) {
79
  testFirstLetterProperty(property, invalidProperties[property], defaultComputedStyle[property],
80
                          property + " should not be applied to first-letter pseudo elements.");
81
}
82
</script>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/first-letter-and-sibling-display-change-expected.html +2 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/first-letter-and-sibling-display-change-expected.html_sec1
1
<!DOCTYPE html>
2
<span style="color:green">This text should be green.</span>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/first-letter-and-sibling-display-change.html +16 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/first-letter-and-sibling-display-change.html_sec1
1
<!DOCTYPE html>
2
<title>CSS Test: Changing ::first-letter color while sibling changes display type.</title>
3
<link rel="author" title="Rune Lillesveen" href="mailto:futhark@chromium.org">
4
<link rel="match" href="first-letter-block-to-inline-ref.html">
5
<link rel="help" href="https://drafts.csswg.org/css-pseudo-4/#first-letter-pseudo">
6
<style>
7
  div { color: green }
8
  div::first-letter { color: red }
9
  .green::first-letter { color: green }
10
</style>
11
<div>This text should be green.<span></span></div>
12
<script>
13
  document.body.offsetTop;
14
  document.querySelector("span").style.display = "block";
15
  document.querySelector("div").className = "green";
16
</script>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/first-letter-and-whitespace-expected.html +11 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/first-letter-and-whitespace-expected.html_sec1
1
<!doctype html>
2
<meta charset="utf-8">
3
<title>CSS Reference File</title>
4
<link rel="author" title="Rune Lillesveen" href="mailto:futhark@chromium.org">
5
<p>Pass if no space between "A", space between "B".</p>
6
<div><span style="float:left">A</span>A</div>
7
<div><span style="float:left">A</span>A</div>
8
<div>B B</div>
9
<div>B B</div>
10
<div>AAB B</div>
11
<div>AAB B</div>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/first-letter-and-whitespace.html +31 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/first-letter-and-whitespace.html_sec1
1
<!doctype html>
2
<meta charset="utf-8">
3
<title>CSS Test: White-spaces around floated ::first-letter</title>
4
<link rel="author" title="Rune Lillesveen" href="mailto:futhark@chromium.org">
5
<link rel="match" href="first-letter-and-whitespace-ref.html">
6
<link rel="help" href="https://drafts.csswg.org/css-pseudo-4/#first-letter-styling">
7
<meta name="assert" content="Test checks that white-spaces are correctly rendered for floated ::first-letter changes">
8
<style>
9
  div::first-letter {
10
    color: black;
11
  }
12
  .floatLetter::first-letter {
13
    float: left;
14
  }
15
</style>
16
<p>Pass if no space between "A", space between "B".</p>
17
<div id="t1"> <!---->AA</div>
18
<div id="t2"> <!---->A<!----> <!---->A</div>
19
<div id="t3" class="floatLetter">  <!---->B<!----> <!---->B</div>
20
<div id="t4" class="floatLetter">  <!---->B <!---->B</div>
21
<div id="t5" class="floatLetter">  <!---->AAB<!----> <!---->B</div>
22
<div id="t6" class="floatLetter">  <!---->AAB<!----> B</div>
23
<script>
24
  document.body.offsetTop;
25
  t1.className = "floatLetter";
26
  t2.className = "floatLetter";
27
  t3.className = "";
28
  t4.className = "";
29
  t5.className = "";
30
  t6.className = "";
31
</script>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/first-letter-background-image-dynamic-expected.html +13 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/first-letter-background-image-dynamic-expected.html_sec1
1
<!doctype html>
2
<title>CSS Test Reference</title>
3
<link rel="author" href="mailto:emilio@crisal.io" title="Emilio Cobos Álvarez">
4
<link rel="author" href="https://mozilla.org" title="Mozilla">
5
<style>
6
  div::first-letter {
7
    color: lime;
8
    background-color: lime;
9
  }
10
</style>
11
<div>
12
  A letter
13
</div>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/first-letter-background-image-dynamic.html +24 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/first-letter-background-image-dynamic.html_sec1
1
<!doctype html>
2
<title>CSS Test: ::first-letter correctly applies background-image dynamically</title>
3
<link rel="author" href="mailto:emilio@crisal.io" title="Emilio Cobos Álvarez">
4
<link rel="author" href="https://mozilla.org" title="Mozilla">
5
<link rel="help" href="https://drafts.csswg.org/css-pseudo-4/#first-letter-styling">
6
<link rel="help" href="https://bugzilla.mozilla.org/show_bug.cgi?id=1528451">
7
<link rel="match" href="first-letter-background-image-ref.html">
8
<style>
9
  div::first-letter {
10
    color: lime;
11
  }
12
  div.image::first-letter {
13
    /* Lime background */
14
    background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAADUlEQVR42mNk+M/wHwAEBgIApD5fRAAAAABJRU5ErkJggg==');
15
  }
16
</style>
17
<div>
18
  A letter
19
</div>
20
<script>
21
  let div = document.querySelector("div");
22
  getComputedStyle(div).color;
23
  div.classList.add('image');
24
</script>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/first-letter-background-image-expected.html +13 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/first-letter-background-image-expected.html_sec1
1
<!doctype html>
2
<title>CSS Test Reference</title>
3
<link rel="author" href="mailto:emilio@crisal.io" title="Emilio Cobos Álvarez">
4
<link rel="author" href="https://mozilla.org" title="Mozilla">
5
<style>
6
  div::first-letter {
7
    color: lime;
8
    background-color: lime;
9
  }
10
</style>
11
<div>
12
  A letter
13
</div>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/first-letter-background-image.html +17 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/first-letter-background-image.html_sec1
1
<!doctype html>
2
<title>CSS Test: ::first-letter correctly applies background-image</title>
3
<link rel="author" href="mailto:emilio@crisal.io" title="Emilio Cobos Álvarez">
4
<link rel="author" href="https://mozilla.org" title="Mozilla">
5
<link rel="help" href="https://drafts.csswg.org/css-pseudo-4/#first-letter-styling">
6
<link rel="help" href="https://bugzilla.mozilla.org/show_bug.cgi?id=1528451">
7
<link rel="match" href="first-letter-background-image-ref.html">
8
<style>
9
  div::first-letter {
10
    color: lime;
11
    /* Lime background */
12
    background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAADUlEQVR42mNk+M/wHwAEBgIApD5fRAAAAABJRU5ErkJggg==');
13
  }
14
</style>
15
<div>
16
  A letter
17
</div>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/first-letter-block-to-inline-expected.html +2 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/first-letter-block-to-inline-expected.html_sec1
1
<!DOCTYPE html>
2
<span style="color:green">This text should be green.</span>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/first-letter-block-to-inline.html +17 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/first-letter-block-to-inline.html_sec1
1
<!DOCTYPE html>
2
<title>CSS Test: ::first-letter stops applying to element becoming inline.</title>
3
<link rel="author" title="Rune Lillesveen" href="mailto:futhark@chromium.org">
4
<link rel="match" href="first-letter-block-to-inline-ref.html">
5
<link rel="help" href="https://drafts.csswg.org/css-pseudo-4/#first-letter-pseudo">
6
<style>
7
  #outer.block::first-letter { color: red }
8
  #outer.block { display: block }
9
</style>
10
<span id="outer" class="block">
11
  <span id="inner">This text should be green.</span>
12
</span>
13
<script>
14
  outer.offsetTop;
15
  outer.className = "";
16
  inner.style.color = "green";
17
</script>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/first-letter-crash-expected.txt +5 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/first-letter-crash-expected.txt_sec1
1
The test passes if it does not CRASH.
2
3
4
PASS first-letter-crash 
5
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/first-letter-crash.html +14 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/first-letter-crash.html_sec1
1
<!DOCTYPE html>
2
<link rel="help" href="https://crbug.com/967194">
3
<script src="/resources/testharness.js"></script>
4
<script src="/resources/testharnessreport.js"></script>
5
<style>
6
#target:first-letter{
7
  float:right;
8
}
9
</style>
10
The test passes if it does not CRASH.
11
<div id="target">
12
  <textarea style="display: block;">A</textarea>
13
</div>
14
<script>test(() => { });</script>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/first-letter-exclude-block-child-marker-expected.html +27 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/first-letter-exclude-block-child-marker-expected.html_sec1
1
<!DOCTYPE HTML>
2
<title>Reference: A child's ::marker should be excluded when finding the ::first-letter content</title>
3
<link rel="author" title="Mats Palmgren" href="mailto:mats@mozilla.com">
4
<style>
5
body { margin-left: 5em; font-size: 12px; }
6
li, o { list-style-position: inside }
7
li:first-child > * { list-style-type: lower-alpha; list-style-type: 'marker ' }
8
li:last-child > ::marker { content: 'marker ' }
9
span, o { display:list-item; }
10
first-letter { color: green }
11
</style>
12
<ol>
13
  <li><span><first-letter>i</first-letter>tem</span>after</li>
14
  <li><span><first-letter>i</first-letter>tem</span></span>after</li>
15
</ol>
16
<ul>
17
  <li><span><first-letter>i</first-letter>tem</span>after</li>
18
  <li><span><first-letter>i</first-letter>tem</span></span>after</li>
19
</ul>
20
<ol>
21
  <li><o><first-letter>i</first-letter>tem</o>after</li>
22
  <li><o><first-letter>i</first-letter>tem</o>after</li>
23
</ol>
24
<ul>
25
  <li><o><first-letter>i</first-letter>tem</o>after</li>
26
  <li><o><first-letter>i</first-letter>tem</o>after</li>
27
</ul>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/first-letter-exclude-block-child-marker.html +29 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/first-letter-exclude-block-child-marker.html_sec1
1
<!DOCTYPE HTML>
2
<title>CSS Test: A child's ::marker should be excluded when finding the ::first-letter content</title>
3
<link rel="author" title="Mats Palmgren" href="mailto:mats@mozilla.com">
4
<link rel="help" href="https://drafts.csswg.org/css-pseudo-4/#application-in-css">
5
<link rel="match" href="first-letter-exclude-block-child-marker-ref.html">
6
<style>
7
body { margin-left: 5em; font-size: 12px; }
8
li, o { list-style-position: inside }
9
li::first-letter { color: green }
10
li:first-child > * { list-style-type: lower-alpha; list-style-type: 'marker ' }
11
li:last-child > ::marker { content: 'marker ' }
12
span, o { display:list-item; }
13
</style>
14
<ol>
15
  <li><span>item</span>after</li>
16
  <li><span>item</span>after</li>
17
</ol>
18
<ul>
19
  <li><span>item</span>after</li>
20
  <li><span>item</span>after</li>
21
</ul>
22
<ol>
23
  <li><o>item</o>after</li>
24
  <li><o>item</o>after</li>
25
</ol>
26
<ul>
27
  <li><o>item</o>after</li>
28
  <li><o>item</o>after</li>
29
</ul>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/first-letter-exclude-inline-child-marker-expected.html +37 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/first-letter-exclude-inline-child-marker-expected.html_sec1
1
<!DOCTYPE HTML>
2
<title>Reference: A child's ::marker should be excluded when finding the ::first-letter content</title>
3
<link rel="author" title="Mats Palmgren" href="mailto:mats@mozilla.com">
4
<style>
5
body { margin-left: 5em; }
6
li { list-style-position: inside }
7
li:first-child > * { list-style-type: 'marker '; }
8
li:last-child > ::marker { content: 'marker '; }
9
span { display:inline list-item; }
10
ibi { display:inline flow-root list-item; list-style-position: inside; }
11
ibo { display:inline flow-root list-item; list-style-position: outside; }
12
first-letter { color:green; }
13
</style>
14
<ol>
15
  <li><span><first-letter>i</first-letter>tem</span>after</li>
16
  <li><span><first-letter>i</first-letter>tem</span></span>after</li>
17
</ol>
18
<ul>
19
  <li><span><first-letter>i</first-letter>tem</span>after</li>
20
  <li><span><first-letter>i</first-letter>tem</span></span>after</li>
21
</ul>
22
<ol>
23
  <li><ibi>item</ibi>after</li>
24
  <li><ibi>item</ibi></ibi>after</li>
25
</ol>
26
<ul>
27
  <li><ibi>item</ibi>after</li>
28
  <li><ibi>item</ibi></ibi>after</li>
29
</ul>
30
<ol>
31
  <li><ibo>item</ibo>after</li>
32
  <li><ibo>item</ibo></ibo>after</li>
33
</ol>
34
<ul>
35
  <li><ibo>item</ibo>after</li>
36
  <li><ibo>item</ibo></ibo>after</li>
37
</ul>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/first-letter-exclude-inline-child-marker.html +39 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/first-letter-exclude-inline-child-marker.html_sec1
1
<!DOCTYPE HTML>
2
<title>CSS Test: A child's ::marker should be excluded when finding the ::first-letter content</title>
3
<link rel="author" title="Mats Palmgren" href="mailto:mats@mozilla.com">
4
<link rel="help" href="https://drafts.csswg.org/css-pseudo-4/#application-in-css">
5
<link rel="match" href="first-letter-exclude-inline-child-marker-ref.html">
6
<style>
7
body { margin-left: 5em; }
8
li, span, ibi { list-style-position: inside }
9
li::first-letter { color: green }
10
li:first-child > * { list-style-type: 'marker ' }
11
li:last-child > ::marker { content: 'marker ' }
12
span { display:inline list-item; }
13
ibi { display:inline flow-root list-item; }
14
ibo { display:inline flow-root list-item; list-style-position: outside; }
15
</style>
16
<ol>
17
  <li><span>item</span>after</li>
18
  <li><span>item</span>after</li>
19
</ol>
20
<ul>
21
  <li><span>item</span>after</li>
22
  <li><span>item</span>after</li>
23
</ul>
24
<ol>
25
  <li><ibi>item</ibi>after</li>
26
  <li><ibi>item</ibi>after</li>
27
</ol>
28
<ul>
29
  <li><ibi>item</ibi>after</li>
30
  <li><ibi>item</ibi>after</li>
31
</ul>
32
<ol>
33
  <li><ibo>item</ibo>after</li>
34
  <li><ibo>item</ibo>after</li>
35
</ol>
36
<ul>
37
  <li><ibo>item</ibo>after</li>
38
  <li><ibo>item</ibo>after</li>
39
</ul>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/first-letter-exclude-inline-marker-expected.html +28 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/first-letter-exclude-inline-marker-expected.html_sec1
1
<!DOCTYPE HTML>
2
<title>Reference: The element's own ::marker should be skipped when finding the ::first-letter content</title>
3
<link rel="author" title="Mats Palmgren" href="mailto:mats@mozilla.com">
4
<style>
5
body { margin-left: 5em; }
6
li:first-child > * { list-style-type: lower-alpha; list-style-type: 'marker '; }
7
li:last-child > ::marker { content: 'marker '; }
8
span { display:inline list-item; }
9
ibi { display:inline flow-root list-item; list-style-position: inside; }
10
ibo { display:inline flow-root list-item; list-style-position: outside; }
11
first-letter { color:green; }
12
</style>
13
<ol>
14
  <li><ibi><first-letter>i</first-letter>tem</ibi>after</li>
15
  <li><ibi><first-letter>i</first-letter>tem</ibi></ibi>after</li>
16
</ol>
17
<ul>
18
  <li><ibi><first-letter>i</first-letter>tem</ibi>after</li>
19
  <li><ibi><first-letter>i</first-letter>tem</ibi></ibi>after</li>
20
</ul>
21
<ol>
22
  <li><ibo><first-letter>i</first-letter>tem</ibo>after</li>
23
  <li><ibo><first-letter>i</first-letter>tem</ibo></ibo>after</li>
24
</ol>
25
<ul>
26
  <li><ibo><first-letter>i</first-letter>tem</ibo>after</li>
27
  <li><ibo><first-letter>i</first-letter>tem</ibo></ibo>after</li>
28
</ul>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/first-letter-exclude-inline-marker.html +29 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/first-letter-exclude-inline-marker.html_sec1
1
<!DOCTYPE HTML>
2
<title>CSS Test: The element's own ::marker should be skipped when finding the ::first-letter content</title>
3
<link rel="author" title="Mats Palmgren" href="mailto:mats@mozilla.com">
4
<link rel="help" href="https://drafts.csswg.org/css-pseudo-4/#application-in-css">
5
<link rel="match" href="first-letter-exclude-inline-marker-ref.html">
6
<style>
7
body { margin-left: 5em; }
8
ibi::first-letter, ibo::first-letter { color: green }
9
li:first-child > * { list-style-type: lower-alpha; list-style-type: 'marker ' }
10
li:last-child > ::marker { content: 'marker ' }
11
ibi { display:inline flow-root list-item; list-style-position: inside; }
12
ibo { display:inline flow-root list-item; list-style-position: outside; }
13
</style>
14
<ol>
15
  <li><ibi>item</ibi>after</li>
16
  <li><ibi>item</ibi>after</li>
17
</ol>
18
<ul>
19
  <li><ibi>item</ibi>after</li>
20
  <li><ibi>item</ibi>after</li>
21
</ul>
22
<ol>
23
  <li><ibo>item</ibo>after</li>
24
  <li><ibo>item</ibo>after</li>
25
</ol>
26
<ul>
27
  <li><ibo>item</ibo>after</li>
28
  <li><ibo>item</ibo>after</li>
29
</ul>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/first-letter-list-item-dynamic-001-expected.html +4 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/first-letter-list-item-dynamic-001-expected.html_sec1
1
<!doctype html>
2
<title>CSS Test Reference</title>
3
<p>The X below should be green.</p>
4
<div style="color:green">X</div>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/first-letter-list-item-dynamic-001.html +24 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/first-letter-list-item-dynamic-001.html_sec1
1
<!doctype html>
2
<title>CSS Test: Move ::first-letter text node (required: list item, float, fixed, contenteditable).</title>
3
<link rel="match" href="first-letter-list-item-dynamic-001-ref.html">
4
<link rel="help" href="https://drafts.csswg.org/css-pseudo/#first-letter-pseudo">
5
<link rel="help" href="https://crbug.com/977044">
6
<style>
7
  #outer {
8
    display: list-item;
9
    overflow: auto; /* Triggers a crash in Blink see link to issue 977044 */
10
  }
11
  #outer::first-letter {
12
    float: left;
13
    color: green;
14
  }
15
  #fixed { position: fixed; }
16
  #inner { float: left; }
17
</style>
18
<p>The X below should be green.</p>
19
<div id="outer" contenteditable="true">X<div id="fixed"></div><div id="inner"></div></div>
20
<script>
21
  document.body.offsetTop;
22
  inner.appendChild(outer.removeChild(outer.firstChild));
23
  inner.removeAttribute("id");
24
</script>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/first-letter-of-html-root-refcrash-expected.html +3 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/first-letter-of-html-root-refcrash-expected.html_sec1
1
<!DOCTYPE html>
2
<title>CSS Test Reference</title>
3
<body style="margin:0">PASS</body>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/first-letter-of-html-root-refcrash.html +16 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/first-letter-of-html-root-refcrash.html_sec1
1
<!DOCTYPE html>
2
<title>CSS Test: ::first-letter of html root element crash in combination with removal of body</title>
3
<link rel="help" href="https://crbug.com/993764">
4
<link rel="match" href="first-letter-of-html-root-crash-ref.html">
5
<style id="sheet">
6
  html::first-letter { font-size: initial }
7
</style>FAIL
8
<script>
9
  const sel = window.getSelection();
10
  sel.selectAllChildren(document.documentElement);
11
  const range = sel.getRangeAt(0);
12
  document.body.remove();
13
  document.documentElement.appendChild(document.createTextNode("PASS"));
14
  document.documentElement.offsetTop;
15
  range.surroundContents(sheet);
16
</script>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/first-letter-opacity-001-expected.html +16 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/first-letter-opacity-001-expected.html_sec1
1
<!DOCTYPE html>
2
<html>
3
<head>
4
<title>Reference: ::first-letter supports opacity.</title>
5
<link rel="author" title="Mats Palmgren" href="https://bugzilla.mozilla.org/show_bug.cgi?id=1639664">
6
<link rel="mismatch" href="first-letter-opacity-001-not-ref.html">
7
  <style>
8
    fl {
9
      opacity: 0;
10
    }
11
  </style>
12
</head>
13
<body>
14
  <p><fl>F</fl>irst</p>
15
</body>
16
</html>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/first-letter-opacity-001-ref-expected.html +10 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/first-letter-opacity-001-ref-expected.html_sec1
1
<!DOCTYPE html>
2
<html>
3
<head>
4
<title>Reference mismatch: ::first-letter supports opacity.</title>
5
<link rel="author" title="Mats Palmgren" href="https://bugzilla.mozilla.org/show_bug.cgi?id=1639664">
6
</head>
7
<body>
8
  <p>First</p>
9
</body>
10
</html>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/first-letter-opacity-001-ref.html +16 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/first-letter-opacity-001-ref.html_sec1
1
<!DOCTYPE html>
2
<html>
3
<head>
4
<title>Reference: ::first-letter supports opacity.</title>
5
<link rel="author" title="Mats Palmgren" href="https://bugzilla.mozilla.org/show_bug.cgi?id=1639664">
6
<link rel="mismatch" href="first-letter-opacity-001-not-ref.html">
7
  <style>
8
    fl {
9
      opacity: 0;
10
    }
11
  </style>
12
</head>
13
<body>
14
  <p><fl>F</fl>irst</p>
15
</body>
16
</html>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/first-letter-opacity-001.html +17 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/first-letter-opacity-001.html_sec1
1
<!DOCTYPE html>
2
<html>
3
<head>
4
<title>CSS Test: ::first-letter supports opacity.</title>
5
<link rel="author" title="Mats Palmgren" href="https://bugzilla.mozilla.org/show_bug.cgi?id=1639664">
6
<link rel="match" href="first-letter-opacity-001-ref.html">
7
<link rel="help" href="https://drafts.csswg.org/css-pseudo-4/#first-letter-styling">
8
  <style>
9
    p::first-letter {
10
      opacity: 0;
11
    }
12
  </style>
13
</head>
14
<body>
15
  <p>First</p>
16
</body>
17
</html>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/first-letter-opacity-float-001-expected.html +6 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/first-letter-opacity-float-001-expected.html_sec1
1
<!DOCTYPE html>
2
<style>
3
/* Disable kerning because kerning may differ for different node tree. */
4
html { font-kerning: none; font-feature-settings: "kern" off; }
5
</style>
6
<div><span style="opacity:0.5">P</span>ASS</div>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/first-letter-opacity-float-001.html +21 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/first-letter-opacity-float-001.html_sec1
1
<!DOCTYPE html>
2
<title>CSS Test: floating ::first-letter with opacity</title>
3
<link rel="author" title="Rune Lillesveen" href="mailto:futhark@chromium.org">
4
<link rel="match" href="first-letter-opacity-float-001-ref.html">
5
<link rel="help" href="https://drafts.csswg.org/css-pseudo-4/#first-letter-styling">
6
<meta name="assert" content="Test checks that a floated ::first-letter with opacity is rendered correctly with dynamic changes.">
7
<style>
8
  #one::first-letter { float: left; opacity: 0.5 }
9
  #two { opacity: 0.5 }
10
/* Disable kerning because kerning may differ for different node tree. */
11
html { font-kerning: none; font-feature-settings: "kern" off; }
12
</style>
13
<div id="one">PASS</div>
14
<div id="two"></div>
15
<script>
16
  requestAnimationFrame(() =>
17
    requestAnimationFrame(() => {
18
      // This used to crash the compositing code in Blink.
19
      one.appendChild(two);
20
    }));
21
</script>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/first-letter-property-whitelist-expected.txt -37 lines
Lines 1-37 a/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/first-letter-property-whitelist-expected.txt_sec1
1
2
PASS pre test setup 
3
PASS Whitelisted property backgroundAttachment should be applied to first-letter pseudo elements. 
4
PASS Whitelisted property backgroundBlendMode should be applied to first-letter pseudo elements. 
5
PASS Whitelisted property backgroundClip should be applied to first-letter pseudo elements. 
6
PASS Whitelisted property backgroundColor should be applied to first-letter pseudo elements. 
7
PASS Whitelisted property backgroundImage should be applied to first-letter pseudo elements. 
8
PASS Whitelisted property backgroundOrigin should be applied to first-letter pseudo elements. 
9
PASS Whitelisted property backgroundPosition should be applied to first-letter pseudo elements. 
10
PASS Whitelisted property backgroundRepeat should be applied to first-letter pseudo elements. 
11
PASS Whitelisted property backgroundSize should be applied to first-letter pseudo elements. 
12
PASS Whitelisted property border should be applied to first-letter pseudo elements. 
13
PASS Whitelisted property borderImage should be applied to first-letter pseudo elements. 
14
PASS Whitelisted property borderRadius should be applied to first-letter pseudo elements. 
15
PASS Whitelisted property boxShadow should be applied to first-letter pseudo elements. 
16
PASS Whitelisted property color should be applied to first-letter pseudo elements. 
17
PASS Whitelisted property float should be applied to first-letter pseudo elements. 
18
FAIL Whitelisted property font should be applied to first-letter pseudo elements. assert_equals: expected "italic small-caps 900 normal 10px / 20px sans-serif" but got "italic small-caps 900 normal 10px/20px sans-serif"
19
PASS Whitelisted property fontFeatureSettings should be applied to first-letter pseudo elements. 
20
FAIL Whitelisted property fontSizeAdjust should be applied to first-letter pseudo elements. assert_equals: expected (string) "0.5" but got (undefined) undefined
21
PASS Whitelisted property fontKerning should be applied to first-letter pseudo elements. 
22
PASS Whitelisted property fontVariationSettings should be applied to first-letter pseudo elements. 
23
PASS Whitelisted property letterSpacing should be applied to first-letter pseudo elements. 
24
PASS Whitelisted property margin should be applied to first-letter pseudo elements. 
25
PASS Whitelisted property padding should be applied to first-letter pseudo elements. 
26
PASS Whitelisted property opacity should be applied to first-letter pseudo elements. 
27
FAIL Whitelisted property textDecoration should be applied to first-letter pseudo elements. assert_equals: expected "overline wavy rgb(10, 20, 30)" but got "none"
28
FAIL Whitelisted property textJustify should be applied to first-letter pseudo elements. assert_equals: expected (string) "inter-word" but got (undefined) undefined
29
PASS Whitelisted property textShadow should be applied to first-letter pseudo elements. 
30
PASS Whitelisted property textTransform should be applied to first-letter pseudo elements. 
31
PASS Whitelisted property textUnderlinePosition should be applied to first-letter pseudo elements. 
32
PASS Whitelisted property verticalAlign should be applied to first-letter pseudo elements. 
33
PASS Whitelisted property wordSpacing should be applied to first-letter pseudo elements. 
34
FAIL Non-whitelisted property transition should not be applied to first-letter pseudo elements. assert_equals: expected "all 0s ease 0s" but got "transform 1s ease 0s"
35
PASS Non-whitelisted property transform should not be applied to first-letter pseudo elements. 
36
FAIL Non-whitelisted property wordBreak should not be applied to first-letter pseudo elements. assert_equals: expected "normal" but got "break-all"
37
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/first-letter-property-whitelist.html -82 lines
Lines 1-82 a/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/first-letter-property-whitelist.html_sec1
1
<!DOCTYPE html>
2
<title>CSS Test: Properties allowed on ::first-letter pseudo elements</title>
3
<link rel="author" title="Chris Nardi" href="mailto:cnardi@chromium.org">
4
<link rel="help" href="https://drafts.csswg.org/css-pseudo-4/#first-letter-styling">
5
<script src="/resources/testharness.js"></script>
6
<script src="/resources/testharnessreport.js"></script>
7
<style>
8
#target::first-letter {}
9
#target { visibility: hidden; }
10
</style>
11
<div id="target">text</div>
12
<script>
13
'use strict';
14
var style;
15
const target = document.querySelector("#target");
16
var defaultComputedStyle = getComputedStyle(target);
17
18
test(function() {
19
  var styleRule = document.styleSheets[0].cssRules[0];
20
  assert_equals(styleRule.selectorText, '#target::first-letter', 'make sure we have the correct style rule');
21
  style = styleRule.style;
22
}, 'pre test setup');
23
24
var validProperties = {
25
  backgroundAttachment: 'fixed',
26
  backgroundBlendMode: 'hue',
27
  backgroundClip: 'padding-box',
28
  backgroundColor: 'rgb(10, 20, 30)',
29
  backgroundImage: 'linear-gradient(black, white)',
30
  backgroundOrigin: 'border-box',
31
  backgroundPosition: 'left 10px top 20px',
32
  backgroundRepeat: 'no-repeat',
33
  backgroundSize: '10px 20px',
34
  border: '40px dotted rgb(10, 20, 30)',
35
  borderImage: 'linear-gradient(black, white) 10% / 20 / 30px repeat',
36
  borderRadius: '10px 20px',
37
  boxShadow: 'rgb(10, 20, 30) 10px 20px 30px 40px inset',
38
  color: 'rgba(10, 20, 30, 0.4)',
39
  float: 'right',
40
  font: 'italic small-caps 900 normal 10px / 20px sans-serif',
41
  fontFeatureSettings: '"vert" 2',
42
  fontSizeAdjust: '0.5',
43
  fontKerning: 'none',
44
  fontVariationSettings: '"XHGT" 0.7',
45
  letterSpacing: '12px',
46
  margin: '10px 20px 30px 40px',
47
  padding: '10px 20px 30px 40px',
48
  opacity: '0.5',
49
  textDecoration: 'overline wavy rgb(10, 20, 30)',
50
  textJustify: 'inter-word',
51
  textShadow: 'rgb(10, 20, 30) 10px 20px 30px',
52
  textTransform: 'capitalize',
53
  textUnderlinePosition: 'under',
54
  verticalAlign: '12%',
55
  wordSpacing: '12px'
56
};
57
58
var invalidProperties = {
59
  transition: 'transform 1s',
60
  transform: 'rotate(45deg)',
61
  wordBreak: 'break-all'
62
};
63
64
function testFirstLetterProperty(property, rule, expected, reason) {
65
  test(function() {
66
    style[property] = "";
67
    style[property] = rule;
68
    assert_equals(getComputedStyle(target, '::first-letter')[property], expected);
69
    style[property] = "";
70
  }, reason);
71
}
72
73
for (var property in validProperties) {
74
  testFirstLetterProperty(property, validProperties[property], validProperties[property],
75
                          "Whitelisted property " + property + " should be applied to first-letter pseudo elements.");
76
}
77
78
for (var property in invalidProperties) {
79
  testFirstLetterProperty(property, invalidProperties[property], defaultComputedStyle[property],
80
                          "Non-whitelisted property " + property + " should not be applied to first-letter pseudo elements.");
81
}
82
</script>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/first-letter-skip-marker-expected.html +19 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/first-letter-skip-marker-expected.html_sec1
1
<!DOCTYPE HTML>
2
<title>Reference: The element's own ::marker should be skipped when finding the ::first-letter content</title>
3
<link rel="author" title="Mats Palmgren" href="mailto:mats@mozilla.com">
4
<style>
5
body { margin-left:100px; }
6
ol > li { list-style-position: inside }
7
first-letter { color: green }
8
li:first-child { list-style-type: lower-alpha; list-style-type: '::marker ' }
9
li:last-child::marker { content: '::marker ' }
10
</style>
11
<ol>
12
  <li><first-letter>i</first-letter>tem</li>
13
  <li><first-letter>i</first-letter>tem</li>
14
</ol>
15
16
<ul>
17
  <li><first-letter>i</first-letter>tem</li>
18
  <li><first-letter>i</first-letter>tem</li>
19
</ul>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/first-letter-skip-marker.html +22 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/first-letter-skip-marker.html_sec1
1
<!DOCTYPE HTML>
2
<title>CSS Test: The element's own ::marker should be skipped when finding the ::first-letter content</title>
3
<link rel="author" title="Mats Palmgren" href="mailto:mats@mozilla.com">
4
<link rel="author" title="Oriol Brufau" href="mailto:obrufau@igalia.com">
5
<link rel="help" href="https://drafts.csswg.org/css-pseudo-4/#application-in-css">
6
<link rel="match" href="first-letter-skip-marker-ref.html">
7
<style>
8
body { margin-left:100px; }
9
ol > li { list-style-position: inside }
10
li::first-letter { color: green }
11
li:first-child { list-style-type: lower-alpha; list-style-type: '::marker ' }
12
li:last-child::marker { content: '::marker ' }
13
</style>
14
<ol>
15
  <li>item</li>
16
  <li>item</li>
17
</ol>
18
19
<ul>
20
  <li>item</li>
21
  <li>item</li>
22
</ul>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/first-letter-text-and-display-change-expected.html +11 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/first-letter-text-and-display-change-expected.html_sec1
1
<!DOCTYPE HTML>
2
<html>
3
<head>
4
   <title>Reference rendering - pass if F in Filler Text is upper-case</title>
5
   <link rel="author" title="Opera Software" href="https://opera.com">
6
</head>
7
<body>
8
   <p>Test passes if the letter "F" in the words "Filler Text" below is in upper-case.</p>
9
   <div>Filler Text</div>
10
</body>
11
</html>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/first-letter-text-and-display-change.html +18 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/first-letter-text-and-display-change.html_sec1
1
<!doctype html>
2
<title>CSS Test: Change display for the ::first-letter container while replacing text node</title>
3
<link rel="help" href="https://drafts.csswg.org/css-pseudo/#first-letter-pseudo">
4
<link rel="match" href="../reference/pass_if_letter_uppercase.html">
5
<style>
6
  #container::first-letter { text-transform: uppercase }
7
  #container.ib { display: inline-block }
8
</style>
9
<body>
10
  <p>Test passes if the letter "F" in the words "Filler Text" below is in upper-case.</p>
11
  <div id="container">Test not run</div>
12
</body>
13
<script>
14
  container.offsetTop;
15
  container.className = "ib";
16
  container.appendChild(document.createTextNode("filler Text"));
17
  container.firstChild.remove();
18
</script>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/first-letter-width-expected.html +20 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/first-letter-width-expected.html_sec1
1
<!DOCTYPE html>
2
<meta charset="utf-8">
3
<html lang="en">
4
<head>
5
  <title>initial-letter width test</title>
6
  <style>
7
    span {
8
      position: absolute;
9
      color: transparent;
10
    }
11
    #control {
12
      background-color: green;
13
    }
14
  </style>
15
</head>
16
<body>
17
  <p>There should be no red</p>
18
  <span id="control">Test.</span>
19
</body>
20
</html>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/first-letter-width.html +38 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/first-letter-width.html_sec1
1
<!DOCTYPE html>
2
<meta charset="utf-8">
3
<html lang="en">
4
<head>
5
  <title>initial-letter width test</title>
6
  <link rel="help" href="https://bugzilla.mozilla.org/show_bug.cgi?id=362880">
7
  <link rel="help" href="https://drafts.csswg.org/css-pseudo-4/#first-letter-styling">
8
  <link rel="match" href="first-letter-width-ref.html">
9
  <meta name="assert" content="The width of an element with first-letter styling should render correctly.">
10
  <style>
11
    div {
12
      position: relative;
13
    }
14
    span {
15
      position: absolute;
16
      color: transparent;
17
    }
18
    #control {
19
      background-color: green;
20
    }
21
    #test {
22
      background-color: red;
23
      line-height: 1;
24
      top: 1px;
25
    }
26
    #test::first-letter {
27
      text-transform: uppercase;
28
    }
29
  </style>
30
</head>
31
<body>
32
  <p>There should be no red</p>
33
  <div>
34
  <span id="test">Test</span>
35
  <span id="control">Test.</span>
36
  </div>
37
</body>
38
</html>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/first-line-and-marker-expected.html +28 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/first-line-and-marker-expected.html_sec1
1
<!DOCTYPE html>
2
<meta charset="utf-8" />
3
<title>CSS Reftest Reference</title>
4
<link rel="author" title="Oriol Brufau" href="mailto:obrufau@igalia.com" />
5
<style>
6
span {
7
  background: cyan;
8
}
9
.none {
10
  list-style-type: none;
11
}
12
.string {
13
  list-style-type: "2. ";
14
}
15
.content::marker {
16
  content: "3. ";
17
}
18
</style>
19
<ol class="none">
20
  <li><span>1. inside decimal</span></li>
21
  <li><span>2. inside string</span></li>
22
  <li><span>3. inside content</span></li>
23
</ol>
24
<ol class="outside">
25
  <li class="decimal"><span>outside decimal</span></li>
26
  <li class="string"><span>outside string</span></li>
27
  <li class="content"><span>outside content</span></li>
28
</ol>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/first-line-and-marker.html +32 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/first-line-and-marker.html_sec1
1
<!DOCTYPE html>
2
<meta charset="utf-8">
3
<title>Interaction of ::first-line and ::marker</title>
4
<link rel="author" title="Oriol Brufau" href="mailto:obrufau@igalia.com" />
5
<link rel="help" href="https://drafts.csswg.org/css-pseudo-4/#first-line-pseudo">
6
<link rel="help" href="https://drafts.csswg.org/css-pseudo-4/#marker-pseudo">
7
<link rel="match" href="first-line-and-marker-ref.html">
8
<meta name="assert" content="Tests ::marker interaction with ::first-line pseudo element">
9
<style>
10
li::first-line {
11
  background: cyan;
12
}
13
.inside {
14
  list-style-position: inside;
15
}
16
.string {
17
  list-style-type: "2. ";
18
}
19
.content::marker {
20
  content: "3. ";
21
}
22
</style>
23
<ol class="inside">
24
  <li class="decimal">inside decimal</li>
25
  <li class="string">inside string</li>
26
  <li class="content">inside content</li>
27
</ol>
28
<ol class="outside">
29
  <li class="decimal">outside decimal</li>
30
  <li class="string">outside string</li>
31
  <li class="content">outside content</li>
32
</ol>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/first-line-change-inline-color-expected.html +2 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/first-line-change-inline-color-expected.html_sec1
1
<!DOCTYPE html>
2
<p style="color: blue">Blue <span style="color: green">This text should be green.</span> Blue</p>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/first-line-change-inline-color-nested-expected.html +2 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/first-line-change-inline-color-nested-expected.html_sec1
1
<!DOCTYPE html>
2
<p style="color: blue">Blue <span style="color: green">This text should be green.</span> Blue</p>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/first-line-change-inline-color-nested.html +23 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/first-line-change-inline-color-nested.html_sec1
1
<!DOCTYPE html>
2
<html class="reftest-wait">
3
<link rel="help" href="https://drafts.csswg.org/css-pseudo-4/#first-line-pseudo">
4
<link rel="match" href="first-line-change-inline-color-nested-ref.html">
5
<style>
6
  #block { color: green; }
7
  #block::first-line { color: blue; }
8
  .green { color: green; }
9
</style>
10
<div id="block">
11
  <div>
12
    <p>Blue <span id="target"><span>This text should be green.</span></span> Blue</p>
13
  </div>
14
</div>
15
<script>
16
requestAnimationFrame(() => {
17
  requestAnimationFrame(() => {
18
    target.className = 'green';
19
    document.documentElement.removeAttribute('class');
20
  });
21
});
22
</script>
23
</html>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/first-line-change-inline-color.html +23 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/first-line-change-inline-color.html_sec1
1
<!DOCTYPE html>
2
<html class="reftest-wait">
3
<link rel="help" href="https://drafts.csswg.org/css-pseudo-4/#first-line-pseudo">
4
<link rel="match" href="first-line-change-inline-color-ref.html">
5
<style>
6
  #block { color: green; }
7
  #block::first-line { color: blue; }
8
  .green { color: green; }
9
</style>
10
<div id="block">
11
  <div>
12
    <p>Blue <span id="target">This text should be green.</span> Blue</p>
13
  </div>
14
</div>
15
<script>
16
requestAnimationFrame(() => {
17
  requestAnimationFrame(() => {
18
    target.className = 'green';
19
    document.documentElement.removeAttribute('class');
20
  });
21
});
22
</script>
23
</html>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/first-line-first-letter-insert-crash-expected.txt +5 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/first-line-first-letter-insert-crash-expected.txt_sec1
1
testsup
2
3
4
PASS Should not crash when inserting an element inside a :first-line pseudo. 
5
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/first-line-first-letter-insert-crash.html +19 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/first-line-first-letter-insert-crash.html_sec1
1
<!DOCTYPE html>
2
<title>Should not crash when inserting an element inside a :first-line pseudo.</title>
3
<link rel="help" href="https://drafts.csswg.org/css-pseudo-4/#first-line-pseudo">
4
<style>
5
p:first-line, p:first-letter {
6
  font-family: serif;
7
}
8
</style>
9
<script src="/resources/testharness.js"></script>
10
<script src="/resources/testharnessreport.js"></script>
11
<p id=target>
12
  test<sup>sup</sup>
13
</p>
14
<script>
15
test(()=>{
16
  const target = document.getElementById('target');
17
  target.insertBefore(document.createElement('img'), target.lastChild)
18
});
19
</script>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/first-line-on-ancestor-block-expected.html +5 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/first-line-on-ancestor-block-expected.html_sec1
1
<!DOCTYPE html>
2
<div>
3
  <span style="color: green">This text should be green.</span><br>
4
  <span style="color: blue">This text should be blue.</span>
5
</div>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/first-line-on-ancestor-block.html +16 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/first-line-on-ancestor-block.html_sec1
1
<!DOCTYPE html>
2
<link rel="help" href="https://drafts.csswg.org/css-pseudo-4/#first-line-pseudo">
3
<link rel="match" href="first-line-on-ancestor-block-ref.html">
4
<style>
5
  #block::first-line { color: green; }
6
</style>
7
<div id="block">
8
  <div>
9
    <div style="color: blue">
10
      <div>
11
        <span><span>This text should be green.</span></span><br>
12
        This text should be blue.
13
      </div>
14
    </div>
15
  </div>
16
</div>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/first-line-opacity-001-expected.html +16 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/first-line-opacity-001-expected.html_sec1
1
<!DOCTYPE html>
2
<html>
3
<head>
4
<title>Reference: ::first-line supports opacity.</title>
5
<link rel="author" title="Mats Palmgren" href="https://bugzilla.mozilla.org/show_bug.cgi?id=1639664">
6
<link rel="mismatch" href="first-line-opacity-001-not-ref.html">
7
  <style>
8
    fl {
9
      opacity: 0;
10
    }
11
  </style>
12
</head>
13
<body>
14
  <p><fl>First</fl><br>Second</p>
15
</body>
16
</html>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/first-line-opacity-001-ref-expected.html +10 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/first-line-opacity-001-ref-expected.html_sec1
1
<!DOCTYPE html>
2
<html>
3
<head>
4
<title>Reference mismatch: ::first-line supports opacity.</title>
5
<link rel="author" title="Mats Palmgren" href="https://bugzilla.mozilla.org/show_bug.cgi?id=1639664">
6
</head>
7
<body>
8
  <p>First<br>Second</p>
9
</body>
10
</html>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/first-line-opacity-001-ref.html +16 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/first-line-opacity-001-ref.html_sec1
1
<!DOCTYPE html>
2
<html>
3
<head>
4
<title>Reference: ::first-line supports opacity.</title>
5
<link rel="author" title="Mats Palmgren" href="https://bugzilla.mozilla.org/show_bug.cgi?id=1639664">
6
<link rel="mismatch" href="first-line-opacity-001-not-ref.html">
7
  <style>
8
    fl {
9
      opacity: 0;
10
    }
11
  </style>
12
</head>
13
<body>
14
  <p><fl>First</fl><br>Second</p>
15
</body>
16
</html>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/first-line-opacity-001.html +17 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/first-line-opacity-001.html_sec1
1
<!DOCTYPE html>
2
<html>
3
<head>
4
<title>CSS Test: ::first-line supports opacity.</title>
5
<link rel="author" title="Mats Palmgren" href="https://bugzilla.mozilla.org/show_bug.cgi?id=1639664">
6
<link rel="match" href="first-line-opacity-001-ref.html">
7
<link rel="help" href="https://drafts.csswg.org/css-pseudo-4/#first-line-styling">
8
  <style>
9
    p::first-line {
10
      opacity: 0;
11
    }
12
  </style>
13
</head>
14
<body>
15
  <p>First<br>Second</p>
16
</body>
17
</html>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/first-line-with-before-after-expected.html +10 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/first-line-with-before-after-expected.html_sec1
1
<!DOCTYPE html>
2
<style>
3
  #target::first-line { font-size: 150%; }
4
</style>
5
6
<div id="target"><span style='color:red'>red</span> <span style='color:green'>green</span> <span style='color:blue'>blue</span><br />
7
  <span style='color:red'>red</span> <span style='color:green'>green</span> <span style='color:blue'>blue</span>
8
</div>
9
10
<p>Both lines above (inside and outside <code>::first-line</code>) should have the same colors.</p>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/first-line-with-before-after.html +28 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/first-line-with-before-after.html_sec1
1
<!DOCTYPE html>
2
<title>::before and ::after styles should apply inside ::first-line</title>
3
<link rel="help" href="https://drafts.csswg.org/css-pseudo-4/#generated-content">
4
<link rel="match" href="first-line-with-before-after-ref.html">
5
<style>
6
  #target::first-line {
7
    font-size: 150%;
8
  }
9
  #target::before, #child2::before {
10
    content: "red ";
11
    color: red;
12
  }
13
  #child1, #child2 {
14
    color: green;
15
  }
16
  #child1::after, #target::after {
17
    content: " blue";
18
    color: blue;
19
  }
20
</style>
21
22
<div id="target">
23
  <span id='child1'>green</span>
24
  <br />
25
  <span id='child2'>green</span>
26
</div>
27
28
<p>Both lines above (inside and outside <code>::first-line</code>) should have the same colors.</p>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/first-line-with-out-of-flow-expected.html +5 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/first-line-with-out-of-flow-expected.html_sec1
1
<!DOCTYPE html>
2
<div>
3
  <span style="color: green">This text should be green.</span><br>
4
  <span style="color: blue">This text should be blue.</span>
5
</div>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/first-line-with-out-of-flow.html +20 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/first-line-with-out-of-flow.html_sec1
1
<!DOCTYPE html>
2
<link rel="help" href="https://drafts.csswg.org/css-pseudo-4/#first-line-pseudo">
3
<link rel="match" href="first-line-with-out-of-flow-ref.html">
4
<style>
5
  #block::first-line { color: green; }
6
</style>
7
<div id="block">
8
  <div style="position: absolute"><br></div>
9
  <div style="float: right"><br></div>
10
  <div>
11
    <div style="position: absolute"><br></div>
12
    <div style="float: right"><br></div>
13
    <div style="color: blue">
14
      <div>
15
        <span><span>This text should be green.</span></span><br>
16
        This text should be blue.
17
      </div>
18
    </div>
19
  </div>
20
</div>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/grammar-error-001-expected.html +28 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/grammar-error-001-expected.html_sec1
1
<!DOCTYPE html>
2
3
 <html lang="en">
4
5
  <meta charset="UTF-8">
6
7
  <title>CSS Reftest Reference</title>
8
9
  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/">
10
11
  <style>
12
  div
13
    {
14
      font-size: 300%;
15
    }
16
17
  span
18
    {
19
      color: maroon;
20
      text-decoration: underline dotted fuchsia;
21
    }
22
  </style>
23
24
  <p>PREREQUISITE: User agent needs to have an enabled and capable grammar error module. If it does not, then this test does not apply to such user agent.
25
26
  <p>Test passes if each glyph of "thing" is maroon and if "thing" is underlined with a fuchsia dotted line.
27
28
  <div contenteditable="true">Many <span>thing</span> can happen.</div>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/grammar-error-001.html +33 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/grammar-error-001.html_sec1
1
<!DOCTYPE html>
2
3
 <html lang="en">
4
5
  <meta charset="UTF-8">
6
7
  <title>CSS Pseudo-Elements Test: highlighting of grammar error (basic)</title>
8
9
  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/">
10
  <link rel="help" href="https://www.w3.org/TR/css-pseudo-4/#highlight-selectors">
11
  <link rel="help" href="https://www.w3.org/TR/css-pseudo-4/#highlight-styling">
12
  <link rel="match" href="grammar-error-001-ref.html">
13
14
  <meta content="" name="flags">
15
16
  <style>
17
  div
18
    {
19
      font-size: 300%;
20
    }
21
22
  div::grammar-error
23
    {
24
      color: maroon;
25
      text-decoration: underline dotted fuchsia;
26
    }
27
  </style>
28
29
  <p>PREREQUISITE: User agent needs to have an enabled and capable grammar error module. If it does not, then this test does not apply to such user agent.
30
31
  <p>Test passes if each glyph of "thing" is maroon and if "thing" is underlined with a fuchsia dotted line.
32
33
  <div contenteditable="true">Many thing can happen.</div>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/highlight-z-index-001-expected.html +24 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/highlight-z-index-001-expected.html_sec1
1
<!DOCTYPE html>
2
3
  <meta charset="UTF-8">
4
5
  <title>CSS Reftest Reference</title>
6
7
  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/">
8
9
  <style>
10
  div
11
    {
12
      background-color: yellow;
13
      color: green;
14
      display: inline-block;
15
      font-size: 48px;
16
      line-height: 1.25; /* computes to 60px */
17
      position: relative;
18
      top: 1.25em;
19
    }
20
  </style>
21
22
  <p>Test passes if "Text sample" is green and if its background color is yellow.
23
24
  <div>Test sample</div>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/highlight-z-index-001.html +55 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/highlight-z-index-001.html_sec1
1
<!DOCTYPE html>
2
3
  <meta charset="UTF-8">
4
5
  <title>CSS Pseudo-Elements Test: highlight pseudo-element drawn below positioned element</title>
6
7
  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/">
8
  <link rel="help" href="https://www.w3.org/TR/css-pseudo-4/#highlight-painting">
9
  <link rel="match" href="highlight-z-index-001-ref.html">
10
11
  <meta content="" name="flags">
12
  <meta name="assert" content="This test checks that the ::selection pseudo-element must be drawn below a relatively positioned element. In this test, such relatively positioned element is a preceding sibling element.">
13
14
  <style>
15
  div
16
    {
17
      font-size: 48px;
18
      line-height: 1.25; /* computes to 60px */
19
    }
20
21
  div#rel-positioned-sibling
22
    {
23
      background-color: yellow;
24
      color: green;
25
      display: inline-block;
26
      position: relative;
27
      top: 1.25em;
28
    }
29
30
  div#test::selection
31
    {
32
      background-color: red;
33
      color: yellow;
34
    }
35
  </style>
36
37
  <script>
38
  function startTest()
39
  {
40
  var targetRange = document.createRange();
41
  /* We first create an empty range */
42
  targetRange.selectNodeContents(document.getElementById("test"));
43
  /* Then we set the range boundaries to the children of div#test */
44
  window.getSelection().addRange(targetRange);
45
  /* Finally, we now select such range of content */
46
  }
47
  </script>
48
49
  <body onload="startTest();">
50
51
  <p>Test passes if "Text sample" is green and if its background color is yellow.
52
53
  <div id="rel-positioned-sibling">Test sample</div>
54
55
  <div id="test">Test sample</div>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/highlight-z-index-002-expected.html +22 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/highlight-z-index-002-expected.html_sec1
1
<!DOCTYPE html>
2
3
  <meta charset="UTF-8">
4
5
  <title>CSS Reftest Reference</title>
6
7
  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/">
8
9
  <style>
10
  div
11
    {
12
      background-color: yellow;
13
      color: green;
14
      display: inline-block;
15
      font-size: 48px;
16
      line-height: 1.25; /* computes to 60px */
17
    }
18
  </style>
19
20
  <p>Test passes if "Text sample" is green and if its background color is yellow.
21
22
  <div>Test sample</div>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/highlight-z-index-002.html +53 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/highlight-z-index-002.html_sec1
1
<!DOCTYPE html>
2
3
  <meta charset="UTF-8">
4
5
  <title>CSS Pseudo-Elements Test: highlight pseudo-element drawn below positioned element</title>
6
7
  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/">
8
  <link rel="help" href="https://www.w3.org/TR/css-pseudo-4/#highlight-painting">
9
  <link rel="match" href="highlight-z-index-002-ref.html">
10
11
  <meta content="" name="flags">
12
  <meta name="assert" content="This test checks that the ::selection pseudo-element must be drawn below an absolutely positioned element. In this test, such absolutely positioned element is a preceding sibling element.">
13
14
  <style>
15
  div
16
    {
17
      font-size: 48px;
18
      line-height: 1.25; /* computes to 60px */
19
    }
20
21
  div#abs-positioned-sibling
22
    {
23
      background-color: yellow;
24
      color: green;
25
      position: absolute;
26
    }
27
28
  div#test::selection
29
    {
30
      background-color: red;
31
      color: yellow;
32
    }
33
  </style>
34
35
  <script>
36
  function startTest()
37
  {
38
  var targetRange = document.createRange();
39
  /* We first create an empty range */
40
  targetRange.selectNodeContents(document.getElementById("test"));
41
  /* Then we set the range boundaries to the children of div#test */
42
  window.getSelection().addRange(targetRange);
43
  /* Finally, we now select such range of content */
44
  }
45
  </script>
46
47
  <body onload="startTest();">
48
49
  <p>Test passes if "Text sample" is green and if its background color is yellow.
50
51
  <div id="abs-positioned-sibling">Test sample</div>
52
53
  <div id="test">Test sample</div>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/idlharness-expected.txt +23 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/idlharness-expected.txt_sec1
1
2
FAIL idl_test setup promise_test: Unhandled rejection with value: object "TypeError: window.getPseudoElements is not a function. (In 'window.getPseudoElements(document.body, 'before')', 'window.getPseudoElements' is undefined)"
3
PASS idl_test validation 
4
PASS Partial interface Element: original interface defined 
5
PASS Partial interface Element: member names are unique 
6
PASS Element includes ParentNode: member names are unique 
7
PASS Element includes NonDocumentTypeChildNode: member names are unique 
8
PASS Element includes ChildNode: member names are unique 
9
PASS Element includes Slottable: member names are unique 
10
FAIL CSSPseudoElement interface: existence and properties of interface object assert_own_property: self does not have own property "CSSPseudoElement" expected property "CSSPseudoElement" missing
11
FAIL CSSPseudoElement interface object length assert_own_property: self does not have own property "CSSPseudoElement" expected property "CSSPseudoElement" missing
12
FAIL CSSPseudoElement interface object name assert_own_property: self does not have own property "CSSPseudoElement" expected property "CSSPseudoElement" missing
13
FAIL CSSPseudoElement interface: existence and properties of interface prototype object assert_own_property: self does not have own property "CSSPseudoElement" expected property "CSSPseudoElement" missing
14
FAIL CSSPseudoElement interface: existence and properties of interface prototype object's "constructor" property assert_own_property: self does not have own property "CSSPseudoElement" expected property "CSSPseudoElement" missing
15
FAIL CSSPseudoElement interface: existence and properties of interface prototype object's @@unscopables property assert_own_property: self does not have own property "CSSPseudoElement" expected property "CSSPseudoElement" missing
16
FAIL CSSPseudoElement interface: attribute type assert_own_property: self does not have own property "CSSPseudoElement" expected property "CSSPseudoElement" missing
17
FAIL CSSPseudoElement interface: attribute element assert_own_property: self does not have own property "CSSPseudoElement" expected property "CSSPseudoElement" missing
18
FAIL CSSPseudoElement must be primary interface of beforeElements.item(0) assert_equals: Unexpected exception when evaluating object expected null but got object "ReferenceError: Can't find variable: beforeElements"
19
FAIL Stringification of beforeElements.item(0) assert_equals: Unexpected exception when evaluating object expected null but got object "ReferenceError: Can't find variable: beforeElements"
20
FAIL CSSPseudoElement interface: beforeElements.item(0) must inherit property "type" with the proper type assert_equals: Unexpected exception when evaluating object expected null but got object "ReferenceError: Can't find variable: beforeElements"
21
FAIL CSSPseudoElement interface: beforeElements.item(0) must inherit property "element" with the proper type assert_equals: Unexpected exception when evaluating object expected null but got object "ReferenceError: Can't find variable: beforeElements"
22
FAIL Element interface: operation pseudo(CSSOMString) assert_own_property: interface prototype object missing non-static operation expected property "pseudo" missing
23
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/idlharness.html +26 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/idlharness.html_sec1
1
<!doctype html>
2
<title>CSS Pseudo Element API IDL tests</title>
3
<meta name="timeout" content="long">
4
<link rel="help" href="https://drafts.csswg.org/css-pseudo-4/#cssom">
5
<script src="/resources/testharness.js"></script>
6
<script src="/resources/testharnessreport.js"></script>
7
<script src="/resources/WebIDLParser.js"></script>
8
<script src="/resources/idlharness.js"></script>
9
<script>
10
'use strict';
11
12
idl_test(
13
  ['css-pseudo'],
14
  ['cssom', 'html', 'dom'],
15
  idl_array => {
16
    idl_array.add_objects({
17
      Window: ['window'],
18
      CSSPseudoElementList: ['beforeElements'],
19
      CSSPseudoElement: ['beforeElements.item(0)'],
20
    });
21
22
    window.beforeElements =
23
      window.getPseudoElements(document.body, 'before');
24
  }
25
);
26
</script>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/marker-animate-expected.txt +5 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/marker-animate-expected.txt_sec1
1
2
FAIL 'color' animation assert_equals: color expected "rgb(100, 50, 150)" but got "rgb(0, 0, 0)"
3
PASS 'opacity' animation 
4
FAIL 'color' + 'opacity' animation assert_equals: color expected "rgb(100, 50, 150)" but got "rgb(0, 0, 0)"
5
list item
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/marker-animate.html +59 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/marker-animate.html_sec1
1
<!DOCTYPE html>
2
<meta charset="utf-8">
3
<title>CSS Pseudo-Elements Test: Reverted styles for ::marker</title>
4
<link rel="help" href="https://drafts.csswg.org/css-pseudo-4/#marker-pseudo">
5
<link rel="help" href="https://drafts.csswg.org/web-animations-1/">
6
<link rel="author" title="Oriol Brufau" href="mailto:obrufau@igalia.com">
7
<meta name="assert" content="This test checks that ::marker can be animated with Web Animations, but only the supported properties." />
8
<div id="log"></div>
9
<ul>
10
  <li id="target">list item</li>
11
</ul>
12
<script src="/resources/testharness.js"></script>
13
<script src="/resources/testharnessreport.js"></script>
14
<script>
15
const target = document.getElementById("target");
16
const cs = getComputedStyle(target, "::marker");
17
const options = {
18
  pseudoElement: "::marker",
19
  duration: 2,
20
  delay: -1,
21
};
22
23
// 'color' applies to ::marker so it should be animatable
24
test(function() {
25
  const anim = target.animate([
26
    {color: "rgb(0, 100, 200)"},
27
    {color: "rgb(200, 0, 100)"},
28
  ], options);
29
  this.add_cleanup(() => anim.cancel());
30
  assert_equals(cs.color, "rgb(100, 50, 150)", "color");
31
}, "'color' animation");
32
33
// 'opacity' doesn't apply to ::marker so it shouldn't be animatable
34
test(function() {
35
  const anim = target.animate([
36
    {opacity: .2},
37
    {opacity: .8},
38
  ], options);
39
  this.add_cleanup(() => anim.cancel());
40
  assert_equals(cs.opacity, "1", "opacity");
41
}, "'opacity' animation");
42
43
// When both 'color' and 'opacity' are specified, only the former should be animated.
44
test(function() {
45
  const anim = target.animate([
46
    {
47
      color: "rgb(0, 100, 200)",
48
      opacity: .2,
49
    },
50
    {
51
      color: "rgb(200, 0, 100)",
52
      opacity: .8,
53
    },
54
  ], options);
55
  this.add_cleanup(() => anim.cancel());
56
  assert_equals(cs.color, "rgb(100, 50, 150)", "color");
57
  assert_equals(cs.opacity, "1", "opacity");
58
}, "'color' + 'opacity' animation");
59
</script>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/marker-color-expected.html -1 / +1 lines
Lines 14-20 li { a/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/marker-color-expected.html_sec1
14
</head>
14
</head>
15
<body>
15
<body>
16
<ol>
16
<ol>
17
    <li><!--  The list marker should be a green square. --></li>
17
    <li><!-- The list marker should be a green square.--></li>
18
</ol>
18
</ol>
19
</body>
19
</body>
20
</html>
20
</html>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/marker-color.html -1 / +1 lines
Lines 21-27 li::marker { a/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/marker-color.html_sec1
21
</head>
21
</head>
22
<body>
22
<body>
23
<ol>
23
<ol>
24
    <li><!--  The list marker should be a green square. --></li>
24
    <li><!-- The list marker should be a green square.--></li>
25
</ol>
25
</ol>
26
</body>
26
</body>
27
</html>
27
</html>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/marker-computed-content-expected.txt +21 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/marker-computed-content-expected.txt_sec1
1
2
FAIL Computed 'content' for list-item ::marker, variant default assert_equals: expected "normal" but got ""
3
FAIL Computed 'content' for list-item ::marker, variant normal assert_equals: expected "normal" but got ""
4
FAIL Computed 'content' for list-item ::marker, variant string assert_equals: expected "\"string\"" but got ""
5
FAIL Computed 'content' for list-item ::marker, variant image assert_equals: expected "url(\"about:invalid\")" but got ""
6
FAIL Computed 'content' for list-item ::marker, variant none assert_equals: expected "none" but got ""
7
FAIL Computed 'content' for non-list-item ::marker, variant default assert_equals: expected "normal" but got ""
8
FAIL Computed 'content' for non-list-item ::marker, variant normal assert_equals: expected "normal" but got ""
9
FAIL Computed 'content' for non-list-item ::marker, variant string assert_equals: expected "\"string\"" but got ""
10
FAIL Computed 'content' for non-list-item ::marker, variant image assert_equals: expected "url(\"about:invalid\")" but got ""
11
FAIL Computed 'content' for non-list-item ::marker, variant none assert_equals: expected "none" but got ""
12
item
13
item
14
item
15
item
16
item
17
item
18
item
19
item
20
item
21
item
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/marker-computed-content.html +64 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/marker-computed-content.html_sec1
1
<!DOCTYPE html>
2
<meta charset="utf-8">
3
<title>CSS Pseudo-Elements Test: Computed size of ::marker</title>
4
<link rel="help" href="https://drafts.csswg.org/css-pseudo-4/#marker-pseudo">
5
<link rel="help" href="https://drafts.csswg.org/css-content/#content-property">
6
<link rel="author" title="Oriol Brufau" href="mailto:obrufau@igalia.com">
7
<meta name="assert" content="This test checks that 'content' resolves correctly in ::marker." />
8
<link rel="stylesheet" type="text/css" href="/fonts/ahem.css" />
9
<style>
10
.no-list > li {
11
  display: block;
12
}
13
.normal::marker {
14
  content: normal;
15
}
16
.string::marker {
17
  content: "string";
18
}
19
.image::marker {
20
  content: url("about:invalid");
21
}
22
.none::marker {
23
  content: none;
24
}
25
</style>
26
<div id="log"></div>
27
<ol class="list">
28
  <li class="default">item</li>
29
  <li class="normal">item</li>
30
  <li class="string">item</li>
31
  <li class="image">item</li>
32
  <li class="none">item</li>
33
</ol>
34
<ol class="no-list">
35
  <li class="default">item</li>
36
  <li class="normal">item</li>
37
  <li class="string">item</li>
38
  <li class="image">item</li>
39
  <li class="none">item</li>
40
</ol>
41
<script src="/resources/testharness.js"></script>
42
<script src="/resources/testharnessreport.js"></script>
43
<script>
44
const expectations = {
45
  default: 'normal',
46
  normal: 'normal',
47
  string: '"string"',
48
  image: 'url("about:invalid")',
49
  none: 'none',
50
};
51
for (const target of document.querySelectorAll('.list > li')) {
52
  const {content} = getComputedStyle(target, '::marker');
53
  test(() => {
54
    debugger;
55
    assert_equals(content, expectations[target.className]);
56
  }, `Computed 'content' for list-item ::marker, variant ${target.className}`);
57
}
58
for (const target of document.querySelectorAll('.no-list > li')) {
59
  const {content} = getComputedStyle(target, '::marker');
60
  test(() => {
61
    assert_equals(content, expectations[target.className]);
62
  }, `Computed 'content' for non-list-item ::marker, variant ${target.className}`);
63
}
64
</script>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/marker-computed-size-expected.txt +10 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/marker-computed-size-expected.txt_sec1
1
2
FAIL Decimal ::marker assert_equals: width expected "30px" but got "auto"
3
FAIL Decimal ::marker with custom value assert_equals: width expected "40px" but got "auto"
4
FAIL String ::marker assert_equals: width expected "20px" but got "auto"
5
PASS ::marker with no box due to 'list-style' 
6
FAIL ::marker with custom string contents assert_equals: width expected "60px" but got "auto"
7
FAIL ::marker with custom image contents assert_equals: width expected "100px" but got "auto"
8
FAIL ::marker with custom string and image contents assert_equals: width expected "130px" but got "auto"
9
PASS ::marker with no box due to 'content' 
10
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/marker-computed-size.html +83 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/marker-computed-size.html_sec1
1
<!DOCTYPE html>
2
<meta charset="utf-8">
3
<title>CSS Pseudo-Elements Test: Computed size of ::marker</title>
4
<link rel="help" href="https://drafts.csswg.org/css-pseudo-4/#marker-pseudo">
5
<link rel="help" href="https://drafts.csswg.org/css-lists/#content-property">
6
<link rel="author" title="Oriol Brufau" href="mailto:obrufau@igalia.com">
7
<meta name="assert" content="This test checks that getComputedStyle exposes the resolved sizes of a ::marker." />
8
<link rel="stylesheet" type="text/css" href="/fonts/ahem.css" />
9
<style>
10
:root {
11
  --image: url('/images/green-100x50.png');
12
}
13
:root::after {
14
  /* Preload image */
15
  content: var(--image);
16
}
17
#target {
18
  font: 10px/1 Ahem;
19
  --content: normal;
20
}
21
#target::marker {
22
  content: var(--content);
23
}
24
</style>
25
<div id="log"></div>
26
<ul>
27
  <li id="target"></li>
28
</ul>
29
<script src="/resources/testharness.js"></script>
30
<script src="/resources/testharnessreport.js"></script>
31
<script>
32
const target = document.getElementById("target");
33
function checkMarkerSize(expectedWidth, expectedHeight) {
34
  const {width, height} = getComputedStyle(target, "::marker");
35
  assert_equals(width, expectedWidth, "width");
36
  assert_equals(height, expectedHeight, "height");
37
}
38
setup({explicit_done: true});
39
addEventListener("load", () => {
40
  test(() => {
41
    // Marker string: "1. "
42
    target.style.listStyleType = "decimal";
43
    checkMarkerSize("30px", "10px");
44
  }, "Decimal ::marker");
45
  test(() => {
46
    // Marker string: "10. "
47
    target.setAttribute("value", "10");
48
    checkMarkerSize("40px", "10px");
49
  }, "Decimal ::marker with custom value");
50
  test(() => {
51
    // Marker string: "st"
52
    target.style.listStyleType = "'st'";
53
    checkMarkerSize("20px", "10px");
54
  }, "String ::marker");
55
  test(() => {
56
    // No marker box
57
    target.style.listStyleType = "none";
58
    checkMarkerSize("auto", "auto");
59
  }, "::marker with no box due to 'list-style'");
60
  test(() => {
61
    // Marker contents: "foo", "bar"
62
    target.style.setProperty("--content", "'foo' 'bar'");
63
    checkMarkerSize("60px", "10px");
64
  }, "::marker with custom string contents");
65
  test(() => {
66
    // Marker contents: 100x50 image (+2px due to baseline alignment)
67
    target.style.setProperty("--content", "var(--image)");
68
    checkMarkerSize("100px", "52px");
69
  }, "::marker with custom image contents");
70
  test(() => {
71
    // Marker contents: "foo", 100x50 image (+2px due to baseline alignment)
72
    target.style.setProperty("--content", "'foo' var(--image)");
73
    checkMarkerSize("130px", "52px");
74
  }, "::marker with custom string and image contents");
75
  test(() => {
76
    // No marker box
77
    target.style.listStyleType = "";
78
    target.style.setProperty("--content", "none");
79
    checkMarkerSize("auto", "auto");
80
  }, "::marker with no box due to 'content'");
81
  done();
82
}, {once: true});
83
</script>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/marker-content-001-expected.html +14 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/marker-content-001-expected.html_sec1
1
<!DOCTYPE html>
2
<html>
3
<head>
4
<meta charset="utf-8">
5
<title>CSS Reference: ::marker pseudo elements styled with 'content' property</title>
6
<link rel="author" title="Mats Palmgren" href="mailto:mats@mozilla.com">
7
<style>
8
span { font-size: 32pt; }
9
</style>
10
</head>
11
<body>
12
<ol><li></li><li>B</li><li><span>C</span></li></ol>
13
</body>
14
</html>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/marker-content-001.html +25 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/marker-content-001.html_sec1
1
<!DOCTYPE html>
2
<html>
3
<head>
4
<meta charset="utf-8">
5
<title>CSS Test: ::marker pseudo elements styled with 'content' property</title>
6
<link rel="author" title="Mats Palmgren" href="mailto:mats@mozilla.com">
7
<link rel="match" href="marker-content-001-ref.html">
8
<link rel="help" href="https://drafts.csswg.org/css-pseudo-4/#marker-pseudo">
9
<style>
10
li::marker {
11
  content: "1.\00a0";
12
}
13
li:nth-of-type(2)::marker {
14
  content: "2.\00a0";
15
}
16
li:nth-child(3)::marker {
17
  content: "3.\00a0";
18
}
19
span { font-size: 32pt; }
20
</style>
21
</head>
22
<body>
23
<ol><li></li><li>B</li><li><span>C</span></li></ol>
24
</body>
25
</html>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/marker-content-001b-expected.html +14 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/marker-content-001b-expected.html_sec1
1
<!DOCTYPE html>
2
<html>
3
<head>
4
<meta charset="utf-8">
5
<title>CSS Reference: ::marker pseudo elements styled with 'content' property</title>
6
<link rel="author" title="Mats Palmgren" href="mailto:mats@mozilla.com">
7
<style>
8
span { font-size: 32pt; }
9
</style>
10
</head>
11
<body>
12
<ol><li></li><li>B</li><li><span>C</span></li></ol>
13
</body>
14
</html>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/marker-content-001b.html +26 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/marker-content-001b.html_sec1
1
<!DOCTYPE html>
2
<html>
3
<head>
4
<meta charset="utf-8">
5
<title>CSS Test: ::marker pseudo elements styled with 'content' property</title>
6
<link rel="author" title="Mats Palmgren" href="mailto:mats@mozilla.com">
7
<link rel="match" href="marker-content-001-ref.html">
8
<link rel="help" href="https://drafts.csswg.org/css-pseudo-4/#marker-pseudo">
9
<style>
10
li::marker {
11
  content: "1.\00a0";
12
  display: block;
13
}
14
li:nth-of-type(2)::marker {
15
  content: "2.\00a0";
16
}
17
li:nth-child(3)::marker {
18
  content: "3.\00a0";
19
}
20
span { font-size: 32pt; }
21
</style>
22
</head>
23
<body>
24
<ol><li></li><li>B</li><li><span>C</span></li></ol>
25
</body>
26
</html>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/marker-content-001c-expected.html +14 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/marker-content-001c-expected.html_sec1
1
<!DOCTYPE html>
2
<html>
3
<head>
4
<meta charset="utf-8">
5
<title>CSS Reference: ::marker pseudo elements styled with 'content' property</title>
6
<link rel="author" title="Mats Palmgren" href="mailto:mats@mozilla.com">
7
<style>
8
span { font-size: 32pt; }
9
</style>
10
</head>
11
<body>
12
<ol><li></li><li>B</li><li><span>C</span></li></ol>
13
</body>
14
</html>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/marker-content-001c.html +27 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/marker-content-001c.html_sec1
1
<!DOCTYPE html>
2
<html>
3
<head>
4
<meta charset="utf-8">
5
<title>CSS Test: ::marker pseudo elements styled with 'content' property</title>
6
<link rel="author" title="Mats Palmgren" href="mailto:mats@mozilla.com">
7
<link rel="match" href="marker-content-001-ref.html">
8
<link rel="help" href="https://drafts.csswg.org/css-pseudo-4/#marker-pseudo">
9
<style>
10
li::marker {
11
  content: "1.\00a0";
12
  display: block;
13
  margin: 0 auto 0 auto;
14
}
15
li:nth-of-type(2)::marker {
16
  content: "2.\00a0";
17
}
18
li:nth-child(3)::marker {
19
  content: "3.\00a0";
20
}
21
span { font-size: 32pt; }
22
</style>
23
</head>
24
<body>
25
<ol><li></li><li>B</li><li><span>C</span></li></ol>
26
</body>
27
</html>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/marker-content-002-expected.html +14 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/marker-content-002-expected.html_sec1
1
<!DOCTYPE html>
2
<html>
3
<head>
4
<meta charset="utf-8">
5
<title>CSS Reference: ::marker pseudo elements styled with 'content' property</title>
6
<link rel="author" title="Mats Palmgren" href="mailto:mats@mozilla.com">
7
<style>
8
span { font-size: 32pt; }
9
</style>
10
</head>
11
<body>
12
<ol><li style="list-style-type:'a1b'"></li><li style="list-style-type:'a2b'">B</li><li style="list-style-type:'a3b'"><span>C</span></li></ol>
13
</body>
14
</html>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/marker-content-002.html +19 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/marker-content-002.html_sec1
1
<!DOCTYPE html>
2
<html>
3
<head>
4
<meta charset="utf-8">
5
<title>CSS Test: ::marker pseudo elements styled with 'content' property</title>
6
<link rel="author" title="Mats Palmgren" href="mailto:mats@mozilla.com">
7
<link rel="match" href="marker-content-002-ref.html">
8
<link rel="help" href="https://drafts.csswg.org/css-pseudo-4/#marker-pseudo">
9
<style>
10
li::marker {
11
  content: "a" counters(list-item, ".") "b";
12
}
13
span { font-size: 32pt; }
14
</style>
15
</head>
16
<body>
17
<ol><li></li><li>B</li><li><span>C</span></li></ol>
18
</body>
19
</html>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/marker-content-003-expected.html +21 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/marker-content-003-expected.html_sec1
1
<!DOCTYPE html>
2
<html>
3
<head>
4
<meta charset="utf-8">
5
<title>CSS Reference: ::marker pseudo elements styled with 'content' property and display:grid</title>
6
<link rel="author" title="Mats Palmgren" href="mailto:mats@mozilla.com">
7
<style>
8
li {
9
  list-style-type: 'X';
10
  background: grey;
11
}
12
li::marker {
13
  padding-right: 10px;
14
}
15
span { font-size: 32pt; }
16
</style>
17
</head>
18
<body>
19
<ol><li></li><li>B</li><li><span>C</span></li></ol>
20
</body>
21
</html>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/marker-content-003.html +22 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/marker-content-003.html_sec1
1
<!DOCTYPE html>
2
<html>
3
<head>
4
<meta charset="utf-8">
5
<title>CSS Test: ::marker pseudo elements styled with 'content' property and display:grid</title>
6
<link rel="author" title="Mats Palmgren" href="mailto:mats@mozilla.com">
7
<link rel="match" href="marker-content-003-ref.html">
8
<link rel="help" href="https://drafts.csswg.org/css-pseudo-4/#marker-pseudo">
9
<style>
10
li::marker {
11
  content: "X";
12
  display: grid;
13
  grid-template-columns: auto 10px;
14
}
15
li { background: grey; }
16
span { font-size: 32pt; }
17
</style>
18
</head>
19
<body>
20
<ol><li></li><li>B</li><li><span>C</span></li></ol>
21
</body>
22
</html>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/marker-content-003b-expected.html +21 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/marker-content-003b-expected.html_sec1
1
<!DOCTYPE html>
2
<html>
3
<head>
4
<meta charset="utf-8">
5
<title>CSS Reference: ::marker pseudo elements styled with 'content' property and display:grid</title>
6
<link rel="author" title="Mats Palmgren" href="mailto:mats@mozilla.com">
7
<style>
8
li {
9
  list-style-type: 'X';
10
  background: grey;
11
}
12
li::marker {
13
  padding-right: 10px;
14
}
15
span { font-size: 32pt; }
16
</style>
17
</head>
18
<body>
19
<ol><li></li><li>B</li><li><span>C</span></li></ol>
20
</body>
21
</html>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/marker-content-003b.html +22 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/marker-content-003b.html_sec1
1
<!DOCTYPE html>
2
<html>
3
<head>
4
<meta charset="utf-8">
5
<title>CSS Test: ::marker pseudo elements styled with 'content' property and display:inline-grid</title>
6
<link rel="author" title="Mats Palmgren" href="mailto:mats@mozilla.com">
7
<link rel="match" href="marker-content-003-ref.html">
8
<link rel="help" href="https://drafts.csswg.org/css-pseudo-4/#marker-pseudo">
9
<style>
10
li::marker {
11
  content: "X";
12
  display: inline-grid;
13
  grid-template-columns: auto 10px;
14
}
15
li { background: grey; }
16
span { font-size: 32pt; }
17
</style>
18
</head>
19
<body>
20
<ol><li></li><li>B</li><li><span>C</span></li></ol>
21
</body>
22
</html>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/marker-content-004-expected.html +26 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/marker-content-004-expected.html_sec1
1
<!DOCTYPE html>
2
<html>
3
<head>
4
<meta charset="utf-8">
5
<title>CSS Reference: ::marker pseudo elements styled with 'content' property and display:flex</title>
6
<link rel="author" title="Mats Palmgren" href="mailto:mats@mozilla.com">
7
<style>
8
body { margin-left: 100px; }
9
li {
10
  list-style-type: 'FAIL';
11
  background: grey;
12
}
13
li::marker {
14
  content: "X";
15
  display: block;
16
  width: 100px;
17
  text-align: start;
18
  background: lime;
19
}
20
span { font-size: 32pt; }
21
</style>
22
</head>
23
<body>
24
<ol><li></li><li>B</li><li><span>C</span></li></ol>
25
</body>
26
</html>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/marker-content-004.html +25 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/marker-content-004.html_sec1
1
<!DOCTYPE html>
2
<html>
3
<head>
4
<meta charset="utf-8">
5
<title>CSS Test: ::marker pseudo elements styled with 'content' property and display:flex</title>
6
<link rel="author" title="Mats Palmgren" href="mailto:mats@mozilla.com">
7
<link rel="match" href="marker-content-004-ref.html">
8
<link rel="help" href="https://drafts.csswg.org/css-pseudo-4/#marker-pseudo">
9
<style>
10
body { margin-left: 100px; }
11
li { background: grey; }
12
li::marker {
13
  content: "X";
14
  display: flex;
15
  width: 100px;
16
  align-content: start;
17
  background: lime;
18
}
19
span { font-size: 32pt; }
20
</style>
21
</head>
22
<body>
23
<ol><li></li><li>B</li><li><span>C</span></li></ol>
24
</body>
25
</html>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/marker-content-005-expected.html +14 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/marker-content-005-expected.html_sec1
1
<!DOCTYPE html>
2
<html>
3
<head>
4
<meta charset="utf-8">
5
<title>CSS Reference: ::marker pseudo elements styled with 'content' property</title>
6
<link rel="author" title="Mats Palmgren" href="mailto:mats@mozilla.com">
7
<style>
8
span { font-size: 32pt; }
9
</style>
10
</head>
11
<body>
12
<ol><li style="list-style-type:'105'"><li style="list-style-type:'210'">B<li style="list-style-type:'315'"><span>C</span></ol>
13
</body>
14
</html>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/marker-content-005.html +22 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/marker-content-005.html_sec1
1
<!DOCTYPE html>
2
<html>
3
<head>
4
<meta charset="utf-8">
5
<title>CSS Test: ::marker pseudo elements styled with 'content' property</title>
6
<link rel="author" title="Mats Palmgren" href="mailto:mats@mozilla.com">
7
<link rel="match" href="marker-content-005-ref.html">
8
<link rel="help" href="https://drafts.csswg.org/css-pseudo-4/#marker-pseudo">
9
<style>
10
li {
11
  counter-increment: foo 5;
12
}
13
li::marker {
14
  content: counters(list-item, ".") counter(foo, decimal-leading-zero);
15
}
16
span { font-size: 32pt; }
17
</style>
18
</head>
19
<body>
20
<ol><li></li><li>B</li><li><span>C</span></li></ol>
21
</body>
22
</html>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/marker-content-006-expected.html +24 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/marker-content-006-expected.html_sec1
1
<!DOCTYPE html>
2
<html>
3
<head>
4
<meta charset="utf-8">
5
<title>CSS Reference: ::marker pseudo elements styled with 'content' property</title>
6
<link rel="author" title="Mats Palmgren" href="mailto:mats@mozilla.com">
7
<style>
8
li {
9
  list-style-position: inside;
10
  list-style-type: none;
11
}
12
li::before {
13
  content: "ab";
14
}
15
li::after {
16
  content: "d";
17
}
18
span { font-size: 32pt; }
19
</style>
20
</head>
21
<body>
22
<ol><li>c</li><li>cB</li><li>c<span>C</span></li></ol>
23
</body>
24
</html>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/marker-content-006.html +28 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/marker-content-006.html_sec1
1
<!DOCTYPE html>
2
<html>
3
<head>
4
<meta charset="utf-8">
5
<title>CSS Test: ::marker pseudo elements styled with 'content' property</title>
6
<link rel="author" title="Mats Palmgren" href="mailto:mats@mozilla.com">
7
<link rel="match" href="marker-content-006-ref.html">
8
<link rel="help" href="https://drafts.csswg.org/css-pseudo-4/#marker-pseudo">
9
<style>
10
li {
11
  list-style-position: inside;
12
}
13
li::marker {
14
  content: "a" "b";
15
}
16
li::before {
17
  content: "c";
18
}
19
li::after {
20
  content: "d";
21
}
22
span { font-size: 32pt; }
23
</style>
24
</head>
25
<body>
26
<ol><li></li><li>B</li><li><span>C</span></li></ol>
27
</body>
28
</html>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/marker-content-007.tentative-expected.html +28 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/marker-content-007.tentative-expected.html_sec1
1
<!DOCTYPE html>
2
<html>
3
<head>
4
<meta charset="utf-8">
5
<title>CSS Reference: ::marker pseudo elements styled with 'content' property and display:inline-grid</title>
6
<link rel="author" title="Mats Palmgren" href="mailto:mats@mozilla.com">
7
<style>
8
li {
9
  list-style-position: inside;
10
  list-style-type: none;
11
}
12
li::before {
13
  content: "ab";
14
  display: inline-block;
15
  width: 50px;
16
  text-align: right;
17
  padding-right: 60px;
18
}
19
li::after {
20
  content: "d";
21
}
22
span { font-size: 32pt; }
23
</style>
24
</head>
25
<body>
26
<ol><li>c</li><li>cB</li><li>c<span>C</span></li></ol>
27
</body>
28
</html>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/marker-content-007.tentative.html +30 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/marker-content-007.tentative.html_sec1
1
<!DOCTYPE html>
2
<html>
3
<head>
4
<meta charset="utf-8">
5
<title>CSS Test: ::marker pseudo elements styled with 'content' property and display:inline-grid</title>
6
<link rel="author" title="Mats Palmgren" href="mailto:mats@mozilla.com">
7
<link rel="match" href="marker-content-007-ref.html">
8
<link rel="help" href="https://drafts.csswg.org/css-pseudo-4/#marker-pseudo">
9
<style>
10
li {
11
  list-style-position: inside;
12
}
13
li::marker {
14
  content: "a" "b";
15
  display: inline-grid;
16
  grid-template-columns: 50px 60px;
17
}
18
li::before {
19
  content: "c";
20
}
21
li::after {
22
  content: "d";
23
}
24
span { font-size: 32pt; }
25
</style>
26
</head>
27
<body>
28
<ol><li></li><li>B</li><li><span>C</span></li></ol>
29
</body>
30
</html>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/marker-content-008.tentative-expected.html +21 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/marker-content-008.tentative-expected.html_sec1
1
<!DOCTYPE html>
2
<html>
3
<head>
4
<meta charset="utf-8">
5
<title>CSS Reference: ::marker pseudo elements styled with 'content' property</title>
6
<link rel="author" title="Mats Palmgren" href="mailto:mats@mozilla.com">
7
<style>
8
li { list-style-type: "ab"; }
9
#t1 > li { list-style-type: "ab"; }
10
#t2 > li { list-style-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAMCAIAAAD3UuoiAAAAGklEQVQoz2Nk%2BP%2BfgRqAiYFKYNSgUYOGp0EA%2BQMCFrJdTgsAAAAASUVORK5CYII%3D); }
11
li::after {
12
  content: "d";
13
}
14
span { font-size: 32pt; }
15
</style>
16
</head>
17
<body>
18
<ol id="t1"><li>c</li><li>cB</li><li>c<span>C</span></li></ol>
19
<ol id="t2"><li>c</li><li>cB</li><li>c<span>C</span></li></ol>
20
</body>
21
</html>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/marker-content-008.tentative.html +28 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/marker-content-008.tentative.html_sec1
1
<!DOCTYPE html>
2
<html>
3
<head>
4
<meta charset="utf-8">
5
<title>CSS Test: ::marker pseudo elements styled with 'content' property</title>
6
<link rel="author" title="Mats Palmgren" href="mailto:mats@mozilla.com">
7
<link rel="match" href="marker-content-008-ref.html">
8
<link rel="help" href="https://drafts.csswg.org/css-pseudo-4/#marker-pseudo">
9
<style>
10
li {
11
  list-style-position: outside;
12
}
13
#t1 > li::marker { content: "a" "b"; }
14
#t2 > li::marker { content: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAMCAIAAAD3UuoiAAAAGklEQVQoz2Nk%2BP%2BfgRqAiYFKYNSgUYOGp0EA%2BQMCFrJdTgsAAAAASUVORK5CYII%3D); padding-inline-end: calc(1em / 2); }
15
li::before {
16
  content: "c";
17
}
18
li::after {
19
  content: "d";
20
}
21
span { font-size: 32pt; }
22
</style>
23
</head>
24
<body>
25
<ol id="t1"><li></li><li>B</li><li><span>C</span></li></ol>
26
<ol id="t2"><li></li><li>B</li><li><span>C</span></li></ol>
27
</body>
28
</html>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/marker-content-009.tentative-expected.html +36 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/marker-content-009.tentative-expected.html_sec1
1
<!DOCTYPE html>
2
<html><head>
3
<meta charset="utf-8">
4
<title>CSS Reference: ::marker pseudo elements styled with 'content' property</title>
5
<link rel="author" title="Mats Palmgren" href="mailto:mats@mozilla.com">
6
<style>
7
html,body {
8
  color:black; background-color:white; font:16px/1 monospace; padding:0; margin:0;
9
}
10
body { margin-left: 40px; }
11
.h m { display:inline-block; width:0; line-height:0; height:0; position:relative; left: -2ch; }
12
.v m { writing-mode: vertical-lr; width:0; position:relative; left: -1em; height:0; text-indent:-2ch; }
13
.lr { writing-mode: vertical-lr; }
14
.big { font-size:xx-large; }
15
.big-marker m { font-size:xx-large; }
16
li { display: block; }
17
</style>
18
</head><body>
19
<ol class="h">
20
  <li><div class="big"><m style="font-size:initial">AB</m>C<br>D</div></li>
21
  <li><div></div><div class="big"><m style="font-size:initial">AB</m>C<br>D</div>
22
  </li>
23
</ol>
24
<ol class="big-marker h">
25
  <li><div><m>AB</m>C<br>D</div></li>
26
  <li><div></div><div><m>AB</m>C<br>D</div></li>
27
</ol>
28
<ol class="v">
29
  <li><div><m>AB</m>C<br>D</div></li>
30
  <li><div></div><div><m>AB</m>C<br>D</div></li>
31
  <li><div class="big"><m style="font-size:initial">AB</m>C<br>D</div></li>
32
</ol>
33
<ol class="v big-marker">
34
  <li><div><m>AB</m>C<br>D</div></li>
35
</ol>
36
</body></html>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/marker-content-009.tentative.html +38 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/marker-content-009.tentative.html_sec1
1
<!DOCTYPE html>
2
<html><head>
3
<meta charset="utf-8">
4
<title>CSS Test: ::marker pseudo elements styled with 'content' property</title>
5
<link rel="author" title="Mats Palmgren" href="mailto:mats@mozilla.com">
6
<link rel="match" href="marker-content-009-ref.html">
7
<link rel="help" href="https://drafts.csswg.org/css-pseudo-4/#marker-pseudo">
8
<style>
9
html,body {
10
  color:black; background-color:white; font:16px/1 monospace; padding:0; margin:0;
11
}
12
body { margin-left: 40px; }
13
li::marker { content: 'AB'; }
14
.v > li::marker { writing-mode: vertical-lr; }
15
.lr { writing-mode: vertical-lr; }
16
.big { font-size:xx-large; }
17
.big-marker > li::marker { font-size:xx-large; }
18
f { float: left; margin-right: 20px; }
19
</style>
20
</head><body>
21
<ol>
22
  <li><div class="big">C<br>D</div></li>
23
  <li><div></div><div class="big">C<br>D</div>
24
  </li>
25
</ol>
26
<ol class="big-marker">
27
  <li><div>C<br>D</div></li>
28
  <li><div></div><div>C<br>D</div></li>
29
</ol>
30
<ol class=v>
31
  <li><div>C<br>D</div></li>
32
  <li><div></div><div>C<br>D</div></li>
33
  <li><div class="big">C<br>D</div></li>
34
</ol>
35
<ol class="v big-marker">
36
  <li><div>C<br>D</div></li>
37
</ol>
38
</body></html>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/marker-content-010-expected.html +26 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/marker-content-010-expected.html_sec1
1
<!DOCTYPE html>
2
<html><head>
3
<meta charset="utf-8">
4
<title>CSS Reference: ::marker pseudo elements styled with 'content' property</title>
5
<link rel="author" title="Mats Palmgren" href="mailto:mats@mozilla.com">
6
<style>
7
html,body {
8
  color:black; background-color:white; font:16px/1 monospace; padding:0; margin:0;
9
}
10
body { margin-left: 40px; }
11
.h m { display:inline-block; width:0; height:0; position:relative; left: -3ch; font-size: 16px; line-height:0; }
12
.big { font-size:xx-large; }
13
.big-marker m { font-size:xx-large; }
14
li { display: block; }
15
</style>
16
</head><body>
17
<ol class="h">
18
  <li><div class="big"><m>1.</m>C<br>D</div></li>
19
  <li><div></div><div class="big"><m>2.</m>C<br>D</div>
20
  </li>
21
</ol>
22
<ol class="big-marker h">
23
  <li><div><m>1.</m>C<br>D</div></li>
24
  <li><div></div><div><m>2.</m>C<br>D</div></li>
25
</ol>
26
</body></html>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/marker-content-010.html +30 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/marker-content-010.html_sec1
1
<!DOCTYPE html>
2
<html><head>
3
<meta charset="utf-8">
4
<title>CSS Test: ::marker pseudo elements styled with 'content' property</title>
5
<link rel="author" title="Mats Palmgren" href="mailto:mats@mozilla.com">
6
<!-- Outside markers may affect the height of the first line of the list item.
7
     In the 1st reference the line height isn't affected, in the 2nd one it is.
8
     Both are valid behaviors, the test passes if one of them matches -->
9
<link rel="match" href="marker-content-010-ref-001.html">
10
<link rel="match" href="marker-content-010-ref-002.html">
11
<link rel="help" href="https://drafts.csswg.org/css-pseudo-4/#marker-pseudo">
12
<style>
13
html,body {
14
  color:black; background-color:white; font:16px/1 monospace; padding:0; margin:0;
15
}
16
body { margin-left: 40px; }
17
.big { font-size:xx-large; }
18
.big-marker > li::marker { font-size:xx-large; }
19
</style>
20
</head><body>
21
<ol>
22
  <li><div class="big">C<br>D</div></li>
23
  <li><div></div><div class="big">C<br>D</div>
24
  </li>
25
</ol>
26
<ol class="big-marker">
27
  <li><div>C<br>D</div></li>
28
  <li><div></div><div>C<br>D</div></li>
29
</ol>
30
</body></html>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/marker-content-011.tentative-expected.html +36 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/marker-content-011.tentative-expected.html_sec1
1
<!DOCTYPE html>
2
<html><head>
3
<meta charset="utf-8">
4
<title>CSS Reference: ::marker pseudo elements styled with 'content' property</title>
5
<link rel="author" title="Mats Palmgren" href="mailto:mats@mozilla.com">
6
<style>
7
html,body {
8
  color:black; background-color:white; font:16px/1 monospace; padding:0; margin:0;
9
}
10
body { margin-left: 40px; }
11
.h m { display:inline-block; width:0; line-height:0; height:0; position:relative; left: -3ch; }
12
.v m { writing-mode: vertical-lr; width:0; position:relative; left: -2em; height:0; text-indent:-3ch; }
13
.lr { writing-mode: vertical-lr; }
14
.big { font-size:xx-large; }
15
.big-marker m { font-size:xx-large; }
16
li { display: block; }
17
</style>
18
</head><body>
19
<ol class="h">
20
  <li><div class="big"><m style="font-size:initial">AB</m>C<br>D</div></li>
21
  <li><div></div><div class="big"><m style="font-size:initial">AB</m>C<br>D</div>
22
  </li>
23
</ol>
24
<ol class="big-marker h">
25
  <li><div><m>AB</m>C<br>D</div></li>
26
  <li><div></div><div><m>AB</m>C<br>D</div></li>
27
</ol>
28
<ol class="v">
29
  <li><div><m>AB</m>C<br>D</div></li>
30
  <li><div></div><div><m>AB</m>C<br>D</div></li>
31
  <li><div class="big"><m style="font-size:initial">AB</m>C<br>D</div></li>
32
</ol>
33
<ol class="v big-marker">
34
  <li><div><m>AB</m>C<br>D</div></li>
35
</ol>
36
</body></html>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/marker-content-011.tentative.html +38 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/marker-content-011.tentative.html_sec1
1
<!DOCTYPE html>
2
<html><head>
3
<meta charset="utf-8">
4
<title>CSS Test: ::marker pseudo elements styled with 'content' property</title>
5
<link rel="author" title="Mats Palmgren" href="mailto:mats@mozilla.com">
6
<link rel="match" href="marker-content-011-ref.html">
7
<link rel="help" href="https://drafts.csswg.org/css-pseudo-4/#marker-pseudo">
8
<style>
9
html,body {
10
  color:black; background-color:white; font:16px/1 monospace; padding:0; margin:0;
11
}
12
body { margin-left: 40px; }
13
li::marker { content: 'AB'; margin-bottom: 1ch; margin-right: 1ch; }
14
.v > li::marker { writing-mode: vertical-lr; margin-right: 1em; }
15
.lr { writing-mode: vertical-lr; }
16
.big { font-size:xx-large; }
17
.big-marker > li::marker { font-size:xx-large; }
18
f { float: left; margin-right: 20px; }
19
</style>
20
</head><body>
21
<ol>
22
  <li><div class="big">C<br>D</div></li>
23
  <li><div></div><div class="big">C<br>D</div>
24
  </li>
25
</ol>
26
<ol class="big-marker">
27
  <li><div>C<br>D</div></li>
28
  <li><div></div><div>C<br>D</div></li>
29
</ol>
30
<ol class=v>
31
  <li><div>C<br>D</div></li>
32
  <li><div></div><div>C<br>D</div></li>
33
  <li><div class="big">C<br>D</div></li>
34
</ol>
35
<ol class="v big-marker">
36
  <li><div>C<br>D</div></li>
37
</ol>
38
</body></html>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/marker-content-012-expected.html +72 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/marker-content-012-expected.html_sec1
1
<!DOCTYPE html>
2
<html><head>
3
<meta charset="utf-8">
4
<title>CSS Reference: ::marker pseudo elements styled with 'content' property</title>
5
<link rel="author" title="Oriol Brufau" href="mailto:obrufau@igalia.com">
6
<style>
7
:root {
8
  --red-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="32" height="16" style="background: red"></svg>');
9
  --green-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="32" height="16" style="background: green"></svg>');
10
}
11
ul {
12
  float: left;
13
}
14
.inside {
15
  list-style-position: inside;
16
}
17
.text, .image {
18
  list-style-type: none;
19
  list-style-image: none;
20
}
21
.outside.text::before, .outside.image::before {
22
  display: inline-block;
23
  direction: rtl;
24
  width: 0;
25
}
26
.text::before {
27
  content: "text";
28
}
29
.image::before {
30
  content: var(--green-image);
31
}
32
</style>
33
<ul style="list-style-type: none">
34
  <li class="outside normal">item</li>
35
  <li class="outside text">item</li>
36
  <li class="outside image">item</li>
37
  <li class="inside normal">item</li>
38
  <li class="inside text">item</li>
39
  <li class="inside image">item</li>
40
</ul>
41
<ul style="list-style-type: decimal">
42
  <li class="outside normal">item</li>
43
  <li class="outside text">item</li>
44
  <li class="outside image">item</li>
45
  <li class="inside normal">item</li>
46
  <li class="inside text">item</li>
47
  <li class="inside image">item</li>
48
</ul>
49
<ul style="list-style-type: disc">
50
  <li class="outside normal">item</li>
51
  <li class="outside text">item</li>
52
  <li class="outside image">item</li>
53
  <li class="inside normal">item</li>
54
  <li class="inside text">item</li>
55
  <li class="inside image">item</li>
56
</ul>
57
<ul style="list-style-type: 'string'">
58
  <li class="outside normal">item</li>
59
  <li class="outside text">item</li>
60
  <li class="outside image">item</li>
61
  <li class="inside normal">item</li>
62
  <li class="inside text">item</li>
63
  <li class="inside image">item</li>
64
</ul>
65
<ul style="list-style-image: var(--red-image)">
66
  <li class="outside normal">item</li>
67
  <li class="outside text">item</li>
68
  <li class="outside image">item</li>
69
  <li class="inside normal">item</li>
70
  <li class="inside text">item</li>
71
  <li class="inside image">item</li>
72
</ul>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/marker-content-012.html +66 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/marker-content-012.html_sec1
1
<!DOCTYPE html>
2
<meta charset="utf-8">
3
<title>CSS Test: ::marker pseudo elements styled with 'content' property</title>
4
<link rel="author" title="Oriol Brufau" href="mailto:obrufau@igalia.com">
5
<link rel="match" href="marker-content-012-ref.html">
6
<link rel="help" href="https://drafts.csswg.org/css-pseudo-4/#marker-pseudo">
7
<link rel="help" href="https://drafts.csswg.org/css-lists/#content-property">
8
<meta name="assert" content="Checks that ::marker's 'content' takes precendence over 'list-style-type' and 'list-style-image'">
9
<style>
10
:root {
11
  --red-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="32" height="16" style="background: red"></svg>');
12
  --green-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="32" height="16" style="background: green"></svg>');
13
}
14
ul {
15
  float: left;
16
}
17
.inside {
18
  list-style-position: inside;
19
}
20
.text::marker {
21
  content: "text";
22
}
23
.image::marker {
24
  content: var(--green-image);
25
}
26
</style>
27
<ul style="list-style-type: none">
28
  <li class="outside normal">item</li>
29
  <li class="outside text">item</li>
30
  <li class="outside image">item</li>
31
  <li class="inside normal">item</li>
32
  <li class="inside text">item</li>
33
  <li class="inside image">item</li>
34
</ul>
35
<ul style="list-style-type: decimal">
36
  <li class="outside normal">item</li>
37
  <li class="outside text">item</li>
38
  <li class="outside image">item</li>
39
  <li class="inside normal">item</li>
40
  <li class="inside text">item</li>
41
  <li class="inside image">item</li>
42
</ul>
43
<ul style="list-style-type: disc">
44
  <li class="outside normal">item</li>
45
  <li class="outside text">item</li>
46
  <li class="outside image">item</li>
47
  <li class="inside normal">item</li>
48
  <li class="inside text">item</li>
49
  <li class="inside image">item</li>
50
</ul>
51
<ul style="list-style-type: 'string'">
52
  <li class="outside normal">item</li>
53
  <li class="outside text">item</li>
54
  <li class="outside image">item</li>
55
  <li class="inside normal">item</li>
56
  <li class="inside text">item</li>
57
  <li class="inside image">item</li>
58
</ul>
59
<ul style="list-style-image: var(--red-image)">
60
  <li class="outside normal">item</li>
61
  <li class="outside text">item</li>
62
  <li class="outside image">item</li>
63
  <li class="inside normal">item</li>
64
  <li class="inside text">item</li>
65
  <li class="inside image">item</li>
66
</ul>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/marker-content-013-expected.html +38 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/marker-content-013-expected.html_sec1
1
<!DOCTYPE html>
2
<html><head>
3
<meta charset="utf-8">
4
<title>CSS Reference: ::marker pseudo elements styled with 'content' property</title>
5
<link rel="author" title="Oriol Brufau" href="mailto:obrufau@igalia.com">
6
<style>
7
.inside {
8
  list-style-position: inside;
9
}
10
.string {
11
  list-style-type: "string";
12
}
13
.content::marker {
14
  content: "content";
15
}
16
.before, .after {
17
  display: contents;
18
}
19
.before::before, .after::after {
20
  content: "item";
21
  display: list-item;
22
  list-style-type: "nested";
23
}
24
</style>
25
<ol class="outside">
26
  <li class="decimal">item</li>
27
  <li class="string">item</li>
28
  <li class="content">item</li>
29
  <li class="before"></li>
30
  <li class="after"></li>
31
</ol>
32
<ol class="inside">
33
  <li class="decimal">item</li>
34
  <li class="string">item</li>
35
  <li class="content">item</li>
36
  <li class="before"></li>
37
  <li class="after"></li>
38
</ol>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/marker-content-013.html +56 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/marker-content-013.html_sec1
1
<!DOCTYPE html>
2
<html class="reftest-wait">
3
<meta charset="utf-8">
4
<title>CSS Test: ::marker pseudo elements styled with 'content' property</title>
5
<link rel="author" title="Oriol Brufau" href="mailto:obrufau@igalia.com">
6
<link rel="match" href="marker-content-013-ref.html">
7
<link rel="help" href="https://drafts.csswg.org/css-pseudo-4/#marker-pseudo">
8
<link rel="help" href="https://drafts.csswg.org/css-lists/#list-style-position-property">
9
<meta name="assert" content="Checks that ::marker is updated when 'list-style-position' changes dynamically.">
10
<style>
11
.inside {
12
  list-style-position: inside;
13
}
14
.string {
15
  list-style-type: "string";
16
}
17
.content::marker {
18
  content: "content";
19
}
20
.before, .after {
21
  display: contents;
22
}
23
.before::before, .after::after {
24
  content: "item";
25
  display: list-item;
26
  list-style-type: "nested";
27
}
28
</style>
29
<ol class="inside">
30
  <li class="decimal">item</li>
31
  <li class="string">item</li>
32
  <li class="content">item</li>
33
  <li class="before"></li>
34
  <li class="after"></li>
35
</ol>
36
<ol class="outside">
37
  <li class="decimal">item</li>
38
  <li class="string">item</li>
39
  <li class="content">item</li>
40
  <li class="before"></li>
41
  <li class="after"></li>
42
</ol>
43
<script src="/common/reftest-wait.js"></script>
44
<script>
45
"use strict";
46
addEventListener("load", function() {
47
  requestAnimationFrame(() => {
48
    for (const list of document.querySelectorAll("ol")) {
49
      list.classList.toggle("inside");
50
      list.classList.toggle("outside");
51
    }
52
    takeScreenshot();
53
  });
54
}, {once: true});
55
</script>
56
</html>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/marker-content-014-expected.html +57 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/marker-content-014-expected.html_sec1
1
<!DOCTYPE html>
2
<html class="reftest-wait">
3
<meta charset="utf-8">
4
<title>CSS Reference: ::marker pseudo elements styled with 'content' property</title>
5
<link rel="author" title="Oriol Brufau" href="mailto:obrufau@igalia.com">
6
<style>
7
iframe {
8
  width: 600px;
9
  border: none;
10
}
11
</style>
12
<body>
13
<script src="/common/reftest-wait.js"></script>
14
<script>
15
"use strict";
16
const code = `
17
  <!DOCTYPE html>
18
  <style>
19
  ::marker {
20
    font-size: 3vw;
21
  }
22
  ol {
23
    float: left;
24
  }
25
  .inside {
26
    list-style-position: inside;
27
  }
28
  .decimal {
29
    list-style-type: decimal;
30
  }
31
  .string {
32
    list-style-type: "1. ";
33
  }
34
  .marker::marker {
35
    content: "1. ";
36
  }
37
  </style>
38
  <ol>
39
    <li class="decimal">item</li>
40
    <li class="string">item</li>
41
    <li class="marker">item</li>
42
  </ol>
43
  <ol class="inside">
44
    <li class="decimal">item</li>
45
    <li class="string">item</li>
46
    <li class="marker">item</li>
47
  </ol>
48
`;
49
const iframe = document.createElement("iframe");
50
iframe.src = "data:text/html," + encodeURI(code);
51
iframe.addEventListener("load", function() {
52
  takeScreenshot();
53
}, {once: true});
54
document.body.appendChild(iframe);
55
</script>
56
</body>
57
</html>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/marker-content-014.html +67 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/marker-content-014.html_sec1
1
<!DOCTYPE html>
2
<html class="reftest-wait">
3
<meta charset="utf-8">
4
<title>CSS Test: ::marker pseudo elements styled with 'content' property</title>
5
<link rel="author" title="Oriol Brufau" href="mailto:obrufau@igalia.com">
6
<link rel="match" href="marker-content-014-ref.html">
7
<link rel="help" href="https://drafts.csswg.org/css-pseudo-4/#marker-pseudo">
8
<link rel="help" href="https://drafts.csswg.org/css-values/#viewport-relative-lengths">
9
<meta name="assert" content="Checks that viewport units in ::marker are recalculated when viewport size changes.">
10
<style>
11
iframe {
12
  width: 300px;
13
  border: none;
14
}
15
iframe.big {
16
  width: 600px;
17
}
18
</style>
19
<body>
20
<script src="/common/reftest-wait.js"></script>
21
<script>
22
"use strict";
23
const code = `
24
  <!DOCTYPE html>
25
  <style>
26
  ::marker {
27
    font-size: 3vw;
28
  }
29
  ol {
30
    float: left;
31
  }
32
  .inside {
33
    list-style-position: inside;
34
  }
35
  .decimal {
36
    list-style-type: decimal;
37
  }
38
  .string {
39
    list-style-type: "1. ";
40
  }
41
  .marker::marker {
42
    content: "1. ";
43
  }
44
  </style>
45
  <ol>
46
    <li class="decimal">item</li>
47
    <li class="string">item</li>
48
    <li class="marker">item</li>
49
  </ol>
50
  <ol class="inside">
51
    <li class="decimal">item</li>
52
    <li class="string">item</li>
53
    <li class="marker">item</li>
54
  </ol>
55
`;
56
const iframe = document.createElement("iframe");
57
iframe.src = "data:text/html," + encodeURI(code);
58
iframe.addEventListener("load", function() {
59
  requestAnimationFrame(() => {
60
    iframe.classList.add("big");
61
    takeScreenshot();
62
  });
63
}, {once: true});
64
document.body.appendChild(iframe);
65
</script>
66
</body>
67
</html>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/marker-content-015-expected.html +26 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/marker-content-015-expected.html_sec1
1
<!DOCTYPE html>
2
<meta charset="utf-8">
3
<title>CSS Reference: ::marker pseudo elements styled with 'content' property</title>
4
<link rel="author" title="Oriol Brufau" href="mailto:obrufau@igalia.com">
5
<style>
6
li {
7
  margin-left: 100px;
8
}
9
.outside {
10
  list-style-position: outside;
11
}
12
.inside {
13
  list-style-position: inside;
14
}
15
.decimal {
16
  list-style-type: decimal;
17
}
18
.string {
19
  list-style-type: "[marker]";
20
}
21
</style>
22
<!-- Note: Chromium and WebKit force all these markers to be inside -->
23
<li class="outside decimal">outside</li>
24
<li class="outside string">outside</li>
25
<li class="inside decimal">inside</li>
26
<li class="inside string">inside</li>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/marker-content-015.html +29 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/marker-content-015.html_sec1
1
<!DOCTYPE html>
2
<meta charset="utf-8">
3
<title>CSS Test: ::marker pseudo elements styled with 'content' property</title>
4
<link rel="author" title="Oriol Brufau" href="mailto:obrufau@igalia.com">
5
<link rel="match" href="marker-content-015-ref.html">
6
<link rel="help" href="https://drafts.csswg.org/css-pseudo-4/#marker-pseudo">
7
<meta name="assert" content="Checks that the position of a ::marker originated by a <li> which is not in a list is not affected by the 'content' property.">
8
<style>
9
li {
10
  margin-left: 100px;
11
}
12
.outside {
13
  list-style-position: outside;
14
}
15
.inside {
16
  list-style-position: inside;
17
}
18
.decimal {
19
  list-style-type: decimal;
20
}
21
.marker::marker {
22
  content: "[marker]";
23
}
24
</style>
25
<!-- Note: Chromium and WebKit force all these markers to be inside -->
26
<li class="outside decimal">outside</li>
27
<li class="outside marker">outside</li>
28
<li class="inside decimal">inside</li>
29
<li class="inside marker">inside</li>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/marker-content-016-expected.html +18 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/marker-content-016-expected.html_sec1
1
<!DOCTYPE html>
2
<meta charset="utf-8">
3
<title>CSS Reference: ::marker pseudo elements styled with 'content' property</title>
4
<link rel="author" title="Oriol Brufau" href="mailto:obrufau@igalia.com">
5
<style>
6
ol {
7
  list-style-type: "[marker]";
8
  text-decoration: underline;
9
  padding-left: 100px;
10
}
11
.inside {
12
  list-style-position: inside;
13
}
14
</style>
15
<ol>
16
  <li class="outside">outside</li>
17
  <li class="inside">inside</li>
18
</ol>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/marker-content-016.html +24 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/marker-content-016.html_sec1
1
<!DOCTYPE html>
2
<meta charset="utf-8">
3
<title>CSS Test: ::marker pseudo elements styled with 'content' property</title>
4
<link rel="author" title="Oriol Brufau" href="mailto:obrufau@igalia.com">
5
<link rel="match" href="marker-content-016-ref.html">
6
<link rel="help" href="https://drafts.csswg.org/css-pseudo-4/#marker-pseudo">
7
<link rel="help" href="https://drafts.csswg.org/css-text-decor-4/#line-decoration">
8
<meta name="assert" content="Checks that the 'content' property of a ::marker doesn't affect the propagation of text decorations.">
9
<style>
10
::marker {
11
  content: "[marker]";
12
}
13
ol {
14
  text-decoration: underline;
15
  padding-left: 100px;
16
}
17
.inside {
18
  list-style-position: inside;
19
}
20
</style>
21
<ol>
22
  <li class="outside">outside</li>
23
  <li class="inside">inside</li>
24
</ol>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/marker-content-017-expected.html +18 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/marker-content-017-expected.html_sec1
1
<!DOCTYPE html>
2
<meta charset="utf-8">
3
<title>CSS Reference: ::marker pseudo elements styled with 'content' property</title>
4
<link rel="author" title="Oriol Brufau" href="mailto:obrufau@igalia.com">
5
<style>
6
img {
7
  display: list-item;
8
  list-style-type: "[marker]";
9
}
10
img.inside {
11
  list-style-position: inside;
12
}
13
</style>
14
<ol>
15
  <img src="about:invalid" alt="alt" class="inside" />
16
  <img src="about:invalid" alt="alt" />
17
  <li value="3">item</li>
18
</ol>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/marker-content-017.html +24 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/marker-content-017.html_sec1
1
<!DOCTYPE html>
2
<meta charset="utf-8">
3
<title>CSS Test: ::marker pseudo elements styled with 'content' property</title>
4
<link rel="author" title="Oriol Brufau" href="mailto:obrufau@igalia.com">
5
<link rel="match" href="marker-content-017-ref.html">
6
<link rel="help" href="https://drafts.csswg.org/css-pseudo-4/#marker-pseudo">
7
<link rel="help" href="https://drafts.csswg.org/css-lists/#declaring-a-list-item">
8
<meta name="assert" content="Checks that ::marker can be created inside a non-replaced <img>.">
9
<style>
10
img {
11
  display: list-item;
12
}
13
img.inside {
14
  list-style-position: inside;
15
}
16
img::marker {
17
  content: '[marker]';
18
}
19
</style>
20
<ol>
21
  <img src="about:invalid" alt="alt" class="inside" />
22
  <img src="about:invalid" alt="alt" />
23
  <li>item</li>
24
</ol>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/marker-content-018-expected.html +61 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/marker-content-018-expected.html_sec1
1
<!DOCTYPE html>
2
<meta charset="utf-8">
3
<title>CSS Reference: ::marker pseudo elements styled with 'content' property</title>
4
<link rel="author" title="Oriol Brufau" href="mailto:obrufau@igalia.com">
5
<style>
6
ol {
7
  float: left;
8
  width: 100px;
9
}
10
.inside {
11
  list-style-position: inside;
12
}
13
li:nth-child(1) { list-style-type: "1" }
14
li:nth-child(2) { list-style-type: "1 " }
15
li:nth-child(3) { list-style-type: "1  " }
16
li:nth-child(4) { list-style-type: " 1" }
17
li:nth-child(5) { list-style-type: "  1" }
18
li:nth-child(6) { list-style-type: "  1  " }
19
li:nth-child(7) { list-style-type: "1\9 2" }
20
li:nth-child(8) { list-style-type: "1\a 2" }
21
</style>
22
<ol class="inside">
23
  <li>item</li>
24
  <li>item</li>
25
  <li>item</li>
26
  <li>item</li>
27
  <li>item</li>
28
  <li>item</li>
29
  <li>item</li>
30
  <li>item</li>
31
</ol>
32
<ol class="inside">
33
  <li> item</li>
34
  <li> item</li>
35
  <li> item</li>
36
  <li> item</li>
37
  <li> item</li>
38
  <li> item</li>
39
  <li> item</li>
40
  <li> item</li>
41
</ol>
42
<ol class="outside">
43
  <li>item</li>
44
  <li>item</li>
45
  <li>item</li>
46
  <li>item</li>
47
  <li>item</li>
48
  <li>item</li>
49
  <li>item</li>
50
  <li>item</li>
51
</ol>
52
<ol class="outside">
53
  <li> item</li>
54
  <li> item</li>
55
  <li> item</li>
56
  <li> item</li>
57
  <li> item</li>
58
  <li> item</li>
59
  <li> item</li>
60
  <li> item</li>
61
</ol>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/marker-content-018.html +65 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/marker-content-018.html_sec1
1
<!DOCTYPE html>
2
<meta charset="utf-8">
3
<title>CSS Test: ::marker pseudo elements styled with 'content' property</title>
4
<link rel="author" title="Oriol Brufau" href="mailto:obrufau@igalia.com">
5
<link rel="match" href="marker-content-018-ref.html">
6
<link rel="help" href="https://drafts.csswg.org/css-pseudo-4/#marker-pseudo">
7
<link rel="help" href="https://drafts.csswg.org/css-text-3/#white-space-rules">
8
<meta name="assert" content="Checks that the 'content' property of a ::marker doesn't affect white space.">
9
<style>
10
ol {
11
  float: left;
12
  width: 100px;
13
}
14
.inside {
15
  list-style-position: inside;
16
}
17
li:nth-child(1)::marker { content: "1" }
18
li:nth-child(2)::marker { content: "1 " }
19
li:nth-child(3)::marker { content: "1  " }
20
li:nth-child(4)::marker { content: " 1" }
21
li:nth-child(5)::marker { content: "  1" }
22
li:nth-child(6)::marker { content: "  1  " }
23
li:nth-child(7)::marker { content: "1\9 2" }
24
li:nth-child(8)::marker { content: "1\a 2" }
25
</style>
26
<ol class="inside">
27
  <li>item</li>
28
  <li>item</li>
29
  <li>item</li>
30
  <li>item</li>
31
  <li>item</li>
32
  <li>item</li>
33
  <li>item</li>
34
  <li>item</li>
35
</ol>
36
<ol class="inside">
37
  <li> item</li>
38
  <li> item</li>
39
  <li> item</li>
40
  <li> item</li>
41
  <li> item</li>
42
  <li> item</li>
43
  <li> item</li>
44
  <li> item</li>
45
</ol>
46
<ol class="outside">
47
  <li>item</li>
48
  <li>item</li>
49
  <li>item</li>
50
  <li>item</li>
51
  <li>item</li>
52
  <li>item</li>
53
  <li>item</li>
54
  <li>item</li>
55
</ol>
56
<ol class="outside">
57
  <li> item</li>
58
  <li> item</li>
59
  <li> item</li>
60
  <li> item</li>
61
  <li> item</li>
62
  <li> item</li>
63
  <li> item</li>
64
  <li> item</li>
65
</ol>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/marker-content-019-expected.html +21 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/marker-content-019-expected.html_sec1
1
<!DOCTYPE html>
2
<meta charset="utf-8">
3
<title>CSS Reference: ::marker pseudo elements styled with 'content' property</title>
4
<link rel="author" title="Oriol Brufau" href="mailto:obrufau@igalia.com">
5
<style>
6
li {
7
  display: block;
8
}
9
</style>
10
<ol>
11
  <li>inside symbol</li>
12
  <li>inside decimal</li>
13
  <li>inside string</li>
14
  <li>inside image</li>
15
</ol>
16
<ol>
17
  <li>outside symbol</li>
18
  <li>outside decimal</li>
19
  <li>outside string</li>
20
  <li>outside image</li>
21
</ol>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/marker-content-019.html +40 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/marker-content-019.html_sec1
1
<!DOCTYPE html>
2
<meta charset="utf-8">
3
<title>CSS Test: ::marker pseudo elements styled with 'content' property</title>
4
<link rel="author" title="Oriol Brufau" href="mailto:obrufau@igalia.com">
5
<link rel="match" href="marker-content-019-ref.html">
6
<link rel="help" href="https://drafts.csswg.org/css-pseudo-4/#marker-pseudo">
7
<link rel="help" href="https://drafts.csswg.org/css-content/#content-property">
8
<meta name="assert" content="Checks that the 'content: none' hides the ::marker.">
9
<style>
10
::marker {
11
  content: none
12
}
13
.inside {
14
  list-style-position: inside;
15
}
16
.symbol {
17
  list-style-type: disc;
18
}
19
.decimal {
20
  list-style-type: decimal;
21
}
22
.string {
23
  list-style-type: "string";
24
}
25
.image {
26
  list-style-image: url("/images/green-100x50.png");
27
}
28
</style>
29
<ol class="inside">
30
  <li class="symbol">inside symbol</li>
31
  <li class="decimal">inside decimal</li>
32
  <li class="string">inside string</li>
33
  <li class="image">inside image</li>
34
</ol>
35
<ol class="outside">
36
  <li class="symbol">outside symbol</li>
37
  <li class="decimal">outside decimal</li>
38
  <li class="string">outside string</li>
39
  <li class="image">outside image</li>
40
</ol>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/marker-content-020-expected.html +52 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/marker-content-020-expected.html_sec1
1
<!DOCTYPE html>
2
<meta charset="utf-8">
3
<title>CSS Reference: ::marker pseudo elements styled with 'content' property</title>
4
<link rel="author" title="Oriol Brufau" href="mailto:obrufau@igalia.com">
5
<style>
6
.no-marker ::marker {
7
  content: none;
8
}
9
.inside {
10
  list-style-position: inside;
11
}
12
.symbol {
13
  list-style-type: disc;
14
}
15
.decimal {
16
  list-style-type: decimal;
17
}
18
.string {
19
  list-style-type: "string";
20
}
21
.image {
22
  list-style-image: url("/images/green-100x50.png");
23
}
24
</style>
25
<div>
26
  <ol class="inside">
27
    <li class="symbol">inside symbol</li>
28
    <li class="decimal">inside decimal</li>
29
    <li class="string">inside string</li>
30
    <li class="image">inside image</li>
31
  </ol>
32
  <ol class="outside">
33
    <li class="symbol">outside symbol</li>
34
    <li class="decimal">outside decimal</li>
35
    <li class="string">outside string</li>
36
    <li class="image">outside image</li>
37
  </ol>
38
</div>
39
<div class="no-marker">
40
  <ol class="inside">
41
    <li class="symbol">inside symbol</li>
42
    <li class="decimal">inside decimal</li>
43
    <li class="string">inside string</li>
44
    <li class="image">inside image</li>
45
  </ol>
46
  <ol class="outside">
47
    <li class="symbol">outside symbol</li>
48
    <li class="decimal">outside decimal</li>
49
    <li class="string">outside string</li>
50
    <li class="image">outside image</li>
51
  </ol>
52
</div>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/marker-content-020.html +70 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/marker-content-020.html_sec1
1
<!DOCTYPE html>
2
<html class="reftest-wait">
3
<meta charset="utf-8">
4
<title>CSS Test: ::marker pseudo elements styled with 'content' property</title>
5
<link rel="author" title="Oriol Brufau" href="mailto:obrufau@igalia.com">
6
<link rel="match" href="marker-content-020-ref.html">
7
<link rel="help" href="https://drafts.csswg.org/css-pseudo-4/#marker-pseudo">
8
<link rel="help" href="https://drafts.csswg.org/css-content/#content-property">
9
<meta name="assert" content="Checks that the ::marker is updated when 'content: none' is applied or unapplied dynamically.">
10
<style>
11
.no-marker ::marker {
12
  content: none;
13
}
14
.inside {
15
  list-style-position: inside;
16
}
17
.symbol {
18
  list-style-type: disc;
19
}
20
.decimal {
21
  list-style-type: decimal;
22
}
23
.string {
24
  list-style-type: "string";
25
}
26
.image {
27
  list-style-image: url("/images/green-100x50.png");
28
}
29
</style>
30
<div class="no-marker">
31
  <ol class="inside">
32
    <li class="symbol">inside symbol</li>
33
    <li class="decimal">inside decimal</li>
34
    <li class="string">inside string</li>
35
    <li class="image">inside image</li>
36
  </ol>
37
  <ol class="outside">
38
    <li class="symbol">outside symbol</li>
39
    <li class="decimal">outside decimal</li>
40
    <li class="string">outside string</li>
41
    <li class="image">outside image</li>
42
  </ol>
43
</div>
44
<div>
45
  <ol class="inside">
46
    <li class="symbol">inside symbol</li>
47
    <li class="decimal">inside decimal</li>
48
    <li class="string">inside string</li>
49
    <li class="image">inside image</li>
50
  </ol>
51
  <ol class="outside">
52
    <li class="symbol">outside symbol</li>
53
    <li class="decimal">outside decimal</li>
54
    <li class="string">outside string</li>
55
    <li class="image">outside image</li>
56
  </ol>
57
</div>
58
<script src="/common/reftest-wait.js"></script>
59
<script>
60
"use strict";
61
addEventListener("load", function() {
62
  requestAnimationFrame(() => {
63
    for (const div of document.querySelectorAll("div")) {
64
      div.classList.toggle("no-marker");
65
    }
66
    takeScreenshot();
67
  });
68
}, {once: true});
69
</script>
70
</html>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/marker-content-021-expected.html +26 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/marker-content-021-expected.html_sec1
1
<!DOCTYPE html>
2
<meta charset="utf-8">
3
<title>CSS Reference: ::marker pseudo elements styled with 'content' property</title>
4
<link rel="author" title="Oriol Brufau" href="mailto:obrufau@igalia.com">
5
<style>
6
::marker {
7
  content: "[m]";
8
}
9
.inside {
10
  list-style-position: inside;
11
}
12
</style>
13
<ol class="inside">
14
  <li>inside none→symbol</li>
15
  <li>inside symbol→decimal</li>
16
  <li>inside decimal→roman</li>
17
  <li>inside roman→string</li>
18
  <li>inside string→none</li>
19
</ol>
20
<ol class="outside">
21
  <li>outside none→symbol</li>
22
  <li>outside symbol→decimal</li>
23
  <li>outside decimal→roman</li>
24
  <li>outside roman→string</li>
25
  <li>outside string→none</li>
26
</ol>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/marker-content-021.html +66 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/marker-content-021.html_sec1
1
<!DOCTYPE html>
2
<html class="reftest-wait">
3
<meta charset="utf-8">
4
<title>CSS Test: ::marker pseudo elements styled with 'content' property</title>
5
<link rel="author" title="Oriol Brufau" href="mailto:obrufau@igalia.com">
6
<link rel="match" href="marker-content-021-ref.html">
7
<link rel="help" href="https://drafts.csswg.org/css-pseudo-4/#marker-pseudo">
8
<link rel="help" href="https://drafts.csswg.org/css-lists/#content-property">
9
<meta name="assert" content="Checks that non-normal ::marker is not updated when 'list-style-type' changes dynamically.">
10
<style>
11
::marker {
12
  content: "[m]";
13
}
14
.inside {
15
  list-style-position: inside;
16
}
17
.none {
18
  list-style-type: none;
19
}
20
.symbol {
21
  list-style-type: disc;
22
}
23
.decimal {
24
  list-style-type: decimal;
25
}
26
.roman {
27
  list-style-type: lower-roman;
28
}
29
.string {
30
  list-style-type: "string";
31
}
32
</style>
33
<ol class="inside">
34
  <li class="none">inside none→symbol</li>
35
  <li class="symbol">inside symbol→decimal</li>
36
  <li class="decimal">inside decimal→roman</li>
37
  <li class="roman">inside roman→string</li>
38
  <li class="string">inside string→none</li>
39
</ol>
40
<ol class="outside">
41
  <li class="none">outside none→symbol</li>
42
  <li class="symbol">outside symbol→decimal</li>
43
  <li class="decimal">outside decimal→roman</li>
44
  <li class="roman">outside roman→string</li>
45
  <li class="string">outside string→none</li>
46
</ol>
47
<script src="/common/reftest-wait.js"></script>
48
<script>
49
"use strict";
50
// Use a "load" event listener and requestAnimationFrame to ensure that
51
// the markers will have been laid out.
52
addEventListener("load", function() {
53
  requestAnimationFrame(() => {
54
    for (let list of document.querySelectorAll("ol")) {
55
      // Rotate class names among list items
56
      const firstClass = list.firstElementChild.className;
57
      for (let item of list.children) {
58
        const next = item.nextElementSibling;
59
        item.className = next ? next.className : firstClass;
60
      }
61
    }
62
    takeScreenshot();
63
  });
64
}, {once: true});
65
</script>
66
</html>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/marker-content-022-expected.html +24 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/marker-content-022-expected.html_sec1
1
<!DOCTYPE html>
2
<meta charset="utf-8">
3
<title>CSS Reference: ::marker pseudo elements styled with 'content' property</title>
4
<link rel="author" title="Oriol Brufau" href="mailto:obrufau@igalia.com">
5
<style>
6
.symbol {
7
  list-style-type: disc;
8
}
9
.decimal {
10
  list-style-type: decimal;
11
}
12
.string {
13
  list-style-type: "string";
14
}
15
.content::marker {
16
  content: "content";
17
}
18
</style>
19
<ol>
20
  <li class="symbol"><span><div>foo</div></span></li>
21
  <li class="decimal"><span><div>foo</div></span></li>
22
  <li class="string"><span><div>foo</div></span></li>
23
  <li class="content"><span><div>foo</div></span></li>
24
</ol>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/marker-content-022.html +46 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/marker-content-022.html_sec1
1
<!DOCTYPE html>
2
<html class="reftest-wait">
3
<meta charset="utf-8">
4
<title>CSS Test: ::marker pseudo elements styled with 'content' property</title>
5
<link rel="author" title="Oriol Brufau" href="mailto:obrufau@igalia.com">
6
<link rel="match" href="marker-content-022-ref.html">
7
<link rel="help" href="https://drafts.csswg.org/css-pseudo-4/#marker-pseudo">
8
<link rel="help" href="https://drafts.csswg.org/css-lists/#list-style-position-outside">
9
<meta name="assert" content="When a list item with an outside marker only has an inline child
10
  with a block grandchild, some browsers insert a newline between the marker and the block,
11
  and some don't. It's not clear what should happen, but this test checks that the behavior
12
  is consistent whether the block is inserted dynamically or was there from the beginning.">
13
<style>
14
.symbol {
15
  list-style-type: disc;
16
}
17
.decimal {
18
  list-style-type: decimal;
19
}
20
.string {
21
  list-style-type: "string";
22
}
23
.content::marker {
24
  content: "content";
25
}
26
</style>
27
<ol>
28
  <li class="symbol"><span></span></li>
29
  <li class="decimal"><span></span></li>
30
  <li class="string"><span></span></li>
31
  <li class="content"><span></span></li>
32
</ol>
33
<script src="/common/reftest-wait.js"></script>
34
<script>
35
// Use a "load" event listener and requestAnimationFrame to ensure that
36
// the markers will have been laid out.
37
addEventListener("load", () => requestAnimationFrame(() => {
38
  const div = document.createElement("div");
39
  div.appendChild(document.createTextNode("foo"));
40
  for (let span of document.querySelectorAll("li > span")) {
41
    span.appendChild(div.cloneNode(true));
42
  }
43
  takeScreenshot();
44
}), {once: true});
45
</script>
46
</html>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/marker-default-styles-expected.txt +25 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/marker-default-styles-expected.txt_sec1
1
2
FAIL Computed value of 'unicode-bidi' for outside symbol assert_equals: expected "isolate" but got "normal"
3
FAIL Computed value of 'font-variant-numeric' for outside symbol assert_equals: expected "tabular-nums" but got "normal"
4
FAIL Computed value of 'unicode-bidi' for outside decimal assert_equals: expected "isolate" but got "normal"
5
FAIL Computed value of 'font-variant-numeric' for outside decimal assert_equals: expected "tabular-nums" but got "normal"
6
FAIL Computed value of 'unicode-bidi' for outside string assert_equals: expected "isolate" but got "normal"
7
FAIL Computed value of 'font-variant-numeric' for outside string assert_equals: expected "tabular-nums" but got "normal"
8
FAIL Computed value of 'unicode-bidi' for outside marker assert_equals: expected "isolate" but got "normal"
9
PASS Computed value of 'font-variant-numeric' for outside marker 
10
FAIL Computed value of 'unicode-bidi' for inside symbol assert_equals: expected "isolate" but got "normal"
11
FAIL Computed value of 'font-variant-numeric' for inside symbol assert_equals: expected "tabular-nums" but got "normal"
12
FAIL Computed value of 'unicode-bidi' for inside decimal assert_equals: expected "isolate" but got "normal"
13
FAIL Computed value of 'font-variant-numeric' for inside decimal assert_equals: expected "tabular-nums" but got "normal"
14
FAIL Computed value of 'unicode-bidi' for inside string assert_equals: expected "isolate" but got "normal"
15
FAIL Computed value of 'font-variant-numeric' for inside string assert_equals: expected "tabular-nums" but got "normal"
16
FAIL Computed value of 'unicode-bidi' for inside marker assert_equals: expected "isolate" but got "normal"
17
PASS Computed value of 'font-variant-numeric' for inside marker 
18
outside symbol
19
outside decimal
20
outside string
21
outside marker
22
inside symbol
23
inside decimal
24
inside string
25
inside marker
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/marker-default-styles.html +42 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/marker-default-styles.html_sec1
1
<!DOCTYPE html>
2
<meta charset="utf-8">
3
<title>CSS Pseudo-Elements Test: Default styles for ::marker</title>
4
<link rel="help" href="https://drafts.csswg.org/css-pseudo-4/#marker-pseudo">
5
<link rel="author" title="Oriol Brufau" href="mailto:obrufau@igalia.com">
6
<meta name="assert" content="This test checks that ::marker gets assigned some styles in UA origin." />
7
<style>
8
.outside { list-style-position: outside }
9
.inside { list-style-position: inside }
10
.symbol { list-style-type: symbol }
11
.decimal { list-style-type: decimal }
12
.string { list-style-type: "string" }
13
.marker::marker { content: "marker" }
14
</style>
15
<div id="log"></div>
16
<ul>
17
  <li class="outside symbol">outside symbol</li>
18
  <li class="outside decimal">outside decimal</li>
19
  <li class="outside string">outside string</li>
20
  <li class="outside marker">outside marker</li>
21
  <li class="inside symbol">inside symbol</li>
22
  <li class="inside decimal">inside decimal</li>
23
  <li class="inside string">inside string</li>
24
  <li class="inside marker">inside marker</li>
25
</ul>
26
<script src="/resources/testharness.js"></script>
27
<script src="/resources/testharnessreport.js"></script>
28
<script src="/css/support/computed-testcommon.js"></script>
29
<script>
30
const defaultStyles = [
31
  ["unicode-bidi", "isolate"],
32
  ["font-variant-numeric", "tabular-nums"],
33
];
34
for (const target of document.querySelectorAll("li")) {
35
  const cs = getComputedStyle(target, "::marker");
36
  for (const [prop, value] of defaultStyles) {
37
    test(function() {
38
      assert_equals(cs.getPropertyValue(prop), value);
39
    }, `Computed value of '${prop}' for ${target.className}`);
40
  }
41
}
42
</script>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/marker-display-computed-expected.txt +17 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/marker-display-computed-expected.txt_sec1
1
2
PASS Computed 'display' for inside ::marker, variant default 
3
PASS Computed 'display' for inside ::marker, variant color 
4
PASS Computed 'display' for inside ::marker, variant string 
5
PASS Computed 'display' for inside ::marker, variant content 
6
FAIL Computed 'display' for outside ::marker, variant default assert_in_array: Outside markers should be block containers value "inline" not in array ["inline-block", "block"]
7
FAIL Computed 'display' for outside ::marker, variant color assert_in_array: Outside markers should be block containers value "inline" not in array ["inline-block", "block"]
8
FAIL Computed 'display' for outside ::marker, variant string assert_in_array: Outside markers should be block containers value "inline" not in array ["inline-block", "block"]
9
FAIL Computed 'display' for outside ::marker, variant content assert_in_array: Outside markers should be block containers value "inline" not in array ["inline-block", "block"]
10
item
11
item
12
item
13
item
14
item
15
item
16
item
17
item
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/marker-display-computed.html +56 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/marker-display-computed.html_sec1
1
<!DOCTYPE html>
2
<meta charset="utf-8">
3
<title>CSS Pseudo-Elements Test: Supported properties in ::marker</title>
4
<link rel="help" href="https://drafts.csswg.org/css-pseudo-4/#marker-pseudo">
5
<link rel="help" href="https://drafts.csswg.org/css-lists/#list-style-position">
6
<link rel="author" title="Oriol Brufau" href="mailto:obrufau@igalia.com">
7
<meta name="assert" content="This test checks the computed 'display' value of ::marker pseudo-elements." />
8
<style>
9
.inside {
10
  list-style-position: inside;
11
}
12
.color::marker {
13
  color: blue;
14
}
15
.string {
16
  list-style-type: "string";
17
}
18
.content::marker {
19
  content: "content";
20
}
21
</style>
22
<div id="log"></div>
23
<ol class="inside">
24
  <li class="default">item</li>
25
  <li class="color">item</li>
26
  <li class="string">item</li>
27
  <li class="content">item</li>
28
</ol>
29
<ol class="outside">
30
  <li class="default">item</li>
31
  <li class="color">item</li>
32
  <li class="string">item</li>
33
  <li class="content">item</li>
34
</ol>
35
<script src="/resources/testharness.js"></script>
36
<script src="/resources/testharnessreport.js"></script>
37
<script src="/css/support/computed-testcommon.js"></script>
38
<script>
39
const inside = document.querySelectorAll(".inside > li");
40
for (const target of inside) {
41
  const {display} = getComputedStyle(target, "::marker");
42
  test(() => {
43
    assert_equals(display, "inline", "Inside markers should be inline");
44
  }, `Computed 'display' for inside ::marker, variant ${target.className}`);
45
}
46
47
const outside = document.querySelectorAll(".outside > li");
48
const firstDisplay = getComputedStyle(outside[0], "::marker").display;
49
for (const target of outside) {
50
  const {display} = getComputedStyle(target, "::marker");
51
  test(() => {
52
    assert_in_array(display, ["inline-block", "block"], "Outside markers should be block containers");
53
    assert_equals(display, firstDisplay, "The 'display' value shouldn't vary");
54
  }, `Computed 'display' for outside ::marker, variant ${target.className}`);
55
}
56
</script>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/marker-display-dynamic-001-expected.html +20 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/marker-display-dynamic-001-expected.html_sec1
1
<!DOCTYPE html>
2
<html>
3
<head>
4
<meta charset="utf-8">
5
<title>CSS Test: ::marker formatting with color property reference file</title>
6
<link rel="author" title="Daniel Bates" href="mailto:dbates@webkit.org">
7
<style>
8
li {
9
    color: green;
10
    font-size: 40px;
11
    list-style-type: square;
12
}
13
</style>
14
</head>
15
<body>
16
<ol>
17
    <li><!-- The list marker should be a green square.--></li>
18
</ol>
19
</body>
20
</html>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/marker-display-dynamic-001.html +31 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/marker-display-dynamic-001.html_sec1
1
<!DOCTYPE html>
2
<meta charset="utf-8">
3
<title>CSS Test: ::marker is created dynamically properly</title>
4
<link rel="author" title="Emilio Cobos Álvarez" href="mailto:emilio@crisal.io">
5
<link rel="author" title="Mozilla" href="https://mozilla.org">
6
<link rel="match" href="marker-color-ref.html">
7
<link rel="help" href="https://drafts.csswg.org/css-pseudo-4/#marker-pseudo">
8
<link rel="help" href="https://bugzilla.mozilla.org/show_bug.cgi?id=1538589">
9
<style>
10
li {
11
  color: green;
12
  font-size: 40px;
13
  list-style-type: square;
14
}
15
::marker {
16
  display: none;
17
}
18
.tweak::marker {
19
  display: initial;
20
}
21
</style>
22
<ol>
23
    <li><!-- The list marker should be a green square.--></li>
24
</ol>
25
<script>
26
  onload = function() {
27
    let li = document.querySelector("li");
28
    li.offsetTop;
29
    li.classList.add("tweak");
30
  }
31
</script>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/marker-font-properties.html -2 / +2 lines
Lines 16-22 li { a/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/marker-font-properties.html_sec1
16
    list-style-type: lower-alpha;
16
    list-style-type: lower-alpha;
17
}
17
}
18
18
19
li::marker {
19
li::marker, span {
20
    font-family: sans-serif;
20
    font-family: sans-serif;
21
    font-size: 24px;
21
    font-size: 24px;
22
    font-style: italic;
22
    font-style: italic;
Lines 27-33 li::marker { a/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/marker-font-properties.html_sec2
27
</head>
27
</head>
28
<body>
28
<body>
29
<ol>
29
<ol>
30
    <li><span style="font-size: 24px"><!--  FIXME: Needed to ensure consistent baseline position with expected result in WebKit (why?).  --></span></li>
30
    <li><span><!-- FIXME: Needed to ensure consistent baseline position with expected result in Chromium and WebKit (why?). --></span></li>
31
</ol>
31
</ol>
32
</body>
32
</body>
33
</html>
33
</html>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/marker-font-variant-numeric-default-expected.html +84 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/marker-font-variant-numeric-default-expected.html_sec1
1
<!DOCTYPE html>
2
<meta charset="utf-8" />
3
<title>CSS Reftest Reference</title>
4
<link rel="author" title="Oriol Brufau" href="mailto:obrufau@igalia.com" />
5
<link rel="mismatch" href="marker-font-variant-numeric-normal-ref.html">
6
<link rel="stylesheet" type="text/css" href="/fonts/ahem.css" />
7
<style>
8
@font-face {
9
  /* This font looks different with 'font-variant-numeric: tabular-nums' */
10
  font-family: 'Exo 2';
11
  src: local('Exo 2'),
12
       url('/css/css-fonts/support/fonts/Exo2-SemiBold.otf') format("opentype");
13
}
14
ol {
15
  float: left;
16
  width: 50px;
17
  line-height: 25px;
18
  list-style-position: inside;
19
  font-family: "Exo 2";
20
}
21
li:first-child::after {
22
  content: 'X X X X X X X X X';
23
  display: inline-block;
24
  font: 25px/1 Ahem;
25
  vertical-align: top;
26
  height: 0;
27
  width: 25px;
28
}
29
</style>
30
<ol>
31
  <li></li>
32
  <li></li>
33
  <li></li>
34
  <li></li>
35
  <li></li>
36
  <li></li>
37
  <li></li>
38
  <li></li>
39
  <li></li>
40
</ol>
41
<ol>
42
  <li></li>
43
  <li></li>
44
  <li></li>
45
  <li></li>
46
  <li></li>
47
  <li></li>
48
  <li></li>
49
  <li></li>
50
  <li></li>
51
</ol>
52
<ol>
53
  <li></li>
54
  <li></li>
55
  <li></li>
56
  <li></li>
57
  <li></li>
58
  <li></li>
59
  <li></li>
60
  <li></li>
61
  <li></li>
62
</ol>
63
<ol>
64
  <li></li>
65
  <li></li>
66
  <li></li>
67
  <li></li>
68
  <li></li>
69
  <li></li>
70
  <li></li>
71
  <li></li>
72
  <li></li>
73
</ol>
74
<ol>
75
  <li></li>
76
  <li></li>
77
  <li></li>
78
  <li></li>
79
  <li></li>
80
  <li></li>
81
  <li></li>
82
  <li></li>
83
  <li></li>
84
</ol>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/marker-font-variant-numeric-default-ref-expected.html +83 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/marker-font-variant-numeric-default-ref-expected.html_sec1
1
<!DOCTYPE html>
2
<meta charset="utf-8" />
3
<title>CSS Reftest Reference</title>
4
<link rel="author" title="Oriol Brufau" href="mailto:obrufau@igalia.com" />
5
<link rel="mismatch" href="marker-font-variant-numeric-default-ref.html">
6
<link rel="stylesheet" type="text/css" href="/fonts/ahem.css" />
7
<style>
8
@font-face {
9
  /* This font looks different with 'font-variant-numeric: tabular-nums' */
10
  font-family: 'Exo 2';
11
  src: local('Exo 2'),
12
       url('/css/css-fonts/support/fonts/Exo2-SemiBold.otf') format("opentype");
13
}
14
ol {
15
  float: left;
16
  width: 50px;
17
  line-height: 25px;
18
  list-style-type: none;
19
  font-family: "Exo 2";
20
}
21
span {
22
  display: inline-block;
23
  font: 25px/1 Ahem;
24
  vertical-align: top;
25
  width: 25px;
26
  height: 25px;
27
}
28
</style>
29
<ol>
30
  <li>1. <span>X</span></li>
31
  <li>2. <span>X</span></li>
32
  <li>3. <span>X</span></li>
33
  <li>4. <span>X</span></li>
34
  <li>5. <span>X</span></li>
35
  <li>6. <span>X</span></li>
36
  <li>7. <span>X</span></li>
37
  <li>8. <span>X</span></li>
38
  <li>9. <span>X</span></li>
39
</ol>
40
<ol>
41
  <li>1. <span>X</span></li>
42
  <li>2. <span>X</span></li>
43
  <li>3. <span>X</span></li>
44
  <li>4. <span>X</span></li>
45
  <li>5. <span>X</span></li>
46
  <li>6. <span>X</span></li>
47
  <li>7. <span>X</span></li>
48
  <li>8. <span>X</span></li>
49
  <li>9. <span>X</span></li>
50
</ol>
51
<ol>
52
  <li>1. <span>X</span></li>
53
  <li>2. <span>X</span></li>
54
  <li>3. <span>X</span></li>
55
  <li>4. <span>X</span></li>
56
  <li>5. <span>X</span></li>
57
  <li>6. <span>X</span></li>
58
  <li>7. <span>X</span></li>
59
  <li>8. <span>X</span></li>
60
  <li>9. <span>X</span></li>
61
</ol>
62
<ol>
63
  <li>1. <span>X</span></li>
64
  <li>2. <span>X</span></li>
65
  <li>3. <span>X</span></li>
66
  <li>4. <span>X</span></li>
67
  <li>5. <span>X</span></li>
68
  <li>6. <span>X</span></li>
69
  <li>7. <span>X</span></li>
70
  <li>8. <span>X</span></li>
71
  <li>9. <span>X</span></li>
72
</ol>
73
<ol>
74
  <li>1. <span>X</span></li>
75
  <li>2. <span>X</span></li>
76
  <li>3. <span>X</span></li>
77
  <li>4. <span>X</span></li>
78
  <li>5. <span>X</span></li>
79
  <li>6. <span>X</span></li>
80
  <li>7. <span>X</span></li>
81
  <li>8. <span>X</span></li>
82
  <li>9. <span>X</span></li>
83
</ol>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/marker-font-variant-numeric-default-ref.html +84 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/marker-font-variant-numeric-default-ref.html_sec1
1
<!DOCTYPE html>
2
<meta charset="utf-8" />
3
<title>CSS Reftest Reference</title>
4
<link rel="author" title="Oriol Brufau" href="mailto:obrufau@igalia.com" />
5
<link rel="mismatch" href="marker-font-variant-numeric-normal-ref.html">
6
<link rel="stylesheet" type="text/css" href="/fonts/ahem.css" />
7
<style>
8
@font-face {
9
  /* This font looks different with 'font-variant-numeric: tabular-nums' */
10
  font-family: 'Exo 2';
11
  src: local('Exo 2'),
12
       url('/css/css-fonts/support/fonts/Exo2-SemiBold.otf') format("opentype");
13
}
14
ol {
15
  float: left;
16
  width: 50px;
17
  line-height: 25px;
18
  list-style-position: inside;
19
  font-family: "Exo 2";
20
}
21
li:first-child::after {
22
  content: 'X X X X X X X X X';
23
  display: inline-block;
24
  font: 25px/1 Ahem;
25
  vertical-align: top;
26
  height: 0;
27
  width: 25px;
28
}
29
</style>
30
<ol>
31
  <li></li>
32
  <li></li>
33
  <li></li>
34
  <li></li>
35
  <li></li>
36
  <li></li>
37
  <li></li>
38
  <li></li>
39
  <li></li>
40
</ol>
41
<ol>
42
  <li></li>
43
  <li></li>
44
  <li></li>
45
  <li></li>
46
  <li></li>
47
  <li></li>
48
  <li></li>
49
  <li></li>
50
  <li></li>
51
</ol>
52
<ol>
53
  <li></li>
54
  <li></li>
55
  <li></li>
56
  <li></li>
57
  <li></li>
58
  <li></li>
59
  <li></li>
60
  <li></li>
61
  <li></li>
62
</ol>
63
<ol>
64
  <li></li>
65
  <li></li>
66
  <li></li>
67
  <li></li>
68
  <li></li>
69
  <li></li>
70
  <li></li>
71
  <li></li>
72
  <li></li>
73
</ol>
74
<ol>
75
  <li></li>
76
  <li></li>
77
  <li></li>
78
  <li></li>
79
  <li></li>
80
  <li></li>
81
  <li></li>
82
  <li></li>
83
  <li></li>
84
</ol>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/marker-font-variant-numeric-default.html +108 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/marker-font-variant-numeric-default.html_sec1
1
<!DOCTYPE html>
2
<meta charset="utf-8">
3
<title>::marker has 'font-variant-numeric: tabular-nums' by default</title>
4
<link rel="author" title="Oriol Brufau" href="mailto:obrufau@igalia.com" />
5
<link rel="help" href="https://drafts.csswg.org/css-pseudo-4/#marker-pseudo">
6
<link rel="match" href="marker-font-variant-numeric-default-ref.html">
7
<meta name="assert" content="Checks that the markers have the same width thanks to 'font-variant-numeric: tabular-nums', and thus the black boxes are perfectly aligned">
8
<link rel="stylesheet" type="text/css" href="/fonts/ahem.css" />
9
<style>
10
@font-face {
11
  /* This font looks different with 'font-variant-numeric: tabular-nums' */
12
  font-family: 'Exo 2';
13
  src: local('Exo 2'),
14
       url('/css/css-fonts/support/fonts/Exo2-SemiBold.otf') format("opentype");
15
}
16
ol {
17
  float: left;
18
  width: 50px;
19
  line-height: 25px;
20
  list-style-position: inside;
21
  font-family: "Exo 2";
22
}
23
span {
24
  display: inline-block;
25
  font: 25px/1 Ahem;
26
  vertical-align: top;
27
}
28
29
li:nth-child(1) { --marker: "1. " }
30
li:nth-child(2) { --marker: "2. " }
31
li:nth-child(3) { --marker: "3. " }
32
li:nth-child(4) { --marker: "4. " }
33
li:nth-child(5) { --marker: "5. " }
34
li:nth-child(6) { --marker: "6. " }
35
li:nth-child(7) { --marker: "7. " }
36
li:nth-child(8) { --marker: "8. " }
37
li:nth-child(9) { --marker: "9. " }
38
39
.string > li {
40
  list-style-type: var(--marker);
41
}
42
.marker > li::marker {
43
  content: var(--marker);
44
}
45
.before > li, .after > li {
46
  display: block;
47
}
48
.before > li::before, .after > li::after {
49
  content: "\200B"; /* zero-width space */
50
  display: list-item;
51
  float: left;
52
}
53
</style>
54
<ol class="decimal">
55
  <li><span>X</span></li>
56
  <li><span>X</span></li>
57
  <li><span>X</span></li>
58
  <li><span>X</span></li>
59
  <li><span>X</span></li>
60
  <li><span>X</span></li>
61
  <li><span>X</span></li>
62
  <li><span>X</span></li>
63
  <li><span>X</span></li>
64
</ol>
65
<ol class="string">
66
  <li><span>X</span></li>
67
  <li><span>X</span></li>
68
  <li><span>X</span></li>
69
  <li><span>X</span></li>
70
  <li><span>X</span></li>
71
  <li><span>X</span></li>
72
  <li><span>X</span></li>
73
  <li><span>X</span></li>
74
  <li><span>X</span></li>
75
</ol>
76
<ol class="marker">
77
  <li><span>X</span></li>
78
  <li><span>X</span></li>
79
  <li><span>X</span></li>
80
  <li><span>X</span></li>
81
  <li><span>X</span></li>
82
  <li><span>X</span></li>
83
  <li><span>X</span></li>
84
  <li><span>X</span></li>
85
  <li><span>X</span></li>
86
</ol>
87
<ol class="before">
88
  <li><span>X</span></li>
89
  <li><span>X</span></li>
90
  <li><span>X</span></li>
91
  <li><span>X</span></li>
92
  <li><span>X</span></li>
93
  <li><span>X</span></li>
94
  <li><span>X</span></li>
95
  <li><span>X</span></li>
96
  <li><span>X</span></li>
97
</ol>
98
<ol class="after">
99
  <li><span>X</span></li>
100
  <li><span>X</span></li>
101
  <li><span>X</span></li>
102
  <li><span>X</span></li>
103
  <li><span>X</span></li>
104
  <li><span>X</span></li>
105
  <li><span>X</span></li>
106
  <li><span>X</span></li>
107
  <li><span>X</span></li>
108
</ol>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/marker-font-variant-numeric-normal-expected.html +83 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/marker-font-variant-numeric-normal-expected.html_sec1
1
<!DOCTYPE html>
2
<meta charset="utf-8" />
3
<title>CSS Reftest Reference</title>
4
<link rel="author" title="Oriol Brufau" href="mailto:obrufau@igalia.com" />
5
<link rel="mismatch" href="marker-font-variant-numeric-default-ref.html">
6
<link rel="stylesheet" type="text/css" href="/fonts/ahem.css" />
7
<style>
8
@font-face {
9
  /* This font looks different with 'font-variant-numeric: tabular-nums' */
10
  font-family: 'Exo 2';
11
  src: local('Exo 2'),
12
       url('/css/css-fonts/support/fonts/Exo2-SemiBold.otf') format("opentype");
13
}
14
ol {
15
  float: left;
16
  width: 50px;
17
  line-height: 25px;
18
  list-style-type: none;
19
  font-family: "Exo 2";
20
}
21
span {
22
  display: inline-block;
23
  font: 25px/1 Ahem;
24
  vertical-align: top;
25
  width: 25px;
26
  height: 25px;
27
}
28
</style>
29
<ol>
30
  <li>1. <span>X</span></li>
31
  <li>2. <span>X</span></li>
32
  <li>3. <span>X</span></li>
33
  <li>4. <span>X</span></li>
34
  <li>5. <span>X</span></li>
35
  <li>6. <span>X</span></li>
36
  <li>7. <span>X</span></li>
37
  <li>8. <span>X</span></li>
38
  <li>9. <span>X</span></li>
39
</ol>
40
<ol>
41
  <li>1. <span>X</span></li>
42
  <li>2. <span>X</span></li>
43
  <li>3. <span>X</span></li>
44
  <li>4. <span>X</span></li>
45
  <li>5. <span>X</span></li>
46
  <li>6. <span>X</span></li>
47
  <li>7. <span>X</span></li>
48
  <li>8. <span>X</span></li>
49
  <li>9. <span>X</span></li>
50
</ol>
51
<ol>
52
  <li>1. <span>X</span></li>
53
  <li>2. <span>X</span></li>
54
  <li>3. <span>X</span></li>
55
  <li>4. <span>X</span></li>
56
  <li>5. <span>X</span></li>
57
  <li>6. <span>X</span></li>
58
  <li>7. <span>X</span></li>
59
  <li>8. <span>X</span></li>
60
  <li>9. <span>X</span></li>
61
</ol>
62
<ol>
63
  <li>1. <span>X</span></li>
64
  <li>2. <span>X</span></li>
65
  <li>3. <span>X</span></li>
66
  <li>4. <span>X</span></li>
67
  <li>5. <span>X</span></li>
68
  <li>6. <span>X</span></li>
69
  <li>7. <span>X</span></li>
70
  <li>8. <span>X</span></li>
71
  <li>9. <span>X</span></li>
72
</ol>
73
<ol>
74
  <li>1. <span>X</span></li>
75
  <li>2. <span>X</span></li>
76
  <li>3. <span>X</span></li>
77
  <li>4. <span>X</span></li>
78
  <li>5. <span>X</span></li>
79
  <li>6. <span>X</span></li>
80
  <li>7. <span>X</span></li>
81
  <li>8. <span>X</span></li>
82
  <li>9. <span>X</span></li>
83
</ol>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/marker-font-variant-numeric-normal-ref-expected.html +84 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/marker-font-variant-numeric-normal-ref-expected.html_sec1
1
<!DOCTYPE html>
2
<meta charset="utf-8" />
3
<title>CSS Reftest Reference</title>
4
<link rel="author" title="Oriol Brufau" href="mailto:obrufau@igalia.com" />
5
<link rel="mismatch" href="marker-font-variant-numeric-normal-ref.html">
6
<link rel="stylesheet" type="text/css" href="/fonts/ahem.css" />
7
<style>
8
@font-face {
9
  /* This font looks different with 'font-variant-numeric: tabular-nums' */
10
  font-family: 'Exo 2';
11
  src: local('Exo 2'),
12
       url('/css/css-fonts/support/fonts/Exo2-SemiBold.otf') format("opentype");
13
}
14
ol {
15
  float: left;
16
  width: 50px;
17
  line-height: 25px;
18
  list-style-position: inside;
19
  font-family: "Exo 2";
20
}
21
li:first-child::after {
22
  content: 'X X X X X X X X X';
23
  display: inline-block;
24
  font: 25px/1 Ahem;
25
  vertical-align: top;
26
  height: 0;
27
  width: 25px;
28
}
29
</style>
30
<ol>
31
  <li></li>
32
  <li></li>
33
  <li></li>
34
  <li></li>
35
  <li></li>
36
  <li></li>
37
  <li></li>
38
  <li></li>
39
  <li></li>
40
</ol>
41
<ol>
42
  <li></li>
43
  <li></li>
44
  <li></li>
45
  <li></li>
46
  <li></li>
47
  <li></li>
48
  <li></li>
49
  <li></li>
50
  <li></li>
51
</ol>
52
<ol>
53
  <li></li>
54
  <li></li>
55
  <li></li>
56
  <li></li>
57
  <li></li>
58
  <li></li>
59
  <li></li>
60
  <li></li>
61
  <li></li>
62
</ol>
63
<ol>
64
  <li></li>
65
  <li></li>
66
  <li></li>
67
  <li></li>
68
  <li></li>
69
  <li></li>
70
  <li></li>
71
  <li></li>
72
  <li></li>
73
</ol>
74
<ol>
75
  <li></li>
76
  <li></li>
77
  <li></li>
78
  <li></li>
79
  <li></li>
80
  <li></li>
81
  <li></li>
82
  <li></li>
83
  <li></li>
84
</ol>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/marker-font-variant-numeric-normal-ref.html +83 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/marker-font-variant-numeric-normal-ref.html_sec1
1
<!DOCTYPE html>
2
<meta charset="utf-8" />
3
<title>CSS Reftest Reference</title>
4
<link rel="author" title="Oriol Brufau" href="mailto:obrufau@igalia.com" />
5
<link rel="mismatch" href="marker-font-variant-numeric-default-ref.html">
6
<link rel="stylesheet" type="text/css" href="/fonts/ahem.css" />
7
<style>
8
@font-face {
9
  /* This font looks different with 'font-variant-numeric: tabular-nums' */
10
  font-family: 'Exo 2';
11
  src: local('Exo 2'),
12
       url('/css/css-fonts/support/fonts/Exo2-SemiBold.otf') format("opentype");
13
}
14
ol {
15
  float: left;
16
  width: 50px;
17
  line-height: 25px;
18
  list-style-type: none;
19
  font-family: "Exo 2";
20
}
21
span {
22
  display: inline-block;
23
  font: 25px/1 Ahem;
24
  vertical-align: top;
25
  width: 25px;
26
  height: 25px;
27
}
28
</style>
29
<ol>
30
  <li>1. <span>X</span></li>
31
  <li>2. <span>X</span></li>
32
  <li>3. <span>X</span></li>
33
  <li>4. <span>X</span></li>
34
  <li>5. <span>X</span></li>
35
  <li>6. <span>X</span></li>
36
  <li>7. <span>X</span></li>
37
  <li>8. <span>X</span></li>
38
  <li>9. <span>X</span></li>
39
</ol>
40
<ol>
41
  <li>1. <span>X</span></li>
42
  <li>2. <span>X</span></li>
43
  <li>3. <span>X</span></li>
44
  <li>4. <span>X</span></li>
45
  <li>5. <span>X</span></li>
46
  <li>6. <span>X</span></li>
47
  <li>7. <span>X</span></li>
48
  <li>8. <span>X</span></li>
49
  <li>9. <span>X</span></li>
50
</ol>
51
<ol>
52
  <li>1. <span>X</span></li>
53
  <li>2. <span>X</span></li>
54
  <li>3. <span>X</span></li>
55
  <li>4. <span>X</span></li>
56
  <li>5. <span>X</span></li>
57
  <li>6. <span>X</span></li>
58
  <li>7. <span>X</span></li>
59
  <li>8. <span>X</span></li>
60
  <li>9. <span>X</span></li>
61
</ol>
62
<ol>
63
  <li>1. <span>X</span></li>
64
  <li>2. <span>X</span></li>
65
  <li>3. <span>X</span></li>
66
  <li>4. <span>X</span></li>
67
  <li>5. <span>X</span></li>
68
  <li>6. <span>X</span></li>
69
  <li>7. <span>X</span></li>
70
  <li>8. <span>X</span></li>
71
  <li>9. <span>X</span></li>
72
</ol>
73
<ol>
74
  <li>1. <span>X</span></li>
75
  <li>2. <span>X</span></li>
76
  <li>3. <span>X</span></li>
77
  <li>4. <span>X</span></li>
78
  <li>5. <span>X</span></li>
79
  <li>6. <span>X</span></li>
80
  <li>7. <span>X</span></li>
81
  <li>8. <span>X</span></li>
82
  <li>9. <span>X</span></li>
83
</ol>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/marker-font-variant-numeric-normal.html +115 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/marker-font-variant-numeric-normal.html_sec1
1
<!DOCTYPE html>
2
<meta charset="utf-8">
3
<title>::marker accepts 'font-variant-numeric: normal'</title>
4
<link rel="author" title="Oriol Brufau" href="mailto:obrufau@igalia.com" />
5
<link rel="help" href="https://drafts.csswg.org/css-pseudo-4/#marker-pseudo">
6
<link rel="match" href="marker-font-variant-numeric-normal-ref.html">
7
<meta name="assert" content="Checks that the marker default 'font-variant-numeric: tabular-nums' can be overridden with 'font-variant-numeric: normal'">
8
<link rel="stylesheet" type="text/css" href="/fonts/ahem.css" />
9
<style>
10
@font-face {
11
  /* This font looks different with 'font-variant-numeric: tabular-nums' */
12
  font-family: 'Exo 2';
13
  src: local('Exo 2'),
14
       url('/css/css-fonts/support/fonts/Exo2-SemiBold.otf') format("opentype");
15
}
16
ol {
17
  float: left;
18
  width: 50px;
19
  line-height: 25px;
20
  list-style-position: inside;
21
  font-family: "Exo 2";
22
}
23
span {
24
  display: inline-block;
25
  font: 25px/1 Ahem;
26
  vertical-align: top;
27
}
28
29
li:nth-child(1) { --marker: "1. " }
30
li:nth-child(2) { --marker: "2. " }
31
li:nth-child(3) { --marker: "3. " }
32
li:nth-child(4) { --marker: "4. " }
33
li:nth-child(5) { --marker: "5. " }
34
li:nth-child(6) { --marker: "6. " }
35
li:nth-child(7) { --marker: "7. " }
36
li:nth-child(8) { --marker: "8. " }
37
li:nth-child(9) { --marker: "9. " }
38
39
.string > li {
40
  list-style-type: var(--marker);
41
}
42
.marker > li::marker {
43
  content: var(--marker);
44
}
45
.before > li, .after > li {
46
  display: block;
47
}
48
.before > li::before, .after > li::after {
49
  content: "\200B"; /* zero-width space */
50
  display: list-item;
51
  float: left;
52
}
53
54
::marker {
55
  font-variant-numeric: normal;
56
}
57
::before::marker, ::after::marker {
58
  font-variant-numeric: normal;
59
}
60
</style>
61
<ol class="decimal">
62
  <li><span>X</span></li>
63
  <li><span>X</span></li>
64
  <li><span>X</span></li>
65
  <li><span>X</span></li>
66
  <li><span>X</span></li>
67
  <li><span>X</span></li>
68
  <li><span>X</span></li>
69
  <li><span>X</span></li>
70
  <li><span>X</span></li>
71
</ol>
72
<ol class="string">
73
  <li><span>X</span></li>
74
  <li><span>X</span></li>
75
  <li><span>X</span></li>
76
  <li><span>X</span></li>
77
  <li><span>X</span></li>
78
  <li><span>X</span></li>
79
  <li><span>X</span></li>
80
  <li><span>X</span></li>
81
  <li><span>X</span></li>
82
</ol>
83
<ol class="marker">
84
  <li><span>X</span></li>
85
  <li><span>X</span></li>
86
  <li><span>X</span></li>
87
  <li><span>X</span></li>
88
  <li><span>X</span></li>
89
  <li><span>X</span></li>
90
  <li><span>X</span></li>
91
  <li><span>X</span></li>
92
  <li><span>X</span></li>
93
</ol>
94
<ol class="before">
95
  <li><span>X</span></li>
96
  <li><span>X</span></li>
97
  <li><span>X</span></li>
98
  <li><span>X</span></li>
99
  <li><span>X</span></li>
100
  <li><span>X</span></li>
101
  <li><span>X</span></li>
102
  <li><span>X</span></li>
103
  <li><span>X</span></li>
104
</ol>
105
<ol class="after">
106
  <li><span>X</span></li>
107
  <li><span>X</span></li>
108
  <li><span>X</span></li>
109
  <li><span>X</span></li>
110
  <li><span>X</span></li>
111
  <li><span>X</span></li>
112
  <li><span>X</span></li>
113
  <li><span>X</span></li>
114
  <li><span>X</span></li>
115
</ol>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/marker-hit-testing-expected.txt +30 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/marker-hit-testing-expected.txt_sec1
1
 
2
3
FAIL outside image ::marker's content assert_equals: event.target expected Element node <li class="image"></li> but got Element node <ol class="outside" data-x="-65">
4
  <li class="image"></l...
5
FAIL outside image ::marker assert_equals: event.target expected Element node <li class="image"></li> but got Element node <html><head><meta charset="utf-8">
6
<title>CSS Pseudo-Elem...
7
FAIL outside string ::marker's content assert_equals: event.target expected Element node <li class="string"></li> but got Element node <ol class="outside" data-x="-65">
8
  <li class="image"></l...
9
FAIL outside string ::marker assert_equals: event.target expected Element node <li class="string"></li> but got Element node <li class="image"></li>
10
FAIL outside marker ::marker's content assert_equals: event.target expected Element node <li class="marker"></li> but got Element node <ol class="outside" data-x="-65">
11
  <li class="image"></l...
12
FAIL outside marker ::marker assert_equals: event.target expected Element node <li class="marker"></li> but got Element node <li class="string"></li>
13
FAIL outside nested image ::marker's content assert_equals: event.target expected Element node <li class="nested image"></li> but got Element node <ol class="outside" data-x="-65">
14
  <li class="image"></l...
15
FAIL outside nested image ::marker assert_equals: event.target expected Element node <li class="nested image"></li> but got Element node <li class="marker"></li>
16
FAIL outside nested string ::marker's content assert_equals: event.target expected Element node <li class="nested string"></li> but got Element node <ol class="outside" data-x="-65">
17
  <li class="image"></l...
18
FAIL outside nested string ::marker assert_equals: event.target expected Element node <li class="nested string"></li> but got Element node <li class="nested image"></li>
19
PASS inside image ::marker's content 
20
FAIL inside image ::marker assert_equals: event.target expected Element node <li class="image"></li> but got Element node <html><head><meta charset="utf-8">
21
<title>CSS Pseudo-Elem...
22
PASS inside string ::marker's content 
23
FAIL inside string ::marker assert_equals: event.target expected Element node <li class="string"></li> but got Element node <li class="image"></li>
24
PASS inside marker ::marker's content 
25
FAIL inside marker ::marker assert_equals: event.target expected Element node <li class="marker"></li> but got Element node <li class="string"></li>
26
PASS inside nested image ::marker's content 
27
FAIL inside nested image ::marker assert_equals: event.target expected Element node <li class="nested image"></li> but got Element node <li class="marker"></li>
28
PASS inside nested string ::marker's content 
29
FAIL inside nested string ::marker assert_equals: event.target expected Element node <li class="nested string"></li> but got Element node <li class="nested image"></li>
30
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/marker-hit-testing.html +96 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/marker-hit-testing.html_sec1
1
<!DOCTYPE html>
2
<meta charset="utf-8">
3
<title>CSS Pseudo-Elements Test: Hit testing ::marker</title>
4
<link rel="help" href="https://drafts.csswg.org/css-pseudo-4/#marker-pseudo">
5
<link rel="author" title="Oriol Brufau" href="mailto:obrufau@igalia.com">
6
<meta name="assert" content="This test checks that hit-testing a ::marker, the APIs provide the nearest element ancestor." />
7
<link rel="stylesheet" type="text/css" href="/fonts/ahem.css" />
8
<style>
9
ol {
10
  display: inline-block;
11
  padding-left: 100px;
12
}
13
li {
14
  font: 50px/100px Ahem;
15
  width: 50px;
16
}
17
.inside {
18
  list-style-position: inside;
19
}
20
.image {
21
  list-style-image: url("/images/green-100x50.png");
22
}
23
.string {
24
  list-style-type: "X";
25
}
26
.marker::marker {
27
  content: "X";
28
}
29
.nested {
30
  display: block;
31
}
32
.nested::before {
33
  content: '';
34
  display: list-item;
35
}
36
</style>
37
<!-- The <li> are 50px wide, and the ::marker are at least 50px wide.
38
     Since they are outside, try to locate them at -40px to the left of
39
     the <li>, i.e. -65px from the center of the <li> -->
40
<ol class="outside" data-x="-65">
41
  <li class="image"></li>
42
  <li class="string"></li>
43
  <li class="marker"></li>
44
  <li class="nested image"></li>
45
  <li class="nested string"></li>
46
</ol>
47
<!-- The <li> are 50px wide, and the inside ::marker are at least 50px,
48
     so locate them at the horizontal center of the <li> -->
49
<ol class="inside" data-x="0">
50
  <li class="image"></li>
51
  <li class="string"></li>
52
  <li class="marker"></li>
53
  <li class="nested image"></li>
54
  <li class="nested string"></li>
55
</ol>
56
<script src="/resources/testharness.js"></script>
57
<script src="/resources/testharnessreport.js"></script>
58
<script src="/resources/testdriver.js"></script>
59
<script src="/resources/testdriver-actions.js"></script>
60
<script src="/resources/testdriver-vendor.js"></script>
61
<script>
62
function check(event, li) {
63
  assert_equals(event.target, li, "event.target");
64
  if (event.path) {
65
    assert_equals(event.path[0], li, "event.path");
66
  }
67
  const el = document.elementFromPoint(event.clientX, event.clientY);
68
  assert_equals(el, li, "elementFromPoint");
69
}
70
(async function() {
71
  setup({ explicit_done: true });
72
  for (let list of document.querySelectorAll("ol")) {
73
    for (let li of list.querySelectorAll("li")) {
74
      const listener = e => check(e, li);
75
      async_test(function(t) {
76
        document.addEventListener("mousedown", t.step_func_done(listener));
77
      }, list.className + " " + li.className + " ::marker's content");
78
      async_test(function(t) {
79
        document.addEventListener("mouseup", t.step_func_done(listener));
80
      }, list.className + " " + li.className + " ::marker");
81
      await new test_driver.Actions()
82
        // Send an event at the vertical middle of the <li>, this should
83
        // hit the contents of the ::marker
84
        .pointerMove(+list.dataset.x, 0, {origin: li})
85
        .pointerDown()
86
        // The ::marker is 100px tall but its contents only 50px tall.
87
        // Send an event inside the ::marker but above its contents.
88
        .pointerMove(+list.dataset.x, -40, {origin: li})
89
        .pointerUp()
90
        .send();
91
    }
92
  }
93
  done();
94
})();
95
</script>
96
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/marker-inherit-line-height-expected.html +17 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/marker-inherit-line-height-expected.html_sec1
1
<!doctype html>
2
<title>Reference: Check that :marker inherits line-height</title>
3
<link rel="stylesheet" type="text/css" href="/fonts/ahem.css" />
4
<style>
5
div {
6
  font: 128px/1 Ahem;
7
  border: 2px solid blue;
8
  background: orange;
9
  color: black;
10
}
11
</style>
12
13
<p>There should be two black rectangles below with no space between them and
14
  the border above/below.</p>
15
<div>
16
  1. X
17
</div>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/marker-inherit-line-height.html +30 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/marker-inherit-line-height.html_sec1
1
<!doctype html>
2
<title>Check that :marker inherits line-height</title>
3
<link rel=help href="https://drafts.csswg.org/css-pseudo-4/#tree-abiding">
4
<link rel=help href="https://drafts.csswg.org/css-pseudo-4/#marker-pseudo">
5
<link rel=help href="https://drafts.csswg.org/css-display-3/#list-items">
6
<link rel=help href="https://bugzilla.mozilla.org/show_bug.cgi?id=1415759">
7
<link rel=match href=marker-inherit-line-height-ref.html>
8
<link rel="stylesheet" type="text/css" href="/fonts/ahem.css" />
9
<style>
10
div {
11
  font: 128px/1 Ahem;
12
  border: 2px solid blue;
13
  background: orange;
14
  color: black;
15
}
16
ol {
17
  margin: 0;
18
  padding: 0;
19
  list-style-position: inside;
20
  list-style-type: decimal;
21
}
22
</style>
23
24
<p>There should be two black rectangles below with no space between them and
25
  the border above/below.</p>
26
<div>
27
  <ol>
28
    <li>X
29
  </ol>
30
</div>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/marker-intrinsic-contribution-001-expected.txt +10 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/marker-intrinsic-contribution-001-expected.txt_sec1
1
2
PASS Intrinsic contribution of outside symbol marker 
3
PASS Intrinsic contribution of outside decimal marker 
4
PASS Intrinsic contribution of outside string marker 
5
PASS Intrinsic contribution of outside content marker 
6
PASS Intrinsic contribution of inside symbol marker 
7
PASS Intrinsic contribution of inside decimal marker 
8
FAIL Intrinsic contribution of inside string marker assert_equals: clientWidth expected 60 but got 30
9
FAIL Intrinsic contribution of inside content marker assert_equals: clientWidth expected 70 but got 30
10
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/marker-intrinsic-contribution-001.html +66 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/marker-intrinsic-contribution-001.html_sec1
1
<!DOCTYPE html>
2
<meta charset="utf-8">
3
<title>CSS Test: intrinsic contribution of ::marker</title>
4
<link rel="author" title="Oriol Brufau" href="mailto:obrufau@igalia.com">
5
<link rel="help" href="https://drafts.csswg.org/css-pseudo-4/#marker-pseudo">
6
<link rel="help" href="https://drafts.csswg.org/css-sizing-3/#intrinsic">
7
<meta name="assert" content="Checks that that outside markers have an intrinsic contribution of 0, and inside markers greater than 0.">
8
<link rel="stylesheet" type="text/css" href="/fonts/ahem.css" />
9
<style>
10
li {
11
  font: 10px/1 Ahem;
12
  border: 5px solid orange;
13
  float: left;
14
  clear: left;
15
}
16
.inside {
17
  list-style-position: inside;
18
}
19
.symbol {
20
  list-style-type: disc;
21
}
22
.decimal {
23
  list-style-type: decimal;
24
}
25
.string {
26
  list-style-type: "string";
27
}
28
.content::marker {
29
  content: "content";
30
}
31
</style>
32
<div id="log"></div>
33
<ol class="outside">
34
  <li class="symbol" data-width="0"></li>
35
  <li class="decimal" data-width="0"></li>
36
  <li class="string" data-width="0"></li>
37
  <li class="content" data-width="0"></li>
38
</ol>
39
<ol class="inside">
40
  <li class="symbol" data-min-width="0"></li>
41
  <li class="decimal" data-width="30"></li>
42
  <li class="string" data-width="60"></li>
43
  <li class="content" data-width="70"></li>
44
</ol>
45
<script src="/resources/testharness.js"></script>
46
<script src="/resources/testharnessreport.js"></script>
47
<script>
48
"use strict";
49
function check(item, msg) {
50
  test(function() {
51
    if (item.dataset.width) {
52
      assert_equals(item.clientWidth, +item.dataset.width, "clientWidth");
53
    } else {
54
      assert_greater_than(item.clientWidth, +item.dataset.minWidth, "clientWidth");
55
    }
56
  }, msg);
57
}
58
59
for (let item of document.querySelectorAll(".outside > li")) {
60
  check(item, `Intrinsic contribution of outside ${item.className} marker`);
61
}
62
63
for (let item of document.querySelectorAll(".inside > li")) {
64
  check(item, `Intrinsic contribution of inside ${item.className} marker`);
65
}
66
</script>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/marker-intrinsic-contribution-002-expected.html +38 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/marker-intrinsic-contribution-002-expected.html_sec1
1
<!DOCTYPE html>
2
<meta charset="utf-8">
3
<title>CSS Reference: intrinsic contribution of ::marker</title>
4
<link rel="author" title="Oriol Brufau" href="mailto:obrufau@igalia.com">
5
<style>
6
li {
7
  border: 5px solid;
8
  float: left;
9
  clear: left;
10
}
11
.inside {
12
  list-style-position: inside;
13
}
14
.symbol {
15
  list-style-type: disc;
16
}
17
.decimal {
18
  list-style-type: decimal;
19
}
20
.string {
21
  list-style-type: "string";
22
}
23
.content::marker {
24
  content: "content";
25
}
26
</style>
27
<ol class="inside">
28
  <li class="symbol"></li>
29
  <li class="decimal"></li>
30
  <li class="string"></li>
31
  <li class="content"></li>
32
</ol>
33
<ol>
34
  <li class="symbol"></li>
35
  <li class="decimal"></li>
36
  <li class="string"></li>
37
  <li class="content"></li>
38
</ol>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/marker-intrinsic-contribution-002.html +58 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/marker-intrinsic-contribution-002.html_sec1
1
<!DOCTYPE html>
2
<html class="reftest-wait">
3
<meta charset="utf-8">
4
<title>CSS Test: intrinsic contribution of ::marker</title>
5
<link rel="author" title="Oriol Brufau" href="mailto:obrufau@igalia.com">
6
<link rel="match" href="marker-intrinsic-contribution-002-ref.html">
7
<link rel="help" href="https://drafts.csswg.org/css-pseudo-4/#marker-pseudo">
8
<link rel="help" href="https://drafts.csswg.org/css-sizing-3/#intrinsic">
9
<meta name="assert" content="Checks that that the intrinsic contribution of a ::marker is updated when 'list-style-position' changes.">
10
<style>
11
li {
12
  border: 5px solid;
13
  float: left;
14
  clear: left;
15
}
16
.inside {
17
  list-style-position: inside;
18
}
19
.symbol {
20
  list-style-type: disc;
21
}
22
.decimal {
23
  list-style-type: decimal;
24
}
25
.string {
26
  list-style-type: "string";
27
}
28
.content::marker {
29
  content: "content";
30
}
31
</style>
32
<ol>
33
  <li class="symbol"></li>
34
  <li class="decimal"></li>
35
  <li class="string"></li>
36
  <li class="content"></li>
37
</ol>
38
<ol class="inside">
39
  <li class="symbol"></li>
40
  <li class="decimal"></li>
41
  <li class="string"></li>
42
  <li class="content"></li>
43
</ol>
44
<script src="/common/reftest-wait.js"></script>
45
<script>
46
"use strict";
47
// Use a "load" event listener and requestAnimationFrame to ensure that
48
// the markers will have been laid out.
49
addEventListener("load", function() {
50
  requestAnimationFrame(() => {
51
    for (let list of document.querySelectorAll("ol")) {
52
      list.classList.toggle("inside");
53
    }
54
    takeScreenshot();
55
  });
56
}, {once: true});
57
</script>
58
</html>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/marker-list-style-position-expected.html +26 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/marker-list-style-position-expected.html_sec1
1
<!DOCTYPE html>
2
<html>
3
<head>
4
<meta charset="utf-8">
5
<title>CSS Reference: ::marker pseudo elements styled with 'list-style-position' property</title>
6
<link rel="author" title="Mats Palmgren" href="mailto:mats@mozilla.com">
7
<style>
8
body { color: black; background: white; }
9
#t1 > li { list-style-position: inside; }
10
#t2 > li { list-style-position: outside; }
11
#t3 > li { list-style-position: inside; }
12
#t4 > li { list-style-position: inside; }
13
14
#t1, #t2, #t3, blue { color: blue; }
15
black { color: black; }
16
17
span { font-size: 32pt; }
18
</style>
19
</head>
20
<body>
21
<ol id="t1"><li></li><li><black>B</black></li><li><span><black>C</black></span></li></ol>
22
<ol id="t2"><li></li><li><black>B</black></li><li><span><black>C</black></span></li></ol>
23
<ol id="t3"><li></li><li>B</li><li><span>C</span></li></ol>
24
<ol id="t4"><li></li><li><blue>B</blue></li><li><span><blue>C</blue></span></li></ol>
25
</body>
26
</html>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/marker-list-style-position.html +40 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/marker-list-style-position.html_sec1
1
<!DOCTYPE html>
2
<html>
3
<head>
4
<meta charset="utf-8">
5
<title>CSS Test: ::marker pseudo elements styled with 'list-style-position' property</title>
6
<link rel="author" title="Mats Palmgren" href="mailto:mats@mozilla.com">
7
<!-- It's not clear whether inside ::marker should be affected by ::first-line.
8
     In the 1st reference, #t3 markers inherit the blue color (like Firefox),
9
     and in the 2nd reference they don't (like Chromium and WebKit).
10
     See https://github.com/w3c/csswg-drafts/issues/4506 -->
11
<link rel="match" href="marker-list-style-position-ref-001.html">
12
<link rel="match" href="marker-list-style-position-ref-002.html">
13
<link rel="help" href="https://drafts.csswg.org/css-pseudo-4/#marker-pseudo">
14
<meta name="assert" content="It's the list-style-position on the list item element that decides where its ::marker is placed, not the value on the ::marker itself.">
15
<style>
16
body { color: black; background: white; }
17
#t1 > li { list-style-position: inside; }
18
#t1 li::marker { list-style-position: outside; color: blue; }
19
20
#t2 > li { list-style-position: outside; }
21
#t2 li::marker { list-style-position: inside; color: blue; }
22
23
#t3 > li { list-style-position: inside; }
24
#t3 > li::first-line { list-style-position: outside; color: blue; }
25
#t3 li::marker { list-style-position: outside; }
26
27
#t4 > li { list-style-position: inside; }
28
#t4 > li::first-letter { list-style-position: outside; color: blue; }
29
#t4 li::marker { list-style-position: outside; }
30
31
span { font-size: 32pt; }
32
</style>
33
</head>
34
<body>
35
<ol id="t1"><li></li><li>B</li><li><span>C</span></li></ol>
36
<ol id="t2"><li></li><li>B</li><li><span>C</span></li></ol>
37
<ol id="t3"><li></li><li>B</li><li><span>C</span></li></ol>
38
<ol id="t4"><li></li><li>B</li><li><span>C</span></li></ol>
39
</body>
40
</html>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/marker-reverted-styles-expected.txt +17 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/marker-reverted-styles-expected.txt_sec1
1
2
FAIL Reverted computed values for outside symbol assert_object_equals: property "font-variant-numeric" expected "normal" got "tabular-nums"
3
FAIL Reverted computed values for outside decimal assert_object_equals: property "font-variant-numeric" expected "normal" got "tabular-nums"
4
FAIL Reverted computed values for outside string assert_object_equals: property "font-variant-numeric" expected "normal" got "tabular-nums"
5
PASS Reverted computed values for outside marker 
6
FAIL Reverted computed values for inside symbol assert_object_equals: property "font-variant-numeric" expected "normal" got "tabular-nums"
7
FAIL Reverted computed values for inside decimal assert_object_equals: property "font-variant-numeric" expected "normal" got "tabular-nums"
8
FAIL Reverted computed values for inside string assert_object_equals: property "font-variant-numeric" expected "normal" got "tabular-nums"
9
PASS Reverted computed values for inside marker 
10
outside symbol
11
outside decimal
12
outside string
13
outside marker
14
inside symbol
15
inside decimal
16
inside string
17
inside marker
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/marker-reverted-styles.html +49 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/marker-reverted-styles.html_sec1
1
<!DOCTYPE html>
2
<meta charset="utf-8">
3
<title>CSS Pseudo-Elements Test: Reverted styles for ::marker</title>
4
<link rel="help" href="https://drafts.csswg.org/css-pseudo-4/#marker-pseudo">
5
<link rel="help" href="https://drafts.csswg.org/css-cascade-4/#default">
6
<link rel="author" title="Oriol Brufau" href="mailto:obrufau@igalia.com">
7
<meta name="assert" content="This test checks that ::marker styles can be reverted to UA origin." />
8
<style>
9
.revert::marker { all: revert }
10
.outside { list-style-position: outside }
11
.inside { list-style-position: inside }
12
.symbol { list-style-type: symbol }
13
.decimal { list-style-type: decimal }
14
.string { list-style-type: "string" }
15
.marker::marker { content: "marker" }
16
</style>
17
<div id="log"></div>
18
<ul>
19
  <li class="outside symbol">outside symbol</li>
20
  <li class="outside decimal">outside decimal</li>
21
  <li class="outside string">outside string</li>
22
  <li class="outside marker">outside marker</li>
23
  <li class="inside symbol">inside symbol</li>
24
  <li class="inside decimal">inside decimal</li>
25
  <li class="inside string">inside string</li>
26
  <li class="inside marker">inside marker</li>
27
</ul>
28
<script src="/resources/testharness.js"></script>
29
<script src="/resources/testharnessreport.js"></script>
30
<script src="/css/support/computed-testcommon.js"></script>
31
<script>
32
function getStyles(style) {
33
  const obj = {};
34
  for (let i = 0; i < style.length; ++i) {
35
    const prop = style.item(i);
36
    obj[prop] = style.getPropertyValue(prop);
37
  }
38
  return obj;
39
}
40
for (const target of document.querySelectorAll("li")) {
41
  test(function() {
42
    const cs = getComputedStyle(target, "::marker");
43
    const defaultStyles = getStyles(cs);
44
    target.classList.add("revert");
45
    const revertedStyles = getStyles(cs);
46
    assert_object_equals(revertedStyles, defaultStyles);
47
  }, `Reverted computed values for ${target.className}`);
48
}
49
</script>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/marker-text-combine-upright-expected.html +36 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/marker-text-combine-upright-expected.html_sec1
1
<!DOCTYPE html>
2
<meta charset="utf-8">
3
<title>CSS Reference: ::marker supports 'text-combine-upright'</title>
4
<style>
5
body {
6
  writing-mode: vertical-lr;
7
}
8
ol, ul {
9
  display: flow-root;
10
  list-style-type: none;
11
}
12
.symbol {
13
  list-style-type: disc;
14
}
15
ul {
16
  list-style-position: inside;
17
}
18
ol span {
19
  display: inline-block;
20
  margin-top: -50px;
21
  height: 50px;
22
  text-align: end;
23
}
24
span {
25
  text-combine-upright: all;
26
}
27
</style>
28
<ol><li><span>1. </span>outside decimal</li></ol>
29
<ol><li><span>2. </span>outside string</li></ol>
30
<ol><li><span>3. </span>outside content</li></ol>
31
<ol class="symbol"><li>outside symbol</li></ol>
32
33
<ul><li><span>1. </span>inside decimal</li></ul>
34
<ul><li><span>2. </span>inside string</li></ul>
35
<ul><li><span>3. </span>inside content</li></ul>
36
<ul class="symbol"><li>inside symbol</li></ul>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/marker-text-combine-upright.html +43 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/marker-text-combine-upright.html_sec1
1
<!DOCTYPE html>
2
<meta charset="utf-8">
3
<title>CSS Test: ::marker supports 'text-combine-upright'</title>
4
<link rel="author" title="Oriol Brufau" href="mailto:obrufau@igalia.com">
5
<link rel="match" href="marker-text-combine-upright-ref.html">
6
<link rel="help" href="https://drafts.csswg.org/css-pseudo-4/#marker-pseudo">
7
<link rel="help" href="https://drafts.csswg.org/css-writing-modes-4/#propdef-text-combine-upright">
8
<meta name="assert" content="Checks that 'text-combine-upright' works well in ::marker, and doesn't crash.">
9
<style>
10
body {
11
  writing-mode: vertical-lr;
12
}
13
ol, ul {
14
  display: flow-root;
15
}
16
ul {
17
  list-style-position: inside;
18
}
19
.decimal {
20
  list-style-type: decimal;
21
}
22
.string {
23
  list-style-type: "2. ";
24
}
25
.content ::marker {
26
  content: "3. ";
27
}
28
.symbol {
29
  list-style-type: disc;
30
}
31
::marker {
32
  text-combine-upright: all;
33
}
34
</style>
35
<ol class="decimal"><li>outside decimal</li></ol>
36
<ol class="string"><li>outside string</li></ol>
37
<ol class="content"><li>outside content</li></ol>
38
<ol class="symbol"><li>outside symbol</li></ol>
39
40
<ul class="decimal"><li>inside decimal</li></ul>
41
<ul class="string"><li>inside string</li></ul>
42
<ul class="content"><li>inside content</li></ul>
43
<ul class="symbol"><li>inside symbol</li></ul>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/marker-unicode-bidi-default-expected.html +65 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/marker-unicode-bidi-default-expected.html_sec1
1
<!DOCTYPE html>
2
<meta charset="utf-8" />
3
<title>CSS Reftest Reference</title>
4
<link rel="author" title="Oriol Brufau" href="mailto:obrufau@igalia.com" />
5
<link rel="mismatch" href="marker-unicode-bidi-normal-ref.html">
6
<style>
7
ol {
8
  float: left;
9
  list-style-type: none;
10
}
11
.rtl {
12
  direction: rtl;
13
}
14
.marker {
15
  unicode-bidi: isolate;
16
  color: blue;
17
}
18
.text {
19
  background: yellow;
20
}
21
</style>
22
<ol class="ltr">
23
  <li><span class="marker">&#x627;&#x644;</span><span class="text">0</span></li>
24
  <li><span class="marker">&#x61;&#x627;&#x644;</span><span class="text">0</span></li>
25
  <li><span class="marker">&#x627;&#x644;&#x62;</span><span class="text">0</span></li>
26
  <li><span class="marker">&#x61;&#x627;&#x644;&#x62;</span><span class="text">0</span></li>
27
  <li><span class="marker">&#x61;&#x62;&#x627;&#x644;</span><span class="text">0</span></li>
28
  <li><span class="marker">&#x627;&#x644;&#x61;&#x62;</span><span class="text">0</span></li>
29
  <li><span class="marker">&#x31;&#x627;&#x644;</span><span class="text">0</span></li>
30
  <li><span class="marker">&#x627;&#x644;&#x32;</span><span class="text">0</span></li>
31
  <li><span class="marker">&#x31;&#x627;&#x644;&#x32;</span><span class="text">0</span></li>
32
</ol>
33
<ol class="rtl">
34
  <li><span class="marker">&#x627;&#x644;</span><span class="text">0</span></li>
35
  <li><span class="marker">&#x61;&#x627;&#x644;</span><span class="text">0</span></li>
36
  <li><span class="marker">&#x627;&#x644;&#x62;</span><span class="text">0</span></li>
37
  <li><span class="marker">&#x61;&#x627;&#x644;&#x62;</span><span class="text">0</span></li>
38
  <li><span class="marker">&#x61;&#x62;&#x627;&#x644;</span><span class="text">0</span></li>
39
  <li><span class="marker">&#x627;&#x644;&#x61;&#x62;</span><span class="text">0</span></li>
40
  <li><span class="marker">&#x31;&#x627;&#x644;</span><span class="text">0</span></li>
41
  <li><span class="marker">&#x627;&#x644;&#x32;</span><span class="text">0</span></li>
42
  <li><span class="marker">&#x31;&#x627;&#x644;&#x32;</span><span class="text">0</span></li>
43
</ol>
44
<ol class="ltr">
45
  <li><span class="marker">&#x627;&#x644;</span><span class="text">0</span></li>
46
  <li><span class="marker">&#x61;&#x627;&#x644;</span><span class="text">0</span></li>
47
  <li><span class="marker">&#x627;&#x644;&#x62;</span><span class="text">0</span></li>
48
  <li><span class="marker">&#x61;&#x627;&#x644;&#x62;</span><span class="text">0</span></li>
49
  <li><span class="marker">&#x61;&#x62;&#x627;&#x644;</span><span class="text">0</span></li>
50
  <li><span class="marker">&#x627;&#x644;&#x61;&#x62;</span><span class="text">0</span></li>
51
  <li><span class="marker">&#x31;&#x627;&#x644;</span><span class="text">0</span></li>
52
  <li><span class="marker">&#x627;&#x644;&#x32;</span><span class="text">0</span></li>
53
  <li><span class="marker">&#x31;&#x627;&#x644;&#x32;</span><span class="text">0</span></li>
54
</ol>
55
<ol class="rtl">
56
  <li><span class="marker">&#x627;&#x644;</span><span class="text">0</span></li>
57
  <li><span class="marker">&#x61;&#x627;&#x644;</span><span class="text">0</span></li>
58
  <li><span class="marker">&#x627;&#x644;&#x62;</span><span class="text">0</span></li>
59
  <li><span class="marker">&#x61;&#x627;&#x644;&#x62;</span><span class="text">0</span></li>
60
  <li><span class="marker">&#x61;&#x62;&#x627;&#x644;</span><span class="text">0</span></li>
61
  <li><span class="marker">&#x627;&#x644;&#x61;&#x62;</span><span class="text">0</span></li>
62
  <li><span class="marker">&#x31;&#x627;&#x644;</span><span class="text">0</span></li>
63
  <li><span class="marker">&#x627;&#x644;&#x32;</span><span class="text">0</span></li>
64
  <li><span class="marker">&#x31;&#x627;&#x644;&#x32;</span><span class="text">0</span></li>
65
</ol>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/marker-unicode-bidi-default-ref-expected.html +65 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/marker-unicode-bidi-default-ref-expected.html_sec1
1
<!DOCTYPE html>
2
<meta charset="utf-8" />
3
<title>CSS Reftest Reference</title>
4
<link rel="author" title="Oriol Brufau" href="mailto:obrufau@igalia.com" />
5
<link rel="mismatch" href="marker-unicode-bidi-default-ref.html">
6
<style>
7
ol {
8
  float: left;
9
  list-style-type: none;
10
}
11
.rtl {
12
  direction: rtl;
13
}
14
.marker {
15
  unicode-bidi: normal;
16
  color: blue;
17
}
18
.text {
19
  background: yellow;
20
}
21
</style>
22
<ol class="ltr">
23
  <li><span class="marker">&#x627;&#x644;</span><span class="text">0</span></li>
24
  <li><span class="marker">&#x61;&#x627;&#x644;</span><span class="text">0</span></li>
25
  <li><span class="marker">&#x627;&#x644;&#x62;</span><span class="text">0</span></li>
26
  <li><span class="marker">&#x61;&#x627;&#x644;&#x62;</span><span class="text">0</span></li>
27
  <li><span class="marker">&#x61;&#x62;&#x627;&#x644;</span><span class="text">0</span></li>
28
  <li><span class="marker">&#x627;&#x644;&#x61;&#x62;</span><span class="text">0</span></li>
29
  <li><span class="marker">&#x31;&#x627;&#x644;</span><span class="text">0</span></li>
30
  <li><span class="marker">&#x627;&#x644;&#x32;</span><span class="text">0</span></li>
31
  <li><span class="marker">&#x31;&#x627;&#x644;&#x32;</span><span class="text">0</span></li>
32
</ol>
33
<ol class="rtl">
34
  <li><span class="marker">&#x627;&#x644;</span><span class="text">0</span></li>
35
  <li><span class="marker">&#x61;&#x627;&#x644;</span><span class="text">0</span></li>
36
  <li><span class="marker">&#x627;&#x644;&#x62;</span><span class="text">0</span></li>
37
  <li><span class="marker">&#x61;&#x627;&#x644;&#x62;</span><span class="text">0</span></li>
38
  <li><span class="marker">&#x61;&#x62;&#x627;&#x644;</span><span class="text">0</span></li>
39
  <li><span class="marker">&#x627;&#x644;&#x61;&#x62;</span><span class="text">0</span></li>
40
  <li><span class="marker">&#x31;&#x627;&#x644;</span><span class="text">0</span></li>
41
  <li><span class="marker">&#x627;&#x644;&#x32;</span><span class="text">0</span></li>
42
  <li><span class="marker">&#x31;&#x627;&#x644;&#x32;</span><span class="text">0</span></li>
43
</ol>
44
<ol class="ltr">
45
  <li><span class="marker">&#x627;&#x644;</span><span class="text">0</span></li>
46
  <li><span class="marker">&#x61;&#x627;&#x644;</span><span class="text">0</span></li>
47
  <li><span class="marker">&#x627;&#x644;&#x62;</span><span class="text">0</span></li>
48
  <li><span class="marker">&#x61;&#x627;&#x644;&#x62;</span><span class="text">0</span></li>
49
  <li><span class="marker">&#x61;&#x62;&#x627;&#x644;</span><span class="text">0</span></li>
50
  <li><span class="marker">&#x627;&#x644;&#x61;&#x62;</span><span class="text">0</span></li>
51
  <li><span class="marker">&#x31;&#x627;&#x644;</span><span class="text">0</span></li>
52
  <li><span class="marker">&#x627;&#x644;&#x32;</span><span class="text">0</span></li>
53
  <li><span class="marker">&#x31;&#x627;&#x644;&#x32;</span><span class="text">0</span></li>
54
</ol>
55
<ol class="rtl">
56
  <li><span class="marker">&#x627;&#x644;</span><span class="text">0</span></li>
57
  <li><span class="marker">&#x61;&#x627;&#x644;</span><span class="text">0</span></li>
58
  <li><span class="marker">&#x627;&#x644;&#x62;</span><span class="text">0</span></li>
59
  <li><span class="marker">&#x61;&#x627;&#x644;&#x62;</span><span class="text">0</span></li>
60
  <li><span class="marker">&#x61;&#x62;&#x627;&#x644;</span><span class="text">0</span></li>
61
  <li><span class="marker">&#x627;&#x644;&#x61;&#x62;</span><span class="text">0</span></li>
62
  <li><span class="marker">&#x31;&#x627;&#x644;</span><span class="text">0</span></li>
63
  <li><span class="marker">&#x627;&#x644;&#x32;</span><span class="text">0</span></li>
64
  <li><span class="marker">&#x31;&#x627;&#x644;&#x32;</span><span class="text">0</span></li>
65
</ol>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/marker-unicode-bidi-default-ref.html +65 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/marker-unicode-bidi-default-ref.html_sec1
1
<!DOCTYPE html>
2
<meta charset="utf-8" />
3
<title>CSS Reftest Reference</title>
4
<link rel="author" title="Oriol Brufau" href="mailto:obrufau@igalia.com" />
5
<link rel="mismatch" href="marker-unicode-bidi-normal-ref.html">
6
<style>
7
ol {
8
  float: left;
9
  list-style-type: none;
10
}
11
.rtl {
12
  direction: rtl;
13
}
14
.marker {
15
  unicode-bidi: isolate;
16
  color: blue;
17
}
18
.text {
19
  background: yellow;
20
}
21
</style>
22
<ol class="ltr">
23
  <li><span class="marker">&#x627;&#x644;</span><span class="text">0</span></li>
24
  <li><span class="marker">&#x61;&#x627;&#x644;</span><span class="text">0</span></li>
25
  <li><span class="marker">&#x627;&#x644;&#x62;</span><span class="text">0</span></li>
26
  <li><span class="marker">&#x61;&#x627;&#x644;&#x62;</span><span class="text">0</span></li>
27
  <li><span class="marker">&#x61;&#x62;&#x627;&#x644;</span><span class="text">0</span></li>
28
  <li><span class="marker">&#x627;&#x644;&#x61;&#x62;</span><span class="text">0</span></li>
29
  <li><span class="marker">&#x31;&#x627;&#x644;</span><span class="text">0</span></li>
30
  <li><span class="marker">&#x627;&#x644;&#x32;</span><span class="text">0</span></li>
31
  <li><span class="marker">&#x31;&#x627;&#x644;&#x32;</span><span class="text">0</span></li>
32
</ol>
33
<ol class="rtl">
34
  <li><span class="marker">&#x627;&#x644;</span><span class="text">0</span></li>
35
  <li><span class="marker">&#x61;&#x627;&#x644;</span><span class="text">0</span></li>
36
  <li><span class="marker">&#x627;&#x644;&#x62;</span><span class="text">0</span></li>
37
  <li><span class="marker">&#x61;&#x627;&#x644;&#x62;</span><span class="text">0</span></li>
38
  <li><span class="marker">&#x61;&#x62;&#x627;&#x644;</span><span class="text">0</span></li>
39
  <li><span class="marker">&#x627;&#x644;&#x61;&#x62;</span><span class="text">0</span></li>
40
  <li><span class="marker">&#x31;&#x627;&#x644;</span><span class="text">0</span></li>
41
  <li><span class="marker">&#x627;&#x644;&#x32;</span><span class="text">0</span></li>
42
  <li><span class="marker">&#x31;&#x627;&#x644;&#x32;</span><span class="text">0</span></li>
43
</ol>
44
<ol class="ltr">
45
  <li><span class="marker">&#x627;&#x644;</span><span class="text">0</span></li>
46
  <li><span class="marker">&#x61;&#x627;&#x644;</span><span class="text">0</span></li>
47
  <li><span class="marker">&#x627;&#x644;&#x62;</span><span class="text">0</span></li>
48
  <li><span class="marker">&#x61;&#x627;&#x644;&#x62;</span><span class="text">0</span></li>
49
  <li><span class="marker">&#x61;&#x62;&#x627;&#x644;</span><span class="text">0</span></li>
50
  <li><span class="marker">&#x627;&#x644;&#x61;&#x62;</span><span class="text">0</span></li>
51
  <li><span class="marker">&#x31;&#x627;&#x644;</span><span class="text">0</span></li>
52
  <li><span class="marker">&#x627;&#x644;&#x32;</span><span class="text">0</span></li>
53
  <li><span class="marker">&#x31;&#x627;&#x644;&#x32;</span><span class="text">0</span></li>
54
</ol>
55
<ol class="rtl">
56
  <li><span class="marker">&#x627;&#x644;</span><span class="text">0</span></li>
57
  <li><span class="marker">&#x61;&#x627;&#x644;</span><span class="text">0</span></li>
58
  <li><span class="marker">&#x627;&#x644;&#x62;</span><span class="text">0</span></li>
59
  <li><span class="marker">&#x61;&#x627;&#x644;&#x62;</span><span class="text">0</span></li>
60
  <li><span class="marker">&#x61;&#x62;&#x627;&#x644;</span><span class="text">0</span></li>
61
  <li><span class="marker">&#x627;&#x644;&#x61;&#x62;</span><span class="text">0</span></li>
62
  <li><span class="marker">&#x31;&#x627;&#x644;</span><span class="text">0</span></li>
63
  <li><span class="marker">&#x627;&#x644;&#x32;</span><span class="text">0</span></li>
64
  <li><span class="marker">&#x31;&#x627;&#x644;&#x32;</span><span class="text">0</span></li>
65
</ol>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/marker-unicode-bidi-default.html +84 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/marker-unicode-bidi-default.html_sec1
1
<!DOCTYPE html>
2
<meta charset="utf-8">
3
<title>::marker has 'unicode-bidi: isolate' by default</title>
4
<link rel="author" title="Oriol Brufau" href="mailto:obrufau@igalia.com" />
5
<link rel="help" href="https://drafts.csswg.org/css-pseudo-4/#marker-pseudo">
6
<link rel="match" href="marker-unicode-bidi-default-ref.html">
7
<meta name="assert" content="Checks that the markers are isolated from the list items by the bidi algorithm">
8
<link rel="stylesheet" type="text/css" href="/fonts/ahem.css" />
9
<style>
10
ol {
11
  float: left;
12
  list-style-position: inside;
13
}
14
.rtl {
15
  direction: rtl;
16
}
17
18
li:nth-child(1) { --marker: "\627 \644 " }
19
li:nth-child(2) { --marker: "\61 \627 \644 " }
20
li:nth-child(3) { --marker: "\627 \644 \62 " }
21
li:nth-child(4) { --marker: "\61 \627 \644 \62 " }
22
li:nth-child(5) { --marker: "\61 \62 \627 \644 " }
23
li:nth-child(6) { --marker: "\627 \644 \61 \62 " }
24
li:nth-child(7) { --marker: "\31 \627 \644 " }
25
li:nth-child(8) { --marker: "\627 \644 \32 " }
26
li:nth-child(9) { --marker: "\31 \627 \644 \32 " }
27
28
.string > li {
29
  list-style-type: var(--marker);
30
}
31
.marker > li::marker {
32
  content: var(--marker);
33
}
34
::marker {
35
  color: blue;
36
}
37
span {
38
  background: yellow;
39
}
40
</style>
41
<ol class="string ltr">
42
  <li><span>0</span></li>
43
  <li><span>0</span></li>
44
  <li><span>0</span></li>
45
  <li><span>0</span></li>
46
  <li><span>0</span></li>
47
  <li><span>0</span></li>
48
  <li><span>0</span></li>
49
  <li><span>0</span></li>
50
  <li><span>0</span></li>
51
</ol>
52
<ol class="string rtl">
53
  <li><span>0</span></li>
54
  <li><span>0</span></li>
55
  <li><span>0</span></li>
56
  <li><span>0</span></li>
57
  <li><span>0</span></li>
58
  <li><span>0</span></li>
59
  <li><span>0</span></li>
60
  <li><span>0</span></li>
61
  <li><span>0</span></li>
62
</ol>
63
<ol class="marker ltr">
64
  <li><span>0</span></li>
65
  <li><span>0</span></li>
66
  <li><span>0</span></li>
67
  <li><span>0</span></li>
68
  <li><span>0</span></li>
69
  <li><span>0</span></li>
70
  <li><span>0</span></li>
71
  <li><span>0</span></li>
72
  <li><span>0</span></li>
73
</ol>
74
<ol class="marker rtl">
75
  <li><span>0</span></li>
76
  <li><span>0</span></li>
77
  <li><span>0</span></li>
78
  <li><span>0</span></li>
79
  <li><span>0</span></li>
80
  <li><span>0</span></li>
81
  <li><span>0</span></li>
82
  <li><span>0</span></li>
83
  <li><span>0</span></li>
84
</ol>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/marker-unicode-bidi-normal-expected.html +65 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/marker-unicode-bidi-normal-expected.html_sec1
1
<!DOCTYPE html>
2
<meta charset="utf-8" />
3
<title>CSS Reftest Reference</title>
4
<link rel="author" title="Oriol Brufau" href="mailto:obrufau@igalia.com" />
5
<link rel="mismatch" href="marker-unicode-bidi-default-ref.html">
6
<style>
7
ol {
8
  float: left;
9
  list-style-type: none;
10
}
11
.rtl {
12
  direction: rtl;
13
}
14
.marker {
15
  unicode-bidi: normal;
16
  color: blue;
17
}
18
.text {
19
  background: yellow;
20
}
21
</style>
22
<ol class="ltr">
23
  <li><span class="marker">&#x627;&#x644;</span><span class="text">0</span></li>
24
  <li><span class="marker">&#x61;&#x627;&#x644;</span><span class="text">0</span></li>
25
  <li><span class="marker">&#x627;&#x644;&#x62;</span><span class="text">0</span></li>
26
  <li><span class="marker">&#x61;&#x627;&#x644;&#x62;</span><span class="text">0</span></li>
27
  <li><span class="marker">&#x61;&#x62;&#x627;&#x644;</span><span class="text">0</span></li>
28
  <li><span class="marker">&#x627;&#x644;&#x61;&#x62;</span><span class="text">0</span></li>
29
  <li><span class="marker">&#x31;&#x627;&#x644;</span><span class="text">0</span></li>
30
  <li><span class="marker">&#x627;&#x644;&#x32;</span><span class="text">0</span></li>
31
  <li><span class="marker">&#x31;&#x627;&#x644;&#x32;</span><span class="text">0</span></li>
32
</ol>
33
<ol class="rtl">
34
  <li><span class="marker">&#x627;&#x644;</span><span class="text">0</span></li>
35
  <li><span class="marker">&#x61;&#x627;&#x644;</span><span class="text">0</span></li>
36
  <li><span class="marker">&#x627;&#x644;&#x62;</span><span class="text">0</span></li>
37
  <li><span class="marker">&#x61;&#x627;&#x644;&#x62;</span><span class="text">0</span></li>
38
  <li><span class="marker">&#x61;&#x62;&#x627;&#x644;</span><span class="text">0</span></li>
39
  <li><span class="marker">&#x627;&#x644;&#x61;&#x62;</span><span class="text">0</span></li>
40
  <li><span class="marker">&#x31;&#x627;&#x644;</span><span class="text">0</span></li>
41
  <li><span class="marker">&#x627;&#x644;&#x32;</span><span class="text">0</span></li>
42
  <li><span class="marker">&#x31;&#x627;&#x644;&#x32;</span><span class="text">0</span></li>
43
</ol>
44
<ol class="ltr">
45
  <li><span class="marker">&#x627;&#x644;</span><span class="text">0</span></li>
46
  <li><span class="marker">&#x61;&#x627;&#x644;</span><span class="text">0</span></li>
47
  <li><span class="marker">&#x627;&#x644;&#x62;</span><span class="text">0</span></li>
48
  <li><span class="marker">&#x61;&#x627;&#x644;&#x62;</span><span class="text">0</span></li>
49
  <li><span class="marker">&#x61;&#x62;&#x627;&#x644;</span><span class="text">0</span></li>
50
  <li><span class="marker">&#x627;&#x644;&#x61;&#x62;</span><span class="text">0</span></li>
51
  <li><span class="marker">&#x31;&#x627;&#x644;</span><span class="text">0</span></li>
52
  <li><span class="marker">&#x627;&#x644;&#x32;</span><span class="text">0</span></li>
53
  <li><span class="marker">&#x31;&#x627;&#x644;&#x32;</span><span class="text">0</span></li>
54
</ol>
55
<ol class="rtl">
56
  <li><span class="marker">&#x627;&#x644;</span><span class="text">0</span></li>
57
  <li><span class="marker">&#x61;&#x627;&#x644;</span><span class="text">0</span></li>
58
  <li><span class="marker">&#x627;&#x644;&#x62;</span><span class="text">0</span></li>
59
  <li><span class="marker">&#x61;&#x627;&#x644;&#x62;</span><span class="text">0</span></li>
60
  <li><span class="marker">&#x61;&#x62;&#x627;&#x644;</span><span class="text">0</span></li>
61
  <li><span class="marker">&#x627;&#x644;&#x61;&#x62;</span><span class="text">0</span></li>
62
  <li><span class="marker">&#x31;&#x627;&#x644;</span><span class="text">0</span></li>
63
  <li><span class="marker">&#x627;&#x644;&#x32;</span><span class="text">0</span></li>
64
  <li><span class="marker">&#x31;&#x627;&#x644;&#x32;</span><span class="text">0</span></li>
65
</ol>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/marker-unicode-bidi-normal-ref-expected.html +65 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/marker-unicode-bidi-normal-ref-expected.html_sec1
1
<!DOCTYPE html>
2
<meta charset="utf-8" />
3
<title>CSS Reftest Reference</title>
4
<link rel="author" title="Oriol Brufau" href="mailto:obrufau@igalia.com" />
5
<link rel="mismatch" href="marker-unicode-bidi-normal-ref.html">
6
<style>
7
ol {
8
  float: left;
9
  list-style-type: none;
10
}
11
.rtl {
12
  direction: rtl;
13
}
14
.marker {
15
  unicode-bidi: isolate;
16
  color: blue;
17
}
18
.text {
19
  background: yellow;
20
}
21
</style>
22
<ol class="ltr">
23
  <li><span class="marker">&#x627;&#x644;</span><span class="text">0</span></li>
24
  <li><span class="marker">&#x61;&#x627;&#x644;</span><span class="text">0</span></li>
25
  <li><span class="marker">&#x627;&#x644;&#x62;</span><span class="text">0</span></li>
26
  <li><span class="marker">&#x61;&#x627;&#x644;&#x62;</span><span class="text">0</span></li>
27
  <li><span class="marker">&#x61;&#x62;&#x627;&#x644;</span><span class="text">0</span></li>
28
  <li><span class="marker">&#x627;&#x644;&#x61;&#x62;</span><span class="text">0</span></li>
29
  <li><span class="marker">&#x31;&#x627;&#x644;</span><span class="text">0</span></li>
30
  <li><span class="marker">&#x627;&#x644;&#x32;</span><span class="text">0</span></li>
31
  <li><span class="marker">&#x31;&#x627;&#x644;&#x32;</span><span class="text">0</span></li>
32
</ol>
33
<ol class="rtl">
34
  <li><span class="marker">&#x627;&#x644;</span><span class="text">0</span></li>
35
  <li><span class="marker">&#x61;&#x627;&#x644;</span><span class="text">0</span></li>
36
  <li><span class="marker">&#x627;&#x644;&#x62;</span><span class="text">0</span></li>
37
  <li><span class="marker">&#x61;&#x627;&#x644;&#x62;</span><span class="text">0</span></li>
38
  <li><span class="marker">&#x61;&#x62;&#x627;&#x644;</span><span class="text">0</span></li>
39
  <li><span class="marker">&#x627;&#x644;&#x61;&#x62;</span><span class="text">0</span></li>
40
  <li><span class="marker">&#x31;&#x627;&#x644;</span><span class="text">0</span></li>
41
  <li><span class="marker">&#x627;&#x644;&#x32;</span><span class="text">0</span></li>
42
  <li><span class="marker">&#x31;&#x627;&#x644;&#x32;</span><span class="text">0</span></li>
43
</ol>
44
<ol class="ltr">
45
  <li><span class="marker">&#x627;&#x644;</span><span class="text">0</span></li>
46
  <li><span class="marker">&#x61;&#x627;&#x644;</span><span class="text">0</span></li>
47
  <li><span class="marker">&#x627;&#x644;&#x62;</span><span class="text">0</span></li>
48
  <li><span class="marker">&#x61;&#x627;&#x644;&#x62;</span><span class="text">0</span></li>
49
  <li><span class="marker">&#x61;&#x62;&#x627;&#x644;</span><span class="text">0</span></li>
50
  <li><span class="marker">&#x627;&#x644;&#x61;&#x62;</span><span class="text">0</span></li>
51
  <li><span class="marker">&#x31;&#x627;&#x644;</span><span class="text">0</span></li>
52
  <li><span class="marker">&#x627;&#x644;&#x32;</span><span class="text">0</span></li>
53
  <li><span class="marker">&#x31;&#x627;&#x644;&#x32;</span><span class="text">0</span></li>
54
</ol>
55
<ol class="rtl">
56
  <li><span class="marker">&#x627;&#x644;</span><span class="text">0</span></li>
57
  <li><span class="marker">&#x61;&#x627;&#x644;</span><span class="text">0</span></li>
58
  <li><span class="marker">&#x627;&#x644;&#x62;</span><span class="text">0</span></li>
59
  <li><span class="marker">&#x61;&#x627;&#x644;&#x62;</span><span class="text">0</span></li>
60
  <li><span class="marker">&#x61;&#x62;&#x627;&#x644;</span><span class="text">0</span></li>
61
  <li><span class="marker">&#x627;&#x644;&#x61;&#x62;</span><span class="text">0</span></li>
62
  <li><span class="marker">&#x31;&#x627;&#x644;</span><span class="text">0</span></li>
63
  <li><span class="marker">&#x627;&#x644;&#x32;</span><span class="text">0</span></li>
64
  <li><span class="marker">&#x31;&#x627;&#x644;&#x32;</span><span class="text">0</span></li>
65
</ol>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/marker-unicode-bidi-normal-ref.html +65 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/marker-unicode-bidi-normal-ref.html_sec1
1
<!DOCTYPE html>
2
<meta charset="utf-8" />
3
<title>CSS Reftest Reference</title>
4
<link rel="author" title="Oriol Brufau" href="mailto:obrufau@igalia.com" />
5
<link rel="mismatch" href="marker-unicode-bidi-default-ref.html">
6
<style>
7
ol {
8
  float: left;
9
  list-style-type: none;
10
}
11
.rtl {
12
  direction: rtl;
13
}
14
.marker {
15
  unicode-bidi: normal;
16
  color: blue;
17
}
18
.text {
19
  background: yellow;
20
}
21
</style>
22
<ol class="ltr">
23
  <li><span class="marker">&#x627;&#x644;</span><span class="text">0</span></li>
24
  <li><span class="marker">&#x61;&#x627;&#x644;</span><span class="text">0</span></li>
25
  <li><span class="marker">&#x627;&#x644;&#x62;</span><span class="text">0</span></li>
26
  <li><span class="marker">&#x61;&#x627;&#x644;&#x62;</span><span class="text">0</span></li>
27
  <li><span class="marker">&#x61;&#x62;&#x627;&#x644;</span><span class="text">0</span></li>
28
  <li><span class="marker">&#x627;&#x644;&#x61;&#x62;</span><span class="text">0</span></li>
29
  <li><span class="marker">&#x31;&#x627;&#x644;</span><span class="text">0</span></li>
30
  <li><span class="marker">&#x627;&#x644;&#x32;</span><span class="text">0</span></li>
31
  <li><span class="marker">&#x31;&#x627;&#x644;&#x32;</span><span class="text">0</span></li>
32
</ol>
33
<ol class="rtl">
34
  <li><span class="marker">&#x627;&#x644;</span><span class="text">0</span></li>
35
  <li><span class="marker">&#x61;&#x627;&#x644;</span><span class="text">0</span></li>
36
  <li><span class="marker">&#x627;&#x644;&#x62;</span><span class="text">0</span></li>
37
  <li><span class="marker">&#x61;&#x627;&#x644;&#x62;</span><span class="text">0</span></li>
38
  <li><span class="marker">&#x61;&#x62;&#x627;&#x644;</span><span class="text">0</span></li>
39
  <li><span class="marker">&#x627;&#x644;&#x61;&#x62;</span><span class="text">0</span></li>
40
  <li><span class="marker">&#x31;&#x627;&#x644;</span><span class="text">0</span></li>
41
  <li><span class="marker">&#x627;&#x644;&#x32;</span><span class="text">0</span></li>
42
  <li><span class="marker">&#x31;&#x627;&#x644;&#x32;</span><span class="text">0</span></li>
43
</ol>
44
<ol class="ltr">
45
  <li><span class="marker">&#x627;&#x644;</span><span class="text">0</span></li>
46
  <li><span class="marker">&#x61;&#x627;&#x644;</span><span class="text">0</span></li>
47
  <li><span class="marker">&#x627;&#x644;&#x62;</span><span class="text">0</span></li>
48
  <li><span class="marker">&#x61;&#x627;&#x644;&#x62;</span><span class="text">0</span></li>
49
  <li><span class="marker">&#x61;&#x62;&#x627;&#x644;</span><span class="text">0</span></li>
50
  <li><span class="marker">&#x627;&#x644;&#x61;&#x62;</span><span class="text">0</span></li>
51
  <li><span class="marker">&#x31;&#x627;&#x644;</span><span class="text">0</span></li>
52
  <li><span class="marker">&#x627;&#x644;&#x32;</span><span class="text">0</span></li>
53
  <li><span class="marker">&#x31;&#x627;&#x644;&#x32;</span><span class="text">0</span></li>
54
</ol>
55
<ol class="rtl">
56
  <li><span class="marker">&#x627;&#x644;</span><span class="text">0</span></li>
57
  <li><span class="marker">&#x61;&#x627;&#x644;</span><span class="text">0</span></li>
58
  <li><span class="marker">&#x627;&#x644;&#x62;</span><span class="text">0</span></li>
59
  <li><span class="marker">&#x61;&#x627;&#x644;&#x62;</span><span class="text">0</span></li>
60
  <li><span class="marker">&#x61;&#x62;&#x627;&#x644;</span><span class="text">0</span></li>
61
  <li><span class="marker">&#x627;&#x644;&#x61;&#x62;</span><span class="text">0</span></li>
62
  <li><span class="marker">&#x31;&#x627;&#x644;</span><span class="text">0</span></li>
63
  <li><span class="marker">&#x627;&#x644;&#x32;</span><span class="text">0</span></li>
64
  <li><span class="marker">&#x31;&#x627;&#x644;&#x32;</span><span class="text">0</span></li>
65
</ol>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/marker-unicode-bidi-normal.html +85 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/marker-unicode-bidi-normal.html_sec1
1
<!DOCTYPE html>
2
<meta charset="utf-8">
3
<title>::marker accepts 'unicode-bidi: normal'</title>
4
<link rel="author" title="Oriol Brufau" href="mailto:obrufau@igalia.com" />
5
<link rel="help" href="https://drafts.csswg.org/css-pseudo-4/#marker-pseudo">
6
<link rel="match" href="marker-unicode-bidi-normal-ref.html">
7
<meta name="assert" content="Checks that the marker default 'unicode-bidi: isolate' can be overridden with 'unicode-bidi: normal'">
8
<link rel="stylesheet" type="text/css" href="/fonts/ahem.css" />
9
<style>
10
ol {
11
  float: left;
12
  list-style-position: inside;
13
}
14
.rtl {
15
  direction: rtl;
16
}
17
18
li:nth-child(1) { --marker: "\627 \644 " }
19
li:nth-child(2) { --marker: "\61 \627 \644 " }
20
li:nth-child(3) { --marker: "\627 \644 \62 " }
21
li:nth-child(4) { --marker: "\61 \627 \644 \62 " }
22
li:nth-child(5) { --marker: "\61 \62 \627 \644 " }
23
li:nth-child(6) { --marker: "\627 \644 \61 \62 " }
24
li:nth-child(7) { --marker: "\31 \627 \644 " }
25
li:nth-child(8) { --marker: "\627 \644 \32 " }
26
li:nth-child(9) { --marker: "\31 \627 \644 \32 " }
27
28
.string > li {
29
  list-style-type: var(--marker);
30
}
31
.marker > li::marker {
32
  content: var(--marker);
33
}
34
::marker {
35
  unicode-bidi: normal;
36
  color: blue;
37
}
38
span {
39
  background: yellow;
40
}
41
</style>
42
<ol class="string ltr">
43
  <li><span>0</span></li>
44
  <li><span>0</span></li>
45
  <li><span>0</span></li>
46
  <li><span>0</span></li>
47
  <li><span>0</span></li>
48
  <li><span>0</span></li>
49
  <li><span>0</span></li>
50
  <li><span>0</span></li>
51
  <li><span>0</span></li>
52
</ol>
53
<ol class="string rtl">
54
  <li><span>0</span></li>
55
  <li><span>0</span></li>
56
  <li><span>0</span></li>
57
  <li><span>0</span></li>
58
  <li><span>0</span></li>
59
  <li><span>0</span></li>
60
  <li><span>0</span></li>
61
  <li><span>0</span></li>
62
  <li><span>0</span></li>
63
</ol>
64
<ol class="marker ltr">
65
  <li><span>0</span></li>
66
  <li><span>0</span></li>
67
  <li><span>0</span></li>
68
  <li><span>0</span></li>
69
  <li><span>0</span></li>
70
  <li><span>0</span></li>
71
  <li><span>0</span></li>
72
  <li><span>0</span></li>
73
  <li><span>0</span></li>
74
</ol>
75
<ol class="marker rtl">
76
  <li><span>0</span></li>
77
  <li><span>0</span></li>
78
  <li><span>0</span></li>
79
  <li><span>0</span></li>
80
  <li><span>0</span></li>
81
  <li><span>0</span></li>
82
  <li><span>0</span></li>
83
  <li><span>0</span></li>
84
  <li><span>0</span></li>
85
</ol>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/outside-marker-paint-order-expected.html +32 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/outside-marker-paint-order-expected.html_sec1
1
<!DOCTYPE HTML>
2
<!--
3
     Any copyright is dedicated to the Public Domain.
4
     http://creativecommons.org/publicdomain/zero/1.0/
5
-->
6
<html><head>
7
  <meta charset="utf-8">
8
  <title>CSS Pseduo: painting order of outside ::marker box</title>
9
  <link rel="author" title="Mats Palmgren" href="mailto:mats@mozilla.org">
10
  <link rel="stylesheet" type="text/css" href="/fonts/ahem.css" />
11
  <style>
12
li {
13
  list-style-type: none;
14
  margin-left: 100px;
15
  text-indent: -100px;
16
  font: 20px/1 Ahem;
17
}
18
19
x { color: grey; }
20
21
  </style>
22
</head>
23
<body>
24
25
<pre>There should be no red areas.<pre>
26
<ol><li><x>XXXXXXXX</x></ol>
27
<ol><li><x>XXXXXXXX</x></ol>
28
<ol><li><x>XXXXXXXX</x></ol>
29
<ol><li><x>XXXXXXXX</x></ol>
30
31
</body>
32
</html>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/outside-marker-paint-order.html +36 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/outside-marker-paint-order.html_sec1
1
<!DOCTYPE HTML>
2
<!--
3
     Any copyright is dedicated to the Public Domain.
4
     http://creativecommons.org/publicdomain/zero/1.0/
5
-->
6
<html><head>
7
  <meta charset="utf-8">
8
  <title>CSS Pseduo: painting order of outside ::marker box</title>
9
  <link rel="author" title="Mats Palmgren" href="mailto:mats@mozilla.org">
10
  <link rel="stylesheet" type="text/css" href="/fonts/ahem.css" />
11
  <link rel="help" href="https://drafts.csswg.org/css-pseudo-4/#marker-pseudo">
12
  <link rel="match" href="outside-marker-paint-order-ref.html">
13
  <style>
14
li {
15
  margin-left: 100px;
16
  text-indent: -100px;
17
  font: 20px/1 Ahem;
18
  color: red;
19
}
20
21
x { color: grey; }
22
.before::before { content: "XXXXXXXX"; color: grey; }
23
.after::after { content: "XXXXXXXX"; color: grey; }
24
.both::before,.both::after  {content: "XXXX"; color: grey; }
25
  </style>
26
</head>
27
<body>
28
29
<pre>There should be no red areas.<pre>
30
<ol><li><x>XXXXXXXX</x></ol>
31
<ol><li class="before"></ol>
32
<ol><li class="after"></ol>
33
<ol><li class="both"></ol>
34
35
</body>
36
</html>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/parsing/marker-supported-properties-expected.txt +46 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/parsing/marker-supported-properties-expected.txt_sec1
1
2
PASS Property font value 'italic small-caps 900 expanded 25px / 50px Ahem' in ::marker 
3
PASS Property font-family value 'Ahem' in ::marker 
4
PASS Property font-feature-settings value '"smcp"' in ::marker 
5
FAIL Property font-kerning value 'none' in ::marker assert_equals: expected "none" but got "auto"
6
PASS Property font-size value '25px' in ::marker 
7
FAIL Property font-size-adjust value '1' in ::marker assert_true: font-size-adjust doesn't seem to be supported in the computed style expected true got false
8
PASS Property font-stretch value 'expanded' in ::marker 
9
PASS Property font-style value 'italic' in ::marker 
10
PASS Property font-synthesis value 'none' in ::marker 
11
PASS Property font-variant value 'small-caps' in ::marker 
12
PASS Property font-variant-caps value 'small-caps' in ::marker 
13
PASS Property font-variant-east-asian value 'full-width' in ::marker 
14
PASS Property font-variant-ligatures value 'historical-ligatures' in ::marker 
15
PASS Property font-variant-numeric value 'slashed-zero' in ::marker 
16
PASS Property font-variant-position value 'sub' in ::marker 
17
PASS Property font-weight value '900' in ::marker 
18
FAIL Property white-space value 'nowrap' in ::marker assert_equals: expected "nowrap" but got "normal"
19
PASS Property color value 'rgb(0, 100, 200)' in ::marker 
20
FAIL Property text-combine-upright value 'all' in ::marker assert_true: text-combine-upright doesn't seem to be supported in the computed style expected true got false
21
FAIL Property unicode-bidi value 'plaintext' in ::marker assert_equals: expected "plaintext" but got "normal"
22
FAIL Property direction value 'rtl' in ::marker assert_equals: expected "rtl" but got "ltr"
23
FAIL Property content value '"foo"' in ::marker assert_equals: expected "\"foo\"" but got ""
24
FAIL Property animation value '1s linear 2s infinite alternate forwards paused anim' in ::marker assert_equals: expected "1s linear 2s infinite alternate forwards paused anim" but got ""
25
FAIL Property animation-delay value '1s' in ::marker assert_equals: expected "1s" but got "0s"
26
FAIL Property animation-direction value 'alternate' in ::marker assert_equals: expected "alternate" but got "normal"
27
FAIL Property animation-duration value '2s' in ::marker assert_equals: expected "2s" but got "0s"
28
FAIL Property animation-fill-mode value 'forwards' in ::marker assert_equals: expected "forwards" but got "none"
29
FAIL Property animation-iteration-count value 'infinite' in ::marker assert_equals: expected "infinite" but got "1"
30
FAIL Property animation-name value 'anim' in ::marker assert_equals: expected "anim" but got "none"
31
FAIL Property animation-play-state value 'paused' in ::marker assert_equals: expected "paused" but got "running"
32
FAIL Property animation-timing-function value 'linear' in ::marker assert_equals: expected "linear" but got "ease"
33
FAIL Property transition value 'display 1s linear 2s' in ::marker assert_equals: expected "display 1s linear 2s" but got "all 0s ease 0s"
34
FAIL Property transition-delay value '1s' in ::marker assert_equals: expected "1s" but got "0s"
35
FAIL Property transition-duration value '2s' in ::marker assert_equals: expected "2s" but got "0s"
36
FAIL Property transition-property value 'display' in ::marker assert_equals: expected "display" but got "all"
37
FAIL Property transition-timing-function value 'linear' in ::marker assert_equals: expected "linear" but got "ease"
38
PASS Property display value 'none' in ::marker 
39
PASS Property position value 'absolute' in ::marker 
40
PASS Property float value 'right' in ::marker 
41
FAIL Property list-style value 'inside url('foo') decimal' in ::marker assert_equals: expected "outside none disc" but got "disc outside none"
42
PASS Property list-style-image value 'url('foo')' in ::marker 
43
PASS Property list-style-position value 'inside' in ::marker 
44
PASS Property list-style-type value 'decimal' in ::marker 
45
PASS Property line-height value '50px' in ::marker 
46
target
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/parsing/marker-supported-properties-in-animation-expected.txt +62 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/parsing/marker-supported-properties-in-animation-expected.txt_sec1
1
2
FAIL Animation of font in ::marker assert_in_array: value "normal normal normal normal 16px/normal -webkit-standard" not in array ["italic small-caps 500 expanded 15px Ahem", "italic small-caps 500 expanded 15px/normal Ahem"]
3
FAIL Animation of font-family in ::marker assert_equals: expected "Ahem" but got "-webkit-standard"
4
FAIL Animation of font-feature-settings in ::marker assert_equals: expected "\"smcp\"" but got "normal"
5
FAIL Animation of font-kerning in ::marker assert_equals: expected "none" but got "auto"
6
FAIL Animation of font-size in ::marker assert_equals: expected "15px" but got "16px"
7
FAIL Animation of font-size-adjust in ::marker assert_true: font-size-adjust doesn't seem to be supported in the computed style expected true got false
8
FAIL Animation of font-stretch in ::marker assert_in_array: value "normal" not in array ["expanded", "125%"]
9
FAIL Animation of font-style in ::marker assert_equals: expected "italic" but got "normal"
10
FAIL Animation of font-synthesis in ::marker assert_equals: expected "none" but got "style weight small-caps"
11
FAIL Animation of font-variant in ::marker assert_equals: expected "small-caps" but got "tabular-nums"
12
FAIL Animation of font-variant-caps in ::marker assert_equals: expected "small-caps" but got "normal"
13
FAIL Animation of font-variant-east-asian in ::marker assert_equals: expected "full-width" but got "normal"
14
FAIL Animation of font-variant-ligatures in ::marker assert_equals: expected "historical-ligatures" but got "normal"
15
FAIL Animation of font-variant-numeric in ::marker assert_equals: expected "slashed-zero" but got "tabular-nums"
16
FAIL Animation of font-variant-position in ::marker assert_equals: expected "sub" but got "normal"
17
FAIL Animation of font-weight in ::marker assert_equals: expected "500" but got "normal"
18
FAIL Animation of white-space in ::marker assert_equals: expected "nowrap" but got "normal"
19
FAIL Animation of color in ::marker assert_equals: expected "rgb(50, 150, 100)" but got "rgb(0, 0, 0)"
20
FAIL Animation of text-combine-upright in ::marker assert_true: text-combine-upright doesn't seem to be supported in the computed style expected true got false
21
PASS Animation of unicode-bidi in ::marker 
22
PASS Animation of direction in ::marker 
23
FAIL Animation of content in ::marker assert_equals: expected "\"bar\"" but got ""
24
PASS Animation of display in ::marker 
25
PASS Animation of position in ::marker 
26
PASS Animation of float in ::marker 
27
FAIL Animation of list-style in ::marker assert_equals: expected "outside none disc" but got "disc outside none"
28
PASS Animation of list-style-image in ::marker 
29
PASS Animation of list-style-position in ::marker 
30
PASS Animation of list-style-type in ::marker 
31
PASS Animation of line-height in ::marker 
32
FAIL Transition of font in ::marker assert_in_array: value "italic small-caps 900 ultra-expanded 25px/normal Ahem" not in array ["italic small-caps 500 expanded 15px Ahem", "italic small-caps 500 expanded 15px/normal Ahem"]
33
PASS Transition of font-family in ::marker 
34
PASS Transition of font-feature-settings in ::marker 
35
FAIL Transition of font-kerning in ::marker assert_equals: expected "none" but got "auto"
36
FAIL Transition of font-size in ::marker assert_equals: expected "15px" but got "25px"
37
FAIL Transition of font-size-adjust in ::marker assert_true: font-size-adjust doesn't seem to be supported in the computed style expected true got false
38
FAIL Transition of font-stretch in ::marker assert_in_array: value "ultra-expanded" not in array ["expanded", "125%"]
39
PASS Transition of font-style in ::marker 
40
PASS Transition of font-synthesis in ::marker 
41
PASS Transition of font-variant in ::marker 
42
PASS Transition of font-variant-caps in ::marker 
43
PASS Transition of font-variant-east-asian in ::marker 
44
PASS Transition of font-variant-ligatures in ::marker 
45
PASS Transition of font-variant-numeric in ::marker 
46
PASS Transition of font-variant-position in ::marker 
47
FAIL Transition of font-weight in ::marker assert_equals: expected "500" but got "900"
48
FAIL Transition of white-space in ::marker assert_equals: expected "nowrap" but got "normal"
49
FAIL Transition of color in ::marker assert_equals: expected "rgb(50, 150, 100)" but got "rgb(100, 200, 0)"
50
FAIL Transition of text-combine-upright in ::marker assert_true: text-combine-upright doesn't seem to be supported in the computed style expected true got false
51
FAIL Transition of unicode-bidi in ::marker assert_equals: expected "plaintext" but got "normal"
52
FAIL Transition of direction in ::marker assert_equals: expected "rtl" but got "ltr"
53
FAIL Transition of content in ::marker assert_equals: expected "\"bar\"" but got ""
54
PASS Transition of display in ::marker 
55
PASS Transition of position in ::marker 
56
PASS Transition of float in ::marker 
57
FAIL Transition of list-style in ::marker assert_equals: expected "outside none disc" but got "disc outside none"
58
PASS Transition of list-style-image in ::marker 
59
PASS Transition of list-style-position in ::marker 
60
PASS Transition of list-style-type in ::marker 
61
PASS Transition of line-height in ::marker 
62
target
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/parsing/marker-supported-properties-in-animation.html +292 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/parsing/marker-supported-properties-in-animation.html_sec1
1
<!DOCTYPE html>
2
<meta charset="utf-8">
3
<title>CSS Pseudo-Elements Test: Supported properties in ::marker animations</title>
4
<link rel="help" href="https://drafts.csswg.org/css-pseudo-4/#marker-pseudo">
5
<link rel="help" href="https://drafts.csswg.org/css-animations-1/#keyframes">
6
<link rel="help" href="https://drafts.csswg.org/css-transitions-1/#transitions">
7
<link rel="author" title="Oriol Brufau" href="mailto:obrufau@igalia.com">
8
<meta name="assert" content="This test checks ::marker supports animations and transitions, but only for the properties that apply to ::marker." />
9
<style id="style"></style>
10
<script src="/resources/testharness.js"></script>
11
<script src="/resources/testharnessreport.js"></script>
12
<div id="log"></div>
13
<ul>
14
  <li id="target">target</li>
15
</ul>
16
<script>
17
const interpolationTests = [
18
  // ::marker supports all font properties.
19
  {
20
    property: "font",
21
    from: "oblique normal 100 ultra-condensed 5px / 20px serif",
22
    to: "italic small-caps 900 ultra-expanded 25px / 50px Ahem",
23
    midPoint: ["italic small-caps 500 expanded 15px Ahem", "italic small-caps 500 expanded 15px/normal Ahem"],
24
  },
25
  {
26
    property: "font-family",
27
    from: "serif",
28
    to: "Ahem",
29
    midPoint: "Ahem",
30
  },
31
  {
32
    property: "font-feature-settings",
33
    from: "'c2sc'",
34
    to: "'smcp'",
35
    midPoint: "\"smcp\"",
36
  },
37
  {
38
    property: "font-kerning",
39
    from: "normal",
40
    to: "none",
41
    midPoint: "none",
42
  },
43
  {
44
    property: "font-size",
45
    from: "5px",
46
    to: "25px",
47
    midPoint: "15px",
48
  },
49
  {
50
    property: "font-size-adjust",
51
    from: "1",
52
    to: "3",
53
    midPoint: "2",
54
  },
55
  {
56
    property: "font-stretch",
57
    from: "ultra-condensed",
58
    to: "ultra-expanded",
59
    midPoint: ["expanded", "125%"],
60
  },
61
  {
62
    property: "font-style",
63
    from: "oblique",
64
    to: "italic",
65
    midPoint: "italic",
66
  },
67
  {
68
    property: "font-synthesis",
69
    from: "weight",
70
    to: "none",
71
    midPoint: "none",
72
  },
73
  {
74
    property: "font-variant",
75
    from: "unicase",
76
    to: "small-caps",
77
    midPoint: "small-caps",
78
  },
79
  {
80
    property: "font-variant-caps",
81
    from: "unicase",
82
    to: "small-caps",
83
    midPoint: "small-caps",
84
  },
85
  {
86
    property: "font-variant-east-asian",
87
    from: "proportional-width",
88
    to: "full-width",
89
    midPoint: "full-width",
90
  },
91
  {
92
    property: "font-variant-ligatures",
93
    from: "no-historical-ligatures",
94
    to: "historical-ligatures",
95
    midPoint: "historical-ligatures",
96
  },
97
  {
98
    property: "font-variant-numeric",
99
    from: "ordinal",
100
    to: "slashed-zero",
101
    midPoint: "slashed-zero",
102
  },
103
  {
104
    property: "font-variant-position",
105
    from: "super",
106
    to: "sub",
107
    midPoint: "sub",
108
  },
109
  {
110
    property: "font-weight",
111
    from: "100",
112
    to: "900",
113
    midPoint: "500",
114
  },
115
116
  // ::marker supports `white-space`
117
  {
118
    property: "white-space",
119
    from: "pre-line",
120
    to: "nowrap",
121
    midPoint: "nowrap",
122
  },
123
124
  // ::marker supports `color`
125
  {
126
    property: "color",
127
    from: "rgb(0, 100, 200)",
128
    to: "rgb(100, 200, 0)",
129
    midPoint: "rgb(50, 150, 100)",
130
  },
131
132
  // ::marker supports `text-combine-upright`, `unicode-bidi` and `direction`,
133
  // but they are not animatable.
134
  {
135
    property: "text-combine-upright",
136
    from: "all",
137
    to: "all",
138
    midPoint: null,
139
  },
140
  {
141
    property: "unicode-bidi",
142
    from: "embed",
143
    to: "plaintext",
144
    midPoint: null,
145
  },
146
  {
147
    property: "direction",
148
    from: "rtl",
149
    to: "rtl",
150
    midPoint: null,
151
  },
152
153
  // ::marker supports `content`
154
  {
155
    property: "content",
156
    from: "'foo'",
157
    to: "'bar'",
158
    midPoint: "\"bar\"",
159
  },
160
161
  // ::marker does NOT support layout properties
162
  {
163
    property: "display",
164
    from: "flex",
165
    to: "none",
166
    midPoint: ["block", "inline", "inline-block"],
167
  },
168
  {
169
    property: "position",
170
    from: "fixed",
171
    to: "absolute",
172
    midPoint: "static",
173
  },
174
  {
175
    property: "float",
176
    from: "left",
177
    to: "right",
178
    midPoint: "none",
179
  },
180
181
  // ::marker does NOT support list properties despite being affected by them,
182
  // they apply to the list item instead.
183
  {
184
    property: "list-style",
185
    from: "inside url('foo') square",
186
    to: "inside url('bar') decimal",
187
    midPoint: "outside none disc",
188
  },
189
  {
190
    property: "list-style-image",
191
    from: "url('foo')",
192
    to: "url('bar')",
193
    midPoint: "none",
194
  },
195
  {
196
    property: "list-style-position",
197
    from: "inside",
198
    to: "inside",
199
    midPoint: "outside",
200
  },
201
  {
202
    property: "list-style-type",
203
    from: "square",
204
    to: "decimal",
205
    midPoint: "disc",
206
  },
207
208
  // ::marker does NOT support `line-height` because, despite being a
209
  // longhand of `font`, it's not a font property.
210
  {
211
    property: "line-height",
212
    from: "20px",
213
    to: "50px",
214
    midPoint: "normal",
215
  },
216
];
217
218
const target = document.getElementById("target");
219
const styleElement = document.getElementById("style");
220
const markerStyle = getComputedStyle(target, "::marker");
221
222
function check({property, from, to, midPoint}) {
223
  assert_true(property in markerStyle, property + " doesn't seem to be supported in the computed style");
224
  assert_true(CSS.supports(property, from), `'${from}' is a supported value for ${property}.`);
225
  assert_true(CSS.supports(property, to), `'${to}' is a supported value for ${property}.`);
226
  const computed = markerStyle.getPropertyValue(property);
227
  if (Array.isArray(midPoint)) {
228
    assert_in_array(computed, midPoint);
229
  } else {
230
    assert_equals(computed, midPoint);
231
  }
232
}
233
234
function testAnimations(interpolationTests) {
235
  styleElement.textContent = `
236
    ::marker {
237
      animation: anim 2s -1s paused linear;
238
    }
239
    @keyframes anim {
240
      from {}
241
      to {}
242
    }
243
  `;
244
  const keyframes = styleElement.sheet.cssRules[1];
245
  const fromStyle = keyframes.cssRules[0].style;
246
  const toStyle = keyframes.cssRules[1].style;
247
  for (let {property, from, to, midPoint} of interpolationTests) {
248
    fromStyle.cssText = "";
249
    toStyle.cssText = "";
250
    if (midPoint == null) {
251
      midPoint = markerStyle.getPropertyValue(property);
252
    }
253
    fromStyle.setProperty(property, from);
254
    toStyle.setProperty(property, to);
255
    test(() => {
256
      check({property, from, to, midPoint});
257
    }, `Animation of ${property} in ::marker`);
258
  }
259
}
260
261
function testTransitions(interpolationTests) {
262
  styleElement.textContent = `
263
    .transition::marker {
264
      transition: all 2s -1s linear;
265
    }
266
    .from::marker {}
267
    .to::marker {}
268
  `;
269
  const fromStyle = styleElement.sheet.cssRules[1].style;
270
  const toStyle = styleElement.sheet.cssRules[2].style;
271
  for (let {property, from, to, midPoint} of interpolationTests) {
272
    fromStyle.cssText = "";
273
    toStyle.cssText = "";
274
    if (midPoint == null) {
275
      midPoint = to;
276
    }
277
    fromStyle.setProperty(property, from);
278
    toStyle.setProperty(property, to);
279
    target.className = "from";
280
    markerStyle.width;
281
    target.classList.add("transition");
282
    markerStyle.width;
283
    target.classList.add("to");
284
    test(() => {
285
      check({property, from, to, midPoint});
286
    }, `Transition of ${property} in ::marker`);
287
  }
288
}
289
290
testAnimations(interpolationTests);
291
testTransitions(interpolationTests);
292
</script>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/parsing/marker-supported-properties.html +81 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/parsing/marker-supported-properties.html_sec1
1
<!DOCTYPE html>
2
<meta charset="utf-8">
3
<title>CSS Pseudo-Elements Test: Supported properties in ::marker</title>
4
<link rel="help" href="https://drafts.csswg.org/css-pseudo-4/#marker-pseudo">
5
<link rel="author" title="Oriol Brufau" href="mailto:obrufau@igalia.com">
6
<meta name="assert" content="This test checks that only certain properties apply to ::marker pseudo-elements." />
7
<script src="/resources/testharness.js"></script>
8
<script src="/resources/testharnessreport.js"></script>
9
<script src="/css/support/computed-testcommon.js"></script>
10
<div id="log"></div>
11
<ul>
12
  <li id="target">target</li>
13
</ul>
14
<script>
15
// ::marker supports all font properties.
16
test_pseudo_computed_value("::marker", "font", "italic small-caps 900 expanded 25px / 50px Ahem",
17
  ["italic small-caps 900 expanded 25px Ahem", "italic small-caps 900 expanded 25px/normal Ahem"]);
18
test_pseudo_computed_value("::marker", "font-family", "Ahem");
19
test_pseudo_computed_value("::marker", "font-feature-settings", "\"smcp\"");
20
test_pseudo_computed_value("::marker", "font-kerning", "none");
21
test_pseudo_computed_value("::marker", "font-size", "25px");
22
test_pseudo_computed_value("::marker", "font-size-adjust", "1");
23
test_pseudo_computed_value("::marker", "font-stretch", "expanded", ["expanded", "125%"]);
24
test_pseudo_computed_value("::marker", "font-style", "italic");
25
test_pseudo_computed_value("::marker", "font-synthesis", "none");
26
test_pseudo_computed_value("::marker", "font-variant", "small-caps");
27
test_pseudo_computed_value("::marker", "font-variant-caps", "small-caps");
28
test_pseudo_computed_value("::marker", "font-variant-east-asian", "full-width");
29
test_pseudo_computed_value("::marker", "font-variant-ligatures", "historical-ligatures");
30
test_pseudo_computed_value("::marker", "font-variant-numeric", "slashed-zero");
31
test_pseudo_computed_value("::marker", "font-variant-position", "sub");
32
test_pseudo_computed_value("::marker", "font-weight", "900");
33
34
// ::marker supports `white-space`
35
test_pseudo_computed_value("::marker", "white-space", "nowrap");
36
37
// ::marker supports `color`
38
test_pseudo_computed_value("::marker", "color", "rgb(0, 100, 200)");
39
40
// ::marker supports `text-combine-upright`, `unicode-bidi` and `direction`
41
test_pseudo_computed_value("::marker", "text-combine-upright", "all");
42
test_pseudo_computed_value("::marker", "unicode-bidi", "plaintext");
43
test_pseudo_computed_value("::marker", "direction", "rtl");
44
45
// ::marker supports `content`
46
test_pseudo_computed_value("::marker", "content", "\"foo\"");
47
48
// ::marker supports animation properties.
49
test_pseudo_computed_value("::marker", "animation", "1s linear 2s infinite alternate forwards paused anim");
50
test_pseudo_computed_value("::marker", "animation-delay", "1s");
51
test_pseudo_computed_value("::marker", "animation-direction", "alternate");
52
test_pseudo_computed_value("::marker", "animation-duration", "2s");
53
test_pseudo_computed_value("::marker", "animation-fill-mode", "forwards");
54
test_pseudo_computed_value("::marker", "animation-iteration-count", "infinite");
55
test_pseudo_computed_value("::marker", "animation-name", "anim");
56
test_pseudo_computed_value("::marker", "animation-play-state", "paused");
57
test_pseudo_computed_value("::marker", "animation-timing-function", "linear");
58
59
// ::marker supports transition properties.
60
test_pseudo_computed_value("::marker", "transition", "display 1s linear 2s");
61
test_pseudo_computed_value("::marker", "transition-delay", "1s");
62
test_pseudo_computed_value("::marker", "transition-duration", "2s");
63
test_pseudo_computed_value("::marker", "transition-property", "display");
64
test_pseudo_computed_value("::marker", "transition-timing-function", "linear");
65
66
// ::marker does NOT support layout properties
67
test_pseudo_computed_value("::marker", "display", "none", ["block", "inline", "inline-block"]);
68
test_pseudo_computed_value("::marker", "position", "absolute", "static");
69
test_pseudo_computed_value("::marker", "float", "right", "none");
70
71
// ::marker does NOT support list properties despite being affected by them,
72
// they apply to the list item instead.
73
test_pseudo_computed_value("::marker", "list-style", "inside url('foo') decimal", "outside none disc");
74
test_pseudo_computed_value("::marker", "list-style-image", "url('foo')", "none");
75
test_pseudo_computed_value("::marker", "list-style-position", "inside", "outside");
76
test_pseudo_computed_value("::marker", "list-style-type", "decimal", "disc");
77
78
// ::marker does NOT support `line-height` because, despite being a
79
// longhand of `font`, it's not a font property.
80
test_pseudo_computed_value("::marker", "line-height", "50px", "normal");
81
</script>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/parsing/tree-abiding-pseudo-elements-expected.txt +34 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/parsing/tree-abiding-pseudo-elements-expected.txt_sec1
1
2
PASS "::before" should be a valid selector 
3
PASS "*::before" should be a valid selector 
4
PASS "foo.bar[baz]::before" should be a valid selector 
5
PASS "::before *" should be an invalid selector 
6
PASS "::after" should be a valid selector 
7
PASS "*::after" should be a valid selector 
8
PASS "foo.bar[baz]::after" should be a valid selector 
9
PASS "::after *" should be an invalid selector 
10
PASS "::marker" should be a valid selector 
11
PASS "*::marker" should be a valid selector 
12
PASS "foo.bar[baz]::marker" should be a valid selector 
13
PASS "::marker *" should be an invalid selector 
14
FAIL "::placeholder" should be a valid selector The string did not match the expected pattern.
15
FAIL "*::placeholder" should be a valid selector The string did not match the expected pattern.
16
FAIL "foo.bar[baz]::placeholder" should be a valid selector The string did not match the expected pattern.
17
PASS "::placeholder *" should be an invalid selector 
18
PASS "::before::before" should be an invalid selector 
19
PASS "::after::before" should be an invalid selector 
20
PASS "::marker::before" should be an invalid selector 
21
PASS "::placeholder::before" should be an invalid selector 
22
PASS "::before::after" should be an invalid selector 
23
PASS "::after::after" should be an invalid selector 
24
PASS "::marker::after" should be an invalid selector 
25
PASS "::placeholder::after" should be an invalid selector 
26
FAIL "::before::marker" should be a valid selector The string did not match the expected pattern.
27
FAIL "::after::marker" should be a valid selector The string did not match the expected pattern.
28
PASS "::marker::marker" should be an invalid selector 
29
PASS "::placeholder::marker" should be an invalid selector 
30
PASS "::before::placeholder" should be an invalid selector 
31
PASS "::after::placeholder" should be an invalid selector 
32
PASS "::marker::placeholder" should be an invalid selector 
33
PASS "::placeholder::placeholder" should be an invalid selector 
34
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/parsing/tree-abiding-pseudo-elements.html +54 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/parsing/tree-abiding-pseudo-elements.html_sec1
1
<!DOCTYPE html>
2
<meta charset="utf-8">
3
<title>CSS Pseudo-Elements Test: Parsing tree-abiding pseudo-elements</title>
4
<link rel="help" href="https://drafts.csswg.org/css-pseudo-4/#treelike">
5
<link rel="author" title="Oriol Brufau" href="mailto:obrufau@igalia.com">
6
<meta name="assert" content="This test checks the validity of various selectors containing tree-abiding pseudo-elements." />
7
<script src="/resources/testharness.js"></script>
8
<script src="/resources/testharnessreport.js"></script>
9
<script src="/css/support/parsing-testcommon.js"></script>
10
<script>
11
// Generated content pseudo-elements
12
test_valid_selector("::before");
13
test_valid_selector("*::before", "::before");
14
test_valid_selector("foo.bar[baz]::before");
15
test_invalid_selector("::before *");
16
17
test_valid_selector("::after");
18
test_valid_selector("*::after", "::after");
19
test_valid_selector("foo.bar[baz]::after");
20
test_invalid_selector("::after *");
21
22
// List marker pseudo-element
23
test_valid_selector("::marker");
24
test_valid_selector("*::marker", "::marker");
25
test_valid_selector("foo.bar[baz]::marker");
26
test_invalid_selector("::marker *");
27
28
// Placeholder input pseudo-element
29
test_valid_selector("::placeholder");
30
test_valid_selector("*::placeholder", "::placeholder");
31
test_valid_selector("foo.bar[baz]::placeholder");
32
test_invalid_selector("::placeholder *");
33
34
// Combinations of the above
35
test_invalid_selector("::before::before");
36
test_invalid_selector("::after::before");
37
test_invalid_selector("::marker::before");
38
test_invalid_selector("::placeholder::before");
39
40
test_invalid_selector("::before::after");
41
test_invalid_selector("::after::after");
42
test_invalid_selector("::marker::after");
43
test_invalid_selector("::placeholder::after");
44
45
test_valid_selector("::before::marker");
46
test_valid_selector("::after::marker");
47
test_invalid_selector("::marker::marker");
48
test_invalid_selector("::placeholder::marker");
49
50
test_invalid_selector("::before::placeholder");
51
test_invalid_selector("::after::placeholder");
52
test_invalid_selector("::marker::placeholder");
53
test_invalid_selector("::placeholder::placeholder");
54
</script>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/parsing/w3c-import.log +19 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/parsing/w3c-import.log_sec1
1
The tests in this directory were imported from the W3C repository.
2
Do NOT modify these tests directly in WebKit.
3
Instead, create a pull request on the WPT github:
4
	https://github.com/web-platform-tests/wpt
5
6
Then run the Tools/Scripts/import-w3c-tests in WebKit to reimport
7
8
Do NOT modify or remove this file.
9
10
------------------------------------------------------------------------
11
Properties requiring vendor prefixes:
12
None
13
Property values requiring vendor prefixes:
14
None
15
------------------------------------------------------------------------
16
List of files:
17
/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/parsing/marker-supported-properties-in-animation.html
18
/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/parsing/marker-supported-properties.html
19
/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/parsing/tree-abiding-pseudo-elements.html
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/selection-text-shadow-016-expected.html +21 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/selection-text-shadow-016-expected.html_sec1
1
<!DOCTYPE html>
2
3
  <meta charset="UTF-8">
4
5
  <title>CSS Reftest Reference</title>
6
7
  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/">
8
9
  <style>
10
  div
11
    {
12
      color: green;
13
      font-size: 300%;
14
      margin-left: 0.66667em;
15
      margin-top: 1.5em;
16
    }
17
  </style>
18
19
  <p>Test passes if each glyph of "Selected Text" is green and not red.
20
21
  <div>Selected Text</div>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/selection-text-shadow-016.html +47 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/selection-text-shadow-016.html_sec1
1
<!DOCTYPE html>
2
3
  <meta charset="UTF-8">
4
5
  <title>CSS Pseudo-Elements Test: selection and text-shadow in 4 directions (static variation)</title>
6
7
  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/">
8
  <link rel="help" href="https://www.w3.org/TR/css-pseudo-4/#highlight-styling">
9
  <link rel="match" href="selection-text-shadow-016-ref.html">
10
11
  <meta content="" name="flags">
12
  <meta content="This test checks that text selectedness must affect multiple text shadows." name="assert">
13
14
  <style>
15
  div
16
    {
17
      color: blue;
18
      font-size: 300%;
19
      margin-left: 0.66667em;
20
      margin-top: 1.5em;
21
      text-shadow: red 0em -0.5em 0em, red -0.5em 0em 0em, red 0.5em 0em 0em, red 0em 0.5em 0em;
22
    }
23
24
  div::selection
25
    {
26
      color: green;
27
      text-shadow: none;
28
    }
29
  </style>
30
31
  <script>
32
  function startTest()
33
  {
34
  var targetRange = document.createRange();
35
  /* We first create an empty range */
36
  targetRange.selectNodeContents(document.getElementById("test"));
37
  /* Then we set the range boundaries to the children of div#test */
38
  window.getSelection().addRange(targetRange);
39
  /* Finally, we now select such range of content */
40
  }
41
  </script>
42
43
  <body onload="startTest();">
44
45
  <p>Test passes if each glyph of "Selected Text" is green and not red.
46
47
  <div id="test">Selected Text</div>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/spelling-error-001-expected.html +28 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/spelling-error-001-expected.html_sec1
1
<!DOCTYPE html>
2
3
 <html lang="en">
4
5
  <meta charset="UTF-8">
6
7
  <title>CSS Reftest Reference</title>
8
9
  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/">
10
11
  <style>
12
  div
13
    {
14
      font-size: 300%;
15
    }
16
17
  span
18
    {
19
      color: maroon;
20
      text-decoration: underline dotted fuchsia;
21
    }
22
  </style>
23
24
  <p>PREREQUISITE: User agent needs to have an enabled and capable spelling error module. If it does not, then this test does not apply to such user agent.
25
26
  <p>Test passes if each glyph of "txet" is maroon and if "txet" is underlined with a fuchsia dotted line.
27
28
  <div contenteditable="true">A <span>txet</span> sample</div>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/spelling-error-001.html +33 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/spelling-error-001.html_sec1
1
<!DOCTYPE html>
2
3
 <html lang="en">
4
5
  <meta charset="UTF-8">
6
7
  <title>CSS Pseudo-Elements Test: highlighting of spelling error (basic)</title>
8
9
  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/">
10
  <link rel="help" href="https://www.w3.org/TR/css-pseudo-4/#highlight-selectors">
11
  <link rel="help" href="https://www.w3.org/TR/css-pseudo-4/#highlight-styling">
12
  <link rel="match" href="spelling-error-001-ref.html">
13
14
  <meta content="" name="flags">
15
16
  <style>
17
  div
18
    {
19
      font-size: 300%;
20
    }
21
22
  div::spelling-error
23
    {
24
      color: maroon;
25
      text-decoration: underline dotted fuchsia;
26
    }
27
  </style>
28
29
  <p>PREREQUISITE: User agent needs to have an enabled and capable spelling error module. If it does not, then this test does not apply to such user agent.
30
31
  <p>Test passes if each glyph of "txet" is maroon and if "txet" is underlined with a fuchsia dotted line.
32
33
  <div contenteditable="true">A txet sample</div>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/text-selection-expected.txt +11 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/text-selection-expected.txt_sec1
1
helloworld
2
helloworld
3
helloworld
4
5
FAIL Selection ending in ::before assert_equals: toString expected "hello" but got ""
6
PASS Selection contained in ::before 
7
FAIL Selection ending in ::marker assert_equals: toString expected "hello" but got ""
8
PASS Selection contained in ::marker 
9
FAIL Selection ending in ::before-marker assert_equals: toString expected "hello" but got ""
10
PASS Selection contained in ::before-marker 
11
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/text-selection.html +87 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/text-selection.html_sec1
1
<!DOCTYPE html>
2
<meta charset="utf-8">
3
<title>CSS Pseudo-Elements Test: Text selection</title>
4
<link rel="help" href="https://drafts.csswg.org/css-pseudo-4/#treelike">
5
<link rel="help" href="https://drafts.csswg.org/css-ui/#user-interaction">
6
<link rel="author" title="Oriol Brufau" href="mailto:obrufau@igalia.com">
7
<meta name="assert" content="This test checks that text in a ::before or ::marker pseudo-element can't be selected." />
8
<link rel="stylesheet" type="text/css" href="/fonts/ahem.css" />
9
<style>
10
.test {
11
  font: 10px/1 Ahem;
12
  margin-left: 200px;
13
}
14
#before::before {
15
  content: "::before";
16
  display: inline-block;
17
  margin-left: -80px;
18
}
19
#marker {
20
  display: list-item;
21
  list-style-type: "::marker";
22
}
23
#before-marker::before {
24
  content: "";
25
  display: list-item;
26
  list-style-type: "::marker";
27
  height: 0;
28
}
29
</style>
30
<div class="test" id="before"><span>helloworld</span></div>
31
<div class="test" id="marker"><span>helloworld</span></div>
32
<div class="test" id="before-marker"><span>helloworld</span></div>
33
<script src="/resources/testharness.js"></script>
34
<script src="/resources/testharnessreport.js"></script>
35
<script src="/resources/testdriver.js"></script>
36
<script src="/resources/testdriver-actions.js"></script>
37
<script src="/resources/testdriver-vendor.js"></script>
38
<script>
39
function createSelection(element, start, end, step) {
40
  getSelection().empty();
41
  step = Math.abs(step);
42
  const actions = new test_driver.Actions();
43
  actions.pointerMove(start, 0, {origin: element});
44
  actions.pointerDown();
45
  if (start < end) {
46
    for (let x = start + step; x < end; x += step)
47
      actions.pointerMove(x, 0, {origin: element});
48
  } else {
49
    for (let x = start - step; x > end; x -= step)
50
      actions.pointerMove(x, 0, {origin: element});
51
  }
52
  actions.pointerMove(end, 0, {origin: element});
53
  actions.pointerUp();
54
  return actions.send();
55
}
56
(async function() {
57
  setup({ explicit_done: true });
58
  for (let target of document.querySelectorAll(".test")) {
59
    const contents = target.querySelector("span");
60
    const text = contents.firstChild;
61
    const s = getSelection();
62
63
    // Create a selection that starts in the middle of the element contents
64
    // and ends in the middle of the pseudo-element
65
    await createSelection(contents, 0, -90, 10);
66
    test(function(t) {
67
      assert_equals(s.toString(), "hello", "toString");
68
      assert_equals(s.anchorNode, text, "anchorNode");
69
      assert_equals(s.anchorOffset, 5, "anchorOffset");
70
      assert_equals(s.focusNode, text, "focusNode");
71
      assert_equals(s.focusOffset, 0, "focusOffset");
72
    }, "Selection ending in ::" + target.id);
73
74
    // Create a selection that starts and ends inside the pseudo-element.
75
    await createSelection(contents, -80, -110, 10);
76
    test(function(t) {
77
      assert_equals(s.toString(), "", "toString");
78
      assert_in_array(s.anchorNode, [text, null], "anchorNode");
79
      assert_equals(s.anchorOffset, 0, "anchorOffset");
80
      assert_in_array(s.focusNode, [text, null], "focusNode");
81
      assert_equals(s.focusOffset, 0, "focusOffset");
82
    }, "Selection contained in ::" + target.id);
83
  }
84
  done();
85
})();
86
</script>
87
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/textpath-selection-011-expected.html +46 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/textpath-selection-011-expected.html_sec1
1
<!DOCTYPE html>
2
3
  <meta charset="UTF-8">
4
5
  <title>CSS Reftest Reference</title>
6
7
  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/">
8
9
  <meta content="svg" name="flags">
10
11
  <style>
12
  text
13
    {
14
      fill: green;
15
      /*
16
      fill is the shorthand form for fill-color,
17
      fill-image, fill-origin, fill-position, fill-size
18
      and fill-repeat
19
      https://www.w3.org/TR/fill-stroke-3/#fill-shorthand
20
      */
21
      stroke: yellow;
22
      /*
23
      stroke is the shorthand form for stroke-color,
24
      stroke-image, stroke-origin, stroke-position,
25
      stroke-size, and stroke-repeat
26
      https://www.w3.org/TR/fill-stroke-3/#stroke-shorthand
27
      */
28
      stroke-width: 2px;
29
    }
30
  </style>
31
32
  <p>Test passes if the glyphs of "Curvy text sample" are green with a yellow outline.
33
34
  <div>
35
36
    <svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="550" height="300">
37
38
    <path id="pathToApply"
39
        d="M 100 200
40
           C 100 100 200 0 500 200" fill="none" />
41
42
    <text style="font-size: 48px;"><textPath xlink:href="#pathToApply" id="test">Curvy text sample</textpath></text>
43
44
    </svg>
45
46
  </div>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/textpath-selection-011.html +70 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/textpath-selection-011.html_sec1
1
<!DOCTYPE html>
2
3
  <meta charset="UTF-8">
4
5
  <title>CSS Test: active selection of text following a path (complex)</title>
6
7
  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/">
8
  <link rel="help" href="https://www.w3.org/TR/css-pseudo-4/#highlight-selectors">
9
  <link rel="help" href="https://www.w3.org/TR/css-pseudo-4/#highlight-styling">
10
  <link rel="help" href="https://www.w3.org/TR/fill-stroke-3/#fill-shorthand">
11
  <link rel="help" href="https://www.w3.org/TR/fill-stroke-3/#stroke-shorthand">
12
  <link rel="match" href="textpath-selection-011-ref.html">
13
14
  <meta content="svg" name="flags">
15
  <meta content="This test checks that an SVG application with a text following a text path can be selected and then be styled." name="assert">
16
17
  <style>
18
  ::selection
19
    {
20
      fill: green;
21
      /*
22
      fill is the shorthand form for fill-color,
23
      fill-image, fill-origin, fill-position, fill-size
24
      and fill-repeat
25
      https://www.w3.org/TR/fill-stroke-3/#fill-shorthand
26
      */
27
      stroke: yellow;
28
      /*
29
      stroke is the shorthand form for stroke-color,
30
      stroke-image, stroke-origin, stroke-position,
31
      stroke-size, and stroke-repeat
32
      https://www.w3.org/TR/fill-stroke-3/#stroke-shorthand
33
      */
34
      stroke-width: 2px;
35
    }
36
  </style>
37
38
  <p>Test passes if the glyphs of "Curvy text sample" are green with a yellow outline.
39
40
  <div>
41
42
    <svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="550" height="300">
43
44
    <path id="pathToApply"
45
        d="M 100 200
46
           C 100 100 200 0 500 200"  fill="none" />
47
48
    <text fill="red" style="font-size: 48px;"><textPath xlink:href="#pathToApply" id="test">Curvy text sample</textpath></text>
49
50
    </svg>
51
52
  </div>
53
54
  <script>
55
  var targetRange = document.createRange();
56
  /* We first create an empty range */
57
58
  targetRange.setStart(document.getElementById("test").childNodes[0], 0);
59
  /*
60
  Then we set the start boundary of the range inside textPath#test to
61
  the 1st character, which is "C"
62
  */
63
64
  targetRange.setEnd(document.getElementById("test").childNodes[0], 17);
65
  /* And we set the end boundary of the range inside textPath#test
66
  right after the 18th character which is "e" */
67
68
   window.getSelection().addRange(targetRange);
69
  /* Finally, we now select such range of content */
70
  </script>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/w3c-import.log -3 / +178 lines
Lines 1-7 a/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/w3c-import.log_sec1
1
The tests in this directory were imported from the W3C repository.
1
The tests in this directory were imported from the W3C repository.
2
Do NOT modify these tests directly in WebKit.
2
Do NOT modify these tests directly in WebKit.
3
Instead, create a pull request on the WPT github:
3
Instead, create a pull request on the WPT github:
4
	https://github.com/w3c/web-platform-tests
4
	https://github.com/web-platform-tests/wpt
5
5
6
Then run the Tools/Scripts/import-w3c-tests in WebKit to reimport
6
Then run the Tools/Scripts/import-w3c-tests in WebKit to reimport
7
7
Lines 14-20 Property values requiring vendor prefixes: a/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/w3c-import.log_sec2
14
None
14
None
15
------------------------------------------------------------------------
15
------------------------------------------------------------------------
16
List of files:
16
List of files:
17
/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/OWNERS
17
/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/META.yml
18
/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/active-selection-051-expected.html
19
/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/active-selection-051.html
20
/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/active-selection-052-expected.html
21
/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/active-selection-052.html
22
/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/active-selection-053-expected.html
23
/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/active-selection-053.html
24
/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/active-selection-054-expected.html
25
/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/active-selection-054.html
26
/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/active-selection-056-expected.xht
27
/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/active-selection-056.html
28
/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/active-selection-063-expected.xht
29
/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/active-selection-063.html
30
/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/before-dynamic-display-none-expected.html
31
/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/before-dynamic-display-none.html
32
/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/before-in-display-none-thcrash.html
33
/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/cascade-highlight-001-expected.html
34
/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/cascade-highlight-001.html
35
/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/cascade-highlight-002-expected.html
36
/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/cascade-highlight-002.html
37
/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/cascade-highlight-004-expected.html
38
/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/cascade-highlight-004.html
39
/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/file-chooser-button-001-notref.html
40
/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/file-chooser-button-001.tentative-expected.html
41
/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/file-chooser-button-001.tentative.html
42
/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/file-chooser-button-display-toggle-crash.tentative.html
18
/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/first-letter-001-expected.html
43
/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/first-letter-001-expected.html
19
/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/first-letter-001.html
44
/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/first-letter-001.html
20
/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/first-letter-002-expected.html
45
/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/first-letter-002-expected.html
Lines 23-39 List of files: a/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/w3c-import.log_sec3
23
/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/first-letter-003.html
48
/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/first-letter-003.html
24
/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/first-letter-004-expected.html
49
/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/first-letter-004-expected.html
25
/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/first-letter-004.html
50
/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/first-letter-004.html
26
/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/first-letter-property-whitelist.html
51
/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/first-letter-allowed-properties.html
52
/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/first-letter-and-sibling-display-change-expected.html
53
/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/first-letter-and-sibling-display-change.html
54
/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/first-letter-and-whitespace-expected.html
55
/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/first-letter-and-whitespace.html
56
/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/first-letter-background-image-dynamic-expected.html
57
/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/first-letter-background-image-dynamic.html
58
/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/first-letter-background-image-expected.html
59
/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/first-letter-background-image.html
60
/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/first-letter-block-to-inline-expected.html
61
/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/first-letter-block-to-inline.html
62
/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/first-letter-crash.html
63
/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/first-letter-exclude-block-child-marker-expected.html
64
/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/first-letter-exclude-block-child-marker.html
65
/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/first-letter-exclude-inline-child-marker-expected.html
66
/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/first-letter-exclude-inline-child-marker.html
67
/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/first-letter-exclude-inline-marker-expected.html
68
/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/first-letter-exclude-inline-marker.html
69
/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/first-letter-list-item-dynamic-001-expected.html
70
/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/first-letter-list-item-dynamic-001.html
71
/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/first-letter-of-html-root-refcrash-expected.html
72
/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/first-letter-of-html-root-refcrash.html
73
/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/first-letter-opacity-001-expected.html
74
/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/first-letter-opacity-001-ref-expected.html
75
/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/first-letter-opacity-001-ref.html
76
/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/first-letter-opacity-001.html
77
/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/first-letter-opacity-float-001-expected.html
78
/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/first-letter-opacity-float-001.html
79
/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/first-letter-skip-marker-expected.html
80
/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/first-letter-skip-marker.html
81
/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/first-letter-text-and-display-change-expected.html
82
/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/first-letter-text-and-display-change.html
83
/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/first-letter-width-expected.html
84
/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/first-letter-width.html
85
/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/first-line-and-marker-expected.html
86
/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/first-line-and-marker.html
27
/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/first-line-and-placeholder-expected.html
87
/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/first-line-and-placeholder-expected.html
28
/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/first-line-and-placeholder.html
88
/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/first-line-and-placeholder.html
89
/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/first-line-change-inline-color-expected.html
90
/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/first-line-change-inline-color-nested-expected.html
91
/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/first-line-change-inline-color-nested.html
92
/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/first-line-change-inline-color.html
93
/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/first-line-first-letter-insert-crash.html
94
/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/first-line-on-ancestor-block-expected.html
95
/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/first-line-on-ancestor-block.html
96
/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/first-line-opacity-001-expected.html
97
/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/first-line-opacity-001-ref-expected.html
98
/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/first-line-opacity-001-ref.html
99
/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/first-line-opacity-001.html
100
/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/first-line-with-before-after-expected.html
101
/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/first-line-with-before-after.html
102
/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/first-line-with-out-of-flow-expected.html
103
/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/first-line-with-out-of-flow.html
104
/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/grammar-error-001-expected.html
105
/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/grammar-error-001.html
106
/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/highlight-z-index-001-expected.html
107
/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/highlight-z-index-001.html
108
/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/highlight-z-index-002-expected.html
109
/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/highlight-z-index-002.html
110
/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/idlharness.html
29
/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/marker-and-other-pseudo-elements-expected.html
111
/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/marker-and-other-pseudo-elements-expected.html
30
/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/marker-and-other-pseudo-elements.html
112
/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/marker-and-other-pseudo-elements.html
113
/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/marker-animate.html
31
/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/marker-color-expected.html
114
/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/marker-color-expected.html
32
/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/marker-color.html
115
/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/marker-color.html
116
/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/marker-computed-content.html
117
/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/marker-computed-size.html
118
/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/marker-content-001-expected.html
119
/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/marker-content-001.html
120
/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/marker-content-001b-expected.html
121
/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/marker-content-001b.html
122
/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/marker-content-001c-expected.html
123
/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/marker-content-001c.html
124
/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/marker-content-002-expected.html
125
/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/marker-content-002.html
126
/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/marker-content-003-expected.html
127
/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/marker-content-003.html
128
/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/marker-content-003b-expected.html
129
/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/marker-content-003b.html
130
/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/marker-content-004-expected.html
131
/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/marker-content-004.html
132
/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/marker-content-005-expected.html
133
/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/marker-content-005.html
134
/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/marker-content-006-expected.html
135
/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/marker-content-006.html
136
/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/marker-content-007.tentative-expected.html
137
/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/marker-content-007.tentative.html
138
/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/marker-content-008.tentative-expected.html
139
/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/marker-content-008.tentative.html
140
/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/marker-content-009.tentative-expected.html
141
/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/marker-content-009.tentative.html
142
/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/marker-content-010-expected.html
143
/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/marker-content-010.html
144
/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/marker-content-011.tentative-expected.html
145
/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/marker-content-011.tentative.html
146
/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/marker-content-012-expected.html
147
/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/marker-content-012.html
148
/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/marker-content-013-expected.html
149
/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/marker-content-013.html
150
/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/marker-content-014-expected.html
151
/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/marker-content-014.html
152
/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/marker-content-015-expected.html
153
/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/marker-content-015.html
154
/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/marker-content-016-expected.html
155
/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/marker-content-016.html
156
/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/marker-content-017-expected.html
157
/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/marker-content-017.html
158
/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/marker-content-018-expected.html
159
/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/marker-content-018.html
160
/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/marker-content-019-expected.html
161
/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/marker-content-019.html
162
/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/marker-content-020-expected.html
163
/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/marker-content-020.html
164
/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/marker-content-021-expected.html
165
/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/marker-content-021.html
166
/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/marker-content-022-expected.html
167
/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/marker-content-022.html
168
/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/marker-default-styles.html
169
/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/marker-display-computed.html
170
/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/marker-display-dynamic-001-expected.html
171
/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/marker-display-dynamic-001.html
33
/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/marker-font-properties-expected.html
172
/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/marker-font-properties-expected.html
34
/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/marker-font-properties.html
173
/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/marker-font-properties.html
174
/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/marker-font-variant-numeric-default-expected.html
175
/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/marker-font-variant-numeric-default-ref-expected.html
176
/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/marker-font-variant-numeric-default-ref.html
177
/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/marker-font-variant-numeric-default.html
178
/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/marker-font-variant-numeric-normal-expected.html
179
/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/marker-font-variant-numeric-normal-ref-expected.html
180
/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/marker-font-variant-numeric-normal-ref.html
181
/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/marker-font-variant-numeric-normal.html
182
/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/marker-hit-testing.html
183
/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/marker-inherit-line-height-expected.html
184
/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/marker-inherit-line-height.html
35
/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/marker-inherit-values-expected.html
185
/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/marker-inherit-values-expected.html
36
/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/marker-inherit-values.html
186
/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/marker-inherit-values.html
187
/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/marker-intrinsic-contribution-001.html
188
/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/marker-intrinsic-contribution-002-expected.html
189
/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/marker-intrinsic-contribution-002.html
190
/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/marker-list-style-position-expected.html
191
/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/marker-list-style-position.html
192
/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/marker-reverted-styles.html
193
/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/marker-text-combine-upright-expected.html
194
/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/marker-text-combine-upright.html
195
/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/marker-unicode-bidi-default-expected.html
196
/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/marker-unicode-bidi-default-ref-expected.html
197
/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/marker-unicode-bidi-default-ref.html
198
/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/marker-unicode-bidi-default.html
199
/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/marker-unicode-bidi-normal-expected.html
200
/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/marker-unicode-bidi-normal-ref-expected.html
201
/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/marker-unicode-bidi-normal-ref.html
202
/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/marker-unicode-bidi-normal.html
203
/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/outside-marker-paint-order-expected.html
204
/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/outside-marker-paint-order.html
37
/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/placeholder-input-number-expected.html
205
/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/placeholder-input-number-expected.html
38
/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/placeholder-input-number-notref.html
206
/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/placeholder-input-number-notref.html
39
/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/placeholder-input-number.html
207
/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/placeholder-input-number.html
208
/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/selection-text-shadow-016-expected.html
209
/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/selection-text-shadow-016.html
210
/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/spelling-error-001-expected.html
211
/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/spelling-error-001.html
212
/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/text-selection.html
213
/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/textpath-selection-011-expected.html
214
/LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/textpath-selection-011.html
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-scoping/META.yml +6 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-scoping/META.yml_sec1
1
spec: https://drafts.csswg.org/css-scoping/
2
suggested_reviewers:
3
  - kojiishi
4
  - rniwa
5
  - tabatkins
6
  - fantasai
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-scoping/OWNERS -4 lines
Lines 1-4 a/LayoutTests/imported/w3c/web-platform-tests/css/css-scoping/OWNERS_sec1
1
@kojiishi
2
@rniwa
3
@tabatkins
4
@fantasai
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-scoping/css-scoping-shadow-assigned-node-with-before-after.html -1 / +1 lines
Lines 37-43 a/LayoutTests/imported/w3c/web-platform-tests/css/css-scoping/css-scoping-shadow-assigned-node-with-before-after.html_sec1
37
            background: yellow;
37
            background: yellow;
38
        }
38
        }
39
    </style>
39
    </style>
40
    <p>Test passes if you see a single 100px by 100px green box below.</p> 
40
    <p>Test passes if you see a single 100px by 100px green box below.</p>
41
    <my-host>
41
    <my-host>
42
        <div slot="foo"></div>
42
        <div slot="foo"></div>
43
        <div slot="bar"></div>
43
        <div slot="bar"></div>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-scoping/css-scoping-shadow-assigned-node-with-rules.html -1 / +1 lines
Lines 26-32 a/LayoutTests/imported/w3c/web-platform-tests/css/css-scoping/css-scoping-shadow-assigned-node-with-rules.html_sec1
26
        color: red;
26
        color: red;
27
    }
27
    }
28
    </style>
28
    </style>
29
    <p>Test passes if you see a single 100px by 100px green box below.</p> 
29
    <p>Test passes if you see a single 100px by 100px green box below.</p>
30
    <my-host>
30
    <my-host>
31
        <div class="red">FAIL</div>
31
        <div class="red">FAIL</div>
32
        <div class="green" slot="green">FAIL</div>
32
        <div class="green" slot="green">FAIL</div>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-scoping/css-scoping-shadow-dynamic-remove-style-detached-expected.txt +3 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-scoping/css-scoping-shadow-dynamic-remove-style-detached-expected.txt_sec1
1
2
PASS Invalidation of style data while ShadowRoot is disconnected. 
3
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-scoping/css-scoping-shadow-dynamic-remove-style-detached.html +29 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-scoping/css-scoping-shadow-dynamic-remove-style-detached.html_sec1
1
<!doctype html>
2
<title>CSS Scoping: Invalidation of style data while ShadowRoot is disconnected.</title>
3
<link rel="author" title="Emilio Cobos Álvarez" href="mailto:emilio@crisal.io">
4
<link rel="author" title="Mozilla" href="https://mozilla.org">
5
<link rel="help" href="https://drafts.csswg.org/css-scoping">
6
<link rel="help" href="https://bugzilla.mozilla.org/show_bug.cgi?id=1612114">
7
<script src="/resources/testharness.js"></script>
8
<script src="/resources/testharnessreport.js"></script>
9
<div id="host"></div>
10
<script>
11
let t = async_test("Invalidation of style data while ShadowRoot is disconnected.");
12
13
let host = document.getElementById("host");
14
host.attachShadow({ mode: "open" }).innerHTML = `
15
  <style>
16
    div { color: red }
17
  </style>
18
  <div></div>
19
`;
20
assert_equals(getComputedStyle(host.shadowRoot.querySelector("div")).color, "rgb(255, 0, 0)");
21
host.remove();
22
host.shadowRoot.querySelector("style").remove();
23
requestAnimationFrame(t.step_func(function() {
24
  requestAnimationFrame(t.step_func_done(function() {
25
    document.body.appendChild(host);
26
    assert_not_equals(getComputedStyle(host.shadowRoot.querySelector("div")).color, "rgb(255, 0, 0)");
27
  }));
28
}));
29
</script>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-scoping/css-scoping-shadow-host-rule.html -1 / +1 lines
Lines 25-31 a/LayoutTests/imported/w3c/web-platform-tests/css/css-scoping/css-scoping-shadow-host-rule.html_sec1
25
            color: green;
25
            color: green;
26
        }
26
        }
27
    </style>
27
    </style>
28
    <p>Test passes if you see a single 100px by 100px green box below.</p> 
28
    <p>Test passes if you see a single 100px by 100px green box below.</p>
29
    <my-host>
29
    <my-host>
30
        <div>FAIL</div>
30
        <div>FAIL</div>
31
    </my-host>
31
    </my-host>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-scoping/css-scoping-shadow-host-with-before-after.html -1 / +1 lines
Lines 29-35 a/LayoutTests/imported/w3c/web-platform-tests/css/css-scoping/css-scoping-shadow-host-with-before-after.html_sec1
29
            background: green;
29
            background: green;
30
        }
30
        }
31
    </style>
31
    </style>
32
    <p>Test passes if you see a single 100px by 100px green box below.</p> 
32
    <p>Test passes if you see a single 100px by 100px green box below.</p>
33
    <my-host>
33
    <my-host>
34
        <div>FAIL</div>
34
        <div>FAIL</div>
35
    </my-host>
35
    </my-host>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-scoping/css-scoping-shadow-invisible-slot.html -1 / +1 lines
Lines 19-25 a/LayoutTests/imported/w3c/web-platform-tests/css/css-scoping/css-scoping-shadow-invisible-slot.html_sec1
19
        height: 50%;
19
        height: 50%;
20
    }
20
    }
21
    </style>
21
    </style>
22
    <p>Test passes if you see a single 100px by 100px green box below.</p> 
22
    <p>Test passes if you see a single 100px by 100px green box below.</p>
23
    <my-host>
23
    <my-host>
24
        <div slot="green" style="background: green;"></div>
24
        <div slot="green" style="background: green;"></div>
25
        <div style="background: red;">FAIL</div>
25
        <div style="background: red;">FAIL</div>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-scoping/css-scoping-shadow-root-hides-children.html -1 / +1 lines
Lines 17-23 a/LayoutTests/imported/w3c/web-platform-tests/css/css-scoping/css-scoping-shadow-root-hides-children.html_sec1
17
        width: 100%; height: 100%; background: red;
17
        width: 100%; height: 100%; background: red;
18
    }
18
    }
19
    </style>
19
    </style>
20
    <p>Test passes if you see a single 100px by 100px green box below.</p> 
20
    <p>Test passes if you see a single 100px by 100px green box below.</p>
21
    <my-host>
21
    <my-host>
22
        <div>FAIL</div>
22
        <div>FAIL</div>
23
    </my-host>
23
    </my-host>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-scoping/css-scoping-shadow-slot-display-override.html -1 / +1 lines
Lines 20-26 a/LayoutTests/imported/w3c/web-platform-tests/css/css-scoping/css-scoping-shadow-slot-display-override.html_sec1
20
            background: green;
20
            background: green;
21
        }
21
        }
22
    </style>
22
    </style>
23
    <p>Test passes if you see a single 100px by 100px green box below.</p> 
23
    <p>Test passes if you see a single 100px by 100px green box below.</p>
24
    <my-host>
24
    <my-host>
25
        <div></div>
25
        <div></div>
26
    </my-host>
26
    </my-host>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-scoping/css-scoping-shadow-slot-style.html -1 / +1 lines
Lines 21-27 a/LayoutTests/imported/w3c/web-platform-tests/css/css-scoping/css-scoping-shadow-slot-style.html_sec1
21
        height: 50%;
21
        height: 50%;
22
    }
22
    }
23
    </style>
23
    </style>
24
    <p>Test passes if you see a single 100px by 100px green box below.</p> 
24
    <p>Test passes if you see a single 100px by 100px green box below.</p>
25
    <my-host>
25
    <my-host>
26
        <div slot="green" style="background: green;">FAIL</div>
26
        <div slot="green" style="background: green;">FAIL</div>
27
        <div slot="green" style="background: inherit;">FAIL</div>
27
        <div slot="green" style="background: inherit;">FAIL</div>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-scoping/css-scoping-shadow-slot.html -1 / +1 lines
Lines 19-25 a/LayoutTests/imported/w3c/web-platform-tests/css/css-scoping/css-scoping-shadow-slot.html_sec1
19
        height: 50%;
19
        height: 50%;
20
    }
20
    }
21
    </style>
21
    </style>
22
    <p>Test passes if you see a single 100px by 100px green box below.</p> 
22
    <p>Test passes if you see a single 100px by 100px green box below.</p>
23
    <my-host>
23
    <my-host>
24
        <div slot="green" style="background: green;"></div>
24
        <div slot="green" style="background: green;"></div>
25
        <div style="background: red;">FAIL</div>
25
        <div style="background: red;">FAIL</div>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-scoping/css-scoping-shadow-slotted-nested.html -1 / +1 lines
Lines 20-26 a/LayoutTests/imported/w3c/web-platform-tests/css/css-scoping/css-scoping-shadow-slotted-nested.html_sec1
20
            height: 25px;
20
            height: 25px;
21
        }
21
        }
22
    </style>
22
    </style>
23
    <p>Test passes if you see a single 100px by 100px green box below.</p> 
23
    <p>Test passes if you see a single 100px by 100px green box below.</p>
24
    <outer-host>
24
    <outer-host>
25
        <span slot="outer">FAIL1</span>
25
        <span slot="outer">FAIL1</span>
26
        <span slot="inner">FAIL2</span>
26
        <span slot="inner">FAIL2</span>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-scoping/css-scoping-shadow-slotted-rule.html -1 / +1 lines
Lines 21-27 a/LayoutTests/imported/w3c/web-platform-tests/css/css-scoping/css-scoping-shadow-slotted-rule.html_sec1
21
            height: 25px;
21
            height: 25px;
22
        }
22
        }
23
    </style>
23
    </style>
24
    <p>Test passes if you see a single 100px by 100px green box below.</p> 
24
    <p>Test passes if you see a single 100px by 100px green box below.</p>
25
    <my-host>
25
    <my-host>
26
        <div class="green">FAIL1</div>
26
        <div class="green">FAIL1</div>
27
        <myelem><span>FAIL2</span></myelem>
27
        <myelem><span>FAIL2</span></myelem>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-scoping/css-scoping-shadow-with-outside-rules.html -1 / +1 lines
Lines 24-30 a/LayoutTests/imported/w3c/web-platform-tests/css/css-scoping/css-scoping-shadow-with-outside-rules.html_sec1
24
        }
24
        }
25
25
26
    </style>
26
    </style>
27
    <p>Test passes if you see a single 100px by 100px green box below.</p> 
27
    <p>Test passes if you see a single 100px by 100px green box below.</p>
28
    <my-host>
28
    <my-host>
29
        <div>FAIL</div>
29
        <div>FAIL</div>
30
    </my-host>
30
    </my-host>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-scoping/css-scoping-shadow-with-rules-no-style-leak.html -1 / +1 lines
Lines 18-24 a/LayoutTests/imported/w3c/web-platform-tests/css/css-scoping/css-scoping-shadow-with-rules-no-style-leak.html_sec1
18
        color:green;
18
        color:green;
19
    }
19
    }
20
    </style>
20
    </style>
21
    <p>Test passes if you see a single 100px by 100px green box below.</p> 
21
    <p>Test passes if you see a single 100px by 100px green box below.</p>
22
    <my-host>
22
    <my-host>
23
    </my-host>
23
    </my-host>
24
    <div>FAIL</div>
24
    <div>FAIL</div>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-scoping/css-scoping-shadow-with-rules.html -1 / +1 lines
Lines 17-23 a/LayoutTests/imported/w3c/web-platform-tests/css/css-scoping/css-scoping-shadow-with-rules.html_sec1
17
        width: 100%; height: 100%; background: red;
17
        width: 100%; height: 100%; background: red;
18
    }
18
    }
19
    </style>
19
    </style>
20
    <p>Test passes if you see a single 100px by 100px green box below.</p> 
20
    <p>Test passes if you see a single 100px by 100px green box below.</p>
21
    <my-host>
21
    <my-host>
22
        <div>FAIL</div>
22
        <div>FAIL</div>
23
    </my-host>
23
    </my-host>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-scoping/host-context-specificity-001-expected.html +11 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-scoping/host-context-specificity-001-expected.html_sec1
1
<!DOCTYPE html>
2
<html>
3
<head>
4
    <title>CSS Scoping Module Level 1 - A green box reference</title>
5
    <link rel="author" title="Ryosuke Niwa" href="mailto:rniwa@webkit.org"/>
6
</head>
7
<body>
8
    <p>Test passes if you see a single 100px by 100px green box below.</p>
9
    <div style="width: 100px; height: 100px; background: green;"></div>
10
</body>
11
</html>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-scoping/host-context-specificity-001.html +21 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-scoping/host-context-specificity-001.html_sec1
1
<!doctype html>
2
<meta charset="utf-8">
3
<title>CSS Test: the selector inside :host-context() affects specificity</title>
4
<link rel="help" href="https://drafts.csswg.org/css-scoping/#host-selector">
5
<link rel="match" href="reference/green-box.html">
6
<p>Test passes if you see a single 100px by 100px green box below.</p>
7
<div id="host"></div>
8
<script>
9
  host.attachShadow({ mode: 'open' }).innerHTML = `
10
    <style>
11
      :host-context(#host) {
12
        width: 100px;
13
        height: 100px;
14
        background: green;
15
      }
16
      :host {
17
        background: red;
18
      }
19
    </style>
20
  `;
21
</script>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-scoping/host-context-specificity-002-expected.html +11 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-scoping/host-context-specificity-002-expected.html_sec1
1
<!DOCTYPE html>
2
<html>
3
<head>
4
    <title>CSS Scoping Module Level 1 - A green box reference</title>
5
    <link rel="author" title="Ryosuke Niwa" href="mailto:rniwa@webkit.org"/>
6
</head>
7
<body>
8
    <p>Test passes if you see a single 100px by 100px green box below.</p>
9
    <div style="width: 100px; height: 100px; background: green;"></div>
10
</body>
11
</html>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-scoping/host-context-specificity-002.html +23 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-scoping/host-context-specificity-002.html_sec1
1
<!doctype html>
2
<meta charset="utf-8">
3
<title>CSS Test: :host-context() is accounted for during specificity computation</title>
4
<link rel="help" href="https://drafts.csswg.org/css-scoping/#host-selector">
5
<link rel="match" href="reference/green-box.html">
6
<p>Test passes if you see a single 100px by 100px green box below.</p>
7
<div id="host"></div>
8
<script>
9
  host.attachShadow({ mode: 'open' }).innerHTML = `
10
    <style>
11
      .foo span {
12
        display: block;
13
        width: 100px;
14
        height: 100px;
15
        background: red;
16
      }
17
      :host-context(*) span {
18
        background: green;
19
      }
20
    </style>
21
    <div class="foo"><span></span></div>
22
  `;
23
</script>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-scoping/host-context-specificity-003-expected.html +11 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-scoping/host-context-specificity-003-expected.html_sec1
1
<!DOCTYPE html>
2
<html>
3
<head>
4
    <title>CSS Scoping Module Level 1 - A green box reference</title>
5
    <link rel="author" title="Ryosuke Niwa" href="mailto:rniwa@webkit.org"/>
6
</head>
7
<body>
8
    <p>Test passes if you see a single 100px by 100px green box below.</p>
9
    <div style="width: 100px; height: 100px; background: green;"></div>
10
</body>
11
</html>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-scoping/host-context-specificity-003.html +22 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-scoping/host-context-specificity-003.html_sec1
1
<!doctype html>
2
<meta charset="utf-8">
3
<title>CSS Test: the :host-context() selector affects specificity</title>
4
<link rel="help" href="https://drafts.csswg.org/css-scoping/#host-selector">
5
<link rel="match" href="reference/green-box.html">
6
<p>Test passes if you see a single 100px by 100px green box below.</p>
7
<div id="host"></div>
8
<script>
9
  host.attachShadow({ mode: 'open' }).innerHTML = `
10
    <style>
11
      :host-context(*) div {
12
        width: 100px;
13
        height: 100px;
14
        background: green;
15
      }
16
      div {
17
        background: red;
18
      }
19
    </style>
20
    <div></div>
21
  `;
22
</script>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-scoping/host-specificity-002-expected.html +11 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-scoping/host-specificity-002-expected.html_sec1
1
<!DOCTYPE html>
2
<html>
3
<head>
4
    <title>CSS Scoping Module Level 1 - A green box reference</title>
5
    <link rel="author" title="Ryosuke Niwa" href="mailto:rniwa@webkit.org"/>
6
</head>
7
<body>
8
    <p>Test passes if you see a single 100px by 100px green box below.</p>
9
    <div style="width: 100px; height: 100px; background: green;"></div>
10
</body>
11
</html>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-scoping/host-specificity-002.html +26 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-scoping/host-specificity-002.html_sec1
1
<!doctype html>
2
<meta charset="utf-8">
3
<title>CSS Test: :host is accounted for during specificity computation</title>
4
<link rel="author" title="Emilio Cobos Álvarez" href="mailto:emilio@crisal.io">
5
<link rel="help" href="https://drafts.csswg.org/css-scoping/#host-selector">
6
<link rel="help" href="https://drafts.csswg.org/selectors/#specificity-rules">
7
<link rel="help" href="https://bugzil.la/1454165">
8
<link rel="match" href="reference/green-box.html">
9
<p>Test passes if you see a single 100px by 100px green box below.</p>
10
<div id="host"></div>
11
<script>
12
  host.attachShadow({ mode: 'open' }).innerHTML = `
13
    <style>
14
      .foo span {
15
        display: block;
16
        width: 100px;
17
        height: 100px;
18
        background: red;
19
      }
20
      :host span {
21
        background: green;
22
      }
23
    </style>
24
    <div class="foo"><span></span></div>
25
  `;
26
</script>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-scoping/host-specificity-003-expected.html +11 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-scoping/host-specificity-003-expected.html_sec1
1
<!DOCTYPE html>
2
<html>
3
<head>
4
    <title>CSS Scoping Module Level 1 - A green box reference</title>
5
    <link rel="author" title="Ryosuke Niwa" href="mailto:rniwa@webkit.org"/>
6
</head>
7
<body>
8
    <p>Test passes if you see a single 100px by 100px green box below.</p>
9
    <div style="width: 100px; height: 100px; background: green;"></div>
10
</body>
11
</html>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-scoping/host-specificity-003.html +26 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-scoping/host-specificity-003.html_sec1
1
<!doctype html>
2
<meta charset="utf-8">
3
<title>CSS Test: the :host() selector affects specificity</title>
4
<link rel="author" title="Emilio Cobos Álvarez" href="mailto:emilio@crisal.io">
5
<link rel="author" title="Mozilla" href="https://mozilla.org">
6
<link rel="help" href="https://drafts.csswg.org/css-scoping/#host-selector">
7
<link rel="help" href="https://github.com/w3c/csswg-drafts/issues/1915">
8
<link rel="help" href="https://bugzil.la/1454165">
9
<link rel="match" href="reference/green-box.html">
10
<p>Test passes if you see a single 100px by 100px green box below.</p>
11
<div id="host"></div>
12
<script>
13
  host.attachShadow({ mode: 'open' }).innerHTML = `
14
    <style>
15
      :host(*) div {
16
        width: 100px;
17
        height: 100px;
18
        background: green;
19
      }
20
      div {
21
        background: red;
22
      }
23
    </style>
24
    <div></div>
25
  `;
26
</script>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-scoping/host-specificity-expected.html +11 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-scoping/host-specificity-expected.html_sec1
1
<!DOCTYPE html>
2
<html>
3
<head>
4
    <title>CSS Scoping Module Level 1 - A green box reference</title>
5
    <link rel="author" title="Ryosuke Niwa" href="mailto:rniwa@webkit.org"/>
6
</head>
7
<body>
8
    <p>Test passes if you see a single 100px by 100px green box below.</p>
9
    <div style="width: 100px; height: 100px; background: green;"></div>
10
</body>
11
</html>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-scoping/host-specificity.html +25 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-scoping/host-specificity.html_sec1
1
<!doctype html>
2
<meta charset="utf-8">
3
<title>CSS Test: the selector inside :host() affects specificity</title>
4
<link rel="author" title="Emilio Cobos Álvarez" href="mailto:emilio@crisal.io">
5
<link rel="help" href="https://drafts.csswg.org/css-scoping/#host-selector">
6
<link rel="help" href="https://github.com/w3c/csswg-drafts/issues/1915">
7
<link rel="help" href="https://bugzil.la/1454165">
8
<link rel="match" href="reference/green-box.html">
9
<p>Test passes if you see a single 100px by 100px green box below.</p>
10
<div id="host"></div>
11
<script>
12
  host.attachShadow({ mode: 'open' }).innerHTML = `
13
    <style>
14
      :host(#host) {
15
        width: 100px;
16
        height: 100px;
17
        background: green;
18
      }
19
      :host {
20
        background: red;
21
      }
22
    </style>
23
    <slot></slot>
24
  `;
25
</script>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-scoping/host-with-default-namespace-001-expected.html +11 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-scoping/host-with-default-namespace-001-expected.html_sec1
1
<!DOCTYPE html>
2
<html>
3
<head>
4
    <title>CSS Scoping Module Level 1 - A green box reference</title>
5
    <link rel="author" title="Ryosuke Niwa" href="mailto:rniwa@webkit.org"/>
6
</head>
7
<body>
8
    <p>Test passes if you see a single 100px by 100px green box below.</p>
9
    <div style="width: 100px; height: 100px; background: green;"></div>
10
</body>
11
</html>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-scoping/host-with-default-namespace-001.html +18 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-scoping/host-with-default-namespace-001.html_sec1
1
<!doctype html>
2
<meta charset="utf-8">
3
<title>CSS Test: :host ignores default namespace</title>
4
<link rel="author" title="Emilio Cobos Álvarez" href="mailto:emilio@crisal.io">
5
<link rel="help" href="https://drafts.csswg.org/css-scoping/#host-element-in-tree">
6
<link rel="help" href="https://drafts.csswg.org/selectors-4/#featureless">
7
<link rel="help" href="https://bugzil.la/1546375">
8
<link rel="match" href="reference/green-box.html">
9
<p>Test passes if you see a single 100px by 100px green box below.</p>
10
<div id="host"></div>
11
<script>
12
  document.getElementById("host").attachShadow({ mode: "open" }).innerHTML = `
13
    <style>
14
      @namespace url(http://www.w3.org/2000/svg);
15
      :host { background-color: green; width: 100px; height: 100px; }
16
    </style>
17
  `;
18
</script>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-scoping/keyframes-001-expected.txt -1 / +1 lines
Lines 1-3 a/LayoutTests/imported/w3c/web-platform-tests/css/css-scoping/keyframes-001-expected.txt_sec1
1
1
2
PASS @keyframes applies in the shadow tree 
2
FAIL @keyframes applies in the shadow tree assert_equals: expected 1 but got 0
3
3
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-scoping/keyframes-001.html -2 / +2 lines
Lines 4-13 a/LayoutTests/imported/w3c/web-platform-tests/css/css-scoping/keyframes-001.html_sec1
4
<script src="/resources/testharnessreport.js"></script>
4
<script src="/resources/testharnessreport.js"></script>
5
<link rel="author" title="Emilio Cobos Álvarez" href="mailto:emilio@crisal.io">
5
<link rel="author" title="Emilio Cobos Álvarez" href="mailto:emilio@crisal.io">
6
<link rel="help" href="https://drafts.csswg.org/css-scoping/#selectors-data-model">
6
<link rel="help" href="https://drafts.csswg.org/css-scoping/#selectors-data-model">
7
<!-- 
7
<!--
8
  Beware of https://github.com/w3c/csswg-drafts/issues/1995 potentially, but
8
  Beware of https://github.com/w3c/csswg-drafts/issues/1995 potentially, but
9
  unlikely, changing the expected result of this test.
9
  unlikely, changing the expected result of this test.
10
 -->
10
-->
11
<style>
11
<style>
12
#in-document {
12
#in-document {
13
  width: 100px;
13
  width: 100px;
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-scoping/keyframes-002.html -2 / +2 lines
Lines 4-13 a/LayoutTests/imported/w3c/web-platform-tests/css/css-scoping/keyframes-002.html_sec1
4
<script src="/resources/testharnessreport.js"></script>
4
<script src="/resources/testharnessreport.js"></script>
5
<link rel="author" title="Emilio Cobos Álvarez" href="mailto:emilio@crisal.io">
5
<link rel="author" title="Emilio Cobos Álvarez" href="mailto:emilio@crisal.io">
6
<link rel="help" href="https://drafts.csswg.org/css-scoping/#selectors-data-model">
6
<link rel="help" href="https://drafts.csswg.org/css-scoping/#selectors-data-model">
7
<!-- 
7
<!--
8
  Beware of https://github.com/w3c/csswg-drafts/issues/1995 potentially, but
8
  Beware of https://github.com/w3c/csswg-drafts/issues/1995 potentially, but
9
  unlikely, changing the expected result of this test.
9
  unlikely, changing the expected result of this test.
10
 -->
10
-->
11
<style>
11
<style>
12
@keyframes myanim {
12
@keyframes myanim {
13
  from { background: red; }
13
  from { background: red; }
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-scoping/keyframes-003-expected.txt +3 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-scoping/keyframes-003-expected.txt_sec1
1
2
PASS @keyframes applies to the shadow host 
3
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-scoping/keyframes-003.html +26 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-scoping/keyframes-003.html_sec1
1
<!doctype html>
2
<title>CSS Test: @keyframes applies to :host.</title>
3
<script src="/resources/testharness.js"></script>
4
<script src="/resources/testharnessreport.js"></script>
5
<link rel="help" href="https://drafts.csswg.org/css-scoping/#shadow-names">
6
<div id="host"></div>
7
<script>
8
  test(function() {
9
    host.attachShadow({ mode: "open" }).innerHTML = `
10
      <style>
11
        @keyframes myanim {
12
          from { background: red; }
13
          to { background: green; }
14
        }
15
        :host {
16
          width: 100px;
17
          height: 100px;
18
          background: blue;
19
          animation: myanim 10s infinite;
20
        }
21
      </style>
22
    `;
23
24
    assert_equals(document.getElementById('host').getAnimations().length, 1);
25
  }, "@keyframes applies to the shadow host");
26
</script>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-scoping/keyframes-004-expected.txt +3 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-scoping/keyframes-004-expected.txt_sec1
1
2
PASS @keyframes in shadow tree applies to the slotted element 
3
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-scoping/keyframes-004.html +27 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-scoping/keyframes-004.html_sec1
1
<!doctype html>
2
<title>CSS Test: @keyframes applies to ::slotted.</title>
3
<script src="/resources/testharness.js"></script>
4
<script src="/resources/testharnessreport.js"></script>
5
<link rel="help" href="https://drafts.csswg.org/css-scoping/#shadow-names">
6
<div id="host"><div id="in-document"></div></div>
7
<script>
8
  test(function() {
9
    host.attachShadow({ mode: "open" }).innerHTML = `
10
      <style>
11
        @keyframes myanim {
12
          from { background: red; }
13
          to { background: green; }
14
        }
15
        ::slotted(#in-document) {
16
          width: 100px;
17
          height: 100px;
18
          background: blue;
19
          animation: myanim 10s infinite;
20
        }
21
      </style>
22
      <slot />
23
    `;
24
25
    assert_equals(document.getElementById('in-document').getAnimations().length, 1);
26
  }, "@keyframes in shadow tree applies to the slotted element");
27
</script>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-scoping/keyframes-005-expected.txt +3 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-scoping/keyframes-005-expected.txt_sec1
1
2
PASS @keyframes should not leak out of the shadow tree. 
3
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-scoping/keyframes-005.html +28 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-scoping/keyframes-005.html_sec1
1
<!doctype html>
2
<title>CSS Test: @keyframes should not leak out of shadow tree.</title>
3
<script src="/resources/testharness.js"></script>
4
<script src="/resources/testharnessreport.js"></script>
5
<link rel="help" href="https://drafts.csswg.org/css-scoping/#shadow-names">
6
<style>
7
  #host {
8
    width: 100px;
9
    height: 100px;
10
    background: blue;
11
    animation: myanim 10s infinite;
12
  }
13
</style>
14
<div id="host"></div>
15
<script>
16
  test(function() {
17
    host.attachShadow({ mode: "open" }).innerHTML = `
18
      <style>
19
        @keyframes myanim {
20
          from { background: red; }
21
          to { background: green; }
22
        }
23
      </style>
24
    `;
25
26
    assert_equals(document.getElementById('host').getAnimations().length, 0);
27
  }, "@keyframes should not leak out of the shadow tree.");
28
</script>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-scoping/keyframes-006-expected.txt +3 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-scoping/keyframes-006-expected.txt_sec1
1
2
PASS @keyframes applies to the shadow host 
3
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-scoping/keyframes-006.html +29 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-scoping/keyframes-006.html_sec1
1
<!doctype html>
2
<title>CSS Test: @keyframes applies to :host::before/::after.</title>
3
<script src="/resources/testharness.js"></script>
4
<script src="/resources/testharnessreport.js"></script>
5
<link rel="help" href="https://drafts.csswg.org/css-scoping/#shadow-names">
6
<div id="host"></div>
7
<script>
8
  test(function() {
9
    host.attachShadow({ mode: "open" }).innerHTML = `
10
      <style>
11
        @keyframes myanim {
12
          from { background: red; }
13
          to { background: green; }
14
        }
15
        :host::before, :host::after {
16
          content: "";
17
          display: block;
18
          width: 100px;
19
          height: 100px;
20
          background: blue;
21
          animation: myanim 10s infinite step-end;
22
        }
23
      </style>
24
    `;
25
26
    assert_equals(getComputedStyle(document.getElementById('host'), "::before").backgroundColor, "rgb(255, 0, 0)");
27
    assert_equals(getComputedStyle(document.getElementById('host'), "::after").backgroundColor, "rgb(255, 0, 0)");
28
  }, "@keyframes applies to the shadow host");
29
</script>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-scoping/reslot-text-inheritance-expected.html +3 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-scoping/reslot-text-inheritance-expected.html_sec1
1
<!doctype html>
2
<title>CSS Test: Reference</title>
3
<p style="color:green">This text should be green.</p>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-scoping/reslot-text-inheritance.html +17 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-scoping/reslot-text-inheritance.html_sec1
1
<!doctype html>
2
<html class="reftest-wait">
3
<title>CSS Test: Re-slotted text node inheritance</title>
4
<link rel="help" href="https://drafts.csswg.org/css-scoping/#slotted-pseudo">
5
<link rel="match" href="reference/green-text.html">
6
<script src="/common/reftest-wait.js"></script>
7
<p id="host">This text should be green.</p>
8
<script>
9
  const root = host.attachShadow({mode:"open"});
10
  root.innerHTML = `
11
    <slot style="color:green" name="no-match"></slot>
12
    <slot style="color:red"></slot>
13
  `;
14
  host.offsetTop;
15
  root.querySelector("slot").removeAttribute("name");
16
  takeScreenshot();
17
</script>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-scoping/resources/w3c-import.log -1 / +1 lines
Lines 1-7 a/LayoutTests/imported/w3c/web-platform-tests/css/css-scoping/resources/w3c-import.log_sec1
1
The tests in this directory were imported from the W3C repository.
1
The tests in this directory were imported from the W3C repository.
2
Do NOT modify these tests directly in WebKit.
2
Do NOT modify these tests directly in WebKit.
3
Instead, create a pull request on the WPT github:
3
Instead, create a pull request on the WPT github:
4
	https://github.com/w3c/web-platform-tests
4
	https://github.com/web-platform-tests/wpt
5
5
6
Then run the Tools/Scripts/import-w3c-tests in WebKit to reimport
6
Then run the Tools/Scripts/import-w3c-tests in WebKit to reimport
7
7
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-scoping/shadow-directionality-001.tentative-expected.html +11 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-scoping/shadow-directionality-001.tentative-expected.html_sec1
1
<!DOCTYPE html>
2
<html>
3
<head>
4
    <title>CSS Scoping Module Level 1 - A green box reference</title>
5
    <link rel="author" title="Ryosuke Niwa" href="mailto:rniwa@webkit.org"/>
6
</head>
7
<body>
8
    <p>Test passes if you see a single 100px by 100px green box below.</p>
9
    <div style="width: 100px; height: 100px; background: green;"></div>
10
</body>
11
</html>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-scoping/shadow-directionality-001.tentative.html +34 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-scoping/shadow-directionality-001.tentative.html_sec1
1
<!doctype html>
2
<title>CSS Test: directionality propagation in Shadow DOM.</title>
3
<link rel="author" href="mailto:emilio@crisal.io" title="Emilio Cobos Álvarez">
4
<link rel="help" href="https://html.spec.whatwg.org/#the-dir-attribute">
5
<link rel="help" href="https://github.com/whatwg/html/issues/3699">
6
<link rel="match" href="reference/green-box.html">
7
<style>
8
  div { width: 100px; }
9
</style>
10
<p>Test passes if you see a single 100px by 100px green box below.</p>
11
<div id="host1"></div>
12
<div id="host2" dir="rtl"></div>
13
<div id="host3"></div>
14
<div id="host4" dir="rtl"></div>
15
<script>
16
  host1.attachShadow({ mode: "open" }).innerHTML = `
17
    <style>:dir(ltr) { background: green; height: 25px; }</style>
18
    <div></div>
19
  `;
20
  host2.attachShadow({ mode: "open" }).innerHTML = `
21
    <style>:dir(rtl) { background: green; height: 25px; }</style>
22
    <div></div>
23
  `;
24
  host3.attachShadow({ mode: "open" }).innerHTML = `
25
    <style>:dir(rtl) { background: green; height: 25px; }</style>
26
    <div></div>
27
  `;
28
  host4.attachShadow({ mode: "open" }).innerHTML = `
29
    <style>span:dir(ltr) { display: block; background: green; height: 25px; }</style>
30
    <div dir="ltr"><span></span></div>
31
  `;
32
  document.body.offsetTop;
33
  host3.setAttribute("dir", "rtl");
34
</script>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-scoping/shadow-directionality-002.tentative-expected.html +11 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-scoping/shadow-directionality-002.tentative-expected.html_sec1
1
<!DOCTYPE html>
2
<html>
3
<head>
4
    <title>CSS Scoping Module Level 1 - A green box reference</title>
5
    <link rel="author" title="Ryosuke Niwa" href="mailto:rniwa@webkit.org"/>
6
</head>
7
<body>
8
    <p>Test passes if you see a single 100px by 100px green box below.</p>
9
    <div style="width: 100px; height: 100px; background: green;"></div>
10
</body>
11
</html>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-scoping/shadow-directionality-002.tentative.html +19 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-scoping/shadow-directionality-002.tentative.html_sec1
1
<!doctype html>
2
<title>CSS Test: directionality propagation in Shadow DOM, appending a shadow host.</title>
3
<link rel="author" href="mailto:emilio@crisal.io" title="Emilio Cobos Álvarez">
4
<link rel="help" href="https://html.spec.whatwg.org/#the-dir-attribute">
5
<link rel="help" href="https://github.com/whatwg/html/issues/3699">
6
<link rel="match" href="reference/green-box.html">
7
<p>Test passes if you see a single 100px by 100px green box below.</p>
8
<style>
9
  div { width: 100px; }
10
</style>
11
<div id="host-parent" dir="rtl"></div>
12
<script>
13
  let host = document.createElement("div");
14
  host.attachShadow({ mode: "open" }).innerHTML = `
15
    <style>:dir(rtl) { background: green; height: 100px; width: 100px; }</style>
16
    <div></div>
17
  `;
18
  document.getElementById("host-parent").appendChild(host);
19
</script>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-scoping/shadow-host-removal-invalidation-expected.txt +3 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-scoping/shadow-host-removal-invalidation-expected.txt_sec1
1
2
PASS :host rules are properly invalidated when stylesheets are removed 
3
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-scoping/shadow-host-removal-invalidation.html +21 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-scoping/shadow-host-removal-invalidation.html_sec1
1
<!doctype html>
2
<title>CSS Test: Invalidation of :host selectors</title>
3
<link rel="author" title="Emilio Cobos Álvarez" href="mailto:emilio@crisal.io">
4
<link rel="author" title="Mozilla" href="https://mozilla.org">
5
<link rel="help" href="https://drafts.csswg.org/css-scoping/#host-selector">
6
<link rel="help" href="https://bugzilla.mozilla.org/show_bug.cgi?id=1499603">
7
<script src="/resources/testharness.js"></script>
8
<script src="/resources/testharnessreport.js"></script>
9
<div id="host" style="color: green"></div>
10
<script>
11
host.attachShadow({ mode: "open" }).innerHTML = `
12
  <style>
13
    :host { color: red !important }
14
  </style>
15
`;
16
test(function() {
17
  assert_equals(getComputedStyle(host).color, "rgb(255, 0, 0)");
18
  host.shadowRoot.querySelector("style").remove();
19
  assert_equals(getComputedStyle(host).color, "rgb(0, 128, 0)");
20
}, ":host rules are properly invalidated when stylesheets are removed");
21
</script>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-scoping/shadow-link-rel-stylesheet-expected.html +11 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-scoping/shadow-link-rel-stylesheet-expected.html_sec1
1
<!DOCTYPE html>
2
<html>
3
<head>
4
    <title>CSS Scoping Module Level 1 - A green box reference</title>
5
    <link rel="author" title="Ryosuke Niwa" href="mailto:rniwa@webkit.org"/>
6
</head>
7
<body>
8
    <p>Test passes if you see a single 100px by 100px green box below.</p>
9
    <div style="width: 100px; height: 100px; background: green;"></div>
10
</body>
11
</html>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-scoping/shadow-link-rel-stylesheet-no-style-leak-expected.html +11 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-scoping/shadow-link-rel-stylesheet-no-style-leak-expected.html_sec1
1
<!DOCTYPE html>
2
<html>
3
<head>
4
    <title>CSS Scoping Module Level 1 - A green box reference</title>
5
    <link rel="author" title="Ryosuke Niwa" href="mailto:rniwa@webkit.org"/>
6
</head>
7
<body>
8
    <p>Test passes if you see a single 100px by 100px green box below.</p>
9
    <div style="width: 100px; height: 100px; background: green;"></div>
10
</body>
11
</html>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-scoping/shadow-link-rel-stylesheet-no-style-leak.html +21 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-scoping/shadow-link-rel-stylesheet-no-style-leak.html_sec1
1
<!doctype html>
2
<title>CSS Test: &lt;link rel="stylesheet"&gt; in Shadow DOM doesn't affect the normal DOM</title>
3
<link rel="help" href="https://html.spec.whatwg.org/#link-type-stylesheet">
4
<link rel="help" href="https://drafts.csswg.org/css-scoping/#selectors-data-model">
5
<link rel="match" href="reference/green-box.html">
6
<p>Test passes if you see a single 100px by 100px green box below.</p>
7
<style>
8
  #light-dom {
9
    width: 100px;
10
    height: 100px;
11
    background: green;
12
    color: green;
13
  }
14
</style>
15
<div id="host">FAIL</div>
16
<div id="light-dom"></div>
17
<script>
18
  host.attachShadow({ mode: "open" }).innerHTML = `
19
    <link rel="stylesheet" href="data:text/css,div { background: red !important }">
20
  `;
21
</script>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-scoping/shadow-link-rel-stylesheet.html +11 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-scoping/shadow-link-rel-stylesheet.html_sec1
1
<!doctype html>
2
<title>CSS Test: &lt;link rel="stylesheet"&gt; in Shadow DOM</title>
3
<link rel="help" href="https://html.spec.whatwg.org/#link-type-stylesheet">
4
<link rel="match" href="reference/green-box.html">
5
<p>Test passes if you see a single 100px by 100px green box below.</p>
6
<div id="host">FAIL</div>
7
<script>
8
  host.attachShadow({ mode: "open" }).innerHTML = `
9
    <link rel="stylesheet" href="resources/host-green-box.css">
10
  `;
11
</script>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-scoping/shadow-multiple-links-expected.txt +3 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-scoping/shadow-multiple-links-expected.txt_sec1
1
2
PASS Multiple stylesheets with the same href in a ShadowRoot should not assert or crash 
3
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-scoping/shadow-multiple-links.html +15 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-scoping/shadow-multiple-links.html_sec1
1
<!doctype html>
2
<title>CSS Test: ShadowRoot with multiple sheet links with the same href shouldn't crash</title>
3
<script src="/resources/testharness.js"></script>
4
<script src="/resources/testharnessreport.js"></script>
5
<link rel="author" title="Emilio Cobos Álvarez" href="mailto:emilio@crisal.io">
6
<link rel="help" href="https://drafts.csswg.org/css-scoping/#selectors-data-model">
7
<div id="host"></div>
8
<script>
9
test(function() {
10
  host.attachShadow({ mode: "open" }).innerHTML = `
11
    <link rel="stylesheet" href="data:text/css,">
12
    <link rel="stylesheet" href="data:text/css,">
13
  `;
14
}, "Multiple stylesheets with the same href in a ShadowRoot should not assert or crash");
15
</script>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-scoping/shadow-reassign-dynamic-002-expected.html +11 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-scoping/shadow-reassign-dynamic-002-expected.html_sec1
1
<!DOCTYPE html>
2
<html>
3
<head>
4
    <title>CSS Scoping Module Level 1 - A green box reference</title>
5
    <link rel="author" title="Ryosuke Niwa" href="mailto:rniwa@webkit.org"/>
6
</head>
7
<body>
8
    <p>Test passes if you see a single 100px by 100px green box below.</p>
9
    <div style="width: 100px; height: 100px; background: green;"></div>
10
</body>
11
</html>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-scoping/shadow-reassign-dynamic-002.html +21 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-scoping/shadow-reassign-dynamic-002.html_sec1
1
<!DOCTYPE html>
2
<meta charset="utf-8">
3
<title>CSS Scoping: Dynamic reassignment of a slot.</title>
4
<link rel="author" title="Emilio Cobos Álvarez" href="mailto:emilio@crisal.io">
5
<link rel="help" href="https://drafts.csswg.org/css-scoping/#selectors-data-model">
6
<link rel="help" href="https://bugzilla.mozilla.org/show_bug.cgi?id=1465572">
7
<link rel="match" href="reference/green-box.html"/>
8
<div id="host">
9
  FAIL
10
  <div style="background: green" slot="the-slot"></div>
11
</div>
12
<script>
13
  document.body.offsetTop;
14
  host.attachShadow({ mode: "open" }).innerHTML = `
15
    <style>::slotted(div) { width: 100px; height: 100px }</style>
16
    <p>Test passes if you see a single 100px by 100px green box below.</p>
17
    <slot>FAIL</slot>
18
  `;
19
  document.body.offsetTop;
20
  host.shadowRoot.querySelector("slot").setAttribute("name", "the-slot");
21
</script>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-scoping/shadow-reassign-dynamic-003-expected.txt +5 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-scoping/shadow-reassign-dynamic-003-expected.txt_sec1
1
This text should be green.
2
3
PASS Initial computed color. 
4
PASS Computed color after re-slotting. 
5
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-scoping/shadow-reassign-dynamic-003.html +19 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-scoping/shadow-reassign-dynamic-003.html_sec1
1
<!DOCTYPE html>
2
<script src="/resources/testharness.js"></script>
3
<script src="/resources/testharnessreport.js"></script>
4
<link rel="help" href="https://drafts.csswg.org/css-scoping/#slots-in-shadow-tree">
5
<div id="host"><span id="slotted">This text should be green.</span></div>
6
<script>
7
  const root = host.attachShadow({mode:"open"});
8
  root.innerHTML = '<slot name="nomatch" style="color:green"></slot><slot style="color:red"></slot>';
9
10
  test(() => {
11
    assert_equals(getComputedStyle(slotted).color, "rgb(255, 0, 0)");
12
  }, "Initial computed color.");
13
14
  test(() => {
15
    root.querySelector("slot").removeAttribute("name");
16
    assert_equals(getComputedStyle(slotted).color, "rgb(0, 128, 0)");
17
18
  }, "Computed color after re-slotting.");
19
</script>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-scoping/shadow-reassign-dynamic-004-expected.html +11 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-scoping/shadow-reassign-dynamic-004-expected.html_sec1
1
<!DOCTYPE html>
2
<html>
3
<head>
4
    <title>CSS Scoping Module Level 1 - A green box reference</title>
5
    <link rel="author" title="Ryosuke Niwa" href="mailto:rniwa@webkit.org"/>
6
</head>
7
<body>
8
    <p>Test passes if you see a single 100px by 100px green box below.</p>
9
    <div style="width: 100px; height: 100px; background: green;"></div>
10
</body>
11
</html>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-scoping/shadow-reassign-dynamic-004.html +26 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-scoping/shadow-reassign-dynamic-004.html_sec1
1
<!DOCTYPE html>
2
<meta charset="utf-8">
3
<title>CSS Scoping: Dynamic reassignment of a slot.</title>
4
<link rel="author" title="Edgar Chen" href="mailto:echen@mozilla.com">
5
<link rel="help" href="https://drafts.csswg.org/css-scoping/#selectors-data-model">
6
<link rel="help" href="https://bugzilla.mozilla.org/show_bug.cgi?id=1548848">
7
<link rel="match" href="reference/green-box.html"/>
8
<div id="host">
9
  <div id="green" style="background: green"></div>
10
<div>
11
<script>
12
  let root = host.attachShadow({mode: 'open'});
13
  root.innerHTML = `
14
    <style>::slotted(div),div { width: 100px; height: 100px }</style>
15
    <p>Test passes if you see a single 100px by 100px green box below.</p>
16
    <slot id="slot"></slot>
17
    <slot>
18
      <div style="background: red"></div>
19
    </slot>
20
  `;
21
22
  onload = function () {
23
    root.offsetTop; // Update layout
24
    root.getElementById('slot').remove();
25
  };
26
</script>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-scoping/slot-non-html-display-value-expected.txt +3 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-scoping/slot-non-html-display-value-expected.txt_sec1
1
2
PASS Non-HTML slot elements shouldn't be display: contents by default. 
3
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-scoping/slot-non-html-display-value.html +18 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-scoping/slot-non-html-display-value.html_sec1
1
<!doctype html>
2
<title>CSS Test: non-HTML slot elements don't get display: contents by default.</title>
3
<script src="/resources/testharness.js"></script>
4
<script src="/resources/testharnessreport.js"></script>
5
<link rel="author" title="Emilio Cobos Álvarez" href="mailto:emilio@crisal.io">
6
<link rel="help" href="https://drafts.csswg.org/css-scoping/#slots-in-shadow-tree">
7
<link rel="help" href="https://bugzil.la/1468127">
8
<body>
9
<script>
10
test(function() {
11
  const non_html_slot = document.createElementNS("http://www.w3.org/2000/svg", "slot");
12
  document.body.appendChild(non_html_slot);
13
  const display = getComputedStyle(non_html_slot).display;
14
  // contents would get turned to "none" due to https://drafts.csswg.org/css-display/#unbox-svg
15
  assert_true(display != "contents" && display != "none");
16
}, "Non-HTML slot elements shouldn't be display: contents by default.");
17
</script>
18
</body>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-scoping/slotted-matches-expected.txt +3 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-scoping/slotted-matches-expected.txt_sec1
1
2
PASS ::slotted() doesn't reveal the presence of shadow DOM via matches() 
3
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-scoping/slotted-matches.html +16 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-scoping/slotted-matches.html_sec1
1
<!doctype html>
2
<title>CSS Test: ::slotted() should not match via the matches() API, since it's in the wrong scope</title>
3
<script src="/resources/testharness.js"></script>
4
<script src="/resources/testharnessreport.js"></script>
5
<link rel="author" title="Emilio Cobos Álvarez" href="mailto:emilio@crisal.io">
6
<link rel="help" href="https://drafts.csswg.org/css-scoping/#slotted-pseudo">
7
<link rel="help" href="https://dom.spec.whatwg.org/#dom-element-matches">
8
<link rel="help" href="https://bugzil.la/1544242">
9
<div id="host"><div id="slotted"></div></div>
10
<script>
11
test(function() {
12
  let slotted = document.getElementById("slotted");
13
  host.attachShadow({ mode: "open" }).innerHTML = `<slot></slot>`;
14
  assert_false(slotted.matches("::slotted(div)"), "Shouldn't match ::slotted from the outer tree")
15
}, "::slotted() doesn't reveal the presence of shadow DOM via matches()");
16
</script>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-scoping/slotted-nested-expected.txt +6 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-scoping/slotted-nested-expected.txt_sec1
1
This text should be green
2
3
4
PASS Slotted matches rules against the slot in the right tree 
5
FAIL Style invalidation works correctly for nested slots assert_not_equals: got disallowed value "rgb(0, 128, 0)"
6
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-scoping/slotted-nested.html +49 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-scoping/slotted-nested.html_sec1
1
<!doctype html>
2
<link rel="href" href="https://mozilla.org" title="Mozilla">
3
<link rel="author" href="mailto:emilio@crisal.io" title="Emilio Cobos Álvarez">
4
<link rel="help" href="https://drafts.csswg.org/css-scoping/#slotted-pseudo">
5
<script src="/resources/testharness.js"></script>
6
<script src="/resources/testharnessreport.js"></script>
7
<div id="host"><p>This text should be green</p></div>
8
<script>
9
  let shadow = host.attachShadow({ mode: "open" });
10
  shadow.innerHTML = `
11
    <style>
12
      /* This is not expected to match */
13
      .container ::slotted(p) {
14
        color: red !important;
15
      }
16
17
      /* This _is_ expected to match */
18
      #nested ::slotted(p) {
19
        background-color: green;
20
      }
21
    </style>
22
    <div id="nested"><slot></slot></div>
23
  `;
24
25
  let nested = shadow.querySelector("#nested").attachShadow({ mode: "open" });
26
  nested.innerHTML = `
27
    <style>
28
      .container ::slotted(p) {
29
        color: green;
30
      }
31
    </style>
32
    <div class="container">
33
      <slot></slot>
34
    </div>
35
  `;
36
37
  let p = document.querySelector("p");
38
  test(function() {
39
    assert_equals(getComputedStyle(p).color, "rgb(0, 128, 0)");
40
    assert_equals(getComputedStyle(p).backgroundColor, "rgb(0, 128, 0)");
41
  }, "Slotted matches rules against the slot in the right tree");
42
  test(function() {
43
    nested.querySelector(".container").classList.remove("container");
44
    assert_not_equals(getComputedStyle(p).color, "rgb(0, 128, 0)");
45
46
    nested.host.removeAttribute("id");
47
    assert_not_equals(getComputedStyle(p).backgroundColor, "rgb(0, 128, 0)");
48
  }, "Style invalidation works correctly for nested slots");
49
</script>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-scoping/slotted-parsing-expected.txt -19 / +27 lines
Lines 1-21 a/LayoutTests/imported/w3c/web-platform-tests/css/css-scoping/slotted-parsing-expected.txt_sec1
1
1
2
PASS Should be an invalid selector: '::slotted' 
2
PASS "::slotted" should be an invalid selector 
3
PASS Should be an invalid selector: '::slotted()' 
3
PASS "::slotted()" should be an invalid selector 
4
PASS Should be an invalid selector: '::slotted(*).class' 
4
PASS "::slotted(*).class" should be an invalid selector 
5
PASS Should be an invalid selector: '::slotted(*)#id {}' 
5
PASS "::slotted(*)#id {}" should be an invalid selector 
6
PASS Should be an invalid selector: '::slotted(*)[attr]' 
6
PASS "::slotted(*)[attr]" should be an invalid selector 
7
PASS Should be an invalid selector: '::slotted(*):hover' 
7
PASS "::slotted(*):host" should be an invalid selector 
8
PASS Should be an invalid selector: '::slotted(*):read-only' 
8
PASS "::slotted(*):host(div)" should be an invalid selector 
9
PASS Should be an invalid selector: '::slotted(*)::slotted(*)' 
9
PASS "::slotted(*):hover" should be an invalid selector 
10
PASS Should be an invalid selector: '::slotted(*)::before::slotted(*)' 
10
PASS "::slotted(*):is(:hover)" should be an invalid selector 
11
PASS Should be an invalid selector: '::slotted(*) span' 
11
PASS "::slotted(*):where(:hover)" should be an invalid selector 
12
PASS Should be a valid selector: '::slotted(*)' 
12
PASS "::slotted(*):is(#id)" should be an invalid selector 
13
PASS Should be a valid selector: '::slotted(div)' 
13
PASS "::slotted(*):where(#id)" should be an invalid selector 
14
PASS Should be a valid selector: '::slotted([attr]:hover)' 
14
PASS "::slotted(*):read-only" should be an invalid selector 
15
PASS Should be a valid selector: '::slotted(:not(.a))' 
15
PASS "::slotted(*)::slotted(*)" should be an invalid selector 
16
FAIL Should be a valid selector: '::slotted(*)::before' assert_true: expected true got false
16
PASS "::slotted(*)::before::slotted(*)" should be an invalid selector 
17
FAIL Should be a valid selector: '::slotted(*)::after' assert_true: expected true got false
17
PASS "::slotted(*) span" should be an invalid selector 
18
PASS Should be an invalid selector: '::slotted(*)::first-line' 
18
PASS "::slotted(*)" should be a valid selector 
19
PASS Should be an invalid selector: '::slotted(*)::first-letter' 
19
PASS "::slotted(div)" should be a valid selector 
20
PASS Should be an invalid selector: '::slotted(*)::selection' 
20
PASS "::slotted([attr]:hover)" should be a valid selector 
21
PASS "::slotted(:not(.a))" should be a valid selector 
22
FAIL "::slotted(*)::before" should be a valid selector The string did not match the expected pattern.
23
FAIL "::slotted(*)::after" should be a valid selector The string did not match the expected pattern.
24
FAIL "::slotted(*)::placeholder" should be a valid selector The string did not match the expected pattern.
25
FAIL "::slotted(*)::marker" should be a valid selector The string did not match the expected pattern.
26
PASS "::slotted(*)::first-line" should be an invalid selector 
27
PASS "::slotted(*)::first-letter" should be an invalid selector 
28
PASS "::slotted(*)::selection" should be an invalid selector 
21
29
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-scoping/slotted-parsing.html -22 / +9 lines
Lines 5-41 a/LayoutTests/imported/w3c/web-platform-tests/css/css-scoping/slotted-parsing.html_sec1
5
<link rel="help" href="https://drafts.csswg.org/css-scoping/#slotted-pseudo">
5
<link rel="help" href="https://drafts.csswg.org/css-scoping/#slotted-pseudo">
6
<script src="/resources/testharness.js"></script>
6
<script src="/resources/testharness.js"></script>
7
<script src="/resources/testharnessreport.js"></script>
7
<script src="/resources/testharnessreport.js"></script>
8
<script src="/css/support/parsing-testcommon.js"></script>
8
<style id="styleElm">
9
<style id="styleElm">
9
</style>
10
</style>
10
<script>
11
<script>
11
  function parse_selector(selector_text) {
12
    try {
13
      styleElm.sheet.insertRule(selector_text+"{}");
14
      styleElm.sheet.deleteRule(0);
15
      return true;
16
    } catch (ex) {
17
      return false;
18
    }
19
  }
20
21
  function test_valid_selector(selector_text) {
22
    test(function(){
23
      assert_true(parse_selector(selector_text));
24
    }, "Should be a valid selector: '" + selector_text + "'");
25
  }
26
27
  function test_invalid_selector(selector_text) {
28
    test(function(){
29
      assert_false(parse_selector(selector_text));
30
    }, "Should be an invalid selector: '" + selector_text + "'");
31
  }
32
33
  test_invalid_selector("::slotted");
12
  test_invalid_selector("::slotted");
34
  test_invalid_selector("::slotted()");
13
  test_invalid_selector("::slotted()");
35
  test_invalid_selector("::slotted(*).class");
14
  test_invalid_selector("::slotted(*).class");
36
  test_invalid_selector("::slotted(*)#id {}");
15
  test_invalid_selector("::slotted(*)#id {}");
37
  test_invalid_selector("::slotted(*)[attr]");
16
  test_invalid_selector("::slotted(*)[attr]");
17
  test_invalid_selector("::slotted(*):host");
18
  test_invalid_selector("::slotted(*):host(div)");
38
  test_invalid_selector("::slotted(*):hover");
19
  test_invalid_selector("::slotted(*):hover");
20
  test_invalid_selector("::slotted(*):is(:hover)");
21
  test_invalid_selector("::slotted(*):where(:hover)");
22
  test_invalid_selector("::slotted(*):is(#id)");
23
  test_invalid_selector("::slotted(*):where(#id)");
39
  test_invalid_selector("::slotted(*):read-only");
24
  test_invalid_selector("::slotted(*):read-only");
40
  test_invalid_selector("::slotted(*)::slotted(*)");
25
  test_invalid_selector("::slotted(*)::slotted(*)");
41
  test_invalid_selector("::slotted(*)::before::slotted(*)");
26
  test_invalid_selector("::slotted(*)::before::slotted(*)");
Lines 49-54 a/LayoutTests/imported/w3c/web-platform-tests/css/css-scoping/slotted-parsing.html_sec2
49
  // Allow tree-abiding pseudo elements after ::slotted
34
  // Allow tree-abiding pseudo elements after ::slotted
50
  test_valid_selector("::slotted(*)::before");
35
  test_valid_selector("::slotted(*)::before");
51
  test_valid_selector("::slotted(*)::after");
36
  test_valid_selector("::slotted(*)::after");
37
  test_valid_selector("::slotted(*)::placeholder");
38
  test_valid_selector("::slotted(*)::marker");
52
39
53
  // Other pseudo elements not valid after ::slotted
40
  // Other pseudo elements not valid after ::slotted
54
  test_invalid_selector("::slotted(*)::first-line");
41
  test_invalid_selector("::slotted(*)::first-line");
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-scoping/slotted-placeholder-expected.html +6 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-scoping/slotted-placeholder-expected.html_sec1
1
<!doctype html>
2
<style>
3
  ::placeholder { color: green }
4
</style>
5
<input placeholder="I should be green">
6
<textarea placeholder="I should be green"></textarea>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-scoping/slotted-placeholder.html +19 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-scoping/slotted-placeholder.html_sec1
1
<!doctype html>
2
<meta charset="utf-8">
3
<title>CSS Scoping Test: ::slotted() allows ::placeholder</title>
4
<link rel="author" title="Emilio Cobos Álvarez" href="mailto:emilio@crisal.io">
5
<link rel="author" title="Mozilla" href="https://mozilla.org">
6
<link rel="help" href="https://drafts.csswg.org/css-scoping/#slotted-pseudo">
7
<link rel="match" href="slotted-placeholder-ref.html">
8
<div id="host">
9
  <input placeholder="I should be green">
10
  <textarea placeholder="I should be green"></textarea>
11
</div>
12
<script>
13
  host.attachShadow({ mode: "open" }).innerHTML = `
14
    <style>
15
      ::slotted(*)::placeholder { color: green }
16
    </style>
17
    <slot></slot>
18
  `;
19
</script>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-scoping/slotted-specificity-expected.html +11 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-scoping/slotted-specificity-expected.html_sec1
1
<!DOCTYPE html>
2
<html>
3
<head>
4
    <title>CSS Scoping Module Level 1 - A green box reference</title>
5
    <link rel="author" title="Ryosuke Niwa" href="mailto:rniwa@webkit.org"/>
6
</head>
7
<body>
8
    <p>Test passes if you see a single 100px by 100px green box below.</p>
9
    <div style="width: 100px; height: 100px; background: green;"></div>
10
</body>
11
</html>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-scoping/slotted-specificity.html +25 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-scoping/slotted-specificity.html_sec1
1
<!doctype html>
2
<meta charset="utf-8">
3
<title>CSS Test: the selector inside ::slotted() affects specificity</title>
4
<link rel="author" title="Emilio Cobos Álvarez" href="mailto:emilio@crisal.io">
5
<link rel="help" href="https://drafts.csswg.org/css-scoping/#slotted-pseudo">
6
<link rel="help" href="https://github.com/w3c/csswg-drafts/issues/1915">
7
<link rel="help" href="https://bugzil.la/1454165">
8
<link rel="match" href="reference/green-box.html">
9
<p>Test passes if you see a single 100px by 100px green box below.</p>
10
<div id="host"><div id="slotted"></div></div>
11
<script>
12
  host.attachShadow({ mode: 'open' }).innerHTML = `
13
    <style>
14
      ::slotted(#slotted) {
15
        width: 100px;
16
        height: 100px;
17
        background: green;
18
      }
19
      ::slotted(*) {
20
        background: red;
21
      }
22
    </style>
23
    <slot></slot>
24
  `;
25
</script>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-scoping/slotted-with-pseudo-element-expected.html +1 lines
Lines 5-7 a/LayoutTests/imported/w3c/web-platform-tests/css/css-scoping/slotted-with-pseudo-element-expected.html_sec1
5
<div>PASS</div>
5
<div>PASS</div>
6
<div>PASS</div>
6
<div>PASS</div>
7
<div style="color:green">PASS</div>
7
<div style="color:green">PASS</div>
8
<div style="color:green">PASS</div>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-scoping/slotted-with-pseudo-element.html +9 lines
Lines 7-12 a/LayoutTests/imported/w3c/web-platform-tests/css/css-scoping/slotted-with-pseudo-element.html_sec1
7
<div id="host1"><span></span></div>
7
<div id="host1"><span></span></div>
8
<div id="host2"><span></span></div>
8
<div id="host2"><span></span></div>
9
<div id="host3"><span></span></div>
9
<div id="host3"><span></span></div>
10
<div id="host4"><span></span></div>
10
<style>
11
<style>
11
  #host3 > span::before { content: "PASS" }
12
  #host3 > span::before { content: "PASS" }
12
</style>
13
</style>
Lines 19-22 a/LayoutTests/imported/w3c/web-platform-tests/css/css-scoping/slotted-with-pseudo-element.html_sec2
19
  attachShadowWithSlottedStyle(host1, "::slotted(span)::before { content: 'PASS' }");
20
  attachShadowWithSlottedStyle(host1, "::slotted(span)::before { content: 'PASS' }");
20
  attachShadowWithSlottedStyle(host2, "::slotted(span)::after { content: 'PASS' }");
21
  attachShadowWithSlottedStyle(host2, "::slotted(span)::after { content: 'PASS' }");
21
  attachShadowWithSlottedStyle(host3, "::slotted(span)::before { content: 'FAIL'; color: green }");
22
  attachShadowWithSlottedStyle(host3, "::slotted(span)::before { content: 'FAIL'; color: green }");
23
  attachShadowWithSlottedStyle(host4, `
24
    ::slotted(span)::before { content: 'PASS'; color: red }
25
    ::slotted(.foo)::before { color: green }
26
  `);
27
  onload = function() {
28
    host4.offsetTop;
29
    host4.firstElementChild.classList.add("foo");
30
  }
22
</script>
31
</script>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-scoping/w3c-import.log -2 / +47 lines
Lines 1-7 a/LayoutTests/imported/w3c/web-platform-tests/css/css-scoping/w3c-import.log_sec1
1
The tests in this directory were imported from the W3C repository.
1
The tests in this directory were imported from the W3C repository.
2
Do NOT modify these tests directly in WebKit.
2
Do NOT modify these tests directly in WebKit.
3
Instead, create a pull request on the WPT github:
3
Instead, create a pull request on the WPT github:
4
	https://github.com/w3c/web-platform-tests
4
	https://github.com/web-platform-tests/wpt
5
5
6
Then run the Tools/Scripts/import-w3c-tests in WebKit to reimport
6
Then run the Tools/Scripts/import-w3c-tests in WebKit to reimport
7
7
Lines 14-24 Property values requiring vendor prefixes: a/LayoutTests/imported/w3c/web-platform-tests/css/css-scoping/w3c-import.log_sec2
14
None
14
None
15
------------------------------------------------------------------------
15
------------------------------------------------------------------------
16
List of files:
16
List of files:
17
/LayoutTests/imported/w3c/web-platform-tests/css/css-scoping/OWNERS
17
/LayoutTests/imported/w3c/web-platform-tests/css/css-scoping/META.yml
18
/LayoutTests/imported/w3c/web-platform-tests/css/css-scoping/css-scoping-shadow-assigned-node-with-before-after-expected.html
18
/LayoutTests/imported/w3c/web-platform-tests/css/css-scoping/css-scoping-shadow-assigned-node-with-before-after-expected.html
19
/LayoutTests/imported/w3c/web-platform-tests/css/css-scoping/css-scoping-shadow-assigned-node-with-before-after.html
19
/LayoutTests/imported/w3c/web-platform-tests/css/css-scoping/css-scoping-shadow-assigned-node-with-before-after.html
20
/LayoutTests/imported/w3c/web-platform-tests/css/css-scoping/css-scoping-shadow-assigned-node-with-rules-expected.html
20
/LayoutTests/imported/w3c/web-platform-tests/css/css-scoping/css-scoping-shadow-assigned-node-with-rules-expected.html
21
/LayoutTests/imported/w3c/web-platform-tests/css/css-scoping/css-scoping-shadow-assigned-node-with-rules.html
21
/LayoutTests/imported/w3c/web-platform-tests/css/css-scoping/css-scoping-shadow-assigned-node-with-rules.html
22
/LayoutTests/imported/w3c/web-platform-tests/css/css-scoping/css-scoping-shadow-dynamic-remove-style-detached.html
22
/LayoutTests/imported/w3c/web-platform-tests/css/css-scoping/css-scoping-shadow-host-functional-rule-expected.html
23
/LayoutTests/imported/w3c/web-platform-tests/css/css-scoping/css-scoping-shadow-host-functional-rule-expected.html
23
/LayoutTests/imported/w3c/web-platform-tests/css/css-scoping/css-scoping-shadow-host-functional-rule.html
24
/LayoutTests/imported/w3c/web-platform-tests/css/css-scoping/css-scoping-shadow-host-functional-rule.html
24
/LayoutTests/imported/w3c/web-platform-tests/css/css-scoping/css-scoping-shadow-host-namespace-expected.html
25
/LayoutTests/imported/w3c/web-platform-tests/css/css-scoping/css-scoping-shadow-host-namespace-expected.html
Lines 51-56 List of files: a/LayoutTests/imported/w3c/web-platform-tests/css/css-scoping/w3c-import.log_sec3
51
/LayoutTests/imported/w3c/web-platform-tests/css/css-scoping/css-scoping-shadow-with-rules-no-style-leak-expected.html
52
/LayoutTests/imported/w3c/web-platform-tests/css/css-scoping/css-scoping-shadow-with-rules-no-style-leak-expected.html
52
/LayoutTests/imported/w3c/web-platform-tests/css/css-scoping/css-scoping-shadow-with-rules-no-style-leak.html
53
/LayoutTests/imported/w3c/web-platform-tests/css/css-scoping/css-scoping-shadow-with-rules-no-style-leak.html
53
/LayoutTests/imported/w3c/web-platform-tests/css/css-scoping/css-scoping-shadow-with-rules.html
54
/LayoutTests/imported/w3c/web-platform-tests/css/css-scoping/css-scoping-shadow-with-rules.html
55
/LayoutTests/imported/w3c/web-platform-tests/css/css-scoping/host-context-specificity-001-expected.html
56
/LayoutTests/imported/w3c/web-platform-tests/css/css-scoping/host-context-specificity-001.html
57
/LayoutTests/imported/w3c/web-platform-tests/css/css-scoping/host-context-specificity-002-expected.html
58
/LayoutTests/imported/w3c/web-platform-tests/css/css-scoping/host-context-specificity-002.html
59
/LayoutTests/imported/w3c/web-platform-tests/css/css-scoping/host-context-specificity-003-expected.html
60
/LayoutTests/imported/w3c/web-platform-tests/css/css-scoping/host-context-specificity-003.html
54
/LayoutTests/imported/w3c/web-platform-tests/css/css-scoping/host-descendant-001-expected.html
61
/LayoutTests/imported/w3c/web-platform-tests/css/css-scoping/host-descendant-001-expected.html
55
/LayoutTests/imported/w3c/web-platform-tests/css/css-scoping/host-descendant-001.html
62
/LayoutTests/imported/w3c/web-platform-tests/css/css-scoping/host-descendant-001.html
56
/LayoutTests/imported/w3c/web-platform-tests/css/css-scoping/host-descendant-002-expected.html
63
/LayoutTests/imported/w3c/web-platform-tests/css/css-scoping/host-descendant-002-expected.html
Lines 64-76 List of files: a/LayoutTests/imported/w3c/web-platform-tests/css/css-scoping/w3c-import.log_sec4
64
/LayoutTests/imported/w3c/web-platform-tests/css/css-scoping/host-nested-001.html
71
/LayoutTests/imported/w3c/web-platform-tests/css/css-scoping/host-nested-001.html
65
/LayoutTests/imported/w3c/web-platform-tests/css/css-scoping/host-slotted-001-expected.html
72
/LayoutTests/imported/w3c/web-platform-tests/css/css-scoping/host-slotted-001-expected.html
66
/LayoutTests/imported/w3c/web-platform-tests/css/css-scoping/host-slotted-001.html
73
/LayoutTests/imported/w3c/web-platform-tests/css/css-scoping/host-slotted-001.html
74
/LayoutTests/imported/w3c/web-platform-tests/css/css-scoping/host-specificity-002-expected.html
75
/LayoutTests/imported/w3c/web-platform-tests/css/css-scoping/host-specificity-002.html
76
/LayoutTests/imported/w3c/web-platform-tests/css/css-scoping/host-specificity-003-expected.html
77
/LayoutTests/imported/w3c/web-platform-tests/css/css-scoping/host-specificity-003.html
78
/LayoutTests/imported/w3c/web-platform-tests/css/css-scoping/host-specificity-expected.html
79
/LayoutTests/imported/w3c/web-platform-tests/css/css-scoping/host-specificity.html
80
/LayoutTests/imported/w3c/web-platform-tests/css/css-scoping/host-with-default-namespace-001-expected.html
81
/LayoutTests/imported/w3c/web-platform-tests/css/css-scoping/host-with-default-namespace-001.html
67
/LayoutTests/imported/w3c/web-platform-tests/css/css-scoping/keyframes-001.html
82
/LayoutTests/imported/w3c/web-platform-tests/css/css-scoping/keyframes-001.html
68
/LayoutTests/imported/w3c/web-platform-tests/css/css-scoping/keyframes-002.html
83
/LayoutTests/imported/w3c/web-platform-tests/css/css-scoping/keyframes-002.html
84
/LayoutTests/imported/w3c/web-platform-tests/css/css-scoping/keyframes-003.html
85
/LayoutTests/imported/w3c/web-platform-tests/css/css-scoping/keyframes-004.html
86
/LayoutTests/imported/w3c/web-platform-tests/css/css-scoping/keyframes-005.html
87
/LayoutTests/imported/w3c/web-platform-tests/css/css-scoping/keyframes-006.html
88
/LayoutTests/imported/w3c/web-platform-tests/css/css-scoping/reslot-text-inheritance-expected.html
89
/LayoutTests/imported/w3c/web-platform-tests/css/css-scoping/reslot-text-inheritance.html
69
/LayoutTests/imported/w3c/web-platform-tests/css/css-scoping/shadow-assign-dynamic-001-expected.html
90
/LayoutTests/imported/w3c/web-platform-tests/css/css-scoping/shadow-assign-dynamic-001-expected.html
70
/LayoutTests/imported/w3c/web-platform-tests/css/css-scoping/shadow-assign-dynamic-001.html
91
/LayoutTests/imported/w3c/web-platform-tests/css/css-scoping/shadow-assign-dynamic-001.html
71
/LayoutTests/imported/w3c/web-platform-tests/css/css-scoping/shadow-at-import-expected.html
92
/LayoutTests/imported/w3c/web-platform-tests/css/css-scoping/shadow-at-import-expected.html
72
/LayoutTests/imported/w3c/web-platform-tests/css/css-scoping/shadow-at-import.html
93
/LayoutTests/imported/w3c/web-platform-tests/css/css-scoping/shadow-at-import.html
73
/LayoutTests/imported/w3c/web-platform-tests/css/css-scoping/shadow-cascade-order-001.html
94
/LayoutTests/imported/w3c/web-platform-tests/css/css-scoping/shadow-cascade-order-001.html
95
/LayoutTests/imported/w3c/web-platform-tests/css/css-scoping/shadow-directionality-001.tentative-expected.html
96
/LayoutTests/imported/w3c/web-platform-tests/css/css-scoping/shadow-directionality-001.tentative.html
97
/LayoutTests/imported/w3c/web-platform-tests/css/css-scoping/shadow-directionality-002.tentative-expected.html
98
/LayoutTests/imported/w3c/web-platform-tests/css/css-scoping/shadow-directionality-002.tentative.html
74
/LayoutTests/imported/w3c/web-platform-tests/css/css-scoping/shadow-disabled-sheet-001-expected.html
99
/LayoutTests/imported/w3c/web-platform-tests/css/css-scoping/shadow-disabled-sheet-001-expected.html
75
/LayoutTests/imported/w3c/web-platform-tests/css/css-scoping/shadow-disabled-sheet-001.html
100
/LayoutTests/imported/w3c/web-platform-tests/css/css-scoping/shadow-disabled-sheet-001.html
76
/LayoutTests/imported/w3c/web-platform-tests/css/css-scoping/shadow-fallback-dynamic-001-expected.html
101
/LayoutTests/imported/w3c/web-platform-tests/css/css-scoping/shadow-fallback-dynamic-001-expected.html
Lines 83-100 List of files: a/LayoutTests/imported/w3c/web-platform-tests/css/css-scoping/w3c-import.log_sec5
83
/LayoutTests/imported/w3c/web-platform-tests/css/css-scoping/shadow-fallback-dynamic-004.html
108
/LayoutTests/imported/w3c/web-platform-tests/css/css-scoping/shadow-fallback-dynamic-004.html
84
/LayoutTests/imported/w3c/web-platform-tests/css/css-scoping/shadow-fallback-dynamic-005-expected.html
109
/LayoutTests/imported/w3c/web-platform-tests/css/css-scoping/shadow-fallback-dynamic-005-expected.html
85
/LayoutTests/imported/w3c/web-platform-tests/css/css-scoping/shadow-fallback-dynamic-005.html
110
/LayoutTests/imported/w3c/web-platform-tests/css/css-scoping/shadow-fallback-dynamic-005.html
111
/LayoutTests/imported/w3c/web-platform-tests/css/css-scoping/shadow-host-removal-invalidation.html
86
/LayoutTests/imported/w3c/web-platform-tests/css/css-scoping/shadow-host-with-before-after-expected.html
112
/LayoutTests/imported/w3c/web-platform-tests/css/css-scoping/shadow-host-with-before-after-expected.html
87
/LayoutTests/imported/w3c/web-platform-tests/css/css-scoping/shadow-host-with-before-after.html
113
/LayoutTests/imported/w3c/web-platform-tests/css/css-scoping/shadow-host-with-before-after.html
114
/LayoutTests/imported/w3c/web-platform-tests/css/css-scoping/shadow-link-rel-stylesheet-expected.html
115
/LayoutTests/imported/w3c/web-platform-tests/css/css-scoping/shadow-link-rel-stylesheet-no-style-leak-expected.html
116
/LayoutTests/imported/w3c/web-platform-tests/css/css-scoping/shadow-link-rel-stylesheet-no-style-leak.html
117
/LayoutTests/imported/w3c/web-platform-tests/css/css-scoping/shadow-link-rel-stylesheet.html
118
/LayoutTests/imported/w3c/web-platform-tests/css/css-scoping/shadow-multiple-links.html
88
/LayoutTests/imported/w3c/web-platform-tests/css/css-scoping/shadow-reassign-dynamic-001-expected.html
119
/LayoutTests/imported/w3c/web-platform-tests/css/css-scoping/shadow-reassign-dynamic-001-expected.html
89
/LayoutTests/imported/w3c/web-platform-tests/css/css-scoping/shadow-reassign-dynamic-001.html
120
/LayoutTests/imported/w3c/web-platform-tests/css/css-scoping/shadow-reassign-dynamic-001.html
121
/LayoutTests/imported/w3c/web-platform-tests/css/css-scoping/shadow-reassign-dynamic-002-expected.html
122
/LayoutTests/imported/w3c/web-platform-tests/css/css-scoping/shadow-reassign-dynamic-002.html
123
/LayoutTests/imported/w3c/web-platform-tests/css/css-scoping/shadow-reassign-dynamic-003.html
124
/LayoutTests/imported/w3c/web-platform-tests/css/css-scoping/shadow-reassign-dynamic-004-expected.html
125
/LayoutTests/imported/w3c/web-platform-tests/css/css-scoping/shadow-reassign-dynamic-004.html
90
/LayoutTests/imported/w3c/web-platform-tests/css/css-scoping/shadow-root-insert-into-document-expected.html
126
/LayoutTests/imported/w3c/web-platform-tests/css/css-scoping/shadow-root-insert-into-document-expected.html
91
/LayoutTests/imported/w3c/web-platform-tests/css/css-scoping/shadow-root-insert-into-document.html
127
/LayoutTests/imported/w3c/web-platform-tests/css/css-scoping/shadow-root-insert-into-document.html
128
/LayoutTests/imported/w3c/web-platform-tests/css/css-scoping/slot-non-html-display-value.html
92
/LayoutTests/imported/w3c/web-platform-tests/css/css-scoping/slotted-invalidation.html
129
/LayoutTests/imported/w3c/web-platform-tests/css/css-scoping/slotted-invalidation.html
93
/LayoutTests/imported/w3c/web-platform-tests/css/css-scoping/slotted-link.html
130
/LayoutTests/imported/w3c/web-platform-tests/css/css-scoping/slotted-link.html
131
/LayoutTests/imported/w3c/web-platform-tests/css/css-scoping/slotted-matches.html
132
/LayoutTests/imported/w3c/web-platform-tests/css/css-scoping/slotted-nested.html
94
/LayoutTests/imported/w3c/web-platform-tests/css/css-scoping/slotted-parsing.html
133
/LayoutTests/imported/w3c/web-platform-tests/css/css-scoping/slotted-parsing.html
134
/LayoutTests/imported/w3c/web-platform-tests/css/css-scoping/slotted-placeholder-expected.html
135
/LayoutTests/imported/w3c/web-platform-tests/css/css-scoping/slotted-placeholder.html
95
/LayoutTests/imported/w3c/web-platform-tests/css/css-scoping/slotted-slot.html
136
/LayoutTests/imported/w3c/web-platform-tests/css/css-scoping/slotted-slot.html
137
/LayoutTests/imported/w3c/web-platform-tests/css/css-scoping/slotted-specificity-expected.html
138
/LayoutTests/imported/w3c/web-platform-tests/css/css-scoping/slotted-specificity.html
96
/LayoutTests/imported/w3c/web-platform-tests/css/css-scoping/slotted-with-pseudo-element-expected.html
139
/LayoutTests/imported/w3c/web-platform-tests/css/css-scoping/slotted-with-pseudo-element-expected.html
97
/LayoutTests/imported/w3c/web-platform-tests/css/css-scoping/slotted-with-pseudo-element.html
140
/LayoutTests/imported/w3c/web-platform-tests/css/css-scoping/slotted-with-pseudo-element.html
98
/LayoutTests/imported/w3c/web-platform-tests/css/css-scoping/stylesheet-title-001-expected.html
141
/LayoutTests/imported/w3c/web-platform-tests/css/css-scoping/stylesheet-title-001-expected.html
99
/LayoutTests/imported/w3c/web-platform-tests/css/css-scoping/stylesheet-title-001.html
142
/LayoutTests/imported/w3c/web-platform-tests/css/css-scoping/stylesheet-title-001.html
100
/LayoutTests/imported/w3c/web-platform-tests/css/css-scoping/stylesheet-title-002.html
143
/LayoutTests/imported/w3c/web-platform-tests/css/css-scoping/stylesheet-title-002.html
144
/LayoutTests/imported/w3c/web-platform-tests/css/css-scoping/whitespace-crash-001-expected.html
145
/LayoutTests/imported/w3c/web-platform-tests/css/css-scoping/whitespace-crash-001.html
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-scoping/whitespace-crash-001-expected.html +11 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-scoping/whitespace-crash-001-expected.html_sec1
1
<!DOCTYPE html>
2
<html>
3
<head>
4
    <title>CSS Scoping Module Level 1 - A green box reference</title>
5
    <link rel="author" title="Ryosuke Niwa" href="mailto:rniwa@webkit.org"/>
6
</head>
7
<body>
8
    <p>Test passes if you see a single 100px by 100px green box below.</p>
9
    <div style="width: 100px; height: 100px; background: green;"></div>
10
</body>
11
</html>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-scoping/whitespace-crash-001.html +32 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-scoping/whitespace-crash-001.html_sec1
1
<!DOCTYPE html>
2
<meta charset="utf-8">
3
<title>CSS Scoping: Dynamic shadow root creation and whitespace optimization crash.</title>
4
<link rel="author" title="Emilio Cobos Álvarez" href="mailto:emilio@crisal.io">
5
<link rel="help" href="https://drafts.csswg.org/css-scoping/#selectors-data-model">
6
<link rel="help" href="https://bugzilla.mozilla.org/show_bug.cgi?id=1465572">
7
<link rel="match" href="reference/green-box.html"/>
8
<p>Test passes if you see a single 100px by 100px green box below.</p>
9
<!--
10
  It's important for the test-case that there's whitespace inside the host,
11
  and that it's not assigned to any slot.
12
-->
13
<div id="host">
14
  <div style="display: inline" slot="the-slot"></div>
15
</div>
16
<script>
17
  // Flush layout before creating a ShadowRoot, so that the whitespace ends up
18
  // suppressed.
19
  document.body.offsetTop;
20
  host.attachShadow({ mode: "open" }).innerHTML = `
21
    <style>
22
      ::slotted(div) {
23
        width: 100px;
24
        height: 100px;
25
        background: green;
26
      }
27
    </style>
28
    <slot name="the-slot"></slot>
29
  `;
30
  document.body.offsetTop;
31
  host.firstElementChild.style.display = "block"; // or anything else that reframes the <div>.
32
</script>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-shadow-parts/exportparts-multiple-expected.txt +3 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-shadow-parts/exportparts-multiple-expected.txt_sec1
1
2
PASS Forwarding part under multiple names should work 
3
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-shadow-parts/exportparts-multiple.html +76 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-shadow-parts/exportparts-multiple.html_sec1
1
<!doctype html>
2
<title>CSS Shadow Parts - Exporting multiple shadow parts</title>
3
<script src="/resources/testharness.js"></script>
4
<script src="/resources/testharnessreport.js"></script>
5
<link rel="author" href="mailto:emilio@crisal.io" title="Emilio Cobos Álvarez">
6
<link rel="author" href="https://mozilla.org" title="Mozilla">
7
<link rel="help" href="https://drafts.csswg.org/css-shadow-parts/">
8
<link rel="help" href="https://bugzilla.mozilla.org/show_bug.cgi?id=1618509">
9
<style>
10
::part(inner-part) {
11
  color: red;
12
  background: blue;
13
  width: 100px;
14
  height: 100px;
15
}
16
::part(inner-part-alias) {
17
  color: green;
18
}
19
.change-1::part(inner-part) {
20
  background: green;
21
}
22
23
.change-2::part(inner-part-alias) {
24
  color: blue;
25
}
26
</style>
27
<div id="outer"></div>
28
<script>
29
test(function() {
30
  let outer = document.getElementById("outer");
31
  outer.attachShadow({ mode: "open" }).innerHTML = `
32
    <div exportparts="inner-part, inner-part: inner-part-alias"></div>
33
  `;
34
35
  let inner = outer.shadowRoot.querySelector("div");
36
  inner.attachShadow({ mode: "open" }).innerHTML = `
37
    <div part="inner-part"></div>
38
  `;
39
40
  let innerPart = inner.shadowRoot.querySelector("div");
41
  assert_equals(
42
    getComputedStyle(innerPart).color,
43
    "rgb(0, 128, 0)",
44
    "color should be green from ::part(inner-part-alias) rule"
45
  );
46
  assert_equals(
47
    getComputedStyle(innerPart).backgroundColor,
48
    "rgb(0, 0, 255)",
49
    "background should be blue from ::part(inner-part) rule"
50
  );
51
52
  outer.classList.add("change-1");
53
  assert_equals(
54
    getComputedStyle(innerPart).color,
55
    "rgb(0, 128, 0)",
56
    "color should be green from ::part(inner-part-alias) rule"
57
  );
58
  assert_equals(
59
    getComputedStyle(innerPart).backgroundColor,
60
    "rgb(0, 128, 0)",
61
    "background should be green from .change-1::part(inner-part) rule"
62
  );
63
64
  outer.classList.add("change-2");
65
  assert_equals(
66
    getComputedStyle(innerPart).color,
67
    "rgb(0, 0, 255)",
68
    "color should be blue from .change-2::part(inner-part-alias) rule"
69
  );
70
  assert_equals(
71
    getComputedStyle(innerPart).backgroundColor,
72
    "rgb(0, 128, 0)",
73
    "background should be green from .change-1::part(inner-part) rule"
74
  );
75
}, "Forwarding part under multiple names should work");
76
</script>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-shadow-parts/host-part-001-expected.txt +3 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-shadow-parts/host-part-001-expected.txt_sec1
1
2
FAIL :host::part works assert_equals: :host::part() works expected "rgb(0, 255, 0)" but got "rgb(0, 0, 0)"
3
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-shadow-parts/host-part-001.html +43 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-shadow-parts/host-part-001.html_sec1
1
<!doctype html>
2
<title>CSS Shadow Parts - :host::part()</title>
3
<link rel="author" title="Mozilla" href="https://mozilla.org">
4
<link rel="author" title="Emilio Cobos Álvarez" href="mailto:emilio@crisal.io">
5
<link rel="help" href="https://drafts.csswg.org/css-shadow-parts/#part">
6
<link rel="help" href="https://drafts.csswg.org/css-scoping/#host-selector">
7
<link rel="help" href="https://bugzilla.mozilla.org/show_bug.cgi?id=1624968">
8
<link rel="help" href="https://bugs.chromium.org/p/chromium/issues/detail?id=980506">
9
<script src="/resources/testharness.js"></script>
10
<script src="/resources/testharnessreport.js"></script>
11
<div id="host"></div>
12
<script>
13
test(function() {
14
  let host = document.getElementById("host");
15
  host.attachShadow({ mode: "open" }).innerHTML = `
16
    <style>
17
      :host::part(mypart) {
18
        color: lime;
19
      }
20
      :host(.tweak)::part(mypart) {
21
        color: blue;
22
      }
23
    </style>
24
    <div part="mypart"></div>
25
  `;
26
27
  let part = host.shadowRoot.querySelector("[part]");
28
29
  assert_equals(
30
    window.getComputedStyle(part).color,
31
    "rgb(0, 255, 0)",
32
    ":host::part() works",
33
  );
34
35
  host.classList.add("tweak");
36
37
  assert_equals(
38
    window.getComputedStyle(part).color,
39
    "rgb(0, 0, 255)",
40
    ":host::part() invalidation works properly",
41
  );
42
}, ":host::part works");
43
</script>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-shadow-parts/idlharness-expected.txt +14 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-shadow-parts/idlharness-expected.txt_sec1
1
2
PASS idl_test setup 
3
PASS idl_test validation 
4
PASS Partial interface Element: original interface defined 
5
PASS Partial interface Element: member names are unique 
6
PASS Element includes ParentNode: member names are unique 
7
PASS Element includes NonDocumentTypeChildNode: member names are unique 
8
PASS Element includes ChildNode: member names are unique 
9
PASS Element includes Slottable: member names are unique 
10
PASS Element interface: attribute part 
11
PASS Element interface: element must inherit property "part" with the proper type 
12
PASS Element interface: htmlElement must inherit property "part" with the proper type 
13
PASS Element interface: svgElement must inherit property "part" with the proper type 
14
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-shadow-parts/idlharness.html +21 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-shadow-parts/idlharness.html_sec1
1
<!DOCTYPE html>
2
<title>CSS Shadow Parts IDL tests</title>
3
<link rel="help" href="https://drafts.csswg.org/css-shadow-parts/#idl">
4
<script src="/resources/testharness.js"></script>
5
<script src="/resources/testharnessreport.js"></script>
6
<script src="/resources/WebIDLParser.js"></script>
7
<script src="/resources/idlharness.js"></script>
8
<script>
9
idl_test(
10
  ['css-shadow-parts'],
11
  ['dom'],
12
  idl_array => {
13
    self.element = document.createElementNS('ns', 'e');
14
    self.htmlElement = document.createElement('html');
15
    self.svgElement = document.createElementNS('http://www.w3.org/2000/svg', 'svg');
16
    idl_array.add_objects({
17
      Element: ['element', 'htmlElement', 'svgElement'],
18
    });
19
  }
20
);
21
</script>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-shadow-parts/serialization-expected.txt +5 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-shadow-parts/serialization-expected.txt_sec1
1
2
FAIL Escape start parenthesis in ::part name. assert_equals: expected "::part(\\(foo)" but got "::part((foo)"
3
FAIL Escape start space in ::part name. assert_equals: expected "::part(bar\\ )" but got "::part(bar )"
4
PASS Collapse spaces in ::part names list. 
5
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-shadow-parts/serialization.html +29 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-shadow-parts/serialization.html_sec1
1
<!DOCTYPE html>
2
<html>
3
  <head>
4
    <title>CSS Shadow Parts - Serialization</title>
5
    <link href="https://drafts.csswg.org/css-shadow-parts/" rel="help">
6
    <script src="/resources/testharness.js"></script>
7
    <script src="/resources/testharnessreport.js"></script>
8
  </head>
9
  <body>
10
    <style id="styleElement">
11
      ::part(\(foo) {}
12
      ::part(   bar\    ) {}
13
      ::part( -foo  bar    ) {}
14
    </style>
15
    <script>
16
      "use strict";
17
      const rules = styleElement.sheet.cssRules;
18
      test(function() {
19
        assert_equals(rules[0].selectorText, "::part(\\(foo)");
20
      }, "Escape start parenthesis in ::part name.");
21
      test(function() {
22
        assert_equals(rules[1].selectorText, "::part(bar\\ )");
23
      }, "Escape start space in ::part name.");
24
      test(function() {
25
        assert_equals(rules[2].selectorText, "::part(-foo bar)");
26
      }, "Collapse spaces in ::part names list.");
27
    </script>
28
  </body>
29
</html>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-shadow-parts/simple-important-expected.txt +4 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-shadow-parts/simple-important-expected.txt_sec1
1
The following text should be green: 
2
3
PASS Part in selected host is styled 
4
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-shadow-parts/simple-important-important-expected.txt +4 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-shadow-parts/simple-important-important-expected.txt_sec1
1
The following text should be green: 
2
3
PASS Part in selected host is styled 
4
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-shadow-parts/simple-important-important.html +30 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-shadow-parts/simple-important-important.html_sec1
1
<!DOCTYPE html>
2
<html>
3
  <head>
4
    <title>CSS Shadow Parts - Simple Important Important</title>
5
    <meta href="mailto:fergal@chromium.org" rel="author" title="Fergal Daly">
6
    <link href="http://www.google.com/" rel="author" title="Google">
7
    <link href="https://drafts.csswg.org/css-shadow-parts/" rel="help">
8
    <script src="/resources/testharness.js"></script>
9
    <script src="/resources/testharnessreport.js"></script>
10
    <script src="support/shadow-helper.js"></script>
11
  </head>
12
  <body>
13
    <style>#c-e::part(partp) { color: green !important; }</style>
14
    <script>installCustomElement("custom-element", "custom-element-template");</script>
15
    <template id="custom-element-template">
16
      <style>span { color: red !important; }</style>
17
      <span id="part" part="partp">This text</span>
18
    </template>
19
    The following text should be green:
20
    <custom-element id="c-e"></custom-element>
21
    <script>
22
      "use strict";
23
      const colorRed = "rgb(255, 0, 0)";
24
      test(function() {
25
        const el = getElementByShadowIds(document, ["c-e", "part"]);
26
        assert_equals(window.getComputedStyle(el).color, colorRed);
27
      }, "Part in selected host is styled");
28
    </script>
29
  </body>
30
</html>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-shadow-parts/simple-important-inline-expected.txt +4 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-shadow-parts/simple-important-inline-expected.txt_sec1
1
The following text should be red: 
2
3
PASS Part in selected host is not styled 
4
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-shadow-parts/simple-important-inline.html +29 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-shadow-parts/simple-important-inline.html_sec1
1
<!DOCTYPE html>
2
<html>
3
  <head>
4
    <title>CSS Shadow Parts - Simple Important Inline</title>
5
    <meta href="mailto:fergal@chromium.org" rel="author" title="Fergal Daly">
6
    <link href="http://www.google.com/" rel="author" title="Google">
7
    <link href="https://drafts.csswg.org/css-shadow-parts/" rel="help">
8
    <script src="/resources/testharness.js"></script>
9
    <script src="/resources/testharnessreport.js"></script>
10
    <script src="support/shadow-helper.js"></script>
11
  </head>
12
  <body>
13
    <style>#c-e::part(partp) { color: red; }</style>
14
    <script>installCustomElement("custom-element", "custom-element-template");</script>
15
    <template id="custom-element-template">
16
      <span id="part" part="partp" style="color: green !important">This text</span>
17
    </template>
18
    The following text should be red:
19
    <custom-element id="c-e"></custom-element>
20
    <script>
21
      "use strict";
22
      const colorGreen = "rgb(0, 128, 0)";
23
      test(function() {
24
        const el = getElementByShadowIds(document, ["c-e", "part"]);
25
        assert_equals(window.getComputedStyle(el).color, colorGreen);
26
      }, "Part in selected host is not styled");
27
    </script>
28
  </body>
29
</html>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-shadow-parts/simple-important.html +30 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-shadow-parts/simple-important.html_sec1
1
<!DOCTYPE html>
2
<html>
3
  <head>
4
    <title>CSS Shadow Parts - Simple Important</title>
5
    <meta href="mailto:fergal@chromium.org" rel="author" title="Fergal Daly">
6
    <link href="http://www.google.com/" rel="author" title="Google">
7
    <link href="https://drafts.csswg.org/css-shadow-parts/" rel="help">
8
    <script src="/resources/testharness.js"></script>
9
    <script src="/resources/testharnessreport.js"></script>
10
    <script src="support/shadow-helper.js"></script>
11
  </head>
12
  <body>
13
    <style>#c-e::part(partp) { color: red; }</style>
14
    <script>installCustomElement("custom-element", "custom-element-template");</script>
15
    <template id="custom-element-template">
16
      <style>span { color: green !important; }</style>
17
      <span id="part" part="partp">This text</span>
18
    </template>
19
    The following text should be green:
20
    <custom-element id="c-e"></custom-element>
21
    <script>
22
      "use strict";
23
      const colorGreen = "rgb(0, 128, 0)";
24
      test(function() {
25
        const el = getElementByShadowIds(document, ["c-e", "part"]);
26
        assert_equals(window.getComputedStyle(el).color, colorGreen);
27
      }, "Part in selected host is styled");
28
    </script>
29
  </body>
30
</html>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-shadow-parts/style-sharing-expected.txt +3 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-shadow-parts/style-sharing-expected.txt_sec1
1
2
PASS Part in selected host does not incorrectly share style with non-part 
3
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-shadow-parts/style-sharing.html +23 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-shadow-parts/style-sharing.html_sec1
1
<!doctype html>
2
<title>CSS Shadow Parts test: Parts don't incorrectly share style with other elements</title>
3
<link rel="help" href="https://drafts.csswg.org/css-shadow-parts/">
4
<link rel="author" href="mailto:emilio@crisal.io" title="Emilio Cobos Álvarez">
5
<link rel="author" href="https://mozilla.org/" title="Mozilla">
6
<script src="/resources/testharness.js"></script>
7
<script src="/resources/testharnessreport.js"></script>
8
<style>::part(part1) { color: green; }</style>
9
<div id="host"></div>
10
<script>
11
"use strict";
12
test(function() {
13
  host.attachShadow({ mode: "open" }).innerHTML = `
14
    <div></div>
15
    <div part="part1"></div>
16
  `;
17
  assert_equals(
18
    getComputedStyle(host.shadowRoot.querySelector("[part]")).color,
19
    "rgb(0, 128, 0)",
20
    "Part should be green",
21
  );
22
}, "Part in selected host does not incorrectly share style with non-part");
23
</script>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-shadow-parts/w3c-import.log +8 lines
Lines 21-27 List of files: a/LayoutTests/imported/w3c/web-platform-tests/css/css-shadow-parts/w3c-import.log_sec1
21
/LayoutTests/imported/w3c/web-platform-tests/css/css-shadow-parts/complex-non-matching.html
21
/LayoutTests/imported/w3c/web-platform-tests/css/css-shadow-parts/complex-non-matching.html
22
/LayoutTests/imported/w3c/web-platform-tests/css/css-shadow-parts/different-host.html
22
/LayoutTests/imported/w3c/web-platform-tests/css/css-shadow-parts/different-host.html
23
/LayoutTests/imported/w3c/web-platform-tests/css/css-shadow-parts/double-forward.html
23
/LayoutTests/imported/w3c/web-platform-tests/css/css-shadow-parts/double-forward.html
24
/LayoutTests/imported/w3c/web-platform-tests/css/css-shadow-parts/exportparts-multiple.html
25
/LayoutTests/imported/w3c/web-platform-tests/css/css-shadow-parts/host-part-001.html
24
/LayoutTests/imported/w3c/web-platform-tests/css/css-shadow-parts/host-stylesheet.html
26
/LayoutTests/imported/w3c/web-platform-tests/css/css-shadow-parts/host-stylesheet.html
27
/LayoutTests/imported/w3c/web-platform-tests/css/css-shadow-parts/idlharness.html
25
/LayoutTests/imported/w3c/web-platform-tests/css/css-shadow-parts/inner-host.html
28
/LayoutTests/imported/w3c/web-platform-tests/css/css-shadow-parts/inner-host.html
26
/LayoutTests/imported/w3c/web-platform-tests/css/css-shadow-parts/interaction-with-placeholder-expected.html
29
/LayoutTests/imported/w3c/web-platform-tests/css/css-shadow-parts/interaction-with-placeholder-expected.html
27
/LayoutTests/imported/w3c/web-platform-tests/css/css-shadow-parts/interaction-with-placeholder.html
30
/LayoutTests/imported/w3c/web-platform-tests/css/css-shadow-parts/interaction-with-placeholder.html
Lines 36-42 List of files: a/LayoutTests/imported/w3c/web-platform-tests/css/css-shadow-parts/w3c-import.log_sec2
36
/LayoutTests/imported/w3c/web-platform-tests/css/css-shadow-parts/multiple-parts.html
39
/LayoutTests/imported/w3c/web-platform-tests/css/css-shadow-parts/multiple-parts.html
37
/LayoutTests/imported/w3c/web-platform-tests/css/css-shadow-parts/part-name-idl.html
40
/LayoutTests/imported/w3c/web-platform-tests/css/css-shadow-parts/part-name-idl.html
38
/LayoutTests/imported/w3c/web-platform-tests/css/css-shadow-parts/precedence-part-vs-part.html
41
/LayoutTests/imported/w3c/web-platform-tests/css/css-shadow-parts/precedence-part-vs-part.html
42
/LayoutTests/imported/w3c/web-platform-tests/css/css-shadow-parts/serialization.html
39
/LayoutTests/imported/w3c/web-platform-tests/css/css-shadow-parts/simple-forward-shorthand.html
43
/LayoutTests/imported/w3c/web-platform-tests/css/css-shadow-parts/simple-forward-shorthand.html
40
/LayoutTests/imported/w3c/web-platform-tests/css/css-shadow-parts/simple-forward.html
44
/LayoutTests/imported/w3c/web-platform-tests/css/css-shadow-parts/simple-forward.html
45
/LayoutTests/imported/w3c/web-platform-tests/css/css-shadow-parts/simple-important-important.html
46
/LayoutTests/imported/w3c/web-platform-tests/css/css-shadow-parts/simple-important-inline.html
47
/LayoutTests/imported/w3c/web-platform-tests/css/css-shadow-parts/simple-important.html
41
/LayoutTests/imported/w3c/web-platform-tests/css/css-shadow-parts/simple-inline.html
48
/LayoutTests/imported/w3c/web-platform-tests/css/css-shadow-parts/simple-inline.html
42
/LayoutTests/imported/w3c/web-platform-tests/css/css-shadow-parts/simple.html
49
/LayoutTests/imported/w3c/web-platform-tests/css/css-shadow-parts/simple.html
50
/LayoutTests/imported/w3c/web-platform-tests/css/css-shadow-parts/style-sharing.html
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-shapes/animation/shape-margin-composition-expected.txt +22 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-shapes/animation/shape-margin-composition-expected.txt_sec1
1
2
FAIL Compositing: property <shape-margin> underlying [50px] from add [100px] to add [200px] at (-0.3) should be [120px] assert_equals: expected "120px " but got "70px "
3
FAIL Compositing: property <shape-margin> underlying [50px] from add [100px] to add [200px] at (0) should be [150px] assert_equals: expected "150px " but got "100px "
4
FAIL Compositing: property <shape-margin> underlying [50px] from add [100px] to add [200px] at (0.5) should be [200px] assert_equals: expected "200px " but got "150px "
5
FAIL Compositing: property <shape-margin> underlying [50px] from add [100px] to add [200px] at (1) should be [250px] assert_equals: expected "250px " but got "200px "
6
FAIL Compositing: property <shape-margin> underlying [50px] from add [100px] to add [200px] at (1.5) should be [300px] assert_equals: expected "300px " but got "250px "
7
FAIL Compositing: property <shape-margin> underlying [100px] from add [10px] to add [2px] at (-0.5) should be [114px] assert_equals: expected "114px " but got "14px "
8
FAIL Compositing: property <shape-margin> underlying [100px] from add [10px] to add [2px] at (0) should be [110px] assert_equals: expected "110px " but got "10px "
9
FAIL Compositing: property <shape-margin> underlying [100px] from add [10px] to add [2px] at (0.5) should be [106px] assert_equals: expected "106px " but got "6px "
10
FAIL Compositing: property <shape-margin> underlying [100px] from add [10px] to add [2px] at (1) should be [102px] assert_equals: expected "102px " but got "2px "
11
FAIL Compositing: property <shape-margin> underlying [100px] from add [10px] to add [2px] at (1.5) should be [98px] assert_equals: expected "98px " but got "- 2px "
12
FAIL Compositing: property <shape-margin> underlying [10%] from add [100px] to add [20%] at (-0.3) should be [calc(130px + 4%)] assert_equals: expected "calc ( 4 % + 130px ) " but got "100px "
13
FAIL Compositing: property <shape-margin> underlying [10%] from add [100px] to add [20%] at (0) should be [calc(100px + 10%)] assert_equals: expected "calc ( 10 % + 100px ) " but got "100px "
14
FAIL Compositing: property <shape-margin> underlying [10%] from add [100px] to add [20%] at (0.5) should be [calc(50px + 20%)] assert_equals: expected "calc ( 20 % + 50px ) " but got "calc ( ( 100px * 0.5 ) + ( 20 % * 0.5 ) ) "
15
FAIL Compositing: property <shape-margin> underlying [10%] from add [100px] to add [20%] at (1) should be [30%] assert_equals: expected "30 % " but got "20 % "
16
FAIL Compositing: property <shape-margin> underlying [10%] from add [100px] to add [20%] at (1.5) should be [calc(-50px + 40%)] assert_equals: expected "calc ( 40 % - 50px ) " but got "20 % "
17
FAIL Compositing: property <shape-margin> underlying [50px] from add [100px] to replace [200px] at (-0.3) should be [135px] assert_equals: expected "135px " but got "70px "
18
FAIL Compositing: property <shape-margin> underlying [50px] from add [100px] to replace [200px] at (0) should be [150px] assert_equals: expected "150px " but got "100px "
19
FAIL Compositing: property <shape-margin> underlying [50px] from add [100px] to replace [200px] at (0.5) should be [175px] assert_equals: expected "175px " but got "150px "
20
PASS Compositing: property <shape-margin> underlying [50px] from add [100px] to replace [200px] at (1) should be [200px] 
21
FAIL Compositing: property <shape-margin> underlying [50px] from add [100px] to replace [200px] at (1.5) should be [225px] assert_equals: expected "225px " but got "250px "
22
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-shapes/animation/shape-margin-composition.html +65 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-shapes/animation/shape-margin-composition.html_sec1
1
<!DOCTYPE html>
2
<meta charset="UTF-8">
3
<title>shape-margin composition</title>
4
<link rel="help" href="https://drafts.csswg.org/css-shapes/#shape-margin-property">
5
<meta name="assert" content="shape-margin supports animation by computed value">
6
7
<script src="/resources/testharness.js"></script>
8
<script src="/resources/testharnessreport.js"></script>
9
<script src="/css/support/interpolation-testcommon.js"></script>
10
11
<body>
12
<script>
13
test_composition({
14
  property: 'shape-margin',
15
  underlying: '50px',
16
  addFrom: '100px',
17
  addTo: '200px',
18
}, [
19
  {at: -0.3, expect: '120px'},
20
  {at: 0, expect: '150px'},
21
  {at: 0.5, expect: '200px'},
22
  {at: 1, expect: '250px'},
23
  {at: 1.5, expect: '300px'},
24
]);
25
26
test_composition({
27
  property: 'shape-margin',
28
  underlying: '100px',
29
  addFrom: '10px',
30
  addTo: '2px',
31
}, [
32
  {at: -0.5, expect: '114px'},
33
  {at: 0, expect: '110px'},
34
  {at: 0.5, expect: '106px'},
35
  {at: 1, expect: '102px'},
36
  {at: 1.5, expect: '98px'}, // Value clamping should happen after composition.
37
]);
38
39
test_composition({
40
  property: 'shape-margin',
41
  underlying: '10%',
42
  addFrom: '100px',
43
  addTo: '20%',
44
}, [
45
  {at: -0.3, expect: 'calc(130px + 4%)'},
46
  {at: 0, expect: 'calc(100px + 10%)'},
47
  {at: 0.5, expect: 'calc(50px + 20%)'},
48
  {at: 1, expect: '30%'},
49
  {at: 1.5, expect: 'calc(-50px + 40%)'},
50
]);
51
52
test_composition({
53
  property: 'shape-margin',
54
  underlying: '50px',
55
  addFrom: '100px',
56
  replaceTo: '200px',
57
}, [
58
  {at: -0.3, expect: '135px'},
59
  {at: 0, expect: '150px'},
60
  {at: 0.5, expect: '175px'},
61
  {at: 1, expect: '200px'},
62
  {at: 1.5, expect: '225px'},
63
]);
64
</script>
65
</body>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-shapes/animation/shape-outside-composition-expected.txt +66 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-shapes/animation/shape-outside-composition-expected.txt_sec1
1
2
FAIL Compositing: property <shape-outside> underlying [circle(100px at 25px 25%)] from add [circle(10px at 25px 75%)] to add [circle(50px at 50px center)] at (-0.3) should be [circle(98px at 42.5px 107.5%)] assert_equals: expected "circle ( 98px at 42.5px 107.5 % ) " but got "circle ( - 2px at 17.5px 82.5 % ) "
3
FAIL Compositing: property <shape-outside> underlying [circle(100px at 25px 25%)] from add [circle(10px at 25px 75%)] to add [circle(50px at 50px center)] at (0) should be [circle(110px at 50px 100%)] assert_equals: expected "circle ( 110px at 50px 100 % ) " but got "circle ( 10px at 25px 75 % ) "
4
FAIL Compositing: property <shape-outside> underlying [circle(100px at 25px 25%)] from add [circle(10px at 25px 75%)] to add [circle(50px at 50px center)] at (0.3) should be [circle(122px at 57.5px 92.5%)] assert_equals: expected "circle ( 122px at 57.5px 92.5 % ) " but got "circle ( 22px at 32.5px 67.5 % ) "
5
FAIL Compositing: property <shape-outside> underlying [circle(100px at 25px 25%)] from add [circle(10px at 25px 75%)] to add [circle(50px at 50px center)] at (0.6) should be [circle(134px at 65px 85%)] assert_equals: expected "circle ( 134px at 65px 85 % ) " but got "circle ( 34px at 40px 60 % ) "
6
FAIL Compositing: property <shape-outside> underlying [circle(100px at 25px 25%)] from add [circle(10px at 25px 75%)] to add [circle(50px at 50px center)] at (1) should be [circle(150px at 75px 75%)] assert_equals: expected "circle ( 150px at 75px 75 % ) " but got "circle ( 50px at 50px 50 % ) "
7
FAIL Compositing: property <shape-outside> underlying [circle(100px at 25px 25%)] from add [circle(10px at 25px 75%)] to add [circle(50px at 50px center)] at (1.5) should be [circle(170px at 87.5px 62.5%)] assert_equals: expected "circle ( 170px at 87.5px 62.5 % ) " but got "circle ( 70px at 62.5px 37.5 % ) "
8
FAIL Compositing: property <shape-outside> underlying [circle(100px at 20px 20%)] from add [circle(50px at 50px 50%)] to replace [circle(50% at 150px 150%)] at (-0.3) should be [circle(calc(195px + -15%) at 46px 46%)] assert_equals: expected "circle ( calc ( - 15 % + 195px ) at 46px 46 % ) " but got "circle ( 50px at 20px 20 % ) "
9
FAIL Compositing: property <shape-outside> underlying [circle(100px at 20px 20%)] from add [circle(50px at 50px 50%)] to replace [circle(50% at 150px 150%)] at (0) should be [circle(calc(150px + 0%) at 70px 70%)] assert_equals: expected "circle ( calc ( 0 % + 150px ) at 70px 70 % ) " but got "circle ( 50px at 50px 50 % ) "
10
FAIL Compositing: property <shape-outside> underlying [circle(100px at 20px 20%)] from add [circle(50px at 50px 50%)] to replace [circle(50% at 150px 150%)] at (0.3) should be [circle(calc(105px + 15%) at 94px 94%)] assert_equals: expected "circle ( calc ( 15 % + 105px ) at 94px 94 % ) " but got "circle ( calc ( ( 50px * 0.7 ) + ( 50 % * 0.3 ) ) at 80px 80 % ) "
11
FAIL Compositing: property <shape-outside> underlying [circle(100px at 20px 20%)] from add [circle(50px at 50px 50%)] to replace [circle(50% at 150px 150%)] at (0.6) should be [circle(calc(60px + 30%) at 118px 118%)] assert_equals: expected "circle ( calc ( 30 % + 60px ) at 118px 118 % ) " but got "circle ( calc ( ( 50px * 0.4 ) + ( 50 % * 0.6 ) ) at 110px 110 % ) "
12
PASS Compositing: property <shape-outside> underlying [circle(100px at 20px 20%)] from add [circle(50px at 50px 50%)] to replace [circle(50% at 150px 150%)] at (1) should be [circle(50% at 150px 150%)] 
13
FAIL Compositing: property <shape-outside> underlying [circle(100px at 20px 20%)] from add [circle(50px at 50px 50%)] to replace [circle(50% at 150px 150%)] at (1.5) should be [circle(calc(-75px + 75%) at 190px 190%)] assert_equals: expected "circle ( calc ( 75 % - 75px ) at 190px 190 % ) " but got "circle ( 50 % at 200px 200 % ) "
14
FAIL Compositing: property <shape-outside> underlying [circle(farthest-side at 25px 75%)] from add [circle(farthest-side at 25px 75%)] to add [circle(farthest-side at 50px center)] at (0.25) should be [circle(farthest-side at 25px 75%)] assert_equals: expected "circle ( farthest - side at 25px 75 % ) " but got "circle ( farthest - side at 50px 50 % ) "
15
PASS Compositing: property <shape-outside> underlying [circle(farthest-side at 25px 75%)] from add [circle(farthest-side at 25px 75%)] to add [circle(farthest-side at 50px center)] at (0.75) should be [circle(farthest-side at 50px 50%)] 
16
FAIL Compositing: property <shape-outside> underlying [circle(50px at 10px 20px)] from add [circle(50px at 10px 20px)] to add [circle(farthest-side at 30px 40px)] at (0.25) should be [circle(100px at 20px 40px)] assert_equals: expected "circle ( 100px at 20px 40px ) " but got "circle ( farthest - side at 30px 40px ) "
17
PASS Compositing: property <shape-outside> underlying [circle(50px at 10px 20px)] from add [circle(50px at 10px 20px)] to add [circle(farthest-side at 30px 40px)] at (0.75) should be [circle(farthest-side at 30px 40px)] 
18
FAIL Compositing: property <shape-outside> underlying [ellipse(10px 20px at 30px 40px)] from add [ellipse(40px 30px at 20px 10px)] to add [ellipse(140px 130px at 120px 110px)] at (-0.3) should be [ellipse(20px 20px at 20px 20px)] assert_equals: expected "ellipse ( 20px 20px at 20px 20px ) " but got "ellipse ( 10px 0px at - 10px - 20px ) "
19
FAIL Compositing: property <shape-outside> underlying [ellipse(10px 20px at 30px 40px)] from add [ellipse(40px 30px at 20px 10px)] to add [ellipse(140px 130px at 120px 110px)] at (0) should be [ellipse(50px 50px at 50px 50px)] assert_equals: expected "ellipse ( 50px 50px at 50px 50px ) " but got "ellipse ( 40px 30px at 20px 10px ) "
20
FAIL Compositing: property <shape-outside> underlying [ellipse(10px 20px at 30px 40px)] from add [ellipse(40px 30px at 20px 10px)] to add [ellipse(140px 130px at 120px 110px)] at (0.3) should be [ellipse(80px 80px at 80px 80px)] assert_equals: expected "ellipse ( 80px 80px at 80px 80px ) " but got "ellipse ( 70px 60px at 50px 40px ) "
21
FAIL Compositing: property <shape-outside> underlying [ellipse(10px 20px at 30px 40px)] from add [ellipse(40px 30px at 20px 10px)] to add [ellipse(140px 130px at 120px 110px)] at (0.6) should be [ellipse(110px 110px at 110px 110px)] assert_equals: expected "ellipse ( 110px 110px at 110px 110px ) " but got "ellipse ( 100px 90px at 80px 70px ) "
22
FAIL Compositing: property <shape-outside> underlying [ellipse(10px 20px at 30px 40px)] from add [ellipse(40px 30px at 20px 10px)] to add [ellipse(140px 130px at 120px 110px)] at (1) should be [ellipse(150px 150px at 150px 150px)] assert_equals: expected "ellipse ( 150px 150px at 150px 150px ) " but got "ellipse ( 140px 130px at 120px 110px ) "
23
FAIL Compositing: property <shape-outside> underlying [ellipse(10px 20px at 30px 40px)] from add [ellipse(40px 30px at 20px 10px)] to add [ellipse(140px 130px at 120px 110px)] at (1.5) should be [ellipse(200px 200px at 200px 200px)] assert_equals: expected "ellipse ( 200px 200px at 200px 200px ) " but got "ellipse ( 190px 180px at 170px 160px ) "
24
FAIL Compositing: property <shape-outside> underlying [ellipse(10px 20px at 30px 40px)] from replace [ellipse(40px 30px at 20px 10px)] to add [ellipse(40px 30px at 20px 10px)] at (-0.3) should be [ellipse(37px 24px at 11px -2px)] assert_equals: expected "ellipse ( 37px 24px at 11px - 2px ) " but got "ellipse ( 40px 30px at 20px 10px ) "
25
PASS Compositing: property <shape-outside> underlying [ellipse(10px 20px at 30px 40px)] from replace [ellipse(40px 30px at 20px 10px)] to add [ellipse(40px 30px at 20px 10px)] at (0) should be [ellipse(40px 30px at 20px 10px)] 
26
FAIL Compositing: property <shape-outside> underlying [ellipse(10px 20px at 30px 40px)] from replace [ellipse(40px 30px at 20px 10px)] to add [ellipse(40px 30px at 20px 10px)] at (0.3) should be [ellipse(43px 36px at 29px 22px)] assert_equals: expected "ellipse ( 43px 36px at 29px 22px ) " but got "ellipse ( 40px 30px at 20px 10px ) "
27
FAIL Compositing: property <shape-outside> underlying [ellipse(10px 20px at 30px 40px)] from replace [ellipse(40px 30px at 20px 10px)] to add [ellipse(40px 30px at 20px 10px)] at (0.6) should be [ellipse(46px 42px at 38px 34px)] assert_equals: expected "ellipse ( 46px 42px at 38px 34px ) " but got "ellipse ( 40px 30px at 20px 10px ) "
28
FAIL Compositing: property <shape-outside> underlying [ellipse(10px 20px at 30px 40px)] from replace [ellipse(40px 30px at 20px 10px)] to add [ellipse(40px 30px at 20px 10px)] at (1) should be [ellipse(50px 50px at 50px 50px)] assert_equals: expected "ellipse ( 50px 50px at 50px 50px ) " but got "ellipse ( 40px 30px at 20px 10px ) "
29
FAIL Compositing: property <shape-outside> underlying [ellipse(10px 20px at 30px 40px)] from replace [ellipse(40px 30px at 20px 10px)] to add [ellipse(40px 30px at 20px 10px)] at (1.5) should be [ellipse(55px 60px at 65px 70px)] assert_equals: expected "ellipse ( 55px 60px at 65px 70px ) " but got "ellipse ( 40px 30px at 20px 10px ) "
30
FAIL Compositing: property <shape-outside> underlying [ellipse(25px 75%)] from add [ellipse()] to add [ellipse(closest-side farthest-side)] at (0.25) should be [ellipse(at 50% 50%)] assert_equals: expected "ellipse ( at 50 % 50 % ) " but got "ellipse ( closest - side farthest - side at 50 % 50 % ) "
31
PASS Compositing: property <shape-outside> underlying [ellipse(25px 75%)] from add [ellipse()] to add [ellipse(closest-side farthest-side)] at (0.75) should be [ellipse(closest-side farthest-side at 50% 50%)] 
32
FAIL Compositing: property <shape-outside> underlying [inset(20px)] from add [inset(20px)] to add [inset(40%)] at (-0.3) should be [inset(calc(46px + -12%))] assert_equals: expected "inset ( calc ( - 12 % + 46px ) ) " but got "inset ( 20px ) "
33
FAIL Compositing: property <shape-outside> underlying [inset(20px)] from add [inset(20px)] to add [inset(40%)] at (0) should be [inset(calc(40px + 0%))] assert_equals: expected "inset ( calc ( 0 % + 40px ) ) " but got "inset ( 20px ) "
34
FAIL Compositing: property <shape-outside> underlying [inset(20px)] from add [inset(20px)] to add [inset(40%)] at (0.3) should be [inset(calc(34px + 12%))] assert_equals: expected "inset ( calc ( 12 % + 34px ) ) " but got "inset ( calc ( ( 20px * 0.7 ) + ( 40 % * 0.3 ) ) ) "
35
FAIL Compositing: property <shape-outside> underlying [inset(20px)] from add [inset(20px)] to add [inset(40%)] at (0.6) should be [inset(calc(28px + 24%))] assert_equals: expected "inset ( calc ( 24 % + 28px ) ) " but got "inset ( calc ( ( 20px * 0.4 ) + ( 40 % * 0.6 ) ) ) "
36
FAIL Compositing: property <shape-outside> underlying [inset(20px)] from add [inset(20px)] to add [inset(40%)] at (1) should be [inset(calc(20px + 40%))] assert_equals: expected "inset ( calc ( 40 % + 20px ) ) " but got "inset ( 40 % ) "
37
FAIL Compositing: property <shape-outside> underlying [inset(20px)] from add [inset(20px)] to add [inset(40%)] at (1.5) should be [inset(calc(10px + 60%))] assert_equals: expected "inset ( calc ( 60 % + 10px ) ) " but got "inset ( 40 % ) "
38
FAIL Compositing: property <shape-outside> underlying [inset(1px 2px 3px 4px round 10px 20px 30px 40px / 50px 60px 70px 80px)] from add [inset(1px 2px 3px 4px round 10px 20px 30px 40px / 50px 60px 70px 80px)] to replace [inset(102px 104px 106px 108px round 120px 140px 160px 180px / 200px 220px 240px 260px)] at (-0.3) should be [inset(-28px -26px -24px -22px round 0px 10px 30px 50px / 70px 90px 110px 130px)] assert_equals: expected "inset ( - 28px - 26px - 24px - 22px round 0px 10px 30px 50px / 70px 90px 110px 130px ) " but got "inset ( - 29.3px - 28.6px - 27.9px - 27.2px round - 23px - 16px - 9px - 2px / 5px 12px 19px 26px ) "
39
FAIL Compositing: property <shape-outside> underlying [inset(1px 2px 3px 4px round 10px 20px 30px 40px / 50px 60px 70px 80px)] from add [inset(1px 2px 3px 4px round 10px 20px 30px 40px / 50px 60px 70px 80px)] to replace [inset(102px 104px 106px 108px round 120px 140px 160px 180px / 200px 220px 240px 260px)] at (0) should be [inset(2px 4px 6px 8px round 20px 40px 60px 80px / 100px 120px 140px 160px)] assert_equals: expected "inset ( 2px 4px 6px 8px round 20px 40px 60px 80px / 100px 120px 140px 160px ) " but got "inset ( 1px 2px 3px 4px round 10px 20px 30px 40px / 50px 60px 70px 80px ) "
40
FAIL Compositing: property <shape-outside> underlying [inset(1px 2px 3px 4px round 10px 20px 30px 40px / 50px 60px 70px 80px)] from add [inset(1px 2px 3px 4px round 10px 20px 30px 40px / 50px 60px 70px 80px)] to replace [inset(102px 104px 106px 108px round 120px 140px 160px 180px / 200px 220px 240px 260px)] at (0.25) should be [inset(27px 29px 31px 33px round 45px 65px 85px 105px / 125px 145px 165px 185px)] assert_equals: expected "inset ( 27px 29px 31px 33px round 45px 65px 85px 105px / 125px 145px 165px 185px ) " but got "inset ( 26.25px 27.5px 28.75px 30px round 37.5px 50px 62.5px 75px / 87.5px 100px 112.5px 125px ) "
41
FAIL Compositing: property <shape-outside> underlying [inset(1px 2px 3px 4px round 10px 20px 30px 40px / 50px 60px 70px 80px)] from add [inset(1px 2px 3px 4px round 10px 20px 30px 40px / 50px 60px 70px 80px)] to replace [inset(102px 104px 106px 108px round 120px 140px 160px 180px / 200px 220px 240px 260px)] at (0.75) should be [inset(77px 79px 81px 83px round 95px 115px 135px 155px / 175px 195px 215px 235px)] assert_equals: expected "inset ( 77px 79px 81px 83px round 95px 115px 135px 155px / 175px 195px 215px 235px ) " but got "inset ( 76.75px 78.5px 80.25px 82px round 92.5px 110px 127.5px 145px / 162.5px 180px 197.5px 215px ) "
42
PASS Compositing: property <shape-outside> underlying [inset(1px 2px 3px 4px round 10px 20px 30px 40px / 50px 60px 70px 80px)] from add [inset(1px 2px 3px 4px round 10px 20px 30px 40px / 50px 60px 70px 80px)] to replace [inset(102px 104px 106px 108px round 120px 140px 160px 180px / 200px 220px 240px 260px)] at (1) should be [inset(102px 104px 106px 108px round 120px 140px 160px 180px / 200px 220px 240px 260px)] 
43
FAIL Compositing: property <shape-outside> underlying [inset(1px 2px 3px 4px round 10px 20px 30px 40px / 50px 60px 70px 80px)] from add [inset(1px 2px 3px 4px round 10px 20px 30px 40px / 50px 60px 70px 80px)] to replace [inset(102px 104px 106px 108px round 120px 140px 160px 180px / 200px 220px 240px 260px)] at (1.5) should be [inset(152px 154px 156px 158px round 170px 190px 210px 230px / 250px 270px 290px 310px)] assert_equals: expected "inset ( 152px 154px 156px 158px round 170px 190px 210px 230px / 250px 270px 290px 310px ) " but got "inset ( 152.5px 155px 157.5px 160px round 175px 200px 225px 250px / 275px 300px 325px 350px ) "
44
FAIL Compositing: property <shape-outside> underlying [inset(1px 2px round 100px 200px)] from add [inset(1px 2px round 100px 200px)] to add [inset(101px 102px 101px 102px)] at (-0.3) should be [inset(-28px -26px round 230px 460px)] assert_equals: expected "inset ( - 28px - 26px round 230px 460px ) " but got "inset ( - 29px - 28px round 130px 260px ) "
45
FAIL Compositing: property <shape-outside> underlying [inset(1px 2px round 100px 200px)] from add [inset(1px 2px round 100px 200px)] to add [inset(101px 102px 101px 102px)] at (0) should be [inset(2px 4px round 200px 400px)] assert_equals: expected "inset ( 2px 4px round 200px 400px ) " but got "inset ( 1px 2px round 100px 200px ) "
46
FAIL Compositing: property <shape-outside> underlying [inset(1px 2px round 100px 200px)] from add [inset(1px 2px round 100px 200px)] to add [inset(101px 102px 101px 102px)] at (0.3) should be [inset(32px 34px round 170px 340px)] assert_equals: expected "inset ( 32px 34px round 170px 340px ) " but got "inset ( 31px 32px round 70px 140px ) "
47
FAIL Compositing: property <shape-outside> underlying [inset(1px 2px round 100px 200px)] from add [inset(1px 2px round 100px 200px)] to add [inset(101px 102px 101px 102px)] at (0.6) should be [inset(62px 64px round 140px 280px)] assert_equals: expected "inset ( 62px 64px round 140px 280px ) " but got "inset ( 61px 62px round 40px 80px ) "
48
FAIL Compositing: property <shape-outside> underlying [inset(1px 2px round 100px 200px)] from add [inset(1px 2px round 100px 200px)] to add [inset(101px 102px 101px 102px)] at (1) should be [inset(102px 104px round 100px 200px)] assert_equals: expected "inset ( 102px 104px round 100px 200px ) " but got "inset ( 101px 102px ) "
49
FAIL Compositing: property <shape-outside> underlying [inset(1px 2px round 100px 200px)] from add [inset(1px 2px round 100px 200px)] to add [inset(101px 102px 101px 102px)] at (1.5) should be [inset(152px 154px round 50px 100px)] assert_equals: expected "inset ( 152px 154px round 50px 100px ) " but got "inset ( 151px 152px round - 50px - 100px ) "
50
FAIL Compositing: property <shape-outside> underlying [polygon(10px 20%, 30px 40%)] from add [polygon(10px 20%, 30px 40%)] to add [polygon(110px 120%, 130px 140%)] at (-0.3) should be [polygon(-10px 10%, 30px 50%)] assert_equals: expected "polygon ( - 10px 10 % , 30px 50 % ) " but got "polygon ( - 20px - 10 % , 0px 10 % ) "
51
FAIL Compositing: property <shape-outside> underlying [polygon(10px 20%, 30px 40%)] from add [polygon(10px 20%, 30px 40%)] to add [polygon(110px 120%, 130px 140%)] at (0) should be [polygon(20px 40%, 60px 80%)] assert_equals: expected "polygon ( 20px 40 % , 60px 80 % ) " but got "polygon ( 10px 20 % , 30px 40 % ) "
52
FAIL Compositing: property <shape-outside> underlying [polygon(10px 20%, 30px 40%)] from add [polygon(10px 20%, 30px 40%)] to add [polygon(110px 120%, 130px 140%)] at (0.3) should be [polygon(50px 70%, 90px 110%)] assert_equals: expected "polygon ( 50px 70 % , 90px 110 % ) " but got "polygon ( 40px 50 % , 60px 70 % ) "
53
FAIL Compositing: property <shape-outside> underlying [polygon(10px 20%, 30px 40%)] from add [polygon(10px 20%, 30px 40%)] to add [polygon(110px 120%, 130px 140%)] at (0.6) should be [polygon(80px 100%, 120px 140%)] assert_equals: expected "polygon ( 80px 100 % , 120px 140 % ) " but got "polygon ( 70px 80 % , 90px 100 % ) "
54
FAIL Compositing: property <shape-outside> underlying [polygon(10px 20%, 30px 40%)] from add [polygon(10px 20%, 30px 40%)] to add [polygon(110px 120%, 130px 140%)] at (1) should be [polygon(120px 140%, 160px 180%)] assert_equals: expected "polygon ( 120px 140 % , 160px 180 % ) " but got "polygon ( 110px 120 % , 130px 140 % ) "
55
FAIL Compositing: property <shape-outside> underlying [polygon(10px 20%, 30px 40%)] from add [polygon(10px 20%, 30px 40%)] to add [polygon(110px 120%, 130px 140%)] at (1.5) should be [polygon(170px 190%, 210px 230%)] assert_equals: expected "polygon ( 170px 190 % , 210px 230 % ) " but got "polygon ( 160px 170 % , 180px 190 % ) "
56
FAIL Compositing: property <shape-outside> underlying [polygon(evenodd, 10px 20px)] from add [polygon(evenodd, 10px 20px)] to add [polygon(evenodd, 110px 120px)] at (-0.3) should be [polygon(evenodd, -10px 10px)] assert_equals: expected "polygon ( evenodd , - 10px 10px ) " but got "polygon ( evenodd , - 20px - 10px ) "
57
FAIL Compositing: property <shape-outside> underlying [polygon(evenodd, 10px 20px)] from add [polygon(evenodd, 10px 20px)] to add [polygon(evenodd, 110px 120px)] at (0) should be [polygon(evenodd, 20px 40px)] assert_equals: expected "polygon ( evenodd , 20px 40px ) " but got "polygon ( evenodd , 10px 20px ) "
58
FAIL Compositing: property <shape-outside> underlying [polygon(evenodd, 10px 20px)] from add [polygon(evenodd, 10px 20px)] to add [polygon(evenodd, 110px 120px)] at (0.3) should be [polygon(evenodd, 50px 70px)] assert_equals: expected "polygon ( evenodd , 50px 70px ) " but got "polygon ( evenodd , 40px 50px ) "
59
FAIL Compositing: property <shape-outside> underlying [polygon(evenodd, 10px 20px)] from add [polygon(evenodd, 10px 20px)] to add [polygon(evenodd, 110px 120px)] at (0.6) should be [polygon(evenodd, 80px 100px)] assert_equals: expected "polygon ( evenodd , 80px 100px ) " but got "polygon ( evenodd , 70px 80px ) "
60
FAIL Compositing: property <shape-outside> underlying [polygon(evenodd, 10px 20px)] from add [polygon(evenodd, 10px 20px)] to add [polygon(evenodd, 110px 120px)] at (1) should be [polygon(evenodd, 120px 140px)] assert_equals: expected "polygon ( evenodd , 120px 140px ) " but got "polygon ( evenodd , 110px 120px ) "
61
FAIL Compositing: property <shape-outside> underlying [polygon(evenodd, 10px 20px)] from add [polygon(evenodd, 10px 20px)] to add [polygon(evenodd, 110px 120px)] at (1.5) should be [polygon(evenodd, 170px 190px)] assert_equals: expected "polygon ( evenodd , 170px 190px ) " but got "polygon ( evenodd , 160px 170px ) "
62
FAIL Compositing: property <shape-outside> underlying [polygon(evenodd, 10px 20px)] from add [polygon(evenodd, 10px 20px)] to add [polygon(nonzero, 30px 40px)] at (0.25) should be [polygon(evenodd, 20px 40px)] assert_equals: expected "polygon ( evenodd , 20px 40px ) " but got "polygon ( 30px 40px ) "
63
PASS Compositing: property <shape-outside> underlying [polygon(evenodd, 10px 20px)] from add [polygon(evenodd, 10px 20px)] to add [polygon(nonzero, 30px 40px)] at (0.75) should be [polygon(30px 40px)] 
64
FAIL Compositing: property <shape-outside> underlying [polygon(10px 20px, 30px 40px)] from add [polygon(10px 20px, 30px 40px)] to add [polygon(30px 40px)] at (0.25) should be [polygon(20px 40px, 60px 80px)] assert_equals: expected "polygon ( 20px 40px , 60px 80px ) " but got "polygon ( 30px 40px ) "
65
PASS Compositing: property <shape-outside> underlying [polygon(10px 20px, 30px 40px)] from add [polygon(10px 20px, 30px 40px)] to add [polygon(30px 40px)] at (0.75) should be [polygon(30px 40px)] 
66
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-shapes/animation/shape-outside-composition.html +189 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-shapes/animation/shape-outside-composition.html_sec1
1
<!DOCTYPE html>
2
<meta charset="UTF-8">
3
<title>shape-outside composition</title>
4
<link rel="help" href="https://drafts.csswg.org/css-shapes/#shape-outside-property">
5
<meta name="assert" content="shape-outside supports animation as <basic-shape> or discrete">
6
7
<script src="/resources/testharness.js"></script>
8
<script src="/resources/testharnessreport.js"></script>
9
<script src="/css/support/interpolation-testcommon.js"></script>
10
11
<body>
12
<script>
13
test_composition({
14
  property: 'shape-outside',
15
  underlying: 'circle(100px at 25px 25%)',
16
  addFrom: 'circle(10px at 25px 75%)',
17
  addTo: 'circle(50px at 50px center)',
18
}, [
19
  {at: -0.3, expect: 'circle(98px at 42.5px 107.5%)'},
20
  {at: 0, expect: 'circle(110px at 50px 100%)'},
21
  {at: 0.3, expect: 'circle(122px at 57.5px 92.5%)'},
22
  {at: 0.6, expect: 'circle(134px at 65px 85%)'},
23
  {at: 1, expect: 'circle(150px at 75px 75%)'},
24
  {at: 1.5, expect: 'circle(170px at 87.5px 62.5%)'},
25
]);
26
27
test_composition({
28
  property: 'shape-outside',
29
  underlying: 'circle(100px at 20px 20%)',
30
  addFrom: 'circle(50px at 50px 50%)',
31
  replaceTo: 'circle(50% at 150px 150%)',
32
}, [
33
  {at: -0.3, expect: 'circle(calc(195px + -15%) at 46px 46%)'},
34
  {at: 0, expect: 'circle(calc(150px + 0%) at 70px 70%)'},
35
  {at: 0.3, expect: 'circle(calc(105px + 15%) at 94px 94%)'},
36
  {at: 0.6, expect: 'circle(calc(60px + 30%) at 118px 118%)'},
37
  {at: 1, expect: 'circle(50% at 150px 150%)'},
38
  {at: 1.5, expect: 'circle(calc(-75px + 75%) at 190px 190%)'},
39
]);
40
41
test_composition({
42
  property: 'shape-outside',
43
  underlying: 'circle(farthest-side at 25px 75%)',
44
  addFrom: 'circle(farthest-side at 25px 75%)',
45
  addTo: 'circle(farthest-side at 50px center)',
46
}, [
47
  {at: 0.25, expect: 'circle(farthest-side at 25px 75%)'},
48
  {at: 0.75, expect: 'circle(farthest-side at 50px 50%)'},
49
]);
50
51
test_composition({
52
  property: 'shape-outside',
53
  underlying: 'circle(50px at 10px 20px)',
54
  addFrom: 'circle(50px at 10px 20px)',
55
  addTo: 'circle(farthest-side at 30px 40px)',
56
}, [
57
  {at: 0.25, expect: 'circle(100px at 20px 40px)'},
58
  {at: 0.75, expect: 'circle(farthest-side at 30px 40px)'},
59
]);
60
61
test_composition({
62
  property: 'shape-outside',
63
  underlying: 'ellipse(10px 20px at 30px 40px)',
64
  addFrom: 'ellipse(40px 30px at 20px 10px)',
65
  addTo: 'ellipse(140px 130px at 120px 110px)',
66
}, [
67
  {at: -0.3, expect: 'ellipse(20px 20px at 20px 20px)'},
68
  {at: 0, expect: 'ellipse(50px 50px at 50px 50px)'},
69
  {at: 0.3, expect: 'ellipse(80px 80px at 80px 80px)'},
70
  {at: 0.6, expect: 'ellipse(110px 110px at 110px 110px)'},
71
  {at: 1, expect: 'ellipse(150px 150px at 150px 150px)'},
72
  {at: 1.5, expect: 'ellipse(200px 200px at 200px 200px)'},
73
]);
74
75
test_composition({
76
  property: 'shape-outside',
77
  underlying: 'ellipse(10px 20px at 30px 40px)',
78
  replaceFrom: 'ellipse(40px 30px at 20px 10px)',
79
  addTo: 'ellipse(40px 30px at 20px 10px)',
80
}, [
81
  {at: -0.3, expect: 'ellipse(37px 24px at 11px -2px)'},
82
  {at: 0, expect: 'ellipse(40px 30px at 20px 10px)'},
83
  {at: 0.3, expect: 'ellipse(43px 36px at 29px 22px)'},
84
  {at: 0.6, expect: 'ellipse(46px 42px at 38px 34px)'},
85
  {at: 1, expect: 'ellipse(50px 50px at 50px 50px)'},
86
  {at: 1.5, expect: 'ellipse(55px 60px at 65px 70px)'},
87
]);
88
89
test_composition({
90
  property: 'shape-outside',
91
  underlying: 'ellipse(25px 75%)',
92
  addFrom: 'ellipse()',
93
  addTo: 'ellipse(closest-side farthest-side)',
94
}, [
95
  {at: 0.25, expect: 'ellipse(at 50% 50%)'},
96
  {at: 0.75, expect: 'ellipse(closest-side farthest-side at 50% 50%)'},
97
]);
98
99
test_composition({
100
  property: 'shape-outside',
101
  underlying: 'inset(20px)',
102
  addFrom: 'inset(20px)',
103
  addTo: 'inset(40%)',
104
}, [
105
  {at: -0.3, expect: 'inset(calc(46px + -12%))'},
106
  {at: 0, expect: 'inset(calc(40px + 0%))'},
107
  {at: 0.3, expect: 'inset(calc(34px + 12%))'},
108
  {at: 0.6, expect: 'inset(calc(28px + 24%))'},
109
  {at: 1, expect: 'inset(calc(20px + 40%))'},
110
  {at: 1.5, expect: 'inset(calc(10px + 60%))'},
111
]);
112
113
test_composition({
114
  property: 'shape-outside',
115
  underlying: 'inset(1px 2px 3px 4px round 10px 20px 30px 40px / 50px 60px 70px 80px)',
116
  addFrom: 'inset(1px 2px 3px 4px round 10px 20px 30px 40px / 50px 60px 70px 80px)',
117
  replaceTo: 'inset(102px 104px 106px 108px round 120px 140px 160px 180px / 200px 220px 240px 260px)',
118
}, [
119
  {at: -0.3, expect: 'inset(-28px -26px -24px -22px round 0px 10px 30px 50px / 70px 90px 110px 130px)'},
120
  {at: 0, expect: 'inset(2px 4px 6px 8px round 20px 40px 60px 80px / 100px 120px 140px 160px)'},
121
  {at: 0.25, expect: 'inset(27px 29px 31px 33px round 45px 65px 85px 105px / 125px 145px 165px 185px)'},
122
  {at: 0.75, expect: 'inset(77px 79px 81px 83px round 95px 115px 135px 155px / 175px 195px 215px 235px)'},
123
  {at: 1, expect: 'inset(102px 104px 106px 108px round 120px 140px 160px 180px / 200px 220px 240px 260px)'},
124
  {at: 1.5, expect: 'inset(152px 154px 156px 158px round 170px 190px 210px 230px / 250px 270px 290px 310px)'},
125
]);
126
127
test_composition({
128
  property: 'shape-outside',
129
  underlying: 'inset(1px 2px round 100px 200px)',
130
  addFrom: 'inset(1px 2px round 100px 200px)',
131
  addTo: 'inset(101px 102px 101px 102px)',
132
}, [
133
  {at: -0.3, expect: 'inset(-28px -26px round 230px 460px)'},
134
  {at: 0, expect: 'inset(2px 4px round 200px 400px)'},
135
  {at: 0.3, expect: 'inset(32px 34px round 170px 340px)'},
136
  {at: 0.6, expect: 'inset(62px 64px round 140px 280px)'},
137
  {at: 1, expect: 'inset(102px 104px round 100px 200px)'},
138
  {at: 1.5, expect: 'inset(152px 154px round 50px 100px)'},
139
]);
140
141
test_composition({
142
  property: 'shape-outside',
143
  underlying: 'polygon(10px 20%, 30px 40%)',
144
  addFrom: 'polygon(10px 20%, 30px 40%)',
145
  addTo: 'polygon(110px 120%, 130px 140%)',
146
}, [
147
  {at: -0.3, expect: 'polygon(-10px 10%, 30px 50%)'},
148
  {at: 0, expect: 'polygon(20px 40%, 60px 80%)'},
149
  {at: 0.3, expect: 'polygon(50px 70%, 90px 110%)'},
150
  {at: 0.6, expect: 'polygon(80px 100%, 120px 140%)'},
151
  {at: 1, expect: 'polygon(120px 140%, 160px 180%)'},
152
  {at: 1.5, expect: 'polygon(170px 190%, 210px 230%)'},
153
]);
154
155
test_composition({
156
  property: 'shape-outside',
157
  underlying: 'polygon(evenodd, 10px 20px)',
158
  addFrom: 'polygon(evenodd, 10px 20px)',
159
  addTo: 'polygon(evenodd, 110px 120px)',
160
}, [
161
  {at: -0.3, expect: 'polygon(evenodd, -10px 10px)'},
162
  {at: 0, expect: 'polygon(evenodd, 20px 40px)'},
163
  {at: 0.3, expect: 'polygon(evenodd, 50px 70px)'},
164
  {at: 0.6, expect: 'polygon(evenodd, 80px 100px)'},
165
  {at: 1, expect: 'polygon(evenodd, 120px 140px)'},
166
  {at: 1.5, expect: 'polygon(evenodd, 170px 190px)'},
167
]);
168
169
test_composition({
170
  property: 'shape-outside',
171
  underlying: 'polygon(evenodd, 10px 20px)',
172
  addFrom: 'polygon(evenodd, 10px 20px)',
173
  addTo: 'polygon(nonzero, 30px 40px)',
174
}, [
175
  {at: 0.25, expect: 'polygon(evenodd, 20px 40px)'},
176
  {at: 0.75, expect: 'polygon(30px 40px)'},
177
]);
178
179
test_composition({
180
  property: 'shape-outside',
181
  underlying: 'polygon(10px 20px, 30px 40px)',
182
  addFrom: 'polygon(10px 20px, 30px 40px)',
183
  addTo: 'polygon(30px 40px)',
184
}, [
185
  {at: 0.25, expect: 'polygon(20px 40px, 60px 80px)'},
186
  {at: 0.75, expect: 'polygon(30px 40px)'},
187
]);
188
</script>
189
</body>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-shapes/animation/w3c-import.log +2 lines
Lines 15-19 None a/LayoutTests/imported/w3c/web-platform-tests/css/css-shapes/animation/w3c-import.log_sec1
15
------------------------------------------------------------------------
15
------------------------------------------------------------------------
16
List of files:
16
List of files:
17
/LayoutTests/imported/w3c/web-platform-tests/css/css-shapes/animation/shape-image-threshold-interpolation.html
17
/LayoutTests/imported/w3c/web-platform-tests/css/css-shapes/animation/shape-image-threshold-interpolation.html
18
/LayoutTests/imported/w3c/web-platform-tests/css/css-shapes/animation/shape-margin-composition.html
18
/LayoutTests/imported/w3c/web-platform-tests/css/css-shapes/animation/shape-margin-interpolation.html
19
/LayoutTests/imported/w3c/web-platform-tests/css/css-shapes/animation/shape-margin-interpolation.html
20
/LayoutTests/imported/w3c/web-platform-tests/css/css-shapes/animation/shape-outside-composition.html
19
/LayoutTests/imported/w3c/web-platform-tests/css/css-shapes/animation/shape-outside-interpolation.html
21
/LayoutTests/imported/w3c/web-platform-tests/css/css-shapes/animation/shape-outside-interpolation.html
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-shapes/parsing/resources/parsing-testcommon.js -39 lines
Lines 1-39 a/LayoutTests/imported/w3c/web-platform-tests/css/css-shapes/parsing/resources/parsing-testcommon.js_sec1
1
'use strict';
2
3
// serializedValue can be the expected serialization of value,
4
// or an array of permitted serializations,
5
// or omitted if value should serialize as value.
6
function test_valid_value(property, value, serializedValue) {
7
    if (arguments.length < 3)
8
        serializedValue = value;
9
10
    var stringifiedValue = JSON.stringify(value);
11
12
    test(function(){
13
        var div = document.createElement('div');
14
        div.style[property] = value;
15
        assert_not_equals(div.style.getPropertyValue(property), "", "property should be set");
16
17
        var div = document.createElement('div');
18
        div.style[property] = value;
19
        var readValue = div.style.getPropertyValue(property);
20
        if (serializedValue instanceof Array)
21
            assert_in_array(readValue, serializedValue, "serialization should be sound");
22
        else
23
            assert_equals(readValue, serializedValue, "serialization should be canonical");
24
25
        div.style[property] = readValue;
26
        assert_equals(div.style.getPropertyValue(property), readValue, "serialization should round-trip");
27
28
    }, "e.style['" + property + "'] = " + stringifiedValue + " should set the property value");
29
}
30
31
function test_invalid_value(property, value) {
32
    var stringifiedValue = JSON.stringify(value);
33
34
    test(function(){
35
        var div = document.createElement('div');
36
        div.style[property] = value;
37
        assert_equals(div.style.getPropertyValue(property), "");
38
    }, "e.style['" + property + "'] = " + stringifiedValue + " should not set the property value");
39
}
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-shapes/parsing/resources/w3c-import.log -17 lines
Lines 1-17 a/LayoutTests/imported/w3c/web-platform-tests/css/css-shapes/parsing/resources/w3c-import.log_sec1
1
The tests in this directory were imported from the W3C repository.
2
Do NOT modify these tests directly in WebKit.
3
Instead, create a pull request on the WPT github:
4
	https://github.com/w3c/web-platform-tests
5
6
Then run the Tools/Scripts/import-w3c-tests in WebKit to reimport
7
8
Do NOT modify or remove this file.
9
10
------------------------------------------------------------------------
11
Properties requiring vendor prefixes:
12
None
13
Property values requiring vendor prefixes:
14
None
15
------------------------------------------------------------------------
16
List of files:
17
/LayoutTests/imported/w3c/web-platform-tests/css/css-shapes/parsing/resources/parsing-testcommon.js
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-shapes/parsing/shape-outside-valid-expected.txt -1 / +1 lines
Lines 32-38 PASS e.style['shape-outside'] = "margin-box" should set the property value a/LayoutTests/imported/w3c/web-platform-tests/css/css-shapes/parsing/shape-outside-valid-expected.txt_sec1
32
PASS e.style['shape-outside'] = "circle(7% at 8% 9%) border-box" should set the property value 
32
PASS e.style['shape-outside'] = "circle(7% at 8% 9%) border-box" should set the property value 
33
FAIL e.style['shape-outside'] = "padding-box inset(10em)" should set the property value assert_equals: serialization should be canonical expected "inset(10em) padding-box" but got "padding-box inset(10em)"
33
FAIL e.style['shape-outside'] = "padding-box inset(10em)" should set the property value assert_equals: serialization should be canonical expected "inset(10em) padding-box" but got "padding-box inset(10em)"
34
FAIL e.style['shape-outside'] = "border-box circle(7% at 8% 9%)" should set the property value assert_equals: serialization should be canonical expected "circle(7% at 8% 9%) border-box" but got "border-box circle(7% at 8% 9%)"
34
FAIL e.style['shape-outside'] = "border-box circle(7% at 8% 9%)" should set the property value assert_equals: serialization should be canonical expected "circle(7% at 8% 9%) border-box" but got "border-box circle(7% at 8% 9%)"
35
FAIL e.style['shape-outside'] = "margin-box ellipse(at 1em 2em)" should set the property value assert_equals: serialization should be canonical expected "ellipse(at 1em 2em) margin-box" but got "margin-box ellipse(at 1em 2em)"
35
FAIL e.style['shape-outside'] = "margin-box ellipse(at 1em 2em)" should set the property value assert_in_array: serialization should be sound value "margin-box ellipse(at 1em 2em)" not in array ["ellipse(at 1em 2em) margin-box", "ellipse(at 1em 2em)"]
36
FAIL e.style['shape-outside'] = "content-box polygon(1% 2%)" should set the property value assert_equals: serialization should be canonical expected "polygon(1% 2%) content-box" but got "content-box polygon(1% 2%)"
36
FAIL e.style['shape-outside'] = "content-box polygon(1% 2%)" should set the property value assert_equals: serialization should be canonical expected "polygon(1% 2%) content-box" but got "content-box polygon(1% 2%)"
37
PASS e.style['shape-outside'] = "url(https://example.com/)" should set the property value 
37
PASS e.style['shape-outside'] = "url(https://example.com/)" should set the property value 
38
PASS e.style['shape-outside'] = "url(\"https://example.com/\")" should set the property value 
38
PASS e.style['shape-outside'] = "url(\"https://example.com/\")" should set the property value 
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-shapes/parsing/shape-outside-valid.html -1 / +1 lines
Lines 56-62 test_valid_value("shape-outside", "circle(7% at 8% 9%) border-box"); a/LayoutTests/imported/w3c/web-platform-tests/css/css-shapes/parsing/shape-outside-valid.html_sec1
56
// <shape-box> <basic-shape>
56
// <shape-box> <basic-shape>
57
test_valid_value("shape-outside", "padding-box inset(10em)", "inset(10em) padding-box");
57
test_valid_value("shape-outside", "padding-box inset(10em)", "inset(10em) padding-box");
58
test_valid_value("shape-outside", "border-box circle(7% at 8% 9%)", "circle(7% at 8% 9%) border-box");
58
test_valid_value("shape-outside", "border-box circle(7% at 8% 9%)", "circle(7% at 8% 9%) border-box");
59
test_valid_value("shape-outside", "margin-box ellipse(at 1em 2em)", "ellipse(at 1em 2em) margin-box");
59
test_valid_value("shape-outside", "margin-box ellipse(at 1em 2em)", ["ellipse(at 1em 2em) margin-box", "ellipse(at 1em 2em)"]);
60
test_valid_value("shape-outside", "content-box polygon(1% 2%)", "polygon(1% 2%) content-box");
60
test_valid_value("shape-outside", "content-box polygon(1% 2%)", "polygon(1% 2%) content-box");
61
61
62
// <image>
62
// <image>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-shapes/shape-outside/formatting-context/shape-outside-formatting-context.tentative-expected.html -4 lines
Lines 17-27 a/LayoutTests/imported/w3c/web-platform-tests/css/css-shapes/shape-outside/formatting-context/shape-outside-formatting-context.tentative-expected.html_sec1
17
.flex {
17
.flex {
18
  display: flex;
18
  display: flex;
19
  height: 50px;
19
  height: 50px;
20
  width: 200px;
21
  background: rebeccapurple;
20
  background: rebeccapurple;
22
  left: 50px;
23
  top: -100px;
24
  position: relative;
25
}
21
}
26
</style>
22
</style>
27
<div class="test">
23
<div class="test">
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-shapes/shape-outside/shape-image/gradients/shape-outside-linear-gradient-011.html -1 / +1 lines
Lines 6-12 a/LayoutTests/imported/w3c/web-platform-tests/css/css-shapes/shape-outside/shape-image/gradients/shape-outside-linear-gradient-011.html_sec1
6
    <link rel="author" title="Mozilla" href="http://www.mozilla.org/">
6
    <link rel="author" title="Mozilla" href="http://www.mozilla.org/">
7
    <link rel="help" href="http://www.w3.org/TR/css-shapes-1/#shapes-from-image"/>
7
    <link rel="help" href="http://www.w3.org/TR/css-shapes-1/#shapes-from-image"/>
8
    <link rel="help" href="http://www.w3.org/TR/css-shapes-1/#shape-outside-property"/>
8
    <link rel="help" href="http://www.w3.org/TR/css-shapes-1/#shape-outside-property"/>
9
    <link rel="help" href="http://www.w3.org/TR/css-shapes-1/#shape-margin"/>
9
    <link rel="help" href="http://www.w3.org/TR/css-shapes-1/#shape-margin-property"/>
10
    <link rel="match" href="reference/shape-outside-linear-gradient-001-ref.html"/>
10
    <link rel="match" href="reference/shape-outside-linear-gradient-001-ref.html"/>
11
    <meta name="flags" content="ahem"/>
11
    <meta name="flags" content="ahem"/>
12
    <meta name="assert" content="This test verifies that shape-outside respects a simple linear gradient with shape-margin under vertical-rl."/>
12
    <meta name="assert" content="This test verifies that shape-outside respects a simple linear gradient with shape-margin under vertical-rl."/>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-shapes/shape-outside/shape-image/gradients/shape-outside-linear-gradient-012.html -1 / +1 lines
Lines 6-12 a/LayoutTests/imported/w3c/web-platform-tests/css/css-shapes/shape-outside/shape-image/gradients/shape-outside-linear-gradient-012.html_sec1
6
    <link rel="author" title="Mozilla" href="http://www.mozilla.org/">
6
    <link rel="author" title="Mozilla" href="http://www.mozilla.org/">
7
    <link rel="help" href="http://www.w3.org/TR/css-shapes-1/#shapes-from-image"/>
7
    <link rel="help" href="http://www.w3.org/TR/css-shapes-1/#shapes-from-image"/>
8
    <link rel="help" href="http://www.w3.org/TR/css-shapes-1/#shape-outside-property"/>
8
    <link rel="help" href="http://www.w3.org/TR/css-shapes-1/#shape-outside-property"/>
9
    <link rel="help" href="http://www.w3.org/TR/css-shapes-1/#shape-margin"/>
9
    <link rel="help" href="http://www.w3.org/TR/css-shapes-1/#shape-margin-property"/>
10
    <link rel="match" href="reference/shape-outside-linear-gradient-001-ref.html"/>
10
    <link rel="match" href="reference/shape-outside-linear-gradient-001-ref.html"/>
11
    <meta name="flags" content="ahem"/>
11
    <meta name="flags" content="ahem"/>
12
    <meta name="assert" content="This test verifies that shape-outside respects a simple linear gradient with shape-margin under vertical-lr."/>
12
    <meta name="assert" content="This test verifies that shape-outside respects a simple linear gradient with shape-margin under vertical-lr."/>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-shapes/shape-outside/shape-image/gradients/shape-outside-linear-gradient-013.html -1 / +1 lines
Lines 6-12 a/LayoutTests/imported/w3c/web-platform-tests/css/css-shapes/shape-outside/shape-image/gradients/shape-outside-linear-gradient-013.html_sec1
6
    <link rel="author" title="Mozilla" href="http://www.mozilla.org/">
6
    <link rel="author" title="Mozilla" href="http://www.mozilla.org/">
7
    <link rel="help" href="http://www.w3.org/TR/css-shapes-1/#shapes-from-image"/>
7
    <link rel="help" href="http://www.w3.org/TR/css-shapes-1/#shapes-from-image"/>
8
    <link rel="help" href="http://www.w3.org/TR/css-shapes-1/#shape-outside-property"/>
8
    <link rel="help" href="http://www.w3.org/TR/css-shapes-1/#shape-outside-property"/>
9
    <link rel="help" href="http://www.w3.org/TR/css-shapes-1/#shape-margin"/>
9
    <link rel="help" href="http://www.w3.org/TR/css-shapes-1/#shape-margin-property"/>
10
    <link rel="match" href="reference/shape-outside-linear-gradient-001-ref.html"/>
10
    <link rel="match" href="reference/shape-outside-linear-gradient-001-ref.html"/>
11
    <meta name="flags" content="ahem"/>
11
    <meta name="flags" content="ahem"/>
12
    <meta name="assert" content="This test verifies that shape-outside respects a simple linear gradient with shape-margin under sideways-rl."/>
12
    <meta name="assert" content="This test verifies that shape-outside respects a simple linear gradient with shape-margin under sideways-rl."/>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-shapes/shape-outside/shape-image/gradients/shape-outside-linear-gradient-014.html -1 / +1 lines
Lines 6-12 a/LayoutTests/imported/w3c/web-platform-tests/css/css-shapes/shape-outside/shape-image/gradients/shape-outside-linear-gradient-014.html_sec1
6
    <link rel="author" title="Mozilla" href="http://www.mozilla.org/">
6
    <link rel="author" title="Mozilla" href="http://www.mozilla.org/">
7
    <link rel="help" href="http://www.w3.org/TR/css-shapes-1/#shapes-from-image"/>
7
    <link rel="help" href="http://www.w3.org/TR/css-shapes-1/#shapes-from-image"/>
8
    <link rel="help" href="http://www.w3.org/TR/css-shapes-1/#shape-outside-property"/>
8
    <link rel="help" href="http://www.w3.org/TR/css-shapes-1/#shape-outside-property"/>
9
    <link rel="help" href="http://www.w3.org/TR/css-shapes-1/#shape-margin"/>
9
    <link rel="help" href="http://www.w3.org/TR/css-shapes-1/#shape-margin-property"/>
10
    <link rel="match" href="reference/shape-outside-linear-gradient-001-ref.html"/>
10
    <link rel="match" href="reference/shape-outside-linear-gradient-001-ref.html"/>
11
    <meta name="flags" content="ahem"/>
11
    <meta name="flags" content="ahem"/>
12
    <meta name="assert" content="This test verifies that shape-outside respects a simple linear gradient with shape-margin under sideways-lr."/>
12
    <meta name="assert" content="This test verifies that shape-outside respects a simple linear gradient with shape-margin under sideways-lr."/>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-shapes/shape-outside/shape-image/gradients/shape-outside-linear-gradient-015.html -1 / +1 lines
Lines 6-12 a/LayoutTests/imported/w3c/web-platform-tests/css/css-shapes/shape-outside/shape-image/gradients/shape-outside-linear-gradient-015.html_sec1
6
    <link rel="author" title="Mozilla" href="http://www.mozilla.org/">
6
    <link rel="author" title="Mozilla" href="http://www.mozilla.org/">
7
    <link rel="help" href="http://www.w3.org/TR/css-shapes-1/#shapes-from-image"/>
7
    <link rel="help" href="http://www.w3.org/TR/css-shapes-1/#shapes-from-image"/>
8
    <link rel="help" href="http://www.w3.org/TR/css-shapes-1/#shape-outside-property"/>
8
    <link rel="help" href="http://www.w3.org/TR/css-shapes-1/#shape-outside-property"/>
9
    <link rel="help" href="http://www.w3.org/TR/css-shapes-1/#shape-margin"/>
9
    <link rel="help" href="http://www.w3.org/TR/css-shapes-1/#shape-margin-property"/>
10
    <link rel="match" href="reference/shape-outside-linear-gradient-001-ref.html"/>
10
    <link rel="match" href="reference/shape-outside-linear-gradient-001-ref.html"/>
11
    <meta name="flags" content="ahem"/>
11
    <meta name="flags" content="ahem"/>
12
    <meta name="assert" content="This test verifies that shape-outside respects a simple linear gradient with shape-margin under vertical-rl and text-orientation: sideways."/>
12
    <meta name="assert" content="This test verifies that shape-outside respects a simple linear gradient with shape-margin under vertical-rl and text-orientation: sideways."/>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-shapes/shape-outside/shape-image/gradients/shape-outside-linear-gradient-016.html -1 / +1 lines
Lines 6-12 a/LayoutTests/imported/w3c/web-platform-tests/css/css-shapes/shape-outside/shape-image/gradients/shape-outside-linear-gradient-016.html_sec1
6
    <link rel="author" title="Mozilla" href="http://www.mozilla.org/">
6
    <link rel="author" title="Mozilla" href="http://www.mozilla.org/">
7
    <link rel="help" href="http://www.w3.org/TR/css-shapes-1/#shapes-from-image"/>
7
    <link rel="help" href="http://www.w3.org/TR/css-shapes-1/#shapes-from-image"/>
8
    <link rel="help" href="http://www.w3.org/TR/css-shapes-1/#shape-outside-property"/>
8
    <link rel="help" href="http://www.w3.org/TR/css-shapes-1/#shape-outside-property"/>
9
    <link rel="help" href="http://www.w3.org/TR/css-shapes-1/#shape-margin"/>
9
    <link rel="help" href="http://www.w3.org/TR/css-shapes-1/#shape-margin-property"/>
10
    <link rel="match" href="reference/shape-outside-linear-gradient-001-ref.html"/>
10
    <link rel="match" href="reference/shape-outside-linear-gradient-001-ref.html"/>
11
    <meta name="flags" content="ahem"/>
11
    <meta name="flags" content="ahem"/>
12
    <meta name="assert" content="This test verifies that shape-outside respects a simple linear gradient with shape-margin under vertical-lr and text-orientation: sideways."/>
12
    <meta name="assert" content="This test verifies that shape-outside respects a simple linear gradient with shape-margin under vertical-lr and text-orientation: sideways."/>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-shapes/shape-outside/shape-image/shape-image-000-expected.html -1 / +1 lines
Lines 25-31 a/LayoutTests/imported/w3c/web-platform-tests/css/css-shapes/shape-outside/shape-image/shape-image-000-expected.html_sec1
25
        The test passes if you see a solid green square. There should be no red.
25
        The test passes if you see a solid green square. There should be no red.
26
    </p>
26
    </p>
27
    <div class="container">
27
    <div class="container">
28
        <img src="../support/left-half-rectangle-50.png"/>
28
        <img src="support/left-half-rectangle-50.png"/>
29
        <div class="green"></div>
29
        <div class="green"></div>
30
    </div>
30
    </div>
31
</body>
31
</body>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-shapes/shape-outside/shape-image/shape-image-001-expected.html -1 / +1 lines
Lines 25-31 a/LayoutTests/imported/w3c/web-platform-tests/css/css-shapes/shape-outside/shape-image/shape-image-001-expected.html_sec1
25
        The test passes if you see a green rectangle, a black rectangle, and a green rectangle next to each other. There should be no red.
25
        The test passes if you see a green rectangle, a black rectangle, and a green rectangle next to each other. There should be no red.
26
    </p>
26
    </p>
27
    <div class="container">
27
    <div class="container">
28
        <img src="../support/left-half-rectangle-70.png"/>
28
        <img src="support/left-half-rectangle-70.png"/>
29
        <div class="green"></div>
29
        <div class="green"></div>
30
    </div>
30
    </div>
31
</body>
31
</body>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-shapes/shape-outside/shape-image/shape-image-004-expected.html -1 / +1 lines
Lines 25-31 a/LayoutTests/imported/w3c/web-platform-tests/css/css-shapes/shape-outside/shape-image/shape-image-004-expected.html_sec1
25
        The test passes if you see a solid green square. There should be no red.
25
        The test passes if you see a solid green square. There should be no red.
26
    </p>
26
    </p>
27
    <div class="container">
27
    <div class="container">
28
        <img src="../support/left-half-rectangle-50.png"/>
28
        <img src="support/left-half-rectangle-50.png"/>
29
        <div class="green"></div>
29
        <div class="green"></div>
30
    </div>
30
    </div>
31
</body>
31
</body>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-shapes/shape-outside/shape-image/shape-image-006-expected.html -1 / +1 lines
Lines 35-41 a/LayoutTests/imported/w3c/web-platform-tests/css/css-shapes/shape-outside/shape-image/shape-image-006-expected.html_sec1
35
        There should be no red.
35
        There should be no red.
36
    </p>
36
    </p>
37
    <div class="green left-rect">
37
    <div class="green left-rect">
38
        <img src="../support/left-half-rectangle.png">
38
        <img src="support/left-half-rectangle.png">
39
    </div>
39
    </div>
40
    <div class="green right-rect"></div>
40
    <div class="green right-rect"></div>
41
    <div class="blue left-line"></div>
41
    <div class="blue left-line"></div>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-shapes/shape-outside/shape-image/shape-image-009-expected.html -1 / +1 lines
Lines 35-41 a/LayoutTests/imported/w3c/web-platform-tests/css/css-shapes/shape-outside/shape-image/shape-image-009-expected.html_sec1
35
        There should be no red.
35
        There should be no red.
36
    </p>
36
    </p>
37
    <div class="green left-rect">
37
    <div class="green left-rect">
38
        <img src="../support/left-half-rectangle.png">
38
        <img src="support/left-half-rectangle.png">
39
    </div>
39
    </div>
40
    <div class="green right-rect"></div>
40
    <div class="green right-rect"></div>
41
    <div class="blue left-line"></div>
41
    <div class="blue left-line"></div>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-shapes/shape-outside/shape-image/shape-image-010-expected.html -1 / +1 lines
Lines 35-41 a/LayoutTests/imported/w3c/web-platform-tests/css/css-shapes/shape-outside/shape-image/shape-image-010-expected.html_sec1
35
        There should be no red.
35
        There should be no red.
36
    </p>
36
    </p>
37
    <div class="green left-rect">
37
    <div class="green left-rect">
38
        <img src="../support/left-half-rectangle.png">
38
        <img src="support/left-half-rectangle.png">
39
    </div>
39
    </div>
40
    <div class="green right-rect"></div>
40
    <div class="green right-rect"></div>
41
    <div class="blue left-line"></div>
41
    <div class="blue left-line"></div>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-shapes/shape-outside/shape-image/shape-image-012-expected.html -1 / +1 lines
Lines 26-32 a/LayoutTests/imported/w3c/web-platform-tests/css/css-shapes/shape-outside/shape-image/shape-image-012-expected.html_sec1
26
        There should be no red.
26
        There should be no red.
27
    </p>
27
    </p>
28
    <div class="container">
28
    <div class="container">
29
        <img id="image" src="../support/right-half-rectangle.jpg"/>
29
        <img id="image" src="support/right-half-rectangle.jpg"/>
30
        XXXXX XXXXX XXXXX XXXXX XXXXX
30
        XXXXX XXXXX XXXXX XXXXX XXXXX
31
        XXXXXXXXXX XXXXXXXXXX XXXXXXXXXX XXXXXXXXXX XXXXXXXXXX
31
        XXXXXXXXXX XXXXXXXXXX XXXXXXXXXX XXXXXXXXXX XXXXXXXXXX
32
    </div>
32
    </div>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-shapes/shape-outside/shape-image/shape-image-013-expected.html -1 / +1 lines
Lines 26-32 a/LayoutTests/imported/w3c/web-platform-tests/css/css-shapes/shape-outside/shape-image/shape-image-013-expected.html_sec1
26
    </p>
26
    </p>
27
    <div class="container">
27
    <div class="container">
28
        <div class="green"></div>
28
        <div class="green"></div>
29
        <img src="../support/right-half-rectangle.png"/>
29
        <img src="support/right-half-rectangle.png"/>
30
    </div>
30
    </div>
31
</body>
31
</body>
32
</html>
32
</html>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-shapes/shape-outside/shape-image/shape-image-015-expected.html -1 / +1 lines
Lines 26-32 a/LayoutTests/imported/w3c/web-platform-tests/css/css-shapes/shape-outside/shape-image/shape-image-015-expected.html_sec1
26
    </p>
26
    </p>
27
    <div class="container">
27
    <div class="container">
28
        <div class="green"></div>
28
        <div class="green"></div>
29
        <img src="../support/right-half-rectangle.png"/>
29
        <img src="support/right-half-rectangle.png"/>
30
    </div>
30
    </div>
31
</body>
31
</body>
32
</html>
32
</html>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-shapes/shape-outside/shape-image/shape-image-016-expected.html -1 / +1 lines
Lines 26-32 a/LayoutTests/imported/w3c/web-platform-tests/css/css-shapes/shape-outside/shape-image/shape-image-016-expected.html_sec1
26
    </p>
26
    </p>
27
    <div class="container">
27
    <div class="container">
28
        <div class="green"></div>
28
        <div class="green"></div>
29
        <img src="../support/right-half-rectangle.png"/>
29
        <img src="support/right-half-rectangle.png"/>
30
    </div>
30
    </div>
31
</body>
31
</body>
32
</html>
32
</html>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-shapes/shape-outside/shape-image/shape-image-018-expected.html -1 / +1 lines
Lines 22-28 a/LayoutTests/imported/w3c/web-platform-tests/css/css-shapes/shape-outside/shape-image/shape-image-018-expected.html_sec1
22
<body>
22
<body>
23
    <p>The test passes if no red is visible.</p>
23
    <p>The test passes if no red is visible.</p>
24
    <div id="container">
24
    <div id="container">
25
        <img id="image" src="../support/left-half-rectangle.jpg"/>
25
        <img id="image" src="support/left-half-rectangle.jpg"/>
26
        X<br>X<br>X<br>X
26
        X<br>X<br>X<br>X
27
    </div>
27
    </div>
28
</body>
28
</body>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-shapes/shape-outside/shape-image/shape-image-021-expected.html -1 / +1 lines
Lines 25-31 a/LayoutTests/imported/w3c/web-platform-tests/css/css-shapes/shape-outside/shape-image/shape-image-021-expected.html_sec1
25
<body>
25
<body>
26
    <p>The test passes if no red is visible.</p>
26
    <p>The test passes if no red is visible.</p>
27
    <div id="container">
27
    <div id="container">
28
        <img id="image" src="../support/right-half-rectangle.png"/>
28
        <img id="image" src="support/right-half-rectangle.png"/>
29
        X<br>X<br>X<br><span style="padding-left: 70px">X</span>
29
        X<br>X<br>X<br><span style="padding-left: 70px">X</span>
30
    </div>
30
    </div>
31
</body>
31
</body>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-shapes/shape-outside/shape-image/shape-image-022-expected.html -1 / +1 lines
Lines 25-31 a/LayoutTests/imported/w3c/web-platform-tests/css/css-shapes/shape-outside/shape-image/shape-image-022-expected.html_sec1
25
<body>
25
<body>
26
    <p>The test passes if no red is visible.</p>
26
    <p>The test passes if no red is visible.</p>
27
    <div id="container">
27
    <div id="container">
28
        <img id="image" src="../support/right-half-rectangle.gif"/>
28
        <img id="image" src="support/right-half-rectangle.gif"/>
29
        X<br>X<br>X<br><span style="padding-left: 70px">X</span>
29
        X<br>X<br>X<br><span style="padding-left: 70px">X</span>
30
    </div>
30
    </div>
31
</body>
31
</body>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-shapes/shape-outside/shape-image/shape-image-024.html -1 / +1 lines
Lines 20-26 a/LayoutTests/imported/w3c/web-platform-tests/css/css-shapes/shape-outside/shape-image/shape-image-024.html_sec1
20
          font: 100px/1 Ahem;
20
          font: 100px/1 Ahem;
21
        }
21
        }
22
        #test {
22
        #test {
23
            width: 200px;
23
            width: 211px;
24
            color: rgb(0,100,0);
24
            color: rgb(0,100,0);
25
        }
25
        }
26
        #image {
26
        #image {
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-shapes/shape-outside/shape-image/shape-image-026-expected.html -1 / +1 lines
Lines 35-41 a/LayoutTests/imported/w3c/web-platform-tests/css/css-shapes/shape-outside/shape-image/shape-image-026-expected.html_sec1
35
        There should be no red.
35
        There should be no red.
36
    </p>
36
    </p>
37
    <div class="green left-rect">
37
    <div class="green left-rect">
38
        <img src="../support/left-half-rectangle.png">
38
        <img src="support/left-half-rectangle.png">
39
    </div>
39
    </div>
40
    <div class="green right-rect"></div>
40
    <div class="green right-rect"></div>
41
    <div class="blue left-line"></div>
41
    <div class="blue left-line"></div>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-shapes/shape-outside/shape-image/shape-image-027-expected.html -1 / +1 lines
Lines 35-41 a/LayoutTests/imported/w3c/web-platform-tests/css/css-shapes/shape-outside/shape-image/shape-image-027-expected.html_sec1
35
        There should be no red.
35
        There should be no red.
36
    </p>
36
    </p>
37
    <div class="green left-rect">
37
    <div class="green left-rect">
38
        <img src="../support/left-half-rectangle.png">
38
        <img src="support/left-half-rectangle.png">
39
    </div>
39
    </div>
40
    <div class="green right-rect"></div>
40
    <div class="green right-rect"></div>
41
    <div class="blue left-line"></div>
41
    <div class="blue left-line"></div>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-shapes/shape-outside/supported-shapes/circle/shape-outside-circle-030-expected.html -2 / +2 lines
Lines 53-60 a/LayoutTests/imported/w3c/web-platform-tests/css/css-shapes/shape-outside/supported-shapes/circle/shape-outside-circle-030-expected.html_sec1
53
        X
53
        X
54
        </div>
54
        </div>
55
55
56
        <script src="../../support/rounded-rectangle.js"></script>
56
        <script src="../support/rounded-rectangle.js"></script>
57
        <script src="../../support/subpixel-utils.js"></script>
57
        <script src="../support/subpixel-utils.js"></script>
58
        <script>
58
        <script>
59
        genLeftRoundedRectFloatShapeOutsideRefTest({
59
        genLeftRoundedRectFloatShapeOutsideRefTest({
60
            roundedRect: {x: 0, y: 20, width: 160, height: 160, rx: 80, ry: 80},
60
            roundedRect: {x: 0, y: 20, width: 160, height: 160, rx: 80, ry: 80},
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-shapes/shape-outside/supported-shapes/circle/shape-outside-circle-031-expected.html -2 / +2 lines
Lines 53-60 a/LayoutTests/imported/w3c/web-platform-tests/css/css-shapes/shape-outside/supported-shapes/circle/shape-outside-circle-031-expected.html_sec1
53
        X
53
        X
54
        </div>
54
        </div>
55
55
56
        <script src="../../support/rounded-rectangle.js"></script>
56
        <script src="../support/rounded-rectangle.js"></script>
57
        <script src="../../support/subpixel-utils.js"></script>
57
        <script src="../support/subpixel-utils.js"></script>
58
        <script>
58
        <script>
59
        genLeftRoundedRectFloatShapeOutsideRefTest({
59
        genLeftRoundedRectFloatShapeOutsideRefTest({
60
            roundedRect: {x: 0, y: 20, width: 160, height: 160, rx: 80, ry: 80},
60
            roundedRect: {x: 0, y: 20, width: 160, height: 160, rx: 80, ry: 80},
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-shapes/shape-outside/supported-shapes/ellipse/shape-outside-ellipse-030-expected.html -2 / +2 lines
Lines 49-56 a/LayoutTests/imported/w3c/web-platform-tests/css/css-shapes/shape-outside/supported-shapes/ellipse/shape-outside-ellipse-030-expected.html_sec1
49
        X
49
        X
50
        </div>
50
        </div>
51
51
52
        <script src="../../support/rounded-rectangle.js"></script>
52
        <script src="../support/rounded-rectangle.js"></script>
53
        <script src="../../support/subpixel-utils.js"></script>
53
        <script src="../support/subpixel-utils.js"></script>
54
        <script>
54
        <script>
55
        genLeftRoundedRectFloatShapeOutsideRefTest({
55
        genLeftRoundedRectFloatShapeOutsideRefTest({
56
            roundedRect: {x: 0, y: 20, width: 160, height: 80, rx: 80, ry: 40},
56
            roundedRect: {x: 0, y: 20, width: 160, height: 80, rx: 80, ry: 40},
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-shapes/shape-outside/supported-shapes/ellipse/shape-outside-ellipse-031-expected.html -2 / +2 lines
Lines 49-56 a/LayoutTests/imported/w3c/web-platform-tests/css/css-shapes/shape-outside/supported-shapes/ellipse/shape-outside-ellipse-031-expected.html_sec1
49
        X
49
        X
50
        </div>
50
        </div>
51
51
52
        <script src="../../support/rounded-rectangle.js"></script>
52
        <script src="../support/rounded-rectangle.js"></script>
53
        <script src="../../support/subpixel-utils.js"></script>
53
        <script src="../support/subpixel-utils.js"></script>
54
        <script>
54
        <script>
55
        genLeftRoundedRectFloatShapeOutsideRefTest({
55
        genLeftRoundedRectFloatShapeOutsideRefTest({
56
            roundedRect: {x: 0, y: 20, width: 160, height: 80, rx: 80, ry: 40},
56
            roundedRect: {x: 0, y: 20, width: 160, height: 80, rx: 80, ry: 40},
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-shapes/shape-outside/supported-shapes/inset/shape-outside-inset-crash-expected.html -4 lines
Lines 1-4 a/LayoutTests/imported/w3c/web-platform-tests/css/css-shapes/shape-outside/supported-shapes/inset/shape-outside-inset-crash-expected.html_sec1
1
<!DOCTYPE html>
2
<link rel="author" title="Morten Stenshorne" href="mstensho@chromium.org">
3
<p>Test passes if there is a filled green square.</p>
4
<div style="width:100px; height:100px; background:green;"></div>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-shapes/shape-outside/supported-shapes/inset/shape-outside-inset-crash.html -19 lines
Lines 1-19 a/LayoutTests/imported/w3c/web-platform-tests/css/css-shapes/shape-outside/supported-shapes/inset/shape-outside-inset-crash.html_sec1
1
<!DOCTYPE html>
2
<link rel="match" href="../../../../reference/ref-filled-green-100px-square-only.html">
3
<link rel="help" href="https://crbug.com/962135" />
4
<meta name="assert" content="This test passes if the renderer does not crash."/>
5
<p>Test passes if there is a filled green square.</p>
6
<div style="width: 100px; height: 100px; display: flow-root; background: green;">
7
  <div style="width: 20px; height: 20px; float: right;"></div>
8
  <div style="width: 20px; height: 10px; display: inline-block;"></div>
9
  <div style="width: 40px; height: 20px; overflow: hidden;"></div>
10
  <div style="width: 20px; height: 10px; display: inline-block;"></div>
11
  <div style="width: 50px; height: 50px; float: left; shape-outside: inset(20px 0 0 0);"></div>
12
  <div id="target" style="height: 50px; margin: 10px 0;"></div>
13
  <div style="width: 20px; height: 10px; display: inline-block;"></div>
14
</div>
15
<script>
16
document.body.offsetTop;
17
document.getElementById('target').style.height = '10px';
18
document.body.offsetTop;
19
</script>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-shapes/shape-outside/supported-shapes/inset/shape-outside-inset-refcrash-expected.html +4 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-shapes/shape-outside/supported-shapes/inset/shape-outside-inset-refcrash-expected.html_sec1
1
<!DOCTYPE html>
2
<link rel="author" title="Morten Stenshorne" href="mstensho@chromium.org">
3
<p>Test passes if there is a filled green square.</p>
4
<div style="width:100px; height:100px; background:green;"></div>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-shapes/shape-outside/supported-shapes/inset/shape-outside-inset-refcrash.html +19 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-shapes/shape-outside/supported-shapes/inset/shape-outside-inset-refcrash.html_sec1
1
<!DOCTYPE html>
2
<link rel="match" href="../../../../reference/ref-filled-green-100px-square-only.html">
3
<link rel="help" href="https://crbug.com/962135" />
4
<meta name="assert" content="This test passes if the renderer does not crash."/>
5
<p>Test passes if there is a filled green square.</p>
6
<div style="width: 100px; height: 100px; display: flow-root; background: green;">
7
  <div style="width: 20px; height: 20px; float: right;"></div>
8
  <div style="width: 20px; height: 10px; display: inline-block;"></div>
9
  <div style="width: 40px; height: 20px; overflow: hidden;"></div>
10
  <div style="width: 20px; height: 10px; display: inline-block;"></div>
11
  <div style="width: 50px; height: 50px; float: left; shape-outside: inset(20px 0 0 0);"></div>
12
  <div id="target" style="height: 50px; margin: 10px 0;"></div>
13
  <div style="width: 20px; height: 10px; display: inline-block;"></div>
14
</div>
15
<script>
16
document.body.offsetTop;
17
document.getElementById('target').style.height = '10px';
18
document.body.offsetTop;
19
</script>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-shapes/shape-outside/supported-shapes/inset/w3c-import.log -2 / +2 lines
Lines 32-36 List of files: a/LayoutTests/imported/w3c/web-platform-tests/css/css-shapes/shape-outside/supported-shapes/inset/w3c-import.log_sec1
32
/LayoutTests/imported/w3c/web-platform-tests/css/css-shapes/shape-outside/supported-shapes/inset/shape-outside-inset-029.html
32
/LayoutTests/imported/w3c/web-platform-tests/css/css-shapes/shape-outside/supported-shapes/inset/shape-outside-inset-029.html
33
/LayoutTests/imported/w3c/web-platform-tests/css/css-shapes/shape-outside/supported-shapes/inset/shape-outside-inset-030-expected.html
33
/LayoutTests/imported/w3c/web-platform-tests/css/css-shapes/shape-outside/supported-shapes/inset/shape-outside-inset-030-expected.html
34
/LayoutTests/imported/w3c/web-platform-tests/css/css-shapes/shape-outside/supported-shapes/inset/shape-outside-inset-030.html
34
/LayoutTests/imported/w3c/web-platform-tests/css/css-shapes/shape-outside/supported-shapes/inset/shape-outside-inset-030.html
35
/LayoutTests/imported/w3c/web-platform-tests/css/css-shapes/shape-outside/supported-shapes/inset/shape-outside-inset-crash-expected.html
35
/LayoutTests/imported/w3c/web-platform-tests/css/css-shapes/shape-outside/supported-shapes/inset/shape-outside-inset-refcrash-expected.html
36
/LayoutTests/imported/w3c/web-platform-tests/css/css-shapes/shape-outside/supported-shapes/inset/shape-outside-inset-crash.html
36
/LayoutTests/imported/w3c/web-platform-tests/css/css-shapes/shape-outside/supported-shapes/inset/shape-outside-inset-refcrash.html
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-shapes/shape-outside/values/shape-margin-003-expected.txt -4 / +4 lines
Lines 1-16 a/LayoutTests/imported/w3c/web-platform-tests/css/css-shapes/shape-outside/values/shape-margin-003-expected.txt_sec1
1
1
2
FAIL calc(10in) - inline style assert_equals: expected "calc(10in)" but got "calc(960px)"
2
PASS calc(10in) - inline style 
3
PASS calc(10in + 20px) - inline style 
3
PASS calc(10in + 20px) - inline style 
4
PASS calc(30%) - inline style 
4
PASS calc(30%) - inline style 
5
PASS calc(100%/4) - inline style 
5
PASS calc(100%/4) - inline style 
6
PASS calc(25%*3) - inline style 
6
PASS calc(25%*3) - inline style 
7
FAIL calc(25%*3 - 10in) - inline style assert_equals: expected "calc(75% - 10in)" but got "calc(75% - 960px)"
7
PASS calc(25%*3 - 10in) - inline style 
8
FAIL calc((12.5%*6 + 10in) / 4) - inline style assert_equals: expected "calc((75% + 10in) / 4)" but got "calc(0.25 * (75% + 960px))"
8
FAIL calc((12.5%*6 + 10in) / 4) - inline style assert_equals: expected "calc(18.75% + 240px)" but got "calc(0.25 * (75% + 960px))"
9
PASS calc(10in) - computed style 
9
PASS calc(10in) - computed style 
10
PASS calc(10in + 20px) - computed style 
10
PASS calc(10in + 20px) - computed style 
11
PASS calc(30%) - computed style 
11
PASS calc(30%) - computed style 
12
PASS calc(100%/4) - computed style 
12
PASS calc(100%/4) - computed style 
13
PASS calc(25%*3) - computed style 
13
PASS calc(25%*3) - computed style 
14
PASS calc(25%*3 - 10in) - computed style 
14
PASS calc(25%*3 - 10in) - computed style 
15
FAIL calc((12.5%*6 + 10in) / 4) - computed style assert_in_array: value "calc(0.25 * (75% + 960px))" not in array ["calc((75% + 960px) / 4)", "calc(18.75% + 240px)"]
15
FAIL calc((12.5%*6 + 10in) / 4) - computed style assert_equals: expected "calc(18.75% + 240px)" but got "calc(0.25 * (75% + 960px))"
16
16
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-shapes/shape-outside/values/shape-outside-circle-010-expected.txt -4 / +4 lines
Lines 1-16 a/LayoutTests/imported/w3c/web-platform-tests/css/css-shapes/shape-outside/values/shape-outside-circle-010-expected.txt_sec1
1
1
2
FAIL circle(calc(10in)) - inline style assert_equals: expected "circle(calc(10in) at 50% 50%)" but got "circle(calc(960px) at 50% 50%)"
2
PASS circle(calc(10in)) - inline style 
3
PASS circle(calc(10in + 20px)) - inline style 
3
PASS circle(calc(10in + 20px)) - inline style 
4
PASS circle(calc(30%)) - inline style 
4
PASS circle(calc(30%)) - inline style 
5
PASS circle(calc(100%/4)) - inline style 
5
PASS circle(calc(100%/4)) - inline style 
6
PASS circle(calc(25%*3)) - inline style 
6
PASS circle(calc(25%*3)) - inline style 
7
FAIL circle(calc(25%*3 - 10in)) - inline style assert_equals: expected "circle(calc(75% - 10in) at 50% 50%)" but got "circle(calc(75% - 960px) at 50% 50%)"
7
PASS circle(calc(25%*3 - 10in)) - inline style 
8
FAIL circle(calc((12.5%*6 + 10in) / 4)) - inline style assert_equals: expected "circle(calc((75% + 10in) / 4) at 50% 50%)" but got "circle(calc(0.25 * (75% + 960px)) at 50% 50%)"
8
FAIL circle(calc((12.5%*6 + 10in) / 4)) - inline style assert_equals: expected "circle(calc(18.75% + 240px) at 50% 50%)" but got "circle(calc(0.25 * (75% + 960px)) at 50% 50%)"
9
PASS circle(calc(10in)) - computed style 
9
PASS circle(calc(10in)) - computed style 
10
PASS circle(calc(10in + 20px)) - computed style 
10
PASS circle(calc(10in + 20px)) - computed style 
11
PASS circle(calc(30%)) - computed style 
11
PASS circle(calc(30%)) - computed style 
12
PASS circle(calc(100%/4)) - computed style 
12
PASS circle(calc(100%/4)) - computed style 
13
PASS circle(calc(25%*3)) - computed style 
13
PASS circle(calc(25%*3)) - computed style 
14
PASS circle(calc(25%*3 - 10in)) - computed style 
14
PASS circle(calc(25%*3 - 10in)) - computed style 
15
FAIL circle(calc((12.5%*6 + 10in) / 4)) - computed style assert_in_array: value "circle(calc(0.25 * (75% + 960px)) at 50% 50%)" not in array ["circle(calc((75% + 960px) / 4) at 50% 50%)", "circle(calc(18.75% + 240px) at 50% 50%)"]
15
FAIL circle(calc((12.5%*6 + 10in) / 4)) - computed style assert_equals: expected "circle(calc(18.75% + 240px) at 50% 50%)" but got "circle(calc(0.25 * (75% + 960px)) at 50% 50%)"
16
16
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-shapes/shape-outside/values/shape-outside-circle-011-expected.txt -4 / +4 lines
Lines 1-16 a/LayoutTests/imported/w3c/web-platform-tests/css/css-shapes/shape-outside/values/shape-outside-circle-011-expected.txt_sec1
1
1
2
FAIL circle(at calc(10in)) - inline style assert_equals: expected "circle(at calc(10in) 50%)" but got "circle(at calc(960px) 50%)"
2
PASS circle(at calc(10in)) - inline style 
3
PASS circle(at calc(10in + 20px)) - inline style 
3
PASS circle(at calc(10in + 20px)) - inline style 
4
PASS circle(at calc(30%)) - inline style 
4
PASS circle(at calc(30%)) - inline style 
5
PASS circle(at calc(100%/4)) - inline style 
5
PASS circle(at calc(100%/4)) - inline style 
6
PASS circle(at calc(25%*3)) - inline style 
6
PASS circle(at calc(25%*3)) - inline style 
7
FAIL circle(at calc(25%*3 - 10in)) - inline style assert_equals: expected "circle(at calc(75% - 10in) 50%)" but got "circle(at calc(75% - 960px) 50%)"
7
PASS circle(at calc(25%*3 - 10in)) - inline style 
8
FAIL circle(at calc((12.5%*6 + 10in) / 4)) - inline style assert_equals: expected "circle(at calc((75% + 10in) / 4) 50%)" but got "circle(at calc(0.25 * (75% + 960px)) 50%)"
8
FAIL circle(at calc((12.5%*6 + 10in) / 4)) - inline style assert_equals: expected "circle(at calc(18.75% + 240px) 50%)" but got "circle(at calc(0.25 * (75% + 960px)) 50%)"
9
PASS circle(at calc(10in)) - computed style 
9
PASS circle(at calc(10in)) - computed style 
10
PASS circle(at calc(10in + 20px)) - computed style 
10
PASS circle(at calc(10in + 20px)) - computed style 
11
PASS circle(at calc(30%)) - computed style 
11
PASS circle(at calc(30%)) - computed style 
12
PASS circle(at calc(100%/4)) - computed style 
12
PASS circle(at calc(100%/4)) - computed style 
13
PASS circle(at calc(25%*3)) - computed style 
13
PASS circle(at calc(25%*3)) - computed style 
14
PASS circle(at calc(25%*3 - 10in)) - computed style 
14
PASS circle(at calc(25%*3 - 10in)) - computed style 
15
FAIL circle(at calc((12.5%*6 + 10in) / 4)) - computed style assert_in_array: value "circle(at calc(0.25 * (75% + 960px)) 50%)" not in array ["circle(at calc((75% + 960px) / 4) 50%)", "circle(at calc(18.75% + 240px) 50%)"]
15
FAIL circle(at calc((12.5%*6 + 10in) / 4)) - computed style assert_equals: expected "circle(at calc(18.75% + 240px) 50%)" but got "circle(at calc(0.25 * (75% + 960px)) 50%)"
16
16
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-shapes/shape-outside/values/shape-outside-ellipse-010-expected.txt -8 / +8 lines
Lines 1-30 a/LayoutTests/imported/w3c/web-platform-tests/css/css-shapes/shape-outside/values/shape-outside-ellipse-010-expected.txt_sec1
1
1
2
FAIL ellipse(farthest-side calc(10in)) - inline style assert_equals: expected "ellipse(farthest-side calc(10in) at 50% 50%)" but got "ellipse(farthest-side calc(960px) at 50% 50%)"
2
PASS ellipse(farthest-side calc(10in)) - inline style 
3
PASS ellipse(farthest-side calc(10in + 20px)) - inline style 
3
PASS ellipse(farthest-side calc(10in + 20px)) - inline style 
4
PASS ellipse(farthest-side calc(30%)) - inline style 
4
PASS ellipse(farthest-side calc(30%)) - inline style 
5
PASS ellipse(farthest-side calc(100%/4)) - inline style 
5
PASS ellipse(farthest-side calc(100%/4)) - inline style 
6
PASS ellipse(farthest-side calc(25%*3)) - inline style 
6
PASS ellipse(farthest-side calc(25%*3)) - inline style 
7
FAIL ellipse(farthest-side calc(25%*3 - 10in)) - inline style assert_equals: expected "ellipse(farthest-side calc(75% - 10in) at 50% 50%)" but got "ellipse(farthest-side calc(75% - 960px) at 50% 50%)"
7
PASS ellipse(farthest-side calc(25%*3 - 10in)) - inline style 
8
FAIL ellipse(farthest-side calc((12.5%*6 + 10in) / 4)) - inline style assert_equals: expected "ellipse(farthest-side calc((75% + 10in) / 4) at 50% 50%)" but got "ellipse(farthest-side calc(0.25 * (75% + 960px)) at 50% 50%)"
8
FAIL ellipse(farthest-side calc((12.5%*6 + 10in) / 4)) - inline style assert_equals: expected "ellipse(farthest-side calc(18.75% + 240px) at 50% 50%)" but got "ellipse(farthest-side calc(0.25 * (75% + 960px)) at 50% 50%)"
9
FAIL ellipse(calc(10in) calc(10in)) - inline style assert_equals: expected "ellipse(calc(10in) calc(10in) at 50% 50%)" but got "ellipse(calc(960px) calc(960px) at 50% 50%)"
9
PASS ellipse(calc(10in) calc(10in)) - inline style 
10
PASS ellipse(calc(10in + 20px) calc(10in + 20px)) - inline style 
10
PASS ellipse(calc(10in + 20px) calc(10in + 20px)) - inline style 
11
PASS ellipse(calc(30%) calc(30%)) - inline style 
11
PASS ellipse(calc(30%) calc(30%)) - inline style 
12
PASS ellipse(calc(100%/4) calc(100%/4)) - inline style 
12
PASS ellipse(calc(100%/4) calc(100%/4)) - inline style 
13
PASS ellipse(calc(25%*3) calc(25%*3)) - inline style 
13
PASS ellipse(calc(25%*3) calc(25%*3)) - inline style 
14
FAIL ellipse(calc(25%*3 - 10in) calc(25%*3 - 10in)) - inline style assert_equals: expected "ellipse(calc(75% - 10in) calc(75% - 10in) at 50% 50%)" but got "ellipse(calc(75% - 960px) calc(75% - 960px) at 50% 50%)"
14
PASS ellipse(calc(25%*3 - 10in) calc(25%*3 - 10in)) - inline style 
15
FAIL ellipse(calc((12.5%*6 + 10in) / 4) calc((12.5%*6 + 10in) / 4)) - inline style assert_equals: expected "ellipse(calc((75% + 10in) / 4) calc((75% + 10in) / 4) at 50% 50%)" but got "ellipse(calc(0.25 * (75% + 960px)) calc(0.25 * (75% + 960px)) at 50% 50%)"
15
FAIL ellipse(calc((12.5%*6 + 10in) / 4) calc((12.5%*6 + 10in) / 4)) - inline style assert_equals: expected "ellipse(calc(18.75% + 240px) calc(18.75% + 240px) at 50% 50%)" but got "ellipse(calc(0.25 * (75% + 960px)) calc(0.25 * (75% + 960px)) at 50% 50%)"
16
PASS ellipse(farthest-side calc(10in)) - computed style 
16
PASS ellipse(farthest-side calc(10in)) - computed style 
17
PASS ellipse(farthest-side calc(10in + 20px)) - computed style 
17
PASS ellipse(farthest-side calc(10in + 20px)) - computed style 
18
PASS ellipse(farthest-side calc(30%)) - computed style 
18
PASS ellipse(farthest-side calc(30%)) - computed style 
19
PASS ellipse(farthest-side calc(100%/4)) - computed style 
19
PASS ellipse(farthest-side calc(100%/4)) - computed style 
20
PASS ellipse(farthest-side calc(25%*3)) - computed style 
20
PASS ellipse(farthest-side calc(25%*3)) - computed style 
21
PASS ellipse(farthest-side calc(25%*3 - 10in)) - computed style 
21
PASS ellipse(farthest-side calc(25%*3 - 10in)) - computed style 
22
FAIL ellipse(farthest-side calc((12.5%*6 + 10in) / 4)) - computed style assert_in_array: value "ellipse(farthest-side calc(0.25 * (75% + 960px)) at 50% 50%)" not in array ["ellipse(farthest-side calc((75% + 960px) / 4) at 50% 50%)", "ellipse(farthest-side calc(18.75% + 240px) at 50% 50%)"]
22
FAIL ellipse(farthest-side calc((12.5%*6 + 10in) / 4)) - computed style assert_equals: expected "ellipse(farthest-side calc(18.75% + 240px) at 50% 50%)" but got "ellipse(farthest-side calc(0.25 * (75% + 960px)) at 50% 50%)"
23
PASS ellipse(calc(10in) calc(10in)) - computed style 
23
PASS ellipse(calc(10in) calc(10in)) - computed style 
24
PASS ellipse(calc(10in + 20px) calc(10in + 20px)) - computed style 
24
PASS ellipse(calc(10in + 20px) calc(10in + 20px)) - computed style 
25
PASS ellipse(calc(30%) calc(30%)) - computed style 
25
PASS ellipse(calc(30%) calc(30%)) - computed style 
26
PASS ellipse(calc(100%/4) calc(100%/4)) - computed style 
26
PASS ellipse(calc(100%/4) calc(100%/4)) - computed style 
27
PASS ellipse(calc(25%*3) calc(25%*3)) - computed style 
27
PASS ellipse(calc(25%*3) calc(25%*3)) - computed style 
28
PASS ellipse(calc(25%*3 - 10in) calc(25%*3 - 10in)) - computed style 
28
PASS ellipse(calc(25%*3 - 10in) calc(25%*3 - 10in)) - computed style 
29
FAIL ellipse(calc((12.5%*6 + 10in) / 4) calc((12.5%*6 + 10in) / 4)) - computed style assert_in_array: value "ellipse(calc(0.25 * (75% + 960px)) calc(0.25 * (75% + 960px)) at 50% 50%)" not in array ["ellipse(calc((75% + 960px) / 4) calc((75% + 960px) / 4) at 50% 50%)", "ellipse(calc(18.75% + 240px) calc(18.75% + 240px) at 50% 50%)"]
29
FAIL ellipse(calc((12.5%*6 + 10in) / 4) calc((12.5%*6 + 10in) / 4)) - computed style assert_equals: expected "ellipse(calc(18.75% + 240px) calc(18.75% + 240px) at 50% 50%)" but got "ellipse(calc(0.25 * (75% + 960px)) calc(0.25 * (75% + 960px)) at 50% 50%)"
30
30
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-shapes/shape-outside/values/shape-outside-ellipse-011-expected.txt -8 / +8 lines
Lines 1-30 a/LayoutTests/imported/w3c/web-platform-tests/css/css-shapes/shape-outside/values/shape-outside-ellipse-011-expected.txt_sec1
1
1
2
FAIL ellipse(at calc(10in) 50%) - inline style assert_equals: expected "ellipse(at calc(10in) 50%)" but got "ellipse(at calc(960px) 50%)"
2
PASS ellipse(at calc(10in) 50%) - inline style 
3
PASS ellipse(at calc(10in + 20px) 50%) - inline style 
3
PASS ellipse(at calc(10in + 20px) 50%) - inline style 
4
PASS ellipse(at calc(30%) 50%) - inline style 
4
PASS ellipse(at calc(30%) 50%) - inline style 
5
PASS ellipse(at calc(100%/4) 50%) - inline style 
5
PASS ellipse(at calc(100%/4) 50%) - inline style 
6
PASS ellipse(at calc(25%*3) 50%) - inline style 
6
PASS ellipse(at calc(25%*3) 50%) - inline style 
7
FAIL ellipse(at calc(25%*3 - 10in) 50%) - inline style assert_equals: expected "ellipse(at calc(75% - 10in) 50%)" but got "ellipse(at calc(75% - 960px) 50%)"
7
PASS ellipse(at calc(25%*3 - 10in) 50%) - inline style 
8
FAIL ellipse(at calc((12.5%*6 + 10in) / 4) 50%) - inline style assert_equals: expected "ellipse(at calc((75% + 10in) / 4) 50%)" but got "ellipse(at calc(0.25 * (75% + 960px)) 50%)"
8
FAIL ellipse(at calc((12.5%*6 + 10in) / 4) 50%) - inline style assert_equals: expected "ellipse(at calc(18.75% + 240px) 50%)" but got "ellipse(at calc(0.25 * (75% + 960px)) 50%)"
9
FAIL ellipse(closest-side farthest-side at calc(10in) calc(10in)) - inline style assert_equals: expected "ellipse(closest-side farthest-side at calc(10in) calc(10in))" but got "ellipse(closest-side farthest-side at calc(960px) calc(960px))"
9
PASS ellipse(closest-side farthest-side at calc(10in) calc(10in)) - inline style 
10
PASS ellipse(closest-side farthest-side at calc(10in + 20px) calc(10in + 20px)) - inline style 
10
PASS ellipse(closest-side farthest-side at calc(10in + 20px) calc(10in + 20px)) - inline style 
11
PASS ellipse(closest-side farthest-side at calc(30%) calc(30%)) - inline style 
11
PASS ellipse(closest-side farthest-side at calc(30%) calc(30%)) - inline style 
12
PASS ellipse(closest-side farthest-side at calc(100%/4) calc(100%/4)) - inline style 
12
PASS ellipse(closest-side farthest-side at calc(100%/4) calc(100%/4)) - inline style 
13
PASS ellipse(closest-side farthest-side at calc(25%*3) calc(25%*3)) - inline style 
13
PASS ellipse(closest-side farthest-side at calc(25%*3) calc(25%*3)) - inline style 
14
FAIL ellipse(closest-side farthest-side at calc(25%*3 - 10in) calc(25%*3 - 10in)) - inline style assert_equals: expected "ellipse(closest-side farthest-side at calc(75% - 10in) calc(75% - 10in))" but got "ellipse(closest-side farthest-side at calc(75% - 960px) calc(75% - 960px))"
14
PASS ellipse(closest-side farthest-side at calc(25%*3 - 10in) calc(25%*3 - 10in)) - inline style 
15
FAIL ellipse(closest-side farthest-side at calc((12.5%*6 + 10in) / 4) calc((12.5%*6 + 10in) / 4)) - inline style assert_equals: expected "ellipse(closest-side farthest-side at calc((75% + 10in) / 4) calc((75% + 10in) / 4))" but got "ellipse(closest-side farthest-side at calc(0.25 * (75% + 960px)) calc(0.25 * (75% + 960px)))"
15
FAIL ellipse(closest-side farthest-side at calc((12.5%*6 + 10in) / 4) calc((12.5%*6 + 10in) / 4)) - inline style assert_equals: expected "ellipse(closest-side farthest-side at calc(18.75% + 240px) calc(18.75% + 240px))" but got "ellipse(closest-side farthest-side at calc(0.25 * (75% + 960px)) calc(0.25 * (75% + 960px)))"
16
PASS ellipse(at calc(10in) 50%) - computed style 
16
PASS ellipse(at calc(10in) 50%) - computed style 
17
PASS ellipse(at calc(10in + 20px) 50%) - computed style 
17
PASS ellipse(at calc(10in + 20px) 50%) - computed style 
18
PASS ellipse(at calc(30%) 50%) - computed style 
18
PASS ellipse(at calc(30%) 50%) - computed style 
19
PASS ellipse(at calc(100%/4) 50%) - computed style 
19
PASS ellipse(at calc(100%/4) 50%) - computed style 
20
PASS ellipse(at calc(25%*3) 50%) - computed style 
20
PASS ellipse(at calc(25%*3) 50%) - computed style 
21
PASS ellipse(at calc(25%*3 - 10in) 50%) - computed style 
21
PASS ellipse(at calc(25%*3 - 10in) 50%) - computed style 
22
FAIL ellipse(at calc((12.5%*6 + 10in) / 4) 50%) - computed style assert_in_array: value "ellipse(at calc(0.25 * (75% + 960px)) 50%)" not in array ["ellipse(at calc((75% + 960px) / 4) 50%)", "ellipse(at calc(18.75% + 240px) 50%)"]
22
FAIL ellipse(at calc((12.5%*6 + 10in) / 4) 50%) - computed style assert_equals: expected "ellipse(at calc(18.75% + 240px) 50%)" but got "ellipse(at calc(0.25 * (75% + 960px)) 50%)"
23
PASS ellipse(closest-side farthest-side at calc(10in) calc(10in)) - computed style 
23
PASS ellipse(closest-side farthest-side at calc(10in) calc(10in)) - computed style 
24
PASS ellipse(closest-side farthest-side at calc(10in + 20px) calc(10in + 20px)) - computed style 
24
PASS ellipse(closest-side farthest-side at calc(10in + 20px) calc(10in + 20px)) - computed style 
25
PASS ellipse(closest-side farthest-side at calc(30%) calc(30%)) - computed style 
25
PASS ellipse(closest-side farthest-side at calc(30%) calc(30%)) - computed style 
26
PASS ellipse(closest-side farthest-side at calc(100%/4) calc(100%/4)) - computed style 
26
PASS ellipse(closest-side farthest-side at calc(100%/4) calc(100%/4)) - computed style 
27
PASS ellipse(closest-side farthest-side at calc(25%*3) calc(25%*3)) - computed style 
27
PASS ellipse(closest-side farthest-side at calc(25%*3) calc(25%*3)) - computed style 
28
PASS ellipse(closest-side farthest-side at calc(25%*3 - 10in) calc(25%*3 - 10in)) - computed style 
28
PASS ellipse(closest-side farthest-side at calc(25%*3 - 10in) calc(25%*3 - 10in)) - computed style 
29
FAIL ellipse(closest-side farthest-side at calc((12.5%*6 + 10in) / 4) calc((12.5%*6 + 10in) / 4)) - computed style assert_in_array: value "ellipse(closest-side farthest-side at calc(0.25 * (75% + 960px)) calc(0.25 * (75% + 960px)))" not in array ["ellipse(closest-side farthest-side at calc((75% + 960px) / 4) calc((75% + 960px) / 4))", "ellipse(closest-side farthest-side at calc(18.75% + 240px) calc(18.75% + 240px))"]
29
FAIL ellipse(closest-side farthest-side at calc((12.5%*6 + 10in) / 4) calc((12.5%*6 + 10in) / 4)) - computed style assert_equals: expected "ellipse(closest-side farthest-side at calc(18.75% + 240px) calc(18.75% + 240px))" but got "ellipse(closest-side farthest-side at calc(0.25 * (75% + 960px)) calc(0.25 * (75% + 960px)))"
30
30
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-shapes/shape-outside/values/shape-outside-inset-008-expected.txt -8 / +8 lines
Lines 1-30 a/LayoutTests/imported/w3c/web-platform-tests/css/css-shapes/shape-outside/values/shape-outside-inset-008-expected.txt_sec1
1
1
2
FAIL inset(calc(10in)) - inline style assert_equals: expected "inset(calc(10in))" but got "inset(calc(960px))"
2
PASS inset(calc(10in)) - inline style 
3
PASS inset(calc(10in + 20px)) - inline style 
3
PASS inset(calc(10in + 20px)) - inline style 
4
PASS inset(calc(30%)) - inline style 
4
PASS inset(calc(30%)) - inline style 
5
PASS inset(calc(100%/4)) - inline style 
5
PASS inset(calc(100%/4)) - inline style 
6
PASS inset(calc(25%*3)) - inline style 
6
PASS inset(calc(25%*3)) - inline style 
7
FAIL inset(calc(25%*3 - 10in)) - inline style assert_equals: expected "inset(calc(75% - 10in))" but got "inset(calc(75% - 960px))"
7
PASS inset(calc(25%*3 - 10in)) - inline style 
8
FAIL inset(calc((12.5%*6 + 10in) / 4)) - inline style assert_equals: expected "inset(calc((75% + 10in) / 4))" but got "inset(calc(0.25 * (75% + 960px)))"
8
FAIL inset(calc((12.5%*6 + 10in) / 4)) - inline style assert_equals: expected "inset(calc(18.75% + 240px))" but got "inset(calc(0.25 * (75% + 960px)))"
9
FAIL inset(calc(10in) calc(10in)) - inline style assert_equals: expected "inset(calc(10in))" but got "inset(calc(960px))"
9
PASS inset(calc(10in) calc(10in)) - inline style 
10
PASS inset(calc(10in + 20px) calc(10in + 20px)) - inline style 
10
PASS inset(calc(10in + 20px) calc(10in + 20px)) - inline style 
11
PASS inset(calc(30%) calc(30%)) - inline style 
11
PASS inset(calc(30%) calc(30%)) - inline style 
12
PASS inset(calc(100%/4) calc(100%/4)) - inline style 
12
PASS inset(calc(100%/4) calc(100%/4)) - inline style 
13
PASS inset(calc(25%*3) calc(25%*3)) - inline style 
13
PASS inset(calc(25%*3) calc(25%*3)) - inline style 
14
FAIL inset(calc(25%*3 - 10in) calc(25%*3 - 10in)) - inline style assert_equals: expected "inset(calc(75% - 10in))" but got "inset(calc(75% - 960px))"
14
PASS inset(calc(25%*3 - 10in) calc(25%*3 - 10in)) - inline style 
15
FAIL inset(calc((12.5%*6 + 10in) / 4) calc((12.5%*6 + 10in) / 4)) - inline style assert_equals: expected "inset(calc((75% + 10in) / 4))" but got "inset(calc(0.25 * (75% + 960px)))"
15
FAIL inset(calc((12.5%*6 + 10in) / 4) calc((12.5%*6 + 10in) / 4)) - inline style assert_equals: expected "inset(calc(18.75% + 240px))" but got "inset(calc(0.25 * (75% + 960px)))"
16
PASS inset(calc(10in)) - computed style 
16
PASS inset(calc(10in)) - computed style 
17
PASS inset(calc(10in + 20px)) - computed style 
17
PASS inset(calc(10in + 20px)) - computed style 
18
PASS inset(calc(30%)) - computed style 
18
PASS inset(calc(30%)) - computed style 
19
PASS inset(calc(100%/4)) - computed style 
19
PASS inset(calc(100%/4)) - computed style 
20
PASS inset(calc(25%*3)) - computed style 
20
PASS inset(calc(25%*3)) - computed style 
21
PASS inset(calc(25%*3 - 10in)) - computed style 
21
PASS inset(calc(25%*3 - 10in)) - computed style 
22
FAIL inset(calc((12.5%*6 + 10in) / 4)) - computed style assert_in_array: value "inset(calc(0.25 * (75% + 960px)))" not in array ["inset(calc((75% + 960px) / 4))", "inset(calc(18.75% + 240px))"]
22
FAIL inset(calc((12.5%*6 + 10in) / 4)) - computed style assert_equals: expected "inset(calc(18.75% + 240px))" but got "inset(calc(0.25 * (75% + 960px)))"
23
PASS inset(calc(10in) calc(10in)) - computed style 
23
PASS inset(calc(10in) calc(10in)) - computed style 
24
PASS inset(calc(10in + 20px) calc(10in + 20px)) - computed style 
24
PASS inset(calc(10in + 20px) calc(10in + 20px)) - computed style 
25
PASS inset(calc(30%) calc(30%)) - computed style 
25
PASS inset(calc(30%) calc(30%)) - computed style 
26
PASS inset(calc(100%/4) calc(100%/4)) - computed style 
26
PASS inset(calc(100%/4) calc(100%/4)) - computed style 
27
PASS inset(calc(25%*3) calc(25%*3)) - computed style 
27
PASS inset(calc(25%*3) calc(25%*3)) - computed style 
28
PASS inset(calc(25%*3 - 10in) calc(25%*3 - 10in)) - computed style 
28
PASS inset(calc(25%*3 - 10in) calc(25%*3 - 10in)) - computed style 
29
FAIL inset(calc((12.5%*6 + 10in) / 4) calc((12.5%*6 + 10in) / 4)) - computed style assert_in_array: value "inset(calc(0.25 * (75% + 960px)))" not in array ["inset(calc((75% + 960px) / 4))", "inset(calc(18.75% + 240px))"]
29
FAIL inset(calc((12.5%*6 + 10in) / 4) calc((12.5%*6 + 10in) / 4)) - computed style assert_equals: expected "inset(calc(18.75% + 240px))" but got "inset(calc(0.25 * (75% + 960px)))"
30
30
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-shapes/shape-outside/values/shape-outside-inset-009-expected.txt -8 / +8 lines
Lines 1-30 a/LayoutTests/imported/w3c/web-platform-tests/css/css-shapes/shape-outside/values/shape-outside-inset-009-expected.txt_sec1
1
1
2
FAIL inset(10px 10px 10px 10px round calc(10in)) - inline style assert_equals: expected "inset(10px round calc(10in))" but got "inset(10px round calc(960px))"
2
PASS inset(10px 10px 10px 10px round calc(10in)) - inline style 
3
PASS inset(10px 10px 10px 10px round calc(10in + 20px)) - inline style 
3
PASS inset(10px 10px 10px 10px round calc(10in + 20px)) - inline style 
4
PASS inset(10px 10px 10px 10px round calc(30%)) - inline style 
4
PASS inset(10px 10px 10px 10px round calc(30%)) - inline style 
5
PASS inset(10px 10px 10px 10px round calc(100%/4)) - inline style 
5
PASS inset(10px 10px 10px 10px round calc(100%/4)) - inline style 
6
PASS inset(10px 10px 10px 10px round calc(25%*3)) - inline style 
6
PASS inset(10px 10px 10px 10px round calc(25%*3)) - inline style 
7
FAIL inset(10px 10px 10px 10px round calc(25%*3 - 10in)) - inline style assert_equals: expected "inset(10px round calc(75% - 10in))" but got "inset(10px round calc(75% - 960px))"
7
PASS inset(10px 10px 10px 10px round calc(25%*3 - 10in)) - inline style 
8
FAIL inset(10px 10px 10px 10px round calc((12.5%*6 + 10in) / 4)) - inline style assert_equals: expected "inset(10px round calc((75% + 10in) / 4))" but got "inset(10px round calc(0.25 * (75% + 960px)))"
8
FAIL inset(10px 10px 10px 10px round calc((12.5%*6 + 10in) / 4)) - inline style assert_equals: expected "inset(10px round calc(18.75% + 240px))" but got "inset(10px round calc(0.25 * (75% + 960px)))"
9
FAIL inset(10px 10px 10px 10px round calc(10in) calc(10in)) - inline style assert_equals: expected "inset(10px round calc(10in))" but got "inset(10px round calc(960px))"
9
PASS inset(10px 10px 10px 10px round calc(10in) calc(10in)) - inline style 
10
PASS inset(10px 10px 10px 10px round calc(10in + 20px) calc(10in + 20px)) - inline style 
10
PASS inset(10px 10px 10px 10px round calc(10in + 20px) calc(10in + 20px)) - inline style 
11
PASS inset(10px 10px 10px 10px round calc(30%) calc(30%)) - inline style 
11
PASS inset(10px 10px 10px 10px round calc(30%) calc(30%)) - inline style 
12
PASS inset(10px 10px 10px 10px round calc(100%/4) calc(100%/4)) - inline style 
12
PASS inset(10px 10px 10px 10px round calc(100%/4) calc(100%/4)) - inline style 
13
PASS inset(10px 10px 10px 10px round calc(25%*3) calc(25%*3)) - inline style 
13
PASS inset(10px 10px 10px 10px round calc(25%*3) calc(25%*3)) - inline style 
14
FAIL inset(10px 10px 10px 10px round calc(25%*3 - 10in) calc(25%*3 - 10in)) - inline style assert_equals: expected "inset(10px round calc(75% - 10in))" but got "inset(10px round calc(75% - 960px))"
14
PASS inset(10px 10px 10px 10px round calc(25%*3 - 10in) calc(25%*3 - 10in)) - inline style 
15
FAIL inset(10px 10px 10px 10px round calc((12.5%*6 + 10in) / 4) calc((12.5%*6 + 10in) / 4)) - inline style assert_equals: expected "inset(10px round calc((75% + 10in) / 4))" but got "inset(10px round calc(0.25 * (75% + 960px)))"
15
FAIL inset(10px 10px 10px 10px round calc((12.5%*6 + 10in) / 4) calc((12.5%*6 + 10in) / 4)) - inline style assert_equals: expected "inset(10px round calc(18.75% + 240px))" but got "inset(10px round calc(0.25 * (75% + 960px)))"
16
PASS inset(10px 10px 10px 10px round calc(10in)) - computed style 
16
PASS inset(10px 10px 10px 10px round calc(10in)) - computed style 
17
PASS inset(10px 10px 10px 10px round calc(10in + 20px)) - computed style 
17
PASS inset(10px 10px 10px 10px round calc(10in + 20px)) - computed style 
18
PASS inset(10px 10px 10px 10px round calc(30%)) - computed style 
18
PASS inset(10px 10px 10px 10px round calc(30%)) - computed style 
19
PASS inset(10px 10px 10px 10px round calc(100%/4)) - computed style 
19
PASS inset(10px 10px 10px 10px round calc(100%/4)) - computed style 
20
PASS inset(10px 10px 10px 10px round calc(25%*3)) - computed style 
20
PASS inset(10px 10px 10px 10px round calc(25%*3)) - computed style 
21
PASS inset(10px 10px 10px 10px round calc(25%*3 - 10in)) - computed style 
21
PASS inset(10px 10px 10px 10px round calc(25%*3 - 10in)) - computed style 
22
FAIL inset(10px 10px 10px 10px round calc((12.5%*6 + 10in) / 4)) - computed style assert_in_array: value "inset(10px round calc(0.25 * (75% + 960px)))" not in array ["inset(10px round calc((75% + 960px) / 4))", "inset(10px round calc(18.75% + 240px))"]
22
FAIL inset(10px 10px 10px 10px round calc((12.5%*6 + 10in) / 4)) - computed style assert_equals: expected "inset(10px round calc(18.75% + 240px))" but got "inset(10px round calc(0.25 * (75% + 960px)))"
23
PASS inset(10px 10px 10px 10px round calc(10in) calc(10in)) - computed style 
23
PASS inset(10px 10px 10px 10px round calc(10in) calc(10in)) - computed style 
24
PASS inset(10px 10px 10px 10px round calc(10in + 20px) calc(10in + 20px)) - computed style 
24
PASS inset(10px 10px 10px 10px round calc(10in + 20px) calc(10in + 20px)) - computed style 
25
PASS inset(10px 10px 10px 10px round calc(30%) calc(30%)) - computed style 
25
PASS inset(10px 10px 10px 10px round calc(30%) calc(30%)) - computed style 
26
PASS inset(10px 10px 10px 10px round calc(100%/4) calc(100%/4)) - computed style 
26
PASS inset(10px 10px 10px 10px round calc(100%/4) calc(100%/4)) - computed style 
27
PASS inset(10px 10px 10px 10px round calc(25%*3) calc(25%*3)) - computed style 
27
PASS inset(10px 10px 10px 10px round calc(25%*3) calc(25%*3)) - computed style 
28
PASS inset(10px 10px 10px 10px round calc(25%*3 - 10in) calc(25%*3 - 10in)) - computed style 
28
PASS inset(10px 10px 10px 10px round calc(25%*3 - 10in) calc(25%*3 - 10in)) - computed style 
29
FAIL inset(10px 10px 10px 10px round calc((12.5%*6 + 10in) / 4) calc((12.5%*6 + 10in) / 4)) - computed style assert_in_array: value "inset(10px round calc(0.25 * (75% + 960px)))" not in array ["inset(10px round calc((75% + 960px) / 4))", "inset(10px round calc(18.75% + 240px))"]
29
FAIL inset(10px 10px 10px 10px round calc((12.5%*6 + 10in) / 4) calc((12.5%*6 + 10in) / 4)) - computed style assert_equals: expected "inset(10px round calc(18.75% + 240px))" but got "inset(10px round calc(0.25 * (75% + 960px)))"
30
30
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-shapes/shape-outside/values/shape-outside-polygon-006-expected.txt -8 / +8 lines
Lines 1-30 a/LayoutTests/imported/w3c/web-platform-tests/css/css-shapes/shape-outside/values/shape-outside-polygon-006-expected.txt_sec1
1
1
2
FAIL polygon(calc(10in) calc(10in)) - inline style assert_equals: expected "polygon(calc(10in) calc(10in))" but got "polygon(calc(960px) calc(960px))"
2
PASS polygon(calc(10in) calc(10in)) - inline style 
3
PASS polygon(calc(10in + 20px) calc(10in + 20px)) - inline style 
3
PASS polygon(calc(10in + 20px) calc(10in + 20px)) - inline style 
4
PASS polygon(calc(30%) calc(30%)) - inline style 
4
PASS polygon(calc(30%) calc(30%)) - inline style 
5
PASS polygon(calc(100%/4) calc(100%/4)) - inline style 
5
PASS polygon(calc(100%/4) calc(100%/4)) - inline style 
6
PASS polygon(calc(25%*3) calc(25%*3)) - inline style 
6
PASS polygon(calc(25%*3) calc(25%*3)) - inline style 
7
FAIL polygon(calc(25%*3 - 10in) calc(25%*3 - 10in)) - inline style assert_equals: expected "polygon(calc(75% - 10in) calc(75% - 10in))" but got "polygon(calc(75% - 960px) calc(75% - 960px))"
7
PASS polygon(calc(25%*3 - 10in) calc(25%*3 - 10in)) - inline style 
8
FAIL polygon(calc((12.5%*6 + 10in) / 4) calc((12.5%*6 + 10in) / 4)) - inline style assert_equals: expected "polygon(calc((75% + 10in) / 4) calc((75% + 10in) / 4))" but got "polygon(calc(0.25 * (75% + 960px)) calc(0.25 * (75% + 960px)))"
8
FAIL polygon(calc((12.5%*6 + 10in) / 4) calc((12.5%*6 + 10in) / 4)) - inline style assert_equals: expected "polygon(calc(18.75% + 240px) calc(18.75% + 240px))" but got "polygon(calc(0.25 * (75% + 960px)) calc(0.25 * (75% + 960px)))"
9
FAIL polygon(evenodd, calc(10in) calc(10in), calc(10in) calc(10in)) - inline style assert_equals: expected "polygon(evenodd, calc(10in) calc(10in), calc(10in) calc(10in))" but got "polygon(evenodd, calc(960px) calc(960px), calc(960px) calc(960px))"
9
PASS polygon(evenodd, calc(10in) calc(10in), calc(10in) calc(10in)) - inline style 
10
PASS polygon(evenodd, calc(10in + 20px) calc(10in + 20px), calc(10in + 20px) calc(10in + 20px)) - inline style 
10
PASS polygon(evenodd, calc(10in + 20px) calc(10in + 20px), calc(10in + 20px) calc(10in + 20px)) - inline style 
11
PASS polygon(evenodd, calc(30%) calc(30%), calc(30%) calc(30%)) - inline style 
11
PASS polygon(evenodd, calc(30%) calc(30%), calc(30%) calc(30%)) - inline style 
12
PASS polygon(evenodd, calc(100%/4) calc(100%/4), calc(100%/4) calc(100%/4)) - inline style 
12
PASS polygon(evenodd, calc(100%/4) calc(100%/4), calc(100%/4) calc(100%/4)) - inline style 
13
PASS polygon(evenodd, calc(25%*3) calc(25%*3), calc(25%*3) calc(25%*3)) - inline style 
13
PASS polygon(evenodd, calc(25%*3) calc(25%*3), calc(25%*3) calc(25%*3)) - inline style 
14
FAIL polygon(evenodd, calc(25%*3 - 10in) calc(25%*3 - 10in), calc(25%*3 - 10in) calc(25%*3 - 10in)) - inline style assert_equals: expected "polygon(evenodd, calc(75% - 10in) calc(75% - 10in), calc(75% - 10in) calc(75% - 10in))" but got "polygon(evenodd, calc(75% - 960px) calc(75% - 960px), calc(75% - 960px) calc(75% - 960px))"
14
PASS polygon(evenodd, calc(25%*3 - 10in) calc(25%*3 - 10in), calc(25%*3 - 10in) calc(25%*3 - 10in)) - inline style 
15
FAIL polygon(evenodd, calc((12.5%*6 + 10in) / 4) calc((12.5%*6 + 10in) / 4), calc((12.5%*6 + 10in) / 4) calc((12.5%*6 + 10in) / 4)) - inline style assert_equals: expected "polygon(evenodd, calc((75% + 10in) / 4) calc((75% + 10in) / 4), calc((75% + 10in) / 4) calc((75% + 10in) / 4))" but got "polygon(evenodd, calc(0.25 * (75% + 960px)) calc(0.25 * (75% + 960px)), calc(0.25 * (75% + 960px)) calc(0.25 * (75% + 960px)))"
15
FAIL polygon(evenodd, calc((12.5%*6 + 10in) / 4) calc((12.5%*6 + 10in) / 4), calc((12.5%*6 + 10in) / 4) calc((12.5%*6 + 10in) / 4)) - inline style assert_equals: expected "polygon(evenodd, calc(18.75% + 240px) calc(18.75% + 240px), calc(18.75% + 240px) calc(18.75% + 240px))" but got "polygon(evenodd, calc(0.25 * (75% + 960px)) calc(0.25 * (75% + 960px)), calc(0.25 * (75% + 960px)) calc(0.25 * (75% + 960px)))"
16
PASS polygon(calc(10in) calc(10in)) - computed style 
16
PASS polygon(calc(10in) calc(10in)) - computed style 
17
PASS polygon(calc(10in + 20px) calc(10in + 20px)) - computed style 
17
PASS polygon(calc(10in + 20px) calc(10in + 20px)) - computed style 
18
PASS polygon(calc(30%) calc(30%)) - computed style 
18
PASS polygon(calc(30%) calc(30%)) - computed style 
19
PASS polygon(calc(100%/4) calc(100%/4)) - computed style 
19
PASS polygon(calc(100%/4) calc(100%/4)) - computed style 
20
PASS polygon(calc(25%*3) calc(25%*3)) - computed style 
20
PASS polygon(calc(25%*3) calc(25%*3)) - computed style 
21
PASS polygon(calc(25%*3 - 10in) calc(25%*3 - 10in)) - computed style 
21
PASS polygon(calc(25%*3 - 10in) calc(25%*3 - 10in)) - computed style 
22
FAIL polygon(calc((12.5%*6 + 10in) / 4) calc((12.5%*6 + 10in) / 4)) - computed style assert_in_array: value "polygon(calc(0.25 * (75% + 960px)) calc(0.25 * (75% + 960px)))" not in array ["polygon(calc((75% + 960px) / 4) calc((75% + 960px) / 4))", "polygon(calc(18.75% + 240px) calc(18.75% + 240px))"]
22
FAIL polygon(calc((12.5%*6 + 10in) / 4) calc((12.5%*6 + 10in) / 4)) - computed style assert_equals: expected "polygon(calc(18.75% + 240px) calc(18.75% + 240px))" but got "polygon(calc(0.25 * (75% + 960px)) calc(0.25 * (75% + 960px)))"
23
PASS polygon(evenodd, calc(10in) calc(10in), calc(10in) calc(10in)) - computed style 
23
PASS polygon(evenodd, calc(10in) calc(10in), calc(10in) calc(10in)) - computed style 
24
PASS polygon(evenodd, calc(10in + 20px) calc(10in + 20px), calc(10in + 20px) calc(10in + 20px)) - computed style 
24
PASS polygon(evenodd, calc(10in + 20px) calc(10in + 20px), calc(10in + 20px) calc(10in + 20px)) - computed style 
25
PASS polygon(evenodd, calc(30%) calc(30%), calc(30%) calc(30%)) - computed style 
25
PASS polygon(evenodd, calc(30%) calc(30%), calc(30%) calc(30%)) - computed style 
26
PASS polygon(evenodd, calc(100%/4) calc(100%/4), calc(100%/4) calc(100%/4)) - computed style 
26
PASS polygon(evenodd, calc(100%/4) calc(100%/4), calc(100%/4) calc(100%/4)) - computed style 
27
PASS polygon(evenodd, calc(25%*3) calc(25%*3), calc(25%*3) calc(25%*3)) - computed style 
27
PASS polygon(evenodd, calc(25%*3) calc(25%*3), calc(25%*3) calc(25%*3)) - computed style 
28
PASS polygon(evenodd, calc(25%*3 - 10in) calc(25%*3 - 10in), calc(25%*3 - 10in) calc(25%*3 - 10in)) - computed style 
28
PASS polygon(evenodd, calc(25%*3 - 10in) calc(25%*3 - 10in), calc(25%*3 - 10in) calc(25%*3 - 10in)) - computed style 
29
FAIL polygon(evenodd, calc((12.5%*6 + 10in) / 4) calc((12.5%*6 + 10in) / 4), calc((12.5%*6 + 10in) / 4) calc((12.5%*6 + 10in) / 4)) - computed style assert_in_array: value "polygon(evenodd, calc(0.25 * (75% + 960px)) calc(0.25 * (75% + 960px)), calc(0.25 * (75% + 960px)) calc(0.25 * (75% + 960px)))" not in array ["polygon(evenodd, calc((75% + 960px) / 4) calc((75% + 960px) / 4), calc((75% + 960px) / 4) calc((75% + 960px) / 4))", "polygon(evenodd, calc(18.75% + 240px) calc(18.75% + 240px), calc(18.75% + 240px) calc(18.75% + 240px))"]
29
FAIL polygon(evenodd, calc((12.5%*6 + 10in) / 4) calc((12.5%*6 + 10in) / 4), calc((12.5%*6 + 10in) / 4) calc((12.5%*6 + 10in) / 4)) - computed style assert_equals: expected "polygon(evenodd, calc(18.75% + 240px) calc(18.75% + 240px), calc(18.75% + 240px) calc(18.75% + 240px))" but got "polygon(evenodd, calc(0.25 * (75% + 960px)) calc(0.25 * (75% + 960px)), calc(0.25 * (75% + 960px)) calc(0.25 * (75% + 960px)))"
30
30
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-shapes/shape-outside/values/shape-outside-shape-box-pair-000-expected.txt -4 / +4 lines
Lines 2-18 a/LayoutTests/imported/w3c/web-platform-tests/css/css-shapes/shape-outside/values/shape-outside-shape-box-pair-000-expected.txt_sec1
2
PASS polygon(nonzero, 1px 1px) content-box - inline 
2
PASS polygon(nonzero, 1px 1px) content-box - inline 
3
PASS polygon(nonzero, 1px 1px) padding-box - inline 
3
PASS polygon(nonzero, 1px 1px) padding-box - inline 
4
PASS polygon(nonzero, 1px 1px) border-box - inline 
4
PASS polygon(nonzero, 1px 1px) border-box - inline 
5
PASS polygon(nonzero, 1px 1px) margin-box - inline 
5
FAIL polygon(nonzero, 1px 1px) margin-box - inline assert_equals: expected "polygon(1px 1px)" but got "polygon(1px 1px) margin-box"
6
FAIL  content-box polygon(nonzero, 1px 1px) - inline assert_equals: expected "polygon(1px 1px) content-box" but got "content-box polygon(1px 1px)"
6
FAIL  content-box polygon(nonzero, 1px 1px) - inline assert_equals: expected "polygon(1px 1px) content-box" but got "content-box polygon(1px 1px)"
7
FAIL padding-box polygon(nonzero, 1px 1px) - inline assert_equals: expected "polygon(1px 1px) padding-box" but got "padding-box polygon(1px 1px)"
7
FAIL padding-box polygon(nonzero, 1px 1px) - inline assert_equals: expected "polygon(1px 1px) padding-box" but got "padding-box polygon(1px 1px)"
8
FAIL border-box polygon(nonzero, 1px 1px) - inline assert_equals: expected "polygon(1px 1px) border-box" but got "border-box polygon(1px 1px)"
8
FAIL border-box polygon(nonzero, 1px 1px) - inline assert_equals: expected "polygon(1px 1px) border-box" but got "border-box polygon(1px 1px)"
9
FAIL margin-box polygon(nonzero, 1px 1px) - inline assert_equals: expected "polygon(1px 1px) margin-box" but got "margin-box polygon(1px 1px)"
9
FAIL margin-box polygon(nonzero, 1px 1px) - inline assert_equals: expected "polygon(1px 1px)" but got "margin-box polygon(1px 1px)"
10
PASS polygon(nonzero, 1px 1px) content-box - computed 
10
PASS polygon(nonzero, 1px 1px) content-box - computed 
11
PASS polygon(nonzero, 1px 1px) padding-box - computed 
11
PASS polygon(nonzero, 1px 1px) padding-box - computed 
12
PASS polygon(nonzero, 1px 1px) border-box - computed 
12
PASS polygon(nonzero, 1px 1px) border-box - computed 
13
PASS polygon(nonzero, 1px 1px) margin-box - computed 
13
FAIL polygon(nonzero, 1px 1px) margin-box - computed assert_equals: expected "polygon(1px 1px)" but got "polygon(1px 1px) margin-box"
14
PASS  content-box polygon(nonzero, 1px 1px) - computed 
14
PASS  content-box polygon(nonzero, 1px 1px) - computed 
15
PASS padding-box polygon(nonzero, 1px 1px) - computed 
15
PASS padding-box polygon(nonzero, 1px 1px) - computed 
16
PASS border-box polygon(nonzero, 1px 1px) - computed 
16
PASS border-box polygon(nonzero, 1px 1px) - computed 
17
PASS margin-box polygon(nonzero, 1px 1px) - computed 
17
FAIL margin-box polygon(nonzero, 1px 1px) - computed assert_equals: expected "polygon(1px 1px)" but got "polygon(1px 1px) margin-box"
18
18
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-shapes/shape-outside/values/shape-outside-shape-box-pair-000.html -4 / +4 lines
Lines 34-41 a/LayoutTests/imported/w3c/web-platform-tests/css/css-shapes/shape-outside/values/shape-outside-shape-box-pair-000.html_sec1
34
            },
34
            },
35
            {
35
            {
36
              "actual": "polygon(nonzero, 1px 1px) margin-box",
36
              "actual": "polygon(nonzero, 1px 1px) margin-box",
37
              "expected_inline": "polygon(1px 1px) margin-box",
37
              "expected_inline": "polygon(1px 1px)",
38
              "expected_computed": "polygon(1px 1px) margin-box"
38
              "expected_computed": "polygon(1px 1px)"
39
            },
39
            },
40
            {
40
            {
41
              "actual": " content-box polygon(nonzero, 1px 1px)",
41
              "actual": " content-box polygon(nonzero, 1px 1px)",
Lines 54-61 a/LayoutTests/imported/w3c/web-platform-tests/css/css-shapes/shape-outside/values/shape-outside-shape-box-pair-000.html_sec2
54
            },
54
            },
55
            {
55
            {
56
              "actual": "margin-box polygon(nonzero, 1px 1px)",
56
              "actual": "margin-box polygon(nonzero, 1px 1px)",
57
              "expected_inline": "polygon(1px 1px) margin-box",
57
              "expected_inline": "polygon(1px 1px)",
58
              "expected_computed": "polygon(1px 1px) margin-box"
58
              "expected_computed": "polygon(1px 1px)"
59
            }
59
            }
60
        ];
60
        ];
61
        generate_tests( ParsingUtils.testInlineStyle,
61
        generate_tests( ParsingUtils.testInlineStyle,
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-shapes/shape-outside/values/support/parsing-utils.js -8 / +5 lines
Lines 803-821 var validPolygons = [ a/LayoutTests/imported/w3c/web-platform-tests/css/css-shapes/shape-outside/values/support/parsing-utils.js_sec1
803
]
803
]
804
804
805
// [test value, expected property value, expected computed style]
805
// [test value, expected property value, expected computed style]
806
// See https://github.com/w3c/csswg-drafts/issues/4399#issuecomment-556160413
807
// for the latest resolution to this respect.
806
var calcTestValues = [
808
var calcTestValues = [
807
    ["calc(10in)", "calc(10in)", "960px"],
809
    ["calc(10in)", "calc(960px)", "960px"],
808
    ["calc(10in + 20px)", "calc(980px)", "980px"],
810
    ["calc(10in + 20px)", "calc(980px)", "980px"],
809
    ["calc(30%)", "calc(30%)", "30%"],
811
    ["calc(30%)", "calc(30%)", "30%"],
810
    ["calc(100%/4)", "calc(25%)", "25%"],
812
    ["calc(100%/4)", "calc(25%)", "25%"],
811
    ["calc(25%*3)", "calc(75%)", "75%"],
813
    ["calc(25%*3)", "calc(75%)", "75%"],
812
    // These following two test cases represent an either/or situation in the spec
814
    ["calc(25%*3 - 10in)", "calc(75% - 960px)", "calc(75% - 960px)"],
813
    // computed value is always supposed to be, at most, a tuple of a length and a percentage.
815
    ["calc((12.5%*6 + 10in) / 4)", "calc(18.75% + 240px)", "calc(18.75% + 240px)"]
814
    // the computed value of a ‘calc()’ expression can be represented as either a number or a tuple
815
    // of a dimension and a percentage.
816
    // http://www.w3.org/TR/css3-values/#calc-notation
817
    ["calc(25%*3 - 10in)", "calc(75% - 10in)", ["calc(75% - 960px)", "calc(-960px + 75%)"]],
818
    ["calc((12.5%*6 + 10in) / 4)", "calc((75% + 10in) / 4)", ["calc((75% + 960px) / 4)", "calc(18.75% + 240px)"]]
819
]
816
]
820
817
821
return {
818
return {
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-shapes/spec-examples/support/spec-example-utils.js -1 lines
Lines 11-17 function approxShapeTest(testId, linePrefix, epsilon, lineOffsets) { a/LayoutTests/imported/w3c/web-platform-tests/css/css-shapes/spec-examples/support/spec-example-utils.js_sec1
11
            var line = document.getElementById(linePrefix + i);
11
            var line = document.getElementById(linePrefix + i);
12
            assert_approx_equals(line.offsetLeft, lineOffsets[i] + testOffset, epsilon, 'Line ' + i + ' is positioned properly');
12
            assert_approx_equals(line.offsetLeft, lineOffsets[i] + testOffset, epsilon, 'Line ' + i + ' is positioned properly');
13
        }
13
        }
14
        done();
15
    }
14
    }
16
    runTest();
15
    runTest();
17
}
16
}
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-shapes/support/w3c-import.log -1 lines
Lines 22-28 List of files: a/LayoutTests/imported/w3c/web-platform-tests/css/css-shapes/support/w3c-import.log_sec1
22
/LayoutTests/imported/w3c/web-platform-tests/css/css-shapes/support/1x1-white.png
22
/LayoutTests/imported/w3c/web-platform-tests/css/css-shapes/support/1x1-white.png
23
/LayoutTests/imported/w3c/web-platform-tests/css/css-shapes/support/60x60-gg-rr.png
23
/LayoutTests/imported/w3c/web-platform-tests/css/css-shapes/support/60x60-gg-rr.png
24
/LayoutTests/imported/w3c/web-platform-tests/css/css-shapes/support/60x60-green.png
24
/LayoutTests/imported/w3c/web-platform-tests/css/css-shapes/support/60x60-green.png
25
/LayoutTests/imported/w3c/web-platform-tests/css/css-shapes/support/60x60-red.png
26
/LayoutTests/imported/w3c/web-platform-tests/css/css-shapes/support/README
25
/LayoutTests/imported/w3c/web-platform-tests/css/css-shapes/support/README
27
/LayoutTests/imported/w3c/web-platform-tests/css/css-shapes/support/a-green.css
26
/LayoutTests/imported/w3c/web-platform-tests/css/css-shapes/support/a-green.css
28
/LayoutTests/imported/w3c/web-platform-tests/css/css-shapes/support/b-green.css
27
/LayoutTests/imported/w3c/web-platform-tests/css/css-shapes/support/b-green.css
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/animation/height-composition-expected.txt +27 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/animation/height-composition-expected.txt_sec1
1
2
FAIL Compositing: property <height> underlying [50px] from add [100px] to add [200px] at (-0.3) should be [120px] assert_equals: expected "120px " but got "70px "
3
FAIL Compositing: property <height> underlying [50px] from add [100px] to add [200px] at (0) should be [150px] assert_equals: expected "150px " but got "100px "
4
FAIL Compositing: property <height> underlying [50px] from add [100px] to add [200px] at (0.5) should be [200px] assert_equals: expected "200px " but got "150px "
5
FAIL Compositing: property <height> underlying [50px] from add [100px] to add [200px] at (1) should be [250px] assert_equals: expected "250px " but got "200px "
6
FAIL Compositing: property <height> underlying [50px] from add [100px] to add [200px] at (1.5) should be [300px] assert_equals: expected "300px " but got "250px "
7
FAIL Compositing: property <height> underlying [100px] from add [10px] to add [2px] at (-0.5) should be [114px] assert_equals: expected "114px " but got "14px "
8
FAIL Compositing: property <height> underlying [100px] from add [10px] to add [2px] at (0) should be [110px] assert_equals: expected "110px " but got "10px "
9
FAIL Compositing: property <height> underlying [100px] from add [10px] to add [2px] at (0.5) should be [106px] assert_equals: expected "106px " but got "6px "
10
FAIL Compositing: property <height> underlying [100px] from add [10px] to add [2px] at (1) should be [102px] assert_equals: expected "102px " but got "2px "
11
FAIL Compositing: property <height> underlying [100px] from add [10px] to add [2px] at (1.5) should be [98px] assert_equals: expected "98px " but got "0px "
12
FAIL Compositing: property <height> underlying [10%] from add [100px] to add [20%] at (-0.3) should be [calc(130px + 4%)] assert_equals: expected "0px " but got "100px "
13
FAIL Compositing: property <height> underlying [10%] from add [100px] to add [20%] at (0) should be [calc(100px + 10%)] assert_equals: expected "0px " but got "100px "
14
PASS Compositing: property <height> underlying [10%] from add [100px] to add [20%] at (0.5) should be [calc(50px + 20%)] 
15
PASS Compositing: property <height> underlying [10%] from add [100px] to add [20%] at (1) should be [30%] 
16
PASS Compositing: property <height> underlying [10%] from add [100px] to add [20%] at (1.5) should be [calc(-50px + 40%)] 
17
FAIL Compositing: property <height> underlying [50px] from add [100px] to replace [200px] at (-0.3) should be [135px] assert_equals: expected "135px " but got "70px "
18
FAIL Compositing: property <height> underlying [50px] from add [100px] to replace [200px] at (0) should be [150px] assert_equals: expected "150px " but got "100px "
19
FAIL Compositing: property <height> underlying [50px] from add [100px] to replace [200px] at (0.5) should be [175px] assert_equals: expected "175px " but got "150px "
20
PASS Compositing: property <height> underlying [50px] from add [100px] to replace [200px] at (1) should be [200px] 
21
FAIL Compositing: property <height> underlying [50px] from add [100px] to replace [200px] at (1.5) should be [225px] assert_equals: expected "225px " but got "250px "
22
FAIL Compositing: property <height> underlying [100px] from add [100px] to add [auto] at (-0.3) should be [200px] assert_equals: expected "200px " but got "100px "
23
FAIL Compositing: property <height> underlying [100px] from add [100px] to add [auto] at (0) should be [200px] assert_equals: expected "200px " but got "100px "
24
PASS Compositing: property <height> underlying [100px] from add [100px] to add [auto] at (0.5) should be [auto] 
25
PASS Compositing: property <height> underlying [100px] from add [100px] to add [auto] at (1) should be [auto] 
26
PASS Compositing: property <height> underlying [100px] from add [100px] to add [auto] at (1.5) should be [auto] 
27
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/animation/height-composition.html +78 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/animation/height-composition.html_sec1
1
<!DOCTYPE html>
2
<meta charset="UTF-8">
3
<title>height composition</title>
4
<link rel="help" href="https://drafts.csswg.org/css-sizing-3/#propdef-height">
5
<meta name="assert" content="height supports animation by computed value">
6
7
<script src="/resources/testharness.js"></script>
8
<script src="/resources/testharnessreport.js"></script>
9
<script src="/css/support/interpolation-testcommon.js"></script>
10
11
<body>
12
<script>
13
test_composition({
14
  property: 'height',
15
  underlying: '50px',
16
  addFrom: '100px',
17
  addTo: '200px',
18
}, [
19
  {at: -0.3, expect: '120px'},
20
  {at: 0, expect: '150px'},
21
  {at: 0.5, expect: '200px'},
22
  {at: 1, expect: '250px'},
23
  {at: 1.5, expect: '300px'},
24
]);
25
26
test_composition({
27
  property: 'height',
28
  underlying: '100px',
29
  addFrom: '10px',
30
  addTo: '2px',
31
}, [
32
  {at: -0.5, expect: '114px'},
33
  {at: 0, expect: '110px'},
34
  {at: 0.5, expect: '106px'},
35
  {at: 1, expect: '102px'},
36
  {at: 1.5, expect: '98px'}, // Value clamping should happen after composition.
37
]);
38
39
test_composition({
40
  property: 'height',
41
  underlying: '10%',
42
  addFrom: '100px',
43
  addTo: '20%',
44
}, [
45
  {at: -0.3, expect: 'calc(130px + 4%)'},
46
  {at: 0, expect: 'calc(100px + 10%)'},
47
  {at: 0.5, expect: 'calc(50px + 20%)'},
48
  {at: 1, expect: '30%'},
49
  {at: 1.5, expect: 'calc(-50px + 40%)'},
50
]);
51
52
test_composition({
53
  property: 'height',
54
  underlying: '50px',
55
  addFrom: '100px',
56
  replaceTo: '200px',
57
}, [
58
  {at: -0.3, expect: '135px'},
59
  {at: 0, expect: '150px'},
60
  {at: 0.5, expect: '175px'},
61
  {at: 1, expect: '200px'},
62
  {at: 1.5, expect: '225px'},
63
]);
64
65
test_composition({
66
  property: 'height',
67
  underlying: '100px',
68
  addFrom: '100px',
69
  addTo: 'auto',
70
}, [
71
  {at: -0.3, expect: '200px'},
72
  {at: 0, expect: '200px'},
73
  {at: 0.5, expect: 'auto'},
74
  {at: 1, expect: 'auto'},
75
  {at: 1.5, expect: 'auto'},
76
]);
77
</script>
78
</body>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/animation/max-height-composition-expected.txt +27 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/animation/max-height-composition-expected.txt_sec1
1
2
FAIL Compositing: property <max-height> underlying [50px] from add [100px] to add [200px] at (-0.3) should be [120px] assert_equals: expected "120px " but got "70px "
3
FAIL Compositing: property <max-height> underlying [50px] from add [100px] to add [200px] at (0) should be [150px] assert_equals: expected "150px " but got "100px "
4
FAIL Compositing: property <max-height> underlying [50px] from add [100px] to add [200px] at (0.5) should be [200px] assert_equals: expected "200px " but got "150px "
5
FAIL Compositing: property <max-height> underlying [50px] from add [100px] to add [200px] at (1) should be [250px] assert_equals: expected "250px " but got "200px "
6
FAIL Compositing: property <max-height> underlying [50px] from add [100px] to add [200px] at (1.5) should be [300px] assert_equals: expected "300px " but got "250px "
7
FAIL Compositing: property <max-height> underlying [100px] from add [10px] to add [2px] at (-0.5) should be [114px] assert_equals: expected "114px " but got "14px "
8
FAIL Compositing: property <max-height> underlying [100px] from add [10px] to add [2px] at (0) should be [110px] assert_equals: expected "110px " but got "10px "
9
FAIL Compositing: property <max-height> underlying [100px] from add [10px] to add [2px] at (0.5) should be [106px] assert_equals: expected "106px " but got "6px "
10
FAIL Compositing: property <max-height> underlying [100px] from add [10px] to add [2px] at (1) should be [102px] assert_equals: expected "102px " but got "2px "
11
FAIL Compositing: property <max-height> underlying [100px] from add [10px] to add [2px] at (1.5) should be [98px] assert_equals: expected "98px " but got "- 2px "
12
FAIL Compositing: property <max-height> underlying [10%] from add [100px] to add [20%] at (-0.3) should be [calc(130px + 4%)] assert_equals: expected "calc ( 4 % + 130px ) " but got "100px "
13
FAIL Compositing: property <max-height> underlying [10%] from add [100px] to add [20%] at (0) should be [calc(100px + 10%)] assert_equals: expected "calc ( 10 % + 100px ) " but got "100px "
14
FAIL Compositing: property <max-height> underlying [10%] from add [100px] to add [20%] at (0.5) should be [calc(50px + 20%)] assert_equals: expected "calc ( 20 % + 50px ) " but got "calc ( ( 100px * 0.5 ) + ( 20 % * 0.5 ) ) "
15
FAIL Compositing: property <max-height> underlying [10%] from add [100px] to add [20%] at (1) should be [30%] assert_equals: expected "30 % " but got "20 % "
16
FAIL Compositing: property <max-height> underlying [10%] from add [100px] to add [20%] at (1.5) should be [calc(-50px + 40%)] assert_equals: expected "calc ( 40 % - 50px ) " but got "20 % "
17
FAIL Compositing: property <max-height> underlying [50px] from add [100px] to replace [200px] at (-0.3) should be [135px] assert_equals: expected "135px " but got "70px "
18
FAIL Compositing: property <max-height> underlying [50px] from add [100px] to replace [200px] at (0) should be [150px] assert_equals: expected "150px " but got "100px "
19
FAIL Compositing: property <max-height> underlying [50px] from add [100px] to replace [200px] at (0.5) should be [175px] assert_equals: expected "175px " but got "150px "
20
PASS Compositing: property <max-height> underlying [50px] from add [100px] to replace [200px] at (1) should be [200px] 
21
FAIL Compositing: property <max-height> underlying [50px] from add [100px] to replace [200px] at (1.5) should be [225px] assert_equals: expected "225px " but got "250px "
22
FAIL Compositing: property <max-height> underlying [100px] from add [100px] to add [none] at (-0.3) should be [200px] assert_equals: expected "200px " but got "none "
23
FAIL Compositing: property <max-height> underlying [100px] from add [100px] to add [none] at (0) should be [200px] assert_equals: expected "200px " but got "none "
24
PASS Compositing: property <max-height> underlying [100px] from add [100px] to add [none] at (0.5) should be [none] 
25
PASS Compositing: property <max-height> underlying [100px] from add [100px] to add [none] at (1) should be [none] 
26
PASS Compositing: property <max-height> underlying [100px] from add [100px] to add [none] at (1.5) should be [none] 
27
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/animation/max-height-composition.html +78 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/animation/max-height-composition.html_sec1
1
<!DOCTYPE html>
2
<meta charset="UTF-8">
3
<title>max-height composition</title>
4
<link rel="help" href="https://drafts.csswg.org/css-sizing-3/#propdef-max-height">
5
<meta name="assert" content="max-height supports animation by computed value">
6
7
<script src="/resources/testharness.js"></script>
8
<script src="/resources/testharnessreport.js"></script>
9
<script src="/css/support/interpolation-testcommon.js"></script>
10
11
<body>
12
<script>
13
test_composition({
14
  property: 'max-height',
15
  underlying: '50px',
16
  addFrom: '100px',
17
  addTo: '200px',
18
}, [
19
  {at: -0.3, expect: '120px'},
20
  {at: 0, expect: '150px'},
21
  {at: 0.5, expect: '200px'},
22
  {at: 1, expect: '250px'},
23
  {at: 1.5, expect: '300px'},
24
]);
25
26
test_composition({
27
  property: 'max-height',
28
  underlying: '100px',
29
  addFrom: '10px',
30
  addTo: '2px',
31
}, [
32
  {at: -0.5, expect: '114px'},
33
  {at: 0, expect: '110px'},
34
  {at: 0.5, expect: '106px'},
35
  {at: 1, expect: '102px'},
36
  {at: 1.5, expect: '98px'}, // Value clamping should happen after composition.
37
]);
38
39
test_composition({
40
  property: 'max-height',
41
  underlying: '10%',
42
  addFrom: '100px',
43
  addTo: '20%',
44
}, [
45
  {at: -0.3, expect: 'calc(130px + 4%)'},
46
  {at: 0, expect: 'calc(100px + 10%)'},
47
  {at: 0.5, expect: 'calc(50px + 20%)'},
48
  {at: 1, expect: '30%'},
49
  {at: 1.5, expect: 'calc(-50px + 40%)'},
50
]);
51
52
test_composition({
53
  property: 'max-height',
54
  underlying: '50px',
55
  addFrom: '100px',
56
  replaceTo: '200px',
57
}, [
58
  {at: -0.3, expect: '135px'},
59
  {at: 0, expect: '150px'},
60
  {at: 0.5, expect: '175px'},
61
  {at: 1, expect: '200px'},
62
  {at: 1.5, expect: '225px'},
63
]);
64
65
test_composition({
66
  property: 'max-height',
67
  underlying: '100px',
68
  addFrom: '100px',
69
  addTo: 'none',
70
}, [
71
  {at: -0.3, expect: '200px'},
72
  {at: 0, expect: '200px'},
73
  {at: 0.5, expect: 'none'},
74
  {at: 1, expect: 'none'},
75
  {at: 1.5, expect: 'none'},
76
]);
77
</script>
78
</body>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/animation/max-width-composition-expected.txt +27 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/animation/max-width-composition-expected.txt_sec1
1
2
FAIL Compositing: property <max-width> underlying [50px] from add [100px] to add [200px] at (-0.3) should be [120px] assert_equals: expected "120px " but got "70px "
3
FAIL Compositing: property <max-width> underlying [50px] from add [100px] to add [200px] at (0) should be [150px] assert_equals: expected "150px " but got "100px "
4
FAIL Compositing: property <max-width> underlying [50px] from add [100px] to add [200px] at (0.5) should be [200px] assert_equals: expected "200px " but got "150px "
5
FAIL Compositing: property <max-width> underlying [50px] from add [100px] to add [200px] at (1) should be [250px] assert_equals: expected "250px " but got "200px "
6
FAIL Compositing: property <max-width> underlying [50px] from add [100px] to add [200px] at (1.5) should be [300px] assert_equals: expected "300px " but got "250px "
7
FAIL Compositing: property <max-width> underlying [100px] from add [10px] to add [2px] at (-0.5) should be [114px] assert_equals: expected "114px " but got "14px "
8
FAIL Compositing: property <max-width> underlying [100px] from add [10px] to add [2px] at (0) should be [110px] assert_equals: expected "110px " but got "10px "
9
FAIL Compositing: property <max-width> underlying [100px] from add [10px] to add [2px] at (0.5) should be [106px] assert_equals: expected "106px " but got "6px "
10
FAIL Compositing: property <max-width> underlying [100px] from add [10px] to add [2px] at (1) should be [102px] assert_equals: expected "102px " but got "2px "
11
FAIL Compositing: property <max-width> underlying [100px] from add [10px] to add [2px] at (1.5) should be [98px] assert_equals: expected "98px " but got "- 2px "
12
FAIL Compositing: property <max-width> underlying [10%] from add [100px] to add [20%] at (-0.3) should be [calc(130px + 4%)] assert_equals: expected "calc ( 4 % + 130px ) " but got "100px "
13
FAIL Compositing: property <max-width> underlying [10%] from add [100px] to add [20%] at (0) should be [calc(100px + 10%)] assert_equals: expected "calc ( 10 % + 100px ) " but got "100px "
14
FAIL Compositing: property <max-width> underlying [10%] from add [100px] to add [20%] at (0.5) should be [calc(50px + 20%)] assert_equals: expected "calc ( 20 % + 50px ) " but got "calc ( ( 100px * 0.5 ) + ( 20 % * 0.5 ) ) "
15
FAIL Compositing: property <max-width> underlying [10%] from add [100px] to add [20%] at (1) should be [30%] assert_equals: expected "30 % " but got "20 % "
16
FAIL Compositing: property <max-width> underlying [10%] from add [100px] to add [20%] at (1.5) should be [calc(-50px + 40%)] assert_equals: expected "calc ( 40 % - 50px ) " but got "20 % "
17
FAIL Compositing: property <max-width> underlying [50px] from add [100px] to replace [200px] at (-0.3) should be [135px] assert_equals: expected "135px " but got "70px "
18
FAIL Compositing: property <max-width> underlying [50px] from add [100px] to replace [200px] at (0) should be [150px] assert_equals: expected "150px " but got "100px "
19
FAIL Compositing: property <max-width> underlying [50px] from add [100px] to replace [200px] at (0.5) should be [175px] assert_equals: expected "175px " but got "150px "
20
PASS Compositing: property <max-width> underlying [50px] from add [100px] to replace [200px] at (1) should be [200px] 
21
FAIL Compositing: property <max-width> underlying [50px] from add [100px] to replace [200px] at (1.5) should be [225px] assert_equals: expected "225px " but got "250px "
22
FAIL Compositing: property <max-width> underlying [100px] from add [100px] to add [none] at (-0.3) should be [200px] assert_equals: expected "200px " but got "none "
23
FAIL Compositing: property <max-width> underlying [100px] from add [100px] to add [none] at (0) should be [200px] assert_equals: expected "200px " but got "none "
24
PASS Compositing: property <max-width> underlying [100px] from add [100px] to add [none] at (0.5) should be [none] 
25
PASS Compositing: property <max-width> underlying [100px] from add [100px] to add [none] at (1) should be [none] 
26
PASS Compositing: property <max-width> underlying [100px] from add [100px] to add [none] at (1.5) should be [none] 
27
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/animation/max-width-composition.html +78 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/animation/max-width-composition.html_sec1
1
<!DOCTYPE html>
2
<meta charset="UTF-8">
3
<title>max-width composition</title>
4
<link rel="help" href="https://drafts.csswg.org/css-sizing-3/#propdef-max-width">
5
<meta name="assert" content="max-width supports animation by computed value">
6
7
<script src="/resources/testharness.js"></script>
8
<script src="/resources/testharnessreport.js"></script>
9
<script src="/css/support/interpolation-testcommon.js"></script>
10
11
<body>
12
<script>
13
test_composition({
14
  property: 'max-width',
15
  underlying: '50px',
16
  addFrom: '100px',
17
  addTo: '200px',
18
}, [
19
  {at: -0.3, expect: '120px'},
20
  {at: 0, expect: '150px'},
21
  {at: 0.5, expect: '200px'},
22
  {at: 1, expect: '250px'},
23
  {at: 1.5, expect: '300px'},
24
]);
25
26
test_composition({
27
  property: 'max-width',
28
  underlying: '100px',
29
  addFrom: '10px',
30
  addTo: '2px',
31
}, [
32
  {at: -0.5, expect: '114px'},
33
  {at: 0, expect: '110px'},
34
  {at: 0.5, expect: '106px'},
35
  {at: 1, expect: '102px'},
36
  {at: 1.5, expect: '98px'}, // Value clamping should happen after composition.
37
]);
38
39
test_composition({
40
  property: 'max-width',
41
  underlying: '10%',
42
  addFrom: '100px',
43
  addTo: '20%',
44
}, [
45
  {at: -0.3, expect: 'calc(130px + 4%)'},
46
  {at: 0, expect: 'calc(100px + 10%)'},
47
  {at: 0.5, expect: 'calc(50px + 20%)'},
48
  {at: 1, expect: '30%'},
49
  {at: 1.5, expect: 'calc(-50px + 40%)'},
50
]);
51
52
test_composition({
53
  property: 'max-width',
54
  underlying: '50px',
55
  addFrom: '100px',
56
  replaceTo: '200px',
57
}, [
58
  {at: -0.3, expect: '135px'},
59
  {at: 0, expect: '150px'},
60
  {at: 0.5, expect: '175px'},
61
  {at: 1, expect: '200px'},
62
  {at: 1.5, expect: '225px'},
63
]);
64
65
test_composition({
66
  property: 'max-width',
67
  underlying: '100px',
68
  addFrom: '100px',
69
  addTo: 'none',
70
}, [
71
  {at: -0.3, expect: '200px'},
72
  {at: 0, expect: '200px'},
73
  {at: 0.5, expect: 'none'},
74
  {at: 1, expect: 'none'},
75
  {at: 1.5, expect: 'none'},
76
]);
77
</script>
78
</body>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/animation/min-height-composition-expected.txt +27 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/animation/min-height-composition-expected.txt_sec1
1
2
FAIL Compositing: property <min-height> underlying [50px] from add [100px] to add [200px] at (-0.3) should be [120px] assert_equals: expected "120px " but got "70px "
3
FAIL Compositing: property <min-height> underlying [50px] from add [100px] to add [200px] at (0) should be [150px] assert_equals: expected "150px " but got "100px "
4
FAIL Compositing: property <min-height> underlying [50px] from add [100px] to add [200px] at (0.5) should be [200px] assert_equals: expected "200px " but got "150px "
5
FAIL Compositing: property <min-height> underlying [50px] from add [100px] to add [200px] at (1) should be [250px] assert_equals: expected "250px " but got "200px "
6
FAIL Compositing: property <min-height> underlying [50px] from add [100px] to add [200px] at (1.5) should be [300px] assert_equals: expected "300px " but got "250px "
7
FAIL Compositing: property <min-height> underlying [100px] from add [10px] to add [2px] at (-0.5) should be [114px] assert_equals: expected "114px " but got "14px "
8
FAIL Compositing: property <min-height> underlying [100px] from add [10px] to add [2px] at (0) should be [110px] assert_equals: expected "110px " but got "10px "
9
FAIL Compositing: property <min-height> underlying [100px] from add [10px] to add [2px] at (0.5) should be [106px] assert_equals: expected "106px " but got "6px "
10
FAIL Compositing: property <min-height> underlying [100px] from add [10px] to add [2px] at (1) should be [102px] assert_equals: expected "102px " but got "2px "
11
FAIL Compositing: property <min-height> underlying [100px] from add [10px] to add [2px] at (1.5) should be [98px] assert_equals: expected "98px " but got "- 2px "
12
FAIL Compositing: property <min-height> underlying [10%] from add [100px] to add [20%] at (-0.3) should be [calc(130px + 4%)] assert_equals: expected "calc ( 4 % + 130px ) " but got "100px "
13
FAIL Compositing: property <min-height> underlying [10%] from add [100px] to add [20%] at (0) should be [calc(100px + 10%)] assert_equals: expected "calc ( 10 % + 100px ) " but got "100px "
14
FAIL Compositing: property <min-height> underlying [10%] from add [100px] to add [20%] at (0.5) should be [calc(50px + 20%)] assert_equals: expected "calc ( 20 % + 50px ) " but got "calc ( ( 100px * 0.5 ) + ( 20 % * 0.5 ) ) "
15
FAIL Compositing: property <min-height> underlying [10%] from add [100px] to add [20%] at (1) should be [30%] assert_equals: expected "30 % " but got "20 % "
16
FAIL Compositing: property <min-height> underlying [10%] from add [100px] to add [20%] at (1.5) should be [calc(-50px + 40%)] assert_equals: expected "calc ( 40 % - 50px ) " but got "20 % "
17
FAIL Compositing: property <min-height> underlying [50px] from add [100px] to replace [200px] at (-0.3) should be [135px] assert_equals: expected "135px " but got "70px "
18
FAIL Compositing: property <min-height> underlying [50px] from add [100px] to replace [200px] at (0) should be [150px] assert_equals: expected "150px " but got "100px "
19
FAIL Compositing: property <min-height> underlying [50px] from add [100px] to replace [200px] at (0.5) should be [175px] assert_equals: expected "175px " but got "150px "
20
PASS Compositing: property <min-height> underlying [50px] from add [100px] to replace [200px] at (1) should be [200px] 
21
FAIL Compositing: property <min-height> underlying [50px] from add [100px] to replace [200px] at (1.5) should be [225px] assert_equals: expected "225px " but got "250px "
22
FAIL Compositing: property <min-height> underlying [100px] from add [100px] to add [auto] at (-0.3) should be [200px] assert_equals: expected "200px " but got "100px "
23
FAIL Compositing: property <min-height> underlying [100px] from add [100px] to add [auto] at (0) should be [200px] assert_equals: expected "200px " but got "100px "
24
PASS Compositing: property <min-height> underlying [100px] from add [100px] to add [auto] at (0.5) should be [auto] 
25
PASS Compositing: property <min-height> underlying [100px] from add [100px] to add [auto] at (1) should be [auto] 
26
PASS Compositing: property <min-height> underlying [100px] from add [100px] to add [auto] at (1.5) should be [auto] 
27
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/animation/min-height-composition.html +78 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/animation/min-height-composition.html_sec1
1
<!DOCTYPE html>
2
<meta charset="UTF-8">
3
<title>min-height composition</title>
4
<link rel="help" href="https://drafts.csswg.org/css-sizing-3/#propdef-min-height">
5
<meta name="assert" content="min-height supports animation by computed value">
6
7
<script src="/resources/testharness.js"></script>
8
<script src="/resources/testharnessreport.js"></script>
9
<script src="/css/support/interpolation-testcommon.js"></script>
10
11
<body>
12
<script>
13
test_composition({
14
  property: 'min-height',
15
  underlying: '50px',
16
  addFrom: '100px',
17
  addTo: '200px',
18
}, [
19
  {at: -0.3, expect: '120px'},
20
  {at: 0, expect: '150px'},
21
  {at: 0.5, expect: '200px'},
22
  {at: 1, expect: '250px'},
23
  {at: 1.5, expect: '300px'},
24
]);
25
26
test_composition({
27
  property: 'min-height',
28
  underlying: '100px',
29
  addFrom: '10px',
30
  addTo: '2px',
31
}, [
32
  {at: -0.5, expect: '114px'},
33
  {at: 0, expect: '110px'},
34
  {at: 0.5, expect: '106px'},
35
  {at: 1, expect: '102px'},
36
  {at: 1.5, expect: '98px'}, // Value clamping should happen after composition.
37
]);
38
39
test_composition({
40
  property: 'min-height',
41
  underlying: '10%',
42
  addFrom: '100px',
43
  addTo: '20%',
44
}, [
45
  {at: -0.3, expect: 'calc(130px + 4%)'},
46
  {at: 0, expect: 'calc(100px + 10%)'},
47
  {at: 0.5, expect: 'calc(50px + 20%)'},
48
  {at: 1, expect: '30%'},
49
  {at: 1.5, expect: 'calc(-50px + 40%)'},
50
]);
51
52
test_composition({
53
  property: 'min-height',
54
  underlying: '50px',
55
  addFrom: '100px',
56
  replaceTo: '200px',
57
}, [
58
  {at: -0.3, expect: '135px'},
59
  {at: 0, expect: '150px'},
60
  {at: 0.5, expect: '175px'},
61
  {at: 1, expect: '200px'},
62
  {at: 1.5, expect: '225px'},
63
]);
64
65
test_composition({
66
  property: 'min-height',
67
  underlying: '100px',
68
  addFrom: '100px',
69
  addTo: 'auto',
70
}, [
71
  {at: -0.3, expect: '200px'},
72
  {at: 0, expect: '200px'},
73
  {at: 0.5, expect: 'auto'},
74
  {at: 1, expect: 'auto'},
75
  {at: 1.5, expect: 'auto'},
76
]);
77
</script>
78
</body>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/animation/min-width-composition-expected.txt +27 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/animation/min-width-composition-expected.txt_sec1
1
2
FAIL Compositing: property <min-width> underlying [50px] from add [100px] to add [200px] at (-0.3) should be [120px] assert_equals: expected "120px " but got "70px "
3
FAIL Compositing: property <min-width> underlying [50px] from add [100px] to add [200px] at (0) should be [150px] assert_equals: expected "150px " but got "100px "
4
FAIL Compositing: property <min-width> underlying [50px] from add [100px] to add [200px] at (0.5) should be [200px] assert_equals: expected "200px " but got "150px "
5
FAIL Compositing: property <min-width> underlying [50px] from add [100px] to add [200px] at (1) should be [250px] assert_equals: expected "250px " but got "200px "
6
FAIL Compositing: property <min-width> underlying [50px] from add [100px] to add [200px] at (1.5) should be [300px] assert_equals: expected "300px " but got "250px "
7
FAIL Compositing: property <min-width> underlying [100px] from add [10px] to add [2px] at (-0.5) should be [114px] assert_equals: expected "114px " but got "14px "
8
FAIL Compositing: property <min-width> underlying [100px] from add [10px] to add [2px] at (0) should be [110px] assert_equals: expected "110px " but got "10px "
9
FAIL Compositing: property <min-width> underlying [100px] from add [10px] to add [2px] at (0.5) should be [106px] assert_equals: expected "106px " but got "6px "
10
FAIL Compositing: property <min-width> underlying [100px] from add [10px] to add [2px] at (1) should be [102px] assert_equals: expected "102px " but got "2px "
11
FAIL Compositing: property <min-width> underlying [100px] from add [10px] to add [2px] at (1.5) should be [98px] assert_equals: expected "98px " but got "- 2px "
12
FAIL Compositing: property <min-width> underlying [10%] from add [100px] to add [20%] at (-0.3) should be [calc(130px + 4%)] assert_equals: expected "calc ( 4 % + 130px ) " but got "100px "
13
FAIL Compositing: property <min-width> underlying [10%] from add [100px] to add [20%] at (0) should be [calc(100px + 10%)] assert_equals: expected "calc ( 10 % + 100px ) " but got "100px "
14
FAIL Compositing: property <min-width> underlying [10%] from add [100px] to add [20%] at (0.5) should be [calc(50px + 20%)] assert_equals: expected "calc ( 20 % + 50px ) " but got "calc ( ( 100px * 0.5 ) + ( 20 % * 0.5 ) ) "
15
FAIL Compositing: property <min-width> underlying [10%] from add [100px] to add [20%] at (1) should be [30%] assert_equals: expected "30 % " but got "20 % "
16
FAIL Compositing: property <min-width> underlying [10%] from add [100px] to add [20%] at (1.5) should be [calc(-50px + 40%)] assert_equals: expected "calc ( 40 % - 50px ) " but got "20 % "
17
FAIL Compositing: property <min-width> underlying [50px] from add [100px] to replace [200px] at (-0.3) should be [135px] assert_equals: expected "135px " but got "70px "
18
FAIL Compositing: property <min-width> underlying [50px] from add [100px] to replace [200px] at (0) should be [150px] assert_equals: expected "150px " but got "100px "
19
FAIL Compositing: property <min-width> underlying [50px] from add [100px] to replace [200px] at (0.5) should be [175px] assert_equals: expected "175px " but got "150px "
20
PASS Compositing: property <min-width> underlying [50px] from add [100px] to replace [200px] at (1) should be [200px] 
21
FAIL Compositing: property <min-width> underlying [50px] from add [100px] to replace [200px] at (1.5) should be [225px] assert_equals: expected "225px " but got "250px "
22
FAIL Compositing: property <min-width> underlying [100px] from add [100px] to add [auto] at (-0.3) should be [200px] assert_equals: expected "200px " but got "100px "
23
FAIL Compositing: property <min-width> underlying [100px] from add [100px] to add [auto] at (0) should be [200px] assert_equals: expected "200px " but got "100px "
24
PASS Compositing: property <min-width> underlying [100px] from add [100px] to add [auto] at (0.5) should be [auto] 
25
PASS Compositing: property <min-width> underlying [100px] from add [100px] to add [auto] at (1) should be [auto] 
26
PASS Compositing: property <min-width> underlying [100px] from add [100px] to add [auto] at (1.5) should be [auto] 
27
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/animation/min-width-composition.html +78 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/animation/min-width-composition.html_sec1
1
<!DOCTYPE html>
2
<meta charset="UTF-8">
3
<title>min-width composition</title>
4
<link rel="help" href="https://drafts.csswg.org/css-sizing-3/#propdef-min-width">
5
<meta name="assert" content="min-width supports animation by computed value">
6
7
<script src="/resources/testharness.js"></script>
8
<script src="/resources/testharnessreport.js"></script>
9
<script src="/css/support/interpolation-testcommon.js"></script>
10
11
<body>
12
<script>
13
test_composition({
14
  property: 'min-width',
15
  underlying: '50px',
16
  addFrom: '100px',
17
  addTo: '200px',
18
}, [
19
  {at: -0.3, expect: '120px'},
20
  {at: 0, expect: '150px'},
21
  {at: 0.5, expect: '200px'},
22
  {at: 1, expect: '250px'},
23
  {at: 1.5, expect: '300px'},
24
]);
25
26
test_composition({
27
  property: 'min-width',
28
  underlying: '100px',
29
  addFrom: '10px',
30
  addTo: '2px',
31
}, [
32
  {at: -0.5, expect: '114px'},
33
  {at: 0, expect: '110px'},
34
  {at: 0.5, expect: '106px'},
35
  {at: 1, expect: '102px'},
36
  {at: 1.5, expect: '98px'}, // Value clamping should happen after composition.
37
]);
38
39
test_composition({
40
  property: 'min-width',
41
  underlying: '10%',
42
  addFrom: '100px',
43
  addTo: '20%',
44
}, [
45
  {at: -0.3, expect: 'calc(130px + 4%)'},
46
  {at: 0, expect: 'calc(100px + 10%)'},
47
  {at: 0.5, expect: 'calc(50px + 20%)'},
48
  {at: 1, expect: '30%'},
49
  {at: 1.5, expect: 'calc(-50px + 40%)'},
50
]);
51
52
test_composition({
53
  property: 'min-width',
54
  underlying: '50px',
55
  addFrom: '100px',
56
  replaceTo: '200px',
57
}, [
58
  {at: -0.3, expect: '135px'},
59
  {at: 0, expect: '150px'},
60
  {at: 0.5, expect: '175px'},
61
  {at: 1, expect: '200px'},
62
  {at: 1.5, expect: '225px'},
63
]);
64
65
test_composition({
66
  property: 'min-width',
67
  underlying: '100px',
68
  addFrom: '100px',
69
  addTo: 'auto',
70
}, [
71
  {at: -0.3, expect: '200px'},
72
  {at: 0, expect: '200px'},
73
  {at: 0.5, expect: 'auto'},
74
  {at: 1, expect: 'auto'},
75
  {at: 1.5, expect: 'auto'},
76
]);
77
</script>
78
</body>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/animation/w3c-import.log +6 lines
Lines 14-22 Property values requiring vendor prefixes: a/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/animation/w3c-import.log_sec1
14
None
14
None
15
------------------------------------------------------------------------
15
------------------------------------------------------------------------
16
List of files:
16
List of files:
17
/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/animation/height-composition.html
17
/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/animation/height-interpolation.html
18
/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/animation/height-interpolation.html
19
/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/animation/max-height-composition.html
18
/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/animation/max-height-interpolation.html
20
/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/animation/max-height-interpolation.html
21
/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/animation/max-width-composition.html
19
/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/animation/max-width-interpolation.html
22
/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/animation/max-width-interpolation.html
23
/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/animation/min-height-composition.html
20
/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/animation/min-height-interpolation.html
24
/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/animation/min-height-interpolation.html
25
/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/animation/min-width-composition.html
21
/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/animation/min-width-interpolation.html
26
/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/animation/min-width-interpolation.html
27
/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/animation/width-composition.html
22
/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/animation/width-interpolation.html
28
/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/animation/width-interpolation.html
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/animation/width-composition-expected.txt +27 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/animation/width-composition-expected.txt_sec1
1
2
FAIL Compositing: property <width> underlying [50px] from add [100px] to add [200px] at (-0.3) should be [120px] assert_equals: expected "120px " but got "70px "
3
FAIL Compositing: property <width> underlying [50px] from add [100px] to add [200px] at (0) should be [150px] assert_equals: expected "150px " but got "100px "
4
FAIL Compositing: property <width> underlying [50px] from add [100px] to add [200px] at (0.5) should be [200px] assert_equals: expected "200px " but got "150px "
5
FAIL Compositing: property <width> underlying [50px] from add [100px] to add [200px] at (1) should be [250px] assert_equals: expected "250px " but got "200px "
6
FAIL Compositing: property <width> underlying [50px] from add [100px] to add [200px] at (1.5) should be [300px] assert_equals: expected "300px " but got "250px "
7
FAIL Compositing: property <width> underlying [100px] from add [10px] to add [2px] at (-0.5) should be [114px] assert_equals: expected "114px " but got "14px "
8
FAIL Compositing: property <width> underlying [100px] from add [10px] to add [2px] at (0) should be [110px] assert_equals: expected "110px " but got "10px "
9
FAIL Compositing: property <width> underlying [100px] from add [10px] to add [2px] at (0.5) should be [106px] assert_equals: expected "106px " but got "6px "
10
FAIL Compositing: property <width> underlying [100px] from add [10px] to add [2px] at (1) should be [102px] assert_equals: expected "102px " but got "2px "
11
FAIL Compositing: property <width> underlying [100px] from add [10px] to add [2px] at (1.5) should be [98px] assert_equals: expected "98px " but got "0px "
12
FAIL Compositing: property <width> underlying [10%] from add [100px] to add [20%] at (-0.3) should be [calc(130px + 4%)] assert_equals: expected "161.36px " but got "100px "
13
FAIL Compositing: property <width> underlying [10%] from add [100px] to add [20%] at (0) should be [calc(100px + 10%)] assert_equals: expected "178.39px " but got "100px "
14
FAIL Compositing: property <width> underlying [10%] from add [100px] to add [20%] at (0.5) should be [calc(50px + 20%)] assert_equals: expected "206.8px " but got "128.39px "
15
FAIL Compositing: property <width> underlying [10%] from add [100px] to add [20%] at (1) should be [30%] assert_equals: expected "235.19px " but got "156.8px "
16
FAIL Compositing: property <width> underlying [10%] from add [100px] to add [20%] at (1.5) should be [calc(-50px + 40%)] assert_equals: expected "263.59px " but got "156.8px "
17
FAIL Compositing: property <width> underlying [50px] from add [100px] to replace [200px] at (-0.3) should be [135px] assert_equals: expected "135px " but got "70px "
18
FAIL Compositing: property <width> underlying [50px] from add [100px] to replace [200px] at (0) should be [150px] assert_equals: expected "150px " but got "100px "
19
FAIL Compositing: property <width> underlying [50px] from add [100px] to replace [200px] at (0.5) should be [175px] assert_equals: expected "175px " but got "150px "
20
PASS Compositing: property <width> underlying [50px] from add [100px] to replace [200px] at (1) should be [200px] 
21
FAIL Compositing: property <width> underlying [50px] from add [100px] to replace [200px] at (1.5) should be [225px] assert_equals: expected "225px " but got "250px "
22
FAIL Compositing: property <width> underlying [100px] from add [100px] to add [auto] at (-0.3) should be [200px] assert_equals: expected "200px " but got "100px "
23
FAIL Compositing: property <width> underlying [100px] from add [100px] to add [auto] at (0) should be [200px] assert_equals: expected "200px " but got "100px "
24
PASS Compositing: property <width> underlying [100px] from add [100px] to add [auto] at (0.5) should be [auto] 
25
PASS Compositing: property <width> underlying [100px] from add [100px] to add [auto] at (1) should be [auto] 
26
PASS Compositing: property <width> underlying [100px] from add [100px] to add [auto] at (1.5) should be [auto] 
27
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/animation/width-composition.html +78 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/animation/width-composition.html_sec1
1
<!DOCTYPE html>
2
<meta charset="UTF-8">
3
<title>width composition</title>
4
<link rel="help" href="https://drafts.csswg.org/css-sizing-3/#propdef-width">
5
<meta name="assert" content="width supports animation by computed value">
6
7
<script src="/resources/testharness.js"></script>
8
<script src="/resources/testharnessreport.js"></script>
9
<script src="/css/support/interpolation-testcommon.js"></script>
10
11
<body>
12
<script>
13
test_composition({
14
  property: 'width',
15
  underlying: '50px',
16
  addFrom: '100px',
17
  addTo: '200px',
18
}, [
19
  {at: -0.3, expect: '120px'},
20
  {at: 0, expect: '150px'},
21
  {at: 0.5, expect: '200px'},
22
  {at: 1, expect: '250px'},
23
  {at: 1.5, expect: '300px'},
24
]);
25
26
test_composition({
27
  property: 'width',
28
  underlying: '100px',
29
  addFrom: '10px',
30
  addTo: '2px',
31
}, [
32
  {at: -0.5, expect: '114px'},
33
  {at: 0, expect: '110px'},
34
  {at: 0.5, expect: '106px'},
35
  {at: 1, expect: '102px'},
36
  {at: 1.5, expect: '98px'}, // Value clamping should happen after composition.
37
]);
38
39
test_composition({
40
  property: 'width',
41
  underlying: '10%',
42
  addFrom: '100px',
43
  addTo: '20%',
44
}, [
45
  {at: -0.3, expect: 'calc(130px + 4%)'},
46
  {at: 0, expect: 'calc(100px + 10%)'},
47
  {at: 0.5, expect: 'calc(50px + 20%)'},
48
  {at: 1, expect: '30%'},
49
  {at: 1.5, expect: 'calc(-50px + 40%)'},
50
]);
51
52
test_composition({
53
  property: 'width',
54
  underlying: '50px',
55
  addFrom: '100px',
56
  replaceTo: '200px',
57
}, [
58
  {at: -0.3, expect: '135px'},
59
  {at: 0, expect: '150px'},
60
  {at: 0.5, expect: '175px'},
61
  {at: 1, expect: '200px'},
62
  {at: 1.5, expect: '225px'},
63
]);
64
65
test_composition({
66
  property: 'width',
67
  underlying: '100px',
68
  addFrom: '100px',
69
  addTo: 'auto',
70
}, [
71
  {at: -0.3, expect: '200px'},
72
  {at: 0, expect: '200px'},
73
  {at: 0.5, expect: 'auto'},
74
  {at: 1, expect: 'auto'},
75
  {at: 1.5, expect: 'auto'},
76
]);
77
</script>
78
</body>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/abspos-001.tentative-expected.xht +19 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/abspos-001.tentative-expected.xht_sec1
1
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
2
<html xmlns="http://www.w3.org/1999/xhtml">
3
 <head>
4
  <title>CSS Reftest Reference</title>
5
  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
6
  <style type="text/css"><![CDATA[
7
  div
8
  {
9
  background-color: green;
10
  height: 100px;
11
  width: 100px;
12
  }
13
  ]]></style>
14
 </head>
15
 <body>
16
  <p>Test passes if there is a filled green square and <strong>no red</strong>.</p>
17
  <div></div>
18
 </body>
19
</html>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/abspos-001.tentative.html +9 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/abspos-001.tentative.html_sec1
1
<!DOCTYPE html>
2
<title>CSS aspect-ratio: out-of-flow div block size</title>
3
<link rel="author" title="Google LLC" href="https://www.google.com/">
4
<link rel="help" href="https://drafts.csswg.org/css-sizing-4/#aspect-ratio">
5
<link rel="match" href="../../reference/ref-filled-green-100px-square.xht" />
6
7
<p>Test passes if there is a filled green square and <strong>no red</strong>.</p>
8
9
<div style="background: green; width: 100px; -webkit-aspect-ratio: 1/1; position: absolute;"></div>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/abspos-002.tentative-expected.xht +19 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/abspos-002.tentative-expected.xht_sec1
1
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
2
<html xmlns="http://www.w3.org/1999/xhtml">
3
 <head>
4
  <title>CSS Reftest Reference</title>
5
  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
6
  <style type="text/css"><![CDATA[
7
  div
8
  {
9
  background-color: green;
10
  height: 100px;
11
  width: 100px;
12
  }
13
  ]]></style>
14
 </head>
15
 <body>
16
  <p>Test passes if there is a filled green square and <strong>no red</strong>.</p>
17
  <div></div>
18
 </body>
19
</html>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/abspos-002.tentative.html +9 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/abspos-002.tentative.html_sec1
1
<!DOCTYPE html>
2
<title>CSS aspect-ratio: abspos div inline size</title>
3
<link rel="author" title="Google LLC" href="https://www.google.com/">
4
<link rel="help" href="https://drafts.csswg.org/css-sizing-4/#aspect-ratio">
5
<link rel="match" href="../../reference/ref-filled-green-100px-square.xht" />
6
7
<p>Test passes if there is a filled green square and <strong>no red</strong>.</p>
8
9
<div style="background: green; height: 100px; -webkit-aspect-ratio: 1/1; position: absolute;"></div>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/abspos-003.tentative-expected.xht +19 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/abspos-003.tentative-expected.xht_sec1
1
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
2
<html xmlns="http://www.w3.org/1999/xhtml">
3
 <head>
4
  <title>CSS Reftest Reference</title>
5
  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
6
  <style type="text/css"><![CDATA[
7
  div
8
  {
9
  background-color: green;
10
  height: 100px;
11
  width: 100px;
12
  }
13
  ]]></style>
14
 </head>
15
 <body>
16
  <p>Test passes if there is a filled green square and <strong>no red</strong>.</p>
17
  <div></div>
18
 </body>
19
</html>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/abspos-003.tentative.html +11 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/abspos-003.tentative.html_sec1
1
<!DOCTYPE html>
2
<title>CSS aspect-ratio: out-of-flow div block size</title>
3
<link rel="author" title="Google LLC" href="https://www.google.com/">
4
<link rel="help" href="https://drafts.csswg.org/css-sizing-4/#aspect-ratio">
5
<link rel="match" href="../../reference/ref-filled-green-100px-square.xht" />
6
7
<p>Test passes if there is a filled green square and <strong>no red</strong>.</p>
8
9
<div style="width: 100px; height: 500px; position: relative;">
10
  <div style="background: green; -webkit-aspect-ratio: 1/1; position: absolute; left: 0; right: 0; top: 0; bottom: 0;"></div>
11
</div>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/abspos-004.tentative-expected.xht +19 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/abspos-004.tentative-expected.xht_sec1
1
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
2
<html xmlns="http://www.w3.org/1999/xhtml">
3
 <head>
4
  <title>CSS Reftest Reference</title>
5
  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
6
  <style type="text/css"><![CDATA[
7
  div
8
  {
9
  background-color: green;
10
  height: 100px;
11
  width: 100px;
12
  }
13
  ]]></style>
14
 </head>
15
 <body>
16
  <p>Test passes if there is a filled green square and <strong>no red</strong>.</p>
17
  <div></div>
18
 </body>
19
</html>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/abspos-004.tentative.html +15 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/abspos-004.tentative.html_sec1
1
<!DOCTYPE html>
2
<title>CSS aspect-ratio: abspos div inline size</title>
3
<link rel="author" title="Google LLC" href="https://www.google.com/">
4
<link rel="help" href="https://drafts.csswg.org/css-sizing-4/#aspect-ratio">
5
<link rel="match" href="../../reference/ref-filled-green-100px-square.xht" />
6
7
<!-- It is not entirely clear if this is testing the right behavior. See:
8
     https://github.com/w3c/csswg-drafts/issues/5151
9
  -->
10
11
<p>Test passes if there is a filled green square and <strong>no red</strong>.</p>
12
13
<div style="width: 500px; height: 100px; position: relative;">
14
  <div style="background: green; -webkit-aspect-ratio: 1/1; position: absolute; left: 0; top: 0; bottom: 0;"></div>
15
</div>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/abspos-005.tentative-expected.xht +19 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/abspos-005.tentative-expected.xht_sec1
1
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
2
<html xmlns="http://www.w3.org/1999/xhtml">
3
 <head>
4
  <title>CSS Reftest Reference</title>
5
  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
6
  <style type="text/css"><![CDATA[
7
  div
8
  {
9
  background-color: green;
10
  height: 100px;
11
  width: 100px;
12
  }
13
  ]]></style>
14
 </head>
15
 <body>
16
  <p>Test passes if there is a filled green square and <strong>no red</strong>.</p>
17
  <div></div>
18
 </body>
19
</html>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/abspos-005.tentative.html +11 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/abspos-005.tentative.html_sec1
1
<!DOCTYPE html>
2
<title>CSS aspect-ratio: out-of-flow div block size</title>
3
<link rel="author" title="Google LLC" href="https://www.google.com/">
4
<link rel="help" href="https://drafts.csswg.org/css-sizing-4/#aspect-ratio">
5
<link rel="match" href="../../reference/ref-filled-green-100px-square.xht" />
6
7
<p>Test passes if there is a filled green square and <strong>no red</strong>.</p>
8
9
<div style="width: 100px; height: 500px; position: relative;">
10
  <div style="background: green; -webkit-aspect-ratio: 1/1; width: 100px; position: absolute; left: 0; right: 0; top: 0; bottom: 0;"></div>
11
</div>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/abspos-006.tentative-expected.xht +19 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/abspos-006.tentative-expected.xht_sec1
1
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
2
<html xmlns="http://www.w3.org/1999/xhtml">
3
 <head>
4
  <title>CSS Reftest Reference</title>
5
  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
6
  <style type="text/css"><![CDATA[
7
  div
8
  {
9
  background-color: green;
10
  height: 100px;
11
  width: 100px;
12
  }
13
  ]]></style>
14
 </head>
15
 <body>
16
  <p>Test passes if there is a filled green square and <strong>no red</strong>.</p>
17
  <div></div>
18
 </body>
19
</html>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/abspos-006.tentative.html +11 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/abspos-006.tentative.html_sec1
1
<!DOCTYPE html>
2
<title>CSS aspect-ratio: abspos div inline size</title>
3
<link rel="author" title="Google LLC" href="https://www.google.com/">
4
<link rel="help" href="https://drafts.csswg.org/css-sizing-4/#aspect-ratio">
5
<link rel="match" href="../../reference/ref-filled-green-100px-square.xht" />
6
7
<p>Test passes if there is a filled green square and <strong>no red</strong>.</p>
8
9
<div style="width: 500px; height: 100px; position: relative;">
10
  <div style="background: green; -webkit-aspect-ratio: 1/1; height: 100px; position: absolute; left: 0; right: 0; top: 0; bottom: 0;"></div>
11
</div>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/abspos-007.tentative-expected.xht +19 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/abspos-007.tentative-expected.xht_sec1
1
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
2
<html xmlns="http://www.w3.org/1999/xhtml">
3
 <head>
4
  <title>CSS Reftest Reference</title>
5
  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
6
  <style type="text/css"><![CDATA[
7
  div
8
  {
9
  background-color: green;
10
  height: 100px;
11
  width: 100px;
12
  }
13
  ]]></style>
14
 </head>
15
 <body>
16
  <p>Test passes if there is a filled green square and <strong>no red</strong>.</p>
17
  <div></div>
18
 </body>
19
</html>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/abspos-007.tentative.html +13 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/abspos-007.tentative.html_sec1
1
<!DOCTYPE html>
2
<title>CSS aspect-ratio: out-of-flow div block size</title>
3
<link rel="author" title="Google LLC" href="https://www.google.com/">
4
<link rel="help" href="https://drafts.csswg.org/css-sizing-4/#aspect-ratio">
5
<link rel="match" href="../../reference/ref-filled-green-100px-square.xht" />
6
7
<p>Test passes if there is a filled green square and <strong>no red</strong>.</p>
8
9
<div style="position: relative; width: 200px; height: 200px;">
10
  <div style="position: absolute; -webkit-aspect-ratio: 1/1; background: green;"> <!-- should be 100px tall -->
11
    <div style="width: 100px;"></div>
12
  </div>
13
</div>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/abspos-008.tentative-expected.xht +19 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/abspos-008.tentative-expected.xht_sec1
1
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
2
<html xmlns="http://www.w3.org/1999/xhtml">
3
 <head>
4
  <title>CSS Reftest Reference</title>
5
  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
6
  <style type="text/css"><![CDATA[
7
  div
8
  {
9
  background-color: green;
10
  height: 100px;
11
  width: 100px;
12
  }
13
  ]]></style>
14
 </head>
15
 <body>
16
  <p>Test passes if there is a filled green square and <strong>no red</strong>.</p>
17
  <div></div>
18
 </body>
19
</html>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/abspos-008.tentative.html +25 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/abspos-008.tentative.html_sec1
1
<!DOCTYPE html>
2
<title>CSS aspect-ratio: abspos div inline size with max-height</title>
3
<link rel="author" title="Google LLC" href="https://www.google.com/">
4
<link rel="help" href="https://drafts.csswg.org/css-sizing-4/#aspect-ratio">
5
<link rel="help" href="https://github.com/w3c/csswg-drafts/issues/5257">
6
<link rel="match" href="../../reference/ref-filled-green-100px-square.xht" />
7
<meta name="assert" content="A max-height constraint should be transferred through the aspect-ratio to apply to the inline size">
8
9
<p>Test passes if there is a filled green square and <strong>no red</strong>.</p>
10
11
<div style="position: relative; height: 100px; position: relative;">
12
  <div style="position: absolute; -webkit-aspect-ratio: 1/1; max-height: 100%; background: green; color: green;">
13
    <!-- max-size 200px, min-size: 20px -->
14
    <div style="width: 20px; height: 10px; vertical-align: bottom;"></div>
15
    <div style="width: 20px; height: 10px; vertical-align: bottom;"></div>
16
    <div style="width: 20px; height: 10px; vertical-align: bottom;"></div>
17
    <div style="width: 20px; height: 10px; vertical-align: bottom;"></div>
18
    <div style="width: 20px; height: 10px; vertical-align: bottom;"></div>
19
    <div style="width: 20px; height: 10px; vertical-align: bottom;"></div>
20
    <div style="width: 20px; height: 10px; vertical-align: bottom;"></div>
21
    <div style="width: 20px; height: 10px; vertical-align: bottom;"></div>
22
    <div style="width: 20px; height: 10px; vertical-align: bottom;"></div>
23
    <div style="width: 20px; height: 10px; vertical-align: bottom;"></div>
24
  </div>
25
</div>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/auto-margins-001.tentative-expected.xht +19 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/auto-margins-001.tentative-expected.xht_sec1
1
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
2
<html xmlns="http://www.w3.org/1999/xhtml">
3
 <head>
4
  <title>CSS Reftest Reference</title>
5
  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
6
  <style type="text/css"><![CDATA[
7
  div
8
  {
9
  background-color: green;
10
  height: 100px;
11
  width: 100px;
12
  }
13
  ]]></style>
14
 </head>
15
 <body>
16
  <p>Test passes if there is a filled green square and <strong>no red</strong>.</p>
17
  <div></div>
18
 </body>
19
</html>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/auto-margins-001.tentative.html +11 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/auto-margins-001.tentative.html_sec1
1
<!DOCTYPE html>
2
<title>CSS aspect-ratio: div inline size</title>
3
<link rel="author" title="Google LLC" href="https://www.google.com/">
4
<link rel="help" href="https://drafts.csswg.org/css-sizing-4/#aspect-ratio">
5
<link rel="match" href="../../reference/ref-filled-green-100px-square.xht" />
6
7
<p>Test passes if there is a filled green square and <strong>no red</strong>.</p>
8
9
<div style="width: 200px; margin-left: -50px;">
10
  <div style="height: 100px; -webkit-aspect-ratio: 1/1; margin: auto; background: green;"></div>
11
</div>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/block-aspect-ratio-001.tentative-expected.xht +19 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/block-aspect-ratio-001.tentative-expected.xht_sec1
1
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
2
<html xmlns="http://www.w3.org/1999/xhtml">
3
 <head>
4
  <title>CSS Reftest Reference</title>
5
  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
6
  <style type="text/css"><![CDATA[
7
  div
8
  {
9
  background-color: green;
10
  height: 100px;
11
  width: 100px;
12
  }
13
  ]]></style>
14
 </head>
15
 <body>
16
  <p>Test passes if there is a filled green square and <strong>no red</strong>.</p>
17
  <div></div>
18
 </body>
19
</html>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/block-aspect-ratio-001.tentative.html +9 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/block-aspect-ratio-001.tentative.html_sec1
1
<!DOCTYPE html>
2
<title>CSS aspect-ratio: div block size</title>
3
<link rel="author" title="Google LLC" href="https://www.google.com/">
4
<link rel="help" href="https://drafts.csswg.org/css-sizing-4/#aspect-ratio">
5
<link rel="match" href="../../reference/ref-filled-green-100px-square.xht" />
6
7
<p>Test passes if there is a filled green square and <strong>no red</strong>.</p>
8
9
<div style="background: green; width: 100px; -webkit-aspect-ratio: 1/1;"></div>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/block-aspect-ratio-002.tentative-expected.xht +19 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/block-aspect-ratio-002.tentative-expected.xht_sec1
1
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
2
<html xmlns="http://www.w3.org/1999/xhtml">
3
 <head>
4
  <title>CSS Reftest Reference</title>
5
  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
6
  <style type="text/css"><![CDATA[
7
  div
8
  {
9
  background-color: green;
10
  height: 100px;
11
  width: 100px;
12
  }
13
  ]]></style>
14
 </head>
15
 <body>
16
  <p>Test passes if there is a filled green square and <strong>no red</strong>.</p>
17
  <div></div>
18
 </body>
19
</html>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/block-aspect-ratio-002.tentative.html +9 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/block-aspect-ratio-002.tentative.html_sec1
1
<!DOCTYPE html>
2
<title>CSS aspect-ratio: div inline size</title>
3
<link rel="author" title="Google LLC" href="https://www.google.com/">
4
<link rel="help" href="https://drafts.csswg.org/css-sizing-4/#aspect-ratio">
5
<link rel="match" href="../../reference/ref-filled-green-100px-square.xht" />
6
7
<p>Test passes if there is a filled green square and <strong>no red</strong>.</p>
8
9
<div style="background: green; height: 100px; -webkit-aspect-ratio: 1/1;"></div>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/block-aspect-ratio-003.tentative-expected.xht +19 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/block-aspect-ratio-003.tentative-expected.xht_sec1
1
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
2
<html xmlns="http://www.w3.org/1999/xhtml">
3
 <head>
4
  <title>CSS Reftest Reference</title>
5
  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
6
  <style type="text/css"><![CDATA[
7
  div
8
  {
9
  background-color: green;
10
  height: 100px;
11
  width: 100px;
12
  }
13
  ]]></style>
14
 </head>
15
 <body>
16
  <p>Test passes if there is a filled green square and <strong>no red</strong>.</p>
17
  <div></div>
18
 </body>
19
</html>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/block-aspect-ratio-003.tentative.html +10 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/block-aspect-ratio-003.tentative.html_sec1
1
<!DOCTYPE html>
2
<title>CSS aspect-ratio: div block size in vertical writing mode</title>
3
<link rel="author" title="Google LLC" href="https://www.google.com/">
4
<link rel="help" href="https://drafts.csswg.org/css-sizing-4/#aspect-ratio">
5
<link rel="match" href="../../reference/ref-filled-green-100px-square.xht" />
6
7
<p>Test passes if there is a filled green square and <strong>no red</strong>.</p>
8
9
<div style="background: green; writing-mode: vertical-lr; width: 100px; -webkit-aspect-ratio: 2/1;"></div>
10
<div style="background: green; width: 100px; height: 50px;"></div>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/block-aspect-ratio-004.tentative-expected.xht +19 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/block-aspect-ratio-004.tentative-expected.xht_sec1
1
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
2
<html xmlns="http://www.w3.org/1999/xhtml">
3
 <head>
4
  <title>CSS Reftest Reference</title>
5
  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
6
  <style type="text/css"><![CDATA[
7
  div
8
  {
9
  background-color: green;
10
  height: 100px;
11
  width: 100px;
12
  }
13
  ]]></style>
14
 </head>
15
 <body>
16
  <p>Test passes if there is a filled green square and <strong>no red</strong>.</p>
17
  <div></div>
18
 </body>
19
</html>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/block-aspect-ratio-004.tentative.html +9 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/block-aspect-ratio-004.tentative.html_sec1
1
<!DOCTYPE html>
2
<title>CSS aspect-ratio: div block size with box-sizing</title>
3
<link rel="author" title="Google LLC" href="https://www.google.com/">
4
<link rel="help" href="https://drafts.csswg.org/css-sizing-4/#aspect-ratio">
5
<link rel="match" href="../../reference/ref-filled-green-100px-square.xht" />
6
7
<p>Test passes if there is a filled green square and <strong>no red</strong>.</p>
8
9
<div style="background: green; width: 100px; -webkit-aspect-ratio: 1/1; box-sizing: border-box; padding-left: 50px;"></div>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/block-aspect-ratio-005.tentative-expected.xht +19 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/block-aspect-ratio-005.tentative-expected.xht_sec1
1
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
2
<html xmlns="http://www.w3.org/1999/xhtml">
3
 <head>
4
  <title>CSS Reftest Reference</title>
5
  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
6
  <style type="text/css"><![CDATA[
7
  div
8
  {
9
  background-color: green;
10
  height: 100px;
11
  width: 100px;
12
  }
13
  ]]></style>
14
 </head>
15
 <body>
16
  <p>Test passes if there is a filled green square and <strong>no red</strong>.</p>
17
  <div></div>
18
 </body>
19
</html>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/block-aspect-ratio-005.tentative.html +9 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/block-aspect-ratio-005.tentative.html_sec1
1
<!DOCTYPE html>
2
<title>CSS aspect-ratio: div block size with box-sizing</title>
3
<link rel="author" title="Google LLC" href="https://www.google.com/">
4
<link rel="help" href="https://drafts.csswg.org/css-sizing-4/#aspect-ratio">
5
<link rel="match" href="../../reference/ref-filled-green-100px-square.xht" />
6
7
<p>Test passes if there is a filled green square and <strong>no red</strong>.</p>
8
9
<div style="background: green; width: 50px; -webkit-aspect-ratio: 1/2; padding-left: 50px;"></div>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/block-aspect-ratio-006.tentative-expected.xht +19 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/block-aspect-ratio-006.tentative-expected.xht_sec1
1
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
2
<html xmlns="http://www.w3.org/1999/xhtml">
3
 <head>
4
  <title>CSS Reftest Reference</title>
5
  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
6
  <style type="text/css"><![CDATA[
7
  div
8
  {
9
  background-color: green;
10
  height: 100px;
11
  width: 100px;
12
  }
13
  ]]></style>
14
 </head>
15
 <body>
16
  <p>Test passes if there is a filled green square and <strong>no red</strong>.</p>
17
  <div></div>
18
 </body>
19
</html>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/block-aspect-ratio-006.tentative.html +9 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/block-aspect-ratio-006.tentative.html_sec1
1
<!DOCTYPE html>
2
<title>CSS aspect-ratio: div inline size with box-sizing</title>
3
<link rel="author" title="Google LLC" href="https://www.google.com/">
4
<link rel="help" href="https://drafts.csswg.org/css-sizing-4/#aspect-ratio">
5
<link rel="match" href="../../reference/ref-filled-green-100px-square.xht" />
6
7
<p>Test passes if there is a filled green square and <strong>no red</strong>.</p>
8
9
<div style="background: green; height: 100px; -webkit-aspect-ratio: 1/1; box-sizing: border-box; padding-top: 50px;"></div>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/block-aspect-ratio-007.tentative-expected.xht +19 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/block-aspect-ratio-007.tentative-expected.xht_sec1
1
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
2
<html xmlns="http://www.w3.org/1999/xhtml">
3
 <head>
4
  <title>CSS Reftest Reference</title>
5
  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
6
  <style type="text/css"><![CDATA[
7
  div
8
  {
9
  background-color: green;
10
  height: 100px;
11
  width: 100px;
12
  }
13
  ]]></style>
14
 </head>
15
 <body>
16
  <p>Test passes if there is a filled green square and <strong>no red</strong>.</p>
17
  <div></div>
18
 </body>
19
</html>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/block-aspect-ratio-007.tentative.html +9 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/block-aspect-ratio-007.tentative.html_sec1
1
<!DOCTYPE html>
2
<title>CSS aspect-ratio: div inline size with box-sizing</title>
3
<link rel="author" title="Google LLC" href="https://www.google.com/">
4
<link rel="help" href="https://drafts.csswg.org/css-sizing-4/#aspect-ratio">
5
<link rel="match" href="../../reference/ref-filled-green-100px-square.xht" />
6
7
<p>Test passes if there is a filled green square and <strong>no red</strong>.</p>
8
9
<div style="background: green; height: 50px; -webkit-aspect-ratio: 2/1; padding-top: 50px;"></div>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/block-aspect-ratio-008.tentative-expected.xht +19 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/block-aspect-ratio-008.tentative-expected.xht_sec1
1
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
2
<html xmlns="http://www.w3.org/1999/xhtml">
3
 <head>
4
  <title>CSS Reftest Reference</title>
5
  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
6
  <style type="text/css"><![CDATA[
7
  div
8
  {
9
  background-color: green;
10
  height: 100px;
11
  width: 100px;
12
  }
13
  ]]></style>
14
 </head>
15
 <body>
16
  <p>Test passes if there is a filled green square and <strong>no red</strong>.</p>
17
  <div></div>
18
 </body>
19
</html>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/block-aspect-ratio-008.tentative.html +13 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/block-aspect-ratio-008.tentative.html_sec1
1
<!DOCTYPE html>
2
<title>CSS aspect-ratio: div block size</title>
3
<link rel="author" title="Google LLC" href="https://www.google.com/">
4
<link rel="help" href="https://drafts.csswg.org/css-sizing-4/#aspect-ratio">
5
<link rel="help" href="https://github.com/w3c/csswg-drafts/issues/5060">
6
<link rel="match" href="../../reference/ref-filled-green-100px-square.xht" />
7
<meta name="assert" content="Aspect ratio should be used even if width and height are auto.">
8
9
<p>Test passes if there is a filled green square and <strong>no red</strong>.</p>
10
11
<div style="width: 100px;">
12
  <div style="background: green; -webkit-aspect-ratio: 1/1;"></div>
13
</div>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/block-aspect-ratio-009.tentative-expected.xht +19 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/block-aspect-ratio-009.tentative-expected.xht_sec1
1
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
2
<html xmlns="http://www.w3.org/1999/xhtml">
3
 <head>
4
  <title>CSS Reftest Reference</title>
5
  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
6
  <style type="text/css"><![CDATA[
7
  div
8
  {
9
  background-color: green;
10
  height: 100px;
11
  width: 100px;
12
  }
13
  ]]></style>
14
 </head>
15
 <body>
16
  <p>Test passes if there is a filled green square and <strong>no red</strong>.</p>
17
  <div></div>
18
 </body>
19
</html>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/block-aspect-ratio-009.tentative.html +11 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/block-aspect-ratio-009.tentative.html_sec1
1
<!DOCTYPE html>
2
<title>CSS aspect-ratio: div block size + min-height: auto</title>
3
<link rel="author" title="Google LLC" href="https://www.google.com/">
4
<link rel="help" href="https://drafts.csswg.org/css-sizing-4/#aspect-ratio">
5
<link rel="match" href="../../reference/ref-filled-green-100px-square.xht" />
6
7
<p>Test passes if there is a filled green square and <strong>no red</strong>.</p>
8
9
<div style="background: green; width: 100px; -webkit-aspect-ratio: 2/1;">
10
  <div style="height: 100px"></div>
11
</div>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/block-aspect-ratio-010.tentative-expected.xht +19 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/block-aspect-ratio-010.tentative-expected.xht_sec1
1
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
2
<html xmlns="http://www.w3.org/1999/xhtml">
3
 <head>
4
  <title>CSS Reftest Reference</title>
5
  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
6
  <style type="text/css"><![CDATA[
7
  div
8
  {
9
  background-color: green;
10
  height: 100px;
11
  width: 100px;
12
  }
13
  ]]></style>
14
 </head>
15
 <body>
16
  <p>Test passes if there is a filled green square and <strong>no red</strong>.</p>
17
  <div></div>
18
 </body>
19
</html>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/block-aspect-ratio-010.tentative.html +13 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/block-aspect-ratio-010.tentative.html_sec1
1
<!DOCTYPE html>
2
<title>CSS aspect-ratio: div block size + min-height: auto</title>
3
<link rel="author" title="Google LLC" href="https://www.google.com/">
4
<link rel="help" href="https://drafts.csswg.org/css-sizing-4/#aspect-ratio">
5
<link rel="match" href="../../reference/ref-filled-green-100px-square.xht" />
6
<meta name="assert" content="Setting overflow to non-visible/clip should not apply min-height: auto">
7
8
<p>Test passes if there is a filled green square and <strong>no red</strong>.</p>
9
10
<div style="background: green; width: 100px; -webkit-aspect-ratio: 1/1; overflow: hidden;">
11
  <div style="height: 100px"></div>
12
  <div style="height: 500px; background: red;"></div>
13
</div>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/block-aspect-ratio-011.tentative-expected.html +8 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/block-aspect-ratio-011.tentative-expected.html_sec1
1
<!DOCTYPE html>
2
<link rel="author" title="Google LLC" href="https://www.google.com/">
3
4
<p>Test passes if there is a filled green square and <strong>no red</strong>.</p>
5
6
<div style="background: green; width: 100px; height: 100px; overflow-y: scroll;">
7
  <div style="height: 600px"></div>
8
</div>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/block-aspect-ratio-011.tentative.html +13 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/block-aspect-ratio-011.tentative.html_sec1
1
<!DOCTYPE html>
2
<title>CSS aspect-ratio: div block size + min-height: auto</title>
3
<link rel="author" title="Google LLC" href="https://www.google.com/">
4
<link rel="help" href="https://drafts.csswg.org/css-sizing-4/#aspect-ratio">
5
<link rel="match" href="reference/ref-square-with-vertical-scrollbar.html" />
6
<meta name="assert" content="Setting overflow to non-visible/clip should not apply min-height: auto">
7
8
<p>Test passes if there is a filled green square and <strong>no red</strong>.</p>
9
10
<div style="background: green; width: 100px; -webkit-aspect-ratio: 1/1; overflow: auto;">
11
  <div style="height: 100px"></div>
12
  <div style="height: 500px; background: red;"></div>
13
</div>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/block-aspect-ratio-012.tentative-expected.html +8 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/block-aspect-ratio-012.tentative-expected.html_sec1
1
<!DOCTYPE html>
2
<link rel="author" title="Google LLC" href="https://www.google.com/">
3
4
<p>Test passes if there is a filled green square and <strong>no red</strong>.</p>
5
6
<div style="background: green; width: 100px; height: 100px; overflow: scroll;">
7
  <div style="height: 600px"></div>
8
</div>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/block-aspect-ratio-012.tentative.html +13 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/block-aspect-ratio-012.tentative.html_sec1
1
<!DOCTYPE html>
2
<title>CSS aspect-ratio: div block size + min-height: auto</title>
3
<link rel="author" title="Google LLC" href="https://www.google.com/">
4
<link rel="help" href="https://drafts.csswg.org/css-sizing-4/#aspect-ratio">
5
<link rel="match" href="reference/ref-square-with-scrollbar.html" />
6
<meta name="assert" content="Setting overflow to non-visible/clip should not apply min-height: auto">
7
8
<p>Test passes if there is a filled green square and <strong>no red</strong>.</p>
9
10
<div style="background: green; width: 100px; -webkit-aspect-ratio: 1/1; overflow: scroll;">
11
  <div style="height: 100px"></div>
12
  <div style="height: 500px; background: red;"></div>
13
</div>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/block-aspect-ratio-013.tentative-expected.xht +19 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/block-aspect-ratio-013.tentative-expected.xht_sec1
1
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
2
<html xmlns="http://www.w3.org/1999/xhtml">
3
 <head>
4
  <title>CSS Reftest Reference</title>
5
  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
6
  <style type="text/css"><![CDATA[
7
  div
8
  {
9
  background-color: green;
10
  height: 100px;
11
  width: 100px;
12
  }
13
  ]]></style>
14
 </head>
15
 <body>
16
  <p>Test passes if there is a filled green square and <strong>no red</strong>.</p>
17
  <div></div>
18
 </body>
19
</html>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/block-aspect-ratio-013.tentative.html +12 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/block-aspect-ratio-013.tentative.html_sec1
1
<!DOCTYPE html>
2
<title>CSS aspect-ratio: div block size + min-height: auto</title>
3
<link rel="author" title="Google LLC" href="https://www.google.com/">
4
<link rel="help" href="https://drafts.csswg.org/css-sizing-4/#aspect-ratio">
5
<link rel="match" href="../../reference/ref-filled-green-100px-square.xht" />
6
<meta name="assert" content="With min-height: auto and content smaller than the aspect ratio size, we should still size per aspect-ratio">
7
8
<p>Test passes if there is a filled green square and <strong>no red</strong>.</p>
9
10
<div style="background: green; width: 100px; -webkit-aspect-ratio: 1/1;">
11
  <div style="height: 50px"></div>
12
</div>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/block-aspect-ratio-014.tentative-expected.xht +19 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/block-aspect-ratio-014.tentative-expected.xht_sec1
1
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
2
<html xmlns="http://www.w3.org/1999/xhtml">
3
 <head>
4
  <title>CSS Reftest Reference</title>
5
  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
6
  <style type="text/css"><![CDATA[
7
  div
8
  {
9
  background-color: green;
10
  height: 100px;
11
  width: 100px;
12
  }
13
  ]]></style>
14
 </head>
15
 <body>
16
  <p>Test passes if there is a filled green square and <strong>no red</strong>.</p>
17
  <div></div>
18
 </body>
19
</html>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/block-aspect-ratio-014.tentative.html +11 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/block-aspect-ratio-014.tentative.html_sec1
1
<!DOCTYPE html>
2
<title>CSS aspect-ratio: div block size + min-height: auto</title>
3
<link rel="author" title="Google LLC" href="https://www.google.com/">
4
<link rel="help" href="https://drafts.csswg.org/css-sizing-4/#aspect-ratio">
5
<link rel="match" href="../../reference/ref-filled-green-100px-square.xht" />
6
7
<p>Test passes if there is a filled green square and <strong>no red</strong>.</p>
8
9
<div style="writing-mode: vertical-lr; background: green; height: 100px; -webkit-aspect-ratio: 1/2;">
10
  <div style="width: 100px"></div>
11
</div>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/block-aspect-ratio-015.tentative-expected.xht +19 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/block-aspect-ratio-015.tentative-expected.xht_sec1
1
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
2
<html xmlns="http://www.w3.org/1999/xhtml">
3
 <head>
4
  <title>CSS Reftest Reference</title>
5
  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
6
  <style type="text/css"><![CDATA[
7
  div
8
  {
9
  background-color: green;
10
  height: 100px;
11
  width: 100px;
12
  }
13
  ]]></style>
14
 </head>
15
 <body>
16
  <p>Test passes if there is a filled green square and <strong>no red</strong>.</p>
17
  <div></div>
18
 </body>
19
</html>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/block-aspect-ratio-015.tentative.html +11 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/block-aspect-ratio-015.tentative.html_sec1
1
<!DOCTYPE html>
2
<title>CSS aspect-ratio: div inline size + min-width: auto</title>
3
<link rel="author" title="Google LLC" href="https://www.google.com/">
4
<link rel="help" href="https://drafts.csswg.org/css-sizing-4/#aspect-ratio">
5
<link rel="match" href="../../reference/ref-filled-green-100px-square.xht" />
6
7
<p>Test passes if there is a filled green square and <strong>no red</strong>.</p>
8
9
<div style="background: green; height: 100px; -webkit-aspect-ratio: 1/2;">
10
  <div style="width: 100px;"></div>
11
</div>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/block-aspect-ratio-016.tentative-expected.xht +19 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/block-aspect-ratio-016.tentative-expected.xht_sec1
1
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
2
<html xmlns="http://www.w3.org/1999/xhtml">
3
 <head>
4
  <title>CSS Reftest Reference</title>
5
  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
6
  <style type="text/css"><![CDATA[
7
  div
8
  {
9
  background-color: green;
10
  height: 100px;
11
  width: 100px;
12
  }
13
  ]]></style>
14
 </head>
15
 <body>
16
  <p>Test passes if there is a filled green square and <strong>no red</strong>.</p>
17
  <div></div>
18
 </body>
19
</html>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/block-aspect-ratio-016.tentative.html +12 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/block-aspect-ratio-016.tentative.html_sec1
1
<!DOCTYPE html>
2
<title>CSS aspect-ratio: div inline size + min-width: auto</title>
3
<link rel="author" title="Google LLC" href="https://www.google.com/">
4
<link rel="help" href="https://drafts.csswg.org/css-sizing-4/#aspect-ratio">
5
<link rel="match" href="../../reference/ref-filled-green-100px-square.xht" />
6
<meta name="assert" content="With min-width: auto and content smaller than the aspect ratio size, we should still size per aspect-ratio">
7
8
<p>Test passes if there is a filled green square and <strong>no red</strong>.</p>
9
10
<div style="background: green; height: 100px; -webkit-aspect-ratio: 1/1;">
11
  <div style="width: 50px"></div>
12
</div>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/block-aspect-ratio-017.tentative-expected.xht +19 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/block-aspect-ratio-017.tentative-expected.xht_sec1
1
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
2
<html xmlns="http://www.w3.org/1999/xhtml">
3
 <head>
4
  <title>CSS Reftest Reference</title>
5
  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
6
  <style type="text/css"><![CDATA[
7
  div
8
  {
9
  background-color: green;
10
  height: 100px;
11
  width: 100px;
12
  }
13
  ]]></style>
14
 </head>
15
 <body>
16
  <p>Test passes if there is a filled green square and <strong>no red</strong>.</p>
17
  <div></div>
18
 </body>
19
</html>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/block-aspect-ratio-017.tentative.html +11 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/block-aspect-ratio-017.tentative.html_sec1
1
<!DOCTYPE html>
2
<title>CSS aspect-ratio: div inline size + min-width: auto</title>
3
<link rel="author" title="Google LLC" href="https://www.google.com/">
4
<link rel="help" href="https://drafts.csswg.org/css-sizing-4/#aspect-ratio">
5
<link rel="match" href="../../reference/ref-filled-green-100px-square.xht" />
6
7
<p>Test passes if there is a filled green square and <strong>no red</strong>.</p>
8
9
<div style="writing-mode: vertical-lr; background: green; width: 100px; -webkit-aspect-ratio: 2/1;">
10
  <div style="height: 100px"></div>
11
</div>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/block-aspect-ratio-018.tentative-expected.xht +19 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/block-aspect-ratio-018.tentative-expected.xht_sec1
1
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
2
<html xmlns="http://www.w3.org/1999/xhtml">
3
 <head>
4
  <title>CSS Reftest Reference</title>
5
  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
6
  <style type="text/css"><![CDATA[
7
  div
8
  {
9
  background-color: green;
10
  height: 100px;
11
  width: 100px;
12
  }
13
  ]]></style>
14
 </head>
15
 <body>
16
  <p>Test passes if there is a filled green square and <strong>no red</strong>.</p>
17
  <div></div>
18
 </body>
19
</html>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/block-aspect-ratio-018.tentative.html +13 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/block-aspect-ratio-018.tentative.html_sec1
1
<!DOCTYPE html>
2
<title>CSS aspect-ratio: div inline size + min-width: auto</title>
3
<link rel="author" title="Google LLC" href="https://www.google.com/">
4
<link rel="help" href="https://drafts.csswg.org/css-sizing-4/#aspect-ratio">
5
<link rel="match" href="../../reference/ref-filled-green-100px-square.xht" />
6
<meta name="assert" content="Setting overflow to non-visible/clip should not apply min-width: auto">
7
8
<p>Test passes if there is a filled green square and <strong>no red</strong>.</p>
9
10
<div style="background: green; height: 100px; -webkit-aspect-ratio: 1/1; overflow: hidden;">
11
  <div style="width: 100px; display: inline-block;"></div>
12
  <div style="width: 500px; display: inline-block; background: red;"></div>
13
</div>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/block-aspect-ratio-019.tentative-expected.xht +19 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/block-aspect-ratio-019.tentative-expected.xht_sec1
1
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
2
<html xmlns="http://www.w3.org/1999/xhtml">
3
 <head>
4
  <title>CSS Reftest Reference</title>
5
  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
6
  <style type="text/css"><![CDATA[
7
  div
8
  {
9
  background-color: green;
10
  height: 100px;
11
  width: 100px;
12
  }
13
  ]]></style>
14
 </head>
15
 <body>
16
  <p>Test passes if there is a filled green square and <strong>no red</strong>.</p>
17
  <div></div>
18
 </body>
19
</html>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/block-aspect-ratio-019.tentative.html +11 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/block-aspect-ratio-019.tentative.html_sec1
1
<!DOCTYPE html>
2
<title>CSS aspect-ratio: div block size using intrinsic inline size</title>
3
<link rel="author" title="Google LLC" href="https://www.google.com/">
4
<link rel="help" href="https://drafts.csswg.org/css-sizing-4/#aspect-ratio">
5
<link rel="match" href="../../reference/ref-filled-green-100px-square.xht" />
6
7
<p>Test passes if there is a filled green square and <strong>no red</strong>.</p>
8
9
<div style="background: green; float: left; -webkit-aspect-ratio: 1/1;">
10
  <div style="width: 100px;"></div>
11
</div>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/block-aspect-ratio-020.tentative-expected.xht +19 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/block-aspect-ratio-020.tentative-expected.xht_sec1
1
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
2
<html xmlns="http://www.w3.org/1999/xhtml">
3
 <head>
4
  <title>CSS Reftest Reference</title>
5
  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
6
  <style type="text/css"><![CDATA[
7
  div
8
  {
9
  background-color: green;
10
  height: 100px;
11
  width: 100px;
12
  }
13
  ]]></style>
14
 </head>
15
 <body>
16
  <p>Test passes if there is a filled green square and <strong>no red</strong>.</p>
17
  <div></div>
18
 </body>
19
</html>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/block-aspect-ratio-020.tentative.html +25 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/block-aspect-ratio-020.tentative.html_sec1
1
<!DOCTYPE html>
2
<title>CSS aspect-ratio: abspos div inline size with max-height</title>
3
<link rel="author" title="Google LLC" href="https://www.google.com/">
4
<link rel="help" href="https://drafts.csswg.org/css-sizing-4/#aspect-ratio">
5
<link rel="help" href="https://github.com/w3c/csswg-drafts/issues/5257">
6
<link rel="match" href="../../reference/ref-filled-green-100px-square.xht" />
7
<meta name="assert" content="A max-height constraint should be transferred through the aspect-ratio to apply to the inline size">
8
9
<p>Test passes if there is a filled green square and <strong>no red</strong>.</p>
10
11
<div style="height: 100px;">
12
  <div style="-webkit-aspect-ratio: 1/1; max-height: 100%; background: green;">
13
    <!-- max-size 200px, min-size: 20px -->
14
    <div style="width: 20px; height: 10px; vertical-align: bottom;"></div>
15
    <div style="width: 20px; height: 10px; vertical-align: bottom;"></div>
16
    <div style="width: 20px; height: 10px; vertical-align: bottom;"></div>
17
    <div style="width: 20px; height: 10px; vertical-align: bottom;"></div>
18
    <div style="width: 20px; height: 10px; vertical-align: bottom;"></div>
19
    <div style="width: 20px; height: 10px; vertical-align: bottom;"></div>
20
    <div style="width: 20px; height: 10px; vertical-align: bottom;"></div>
21
    <div style="width: 20px; height: 10px; vertical-align: bottom;"></div>
22
    <div style="width: 20px; height: 10px; vertical-align: bottom;"></div>
23
    <div style="width: 20px; height: 10px; vertical-align: bottom;"></div>
24
  </div>
25
</div>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/flex-aspect-ratio-001.tentative-expected.xht +19 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/flex-aspect-ratio-001.tentative-expected.xht_sec1
1
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
2
<html xmlns="http://www.w3.org/1999/xhtml">
3
 <head>
4
  <title>CSS Reftest Reference</title>
5
  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
6
  <style type="text/css"><![CDATA[
7
  div
8
  {
9
  background-color: green;
10
  height: 100px;
11
  width: 100px;
12
  }
13
  ]]></style>
14
 </head>
15
 <body>
16
  <p>Test passes if there is a filled green square and <strong>no red</strong>.</p>
17
  <div></div>
18
 </body>
19
</html>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/flex-aspect-ratio-001.tentative.html +12 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/flex-aspect-ratio-001.tentative.html_sec1
1
<!DOCTYPE html>
2
<title>CSS aspect-ratio: Row flexbox main size</title>
3
<link rel="author" title="Google LLC" href="https://www.google.com/">
4
<link rel="help" href="https://drafts.csswg.org/css-sizing-4/#aspect-ratio">
5
<link rel="help" href="https://drafts.csswg.org/css-flexbox/#line-sizing" title="9.2.3.B">
6
<link rel="match" href="../../reference/ref-filled-green-100px-square.xht" />
7
8
<p>Test passes if there is a filled green square and <strong>no red</strong>.</p>
9
10
<div style="display: flex;">
11
  <div style="background: green; height: 100px; -webkit-aspect-ratio: 1/1; min-width: 0;"></div>
12
</div>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/flex-aspect-ratio-002.tentative-expected.xht +19 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/flex-aspect-ratio-002.tentative-expected.xht_sec1
1
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
2
<html xmlns="http://www.w3.org/1999/xhtml">
3
 <head>
4
  <title>CSS Reftest Reference</title>
5
  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
6
  <style type="text/css"><![CDATA[
7
  div
8
  {
9
  background-color: green;
10
  height: 100px;
11
  width: 100px;
12
  }
13
  ]]></style>
14
 </head>
15
 <body>
16
  <p>Test passes if there is a filled green square and <strong>no red</strong>.</p>
17
  <div></div>
18
 </body>
19
</html>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/flex-aspect-ratio-002.tentative.html +16 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/flex-aspect-ratio-002.tentative.html_sec1
1
<!DOCTYPE html>
2
<title>CSS aspect-ratio: Row flexbox min-width</title>
3
<link rel="author" title="Google LLC" href="https://www.google.com/">
4
<link rel="help" href="https://drafts.csswg.org/css-sizing-4/#aspect-ratio">
5
<link rel="help" href="https://drafts.csswg.org/css-flexbox/#min-size-auto">
6
<link rel="match" href="../../reference/ref-filled-green-100px-square.xht" />
7
8
<p>Test passes if there is a filled green square and <strong>no red</strong>.</p>
9
10
<div style="display: flex;">
11
  <!-- transferred size: 100px. content size suggestion: 200px.
12
       min-width: min(100, 200). -->
13
  <div style="background: green; height: 100px; -webkit-aspect-ratio: 1/1; flex-basis: 0;">
14
    <div style="width: 200px;"></div>
15
  </div>
16
</div>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/flex-aspect-ratio-003.tentative-expected.xht +19 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/flex-aspect-ratio-003.tentative-expected.xht_sec1
1
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
2
<html xmlns="http://www.w3.org/1999/xhtml">
3
 <head>
4
  <title>CSS Reftest Reference</title>
5
  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
6
  <style type="text/css"><![CDATA[
7
  div
8
  {
9
  background-color: green;
10
  height: 100px;
11
  width: 100px;
12
  }
13
  ]]></style>
14
 </head>
15
 <body>
16
  <p>Test passes if there is a filled green square and <strong>no red</strong>.</p>
17
  <div></div>
18
 </body>
19
</html>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/flex-aspect-ratio-003.tentative.html +12 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/flex-aspect-ratio-003.tentative.html_sec1
1
<!DOCTYPE html>
2
<title>CSS aspect-ratio: Column flexbox main size</title>
3
<link rel="author" title="Google LLC" href="https://www.google.com/">
4
<link rel="help" href="https://drafts.csswg.org/css-sizing-4/#aspect-ratio">
5
<link rel="help" href="https://drafts.csswg.org/css-flexbox/#line-sizing" title="9.2.3.B">
6
<link rel="match" href="../../reference/ref-filled-green-100px-square.xht" />
7
8
<p>Test passes if there is a filled green square and <strong>no red</strong>.</p>
9
10
<div style="display: flex; flex-direction: column;">
11
  <div style="background: green; width: 100px; -webkit-aspect-ratio: 1/1; min-height: 0;"></div>
12
</div>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/flex-aspect-ratio-004.tentative-expected.xht +19 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/flex-aspect-ratio-004.tentative-expected.xht_sec1
1
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
2
<html xmlns="http://www.w3.org/1999/xhtml">
3
 <head>
4
  <title>CSS Reftest Reference</title>
5
  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
6
  <style type="text/css"><![CDATA[
7
  div
8
  {
9
  background-color: green;
10
  height: 100px;
11
  width: 100px;
12
  }
13
  ]]></style>
14
 </head>
15
 <body>
16
  <p>Test passes if there is a filled green square and <strong>no red</strong>.</p>
17
  <div></div>
18
 </body>
19
</html>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/flex-aspect-ratio-004.tentative.html +16 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/flex-aspect-ratio-004.tentative.html_sec1
1
<!DOCTYPE html>
2
<title>CSS aspect-ratio: Column flexbox min-height</title>
3
<link rel="author" title="Google LLC" href="https://www.google.com/">
4
<link rel="help" href="https://drafts.csswg.org/css-sizing-4/#aspect-ratio">
5
<link rel="help" href="https://drafts.csswg.org/css-flexbox/#min-size-auto">
6
<link rel="match" href="../../reference/ref-filled-green-100px-square.xht" />
7
8
<p>Test passes if there is a filled green square and <strong>no red</strong>.</p>
9
10
<div style="display: flex; flex-direction: column;">
11
  <!-- transferred size: 100px. content size suggestion: 200px.
12
       min-height: min(100, 200). -->
13
  <div style="background: green; width: 100px; -webkit-aspect-ratio: 1/1; flex-basis: 0;">
14
    <div style="height: 200px;"></div>
15
  </div>
16
</div>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/flex-aspect-ratio-005.tentative-expected.xht +19 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/flex-aspect-ratio-005.tentative-expected.xht_sec1
1
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
2
<html xmlns="http://www.w3.org/1999/xhtml">
3
 <head>
4
  <title>CSS Reftest Reference</title>
5
  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
6
  <style type="text/css"><![CDATA[
7
  div
8
  {
9
  background-color: green;
10
  height: 100px;
11
  width: 100px;
12
  }
13
  ]]></style>
14
 </head>
15
 <body>
16
  <p>Test passes if there is a filled green square and <strong>no red</strong>.</p>
17
  <div></div>
18
 </body>
19
</html>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/flex-aspect-ratio-005.tentative.html +13 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/flex-aspect-ratio-005.tentative.html_sec1
1
<!DOCTYPE html>
2
<title>CSS aspect-ratio: Non-square aspect ratio in Flexbox</title>
3
<link rel="author" title="Google LLC" href="https://www.google.com/">
4
<link rel="help" href="https://drafts.csswg.org/css-sizing-4/#aspect-ratio">
5
<link rel="help" href="https://drafts.csswg.org/css-flexbox/#line-sizing" title="9.2.3.B">
6
<link rel="match" href="../../reference/ref-filled-green-100px-square.xht" />
7
8
<p>Test passes if there is a filled green square and <strong>no red</strong>.</p>
9
10
<div style="display: flex;">
11
  <div style="background: green; height: 100px; -webkit-aspect-ratio: 1/2; min-width: 0;"></div>
12
  <div style="background: green; width: 50px; height: 100px;"></div>
13
</div>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/flex-aspect-ratio-006.tentative-expected.xht +19 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/flex-aspect-ratio-006.tentative-expected.xht_sec1
1
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
2
<html xmlns="http://www.w3.org/1999/xhtml">
3
 <head>
4
  <title>CSS Reftest Reference</title>
5
  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
6
  <style type="text/css"><![CDATA[
7
  div
8
  {
9
  background-color: green;
10
  height: 100px;
11
  width: 100px;
12
  }
13
  ]]></style>
14
 </head>
15
 <body>
16
  <p>Test passes if there is a filled green square and <strong>no red</strong>.</p>
17
  <div></div>
18
 </body>
19
</html>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/flex-aspect-ratio-006.tentative.html +13 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/flex-aspect-ratio-006.tentative.html_sec1
1
<!DOCTYPE html>
2
<title>CSS aspect-ratio: Vertical writing mode in Flexbox</title>
3
<link rel="author" title="Google LLC" href="https://www.google.com/">
4
<link rel="help" href="https://drafts.csswg.org/css-sizing-4/#aspect-ratio">
5
<link rel="help" href="https://drafts.csswg.org/css-flexbox/#line-sizing" title="9.2.3.B">
6
<link rel="match" href="../../reference/ref-filled-green-100px-square.xht" />
7
8
<p>Test passes if there is a filled green square and <strong>no red</strong>.</p>
9
10
<div style="display: flex;">
11
  <div style="background: green; height: 100px; -webkit-aspect-ratio: 1/2; min-width: 0; writing-mode: vertical-lr;"></div>
12
  <div style="background: green; width: 50px; height: 100px;"></div>
13
</div>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/flex-aspect-ratio-007.tentative-expected.xht +19 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/flex-aspect-ratio-007.tentative-expected.xht_sec1
1
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
2
<html xmlns="http://www.w3.org/1999/xhtml">
3
 <head>
4
  <title>CSS Reftest Reference</title>
5
  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
6
  <style type="text/css"><![CDATA[
7
  div
8
  {
9
  background-color: green;
10
  height: 100px;
11
  width: 100px;
12
  }
13
  ]]></style>
14
 </head>
15
 <body>
16
  <p>Test passes if there is a filled green square and <strong>no red</strong>.</p>
17
  <div></div>
18
 </body>
19
</html>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/flex-aspect-ratio-007.tentative.html +13 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/flex-aspect-ratio-007.tentative.html_sec1
1
<!DOCTYPE html>
2
<title>CSS aspect-ratio: Wrapping column flexbox line length</title>
3
<link rel="author" title="Google LLC" href="https://www.google.com/">
4
<link rel="help" href="https://drafts.csswg.org/css-sizing-4/#aspect-ratio">
5
<link rel="help" href="https://drafts.csswg.org/css-flexbox/#line-sizing" title="9.2.3.B">
6
<link rel="match" href="../../reference/ref-filled-green-100px-square.xht" />
7
8
<p>Test passes if there is a filled green square and <strong>no red</strong>.</p>
9
10
<div style="display: flex; flex-direction: column; flex-wrap: wrap; width: 100px; -webkit-aspect-ratio: 1/1; min-height: 0;">
11
  <div style="background: green; width: 50px; height: 100px;"></div>
12
  <div style="background: green; width: 50px; height: 100px;"></div>
13
</div>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/flex-aspect-ratio-008.tentative-expected.xht +19 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/flex-aspect-ratio-008.tentative-expected.xht_sec1
1
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
2
<html xmlns="http://www.w3.org/1999/xhtml">
3
 <head>
4
  <title>CSS Reftest Reference</title>
5
  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
6
  <style type="text/css"><![CDATA[
7
  div
8
  {
9
  background-color: green;
10
  height: 100px;
11
  width: 100px;
12
  }
13
  ]]></style>
14
 </head>
15
 <body>
16
  <p>Test passes if there is a filled green square and <strong>no red</strong>.</p>
17
  <div></div>
18
 </body>
19
</html>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/flex-aspect-ratio-008.tentative.html +13 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/flex-aspect-ratio-008.tentative.html_sec1
1
<!DOCTYPE html>
2
<title>CSS aspect-ratio: Wrapping column flexbox line length</title>
3
<link rel="author" title="Google LLC" href="https://www.google.com/">
4
<link rel="help" href="https://drafts.csswg.org/css-sizing-4/#aspect-ratio">
5
<link rel="help" href="https://drafts.csswg.org/css-flexbox/#line-sizing" title="9.2.3.B">
6
<link rel="match" href="../../reference/ref-filled-green-100px-square.xht" />
7
8
<p>Test passes if there is a filled green square and <strong>no red</strong>.</p>
9
10
<div style="display: flex; flex-direction: column; flex-wrap: wrap; width: 200px; -webkit-aspect-ratio: 4/1;">
11
  <div style="background: green; width: 100px; height: 50px;"></div>
12
  <div style="background: green; width: 100px; height: 50px;"></div>
13
</div>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/flex-aspect-ratio-009.tentative-expected.xht +19 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/flex-aspect-ratio-009.tentative-expected.xht_sec1
1
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
2
<html xmlns="http://www.w3.org/1999/xhtml">
3
 <head>
4
  <title>CSS Reftest Reference</title>
5
  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
6
  <style type="text/css"><![CDATA[
7
  div
8
  {
9
  background-color: green;
10
  height: 100px;
11
  width: 100px;
12
  }
13
  ]]></style>
14
 </head>
15
 <body>
16
  <p>Test passes if there is a filled green square and <strong>no red</strong>.</p>
17
  <div></div>
18
 </body>
19
</html>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/flex-aspect-ratio-009.tentative.html +13 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/flex-aspect-ratio-009.tentative.html_sec1
1
<!DOCTYPE html>
2
<title>CSS aspect-ratio: Row flexbox main size</title>
3
<link rel="author" title="Google LLC" href="https://www.google.com/">
4
<link rel="help" href="https://drafts.csswg.org/css-sizing-4/#aspect-ratio">
5
<link rel="help" href="https://drafts.csswg.org/css-flexbox/#line-sizing" title="9.2.3.B">
6
<link rel="match" href="../../reference/ref-filled-green-100px-square.xht" />
7
<meta name="assert" content="A stretched flex item in a definite-height single-line flex container should trigger aspect-ratio.">
8
9
<p>Test passes if there is a filled green square and <strong>no red</strong>.</p>
10
11
<div style="display: flex; height: 100px;">
12
  <div style="background: green; -webkit-aspect-ratio: 1/1; min-width: 0;"></div>
13
</div>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/flex-aspect-ratio-010.tentative-expected.xht +19 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/flex-aspect-ratio-010.tentative-expected.xht_sec1
1
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
2
<html xmlns="http://www.w3.org/1999/xhtml">
3
 <head>
4
  <title>CSS Reftest Reference</title>
5
  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
6
  <style type="text/css"><![CDATA[
7
  div
8
  {
9
  background-color: green;
10
  height: 100px;
11
  width: 100px;
12
  }
13
  ]]></style>
14
 </head>
15
 <body>
16
  <p>Test passes if there is a filled green square and <strong>no red</strong>.</p>
17
  <div></div>
18
 </body>
19
</html>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/flex-aspect-ratio-010.tentative.html +14 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/flex-aspect-ratio-010.tentative.html_sec1
1
<!DOCTYPE html>
2
<title>CSS aspect-ratio: Row flexbox main size with auto margins</title>
3
<link rel="author" title="Google LLC" href="https://www.google.com/">
4
<link rel="help" href="https://drafts.csswg.org/css-sizing-4/#aspect-ratio">
5
<link rel="help" href="https://drafts.csswg.org/css-flexbox/#line-sizing" title="9.2.3.B">
6
<link rel="match" href="../../reference/ref-filled-green-100px-square.xht" />
7
<meta name="assert" content="As auto-margin items do not stretch, this item should not be considered to have definite height and thus not trigger aspect ratio.">
8
9
<p>Test passes if there is a filled green square and <strong>no red</strong>.</p>
10
11
<div style="display: flex; height: 100px;">
12
  <div style="background: red; -webkit-aspect-ratio: 1/1; min-width: 0; margin: auto 0;"></div>
13
  <div style="background: green; height: 100px; width: 100px;"></div>
14
</div>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/intrinsic-size-001.tentative-expected.xht +19 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/intrinsic-size-001.tentative-expected.xht_sec1
1
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
2
<html xmlns="http://www.w3.org/1999/xhtml">
3
 <head>
4
  <title>CSS Reftest Reference</title>
5
  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
6
  <style type="text/css"><![CDATA[
7
  div
8
  {
9
  background-color: green;
10
  height: 100px;
11
  width: 100px;
12
  }
13
  ]]></style>
14
 </head>
15
 <body>
16
  <p>Test passes if there is a filled green square and <strong>no red</strong>.</p>
17
  <div></div>
18
 </body>
19
</html>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/intrinsic-size-001.tentative.html +13 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/intrinsic-size-001.tentative.html_sec1
1
<!DOCTYPE html>
2
<title>CSS aspect-ratio: min-content size contribution</title>
3
<link rel="author" title="Google LLC" href="https://www.google.com/">
4
<link rel="help" href="https://drafts.csswg.org/css-sizing-4/#aspect-ratio">
5
<link rel="match" href="../../reference/ref-filled-green-100px-square.xht" />
6
7
<p>Test passes if there is a filled green square and <strong>no red</strong>.</p>
8
9
<div style="width: min-content; height: 100px; background: green;">
10
  <div style="height: 100px; -webkit-aspect-ratio: 1/1;"></div>
11
</div>
12
13
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/intrinsic-size-002.tentative-expected.xht +19 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/intrinsic-size-002.tentative-expected.xht_sec1
1
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
2
<html xmlns="http://www.w3.org/1999/xhtml">
3
 <head>
4
  <title>CSS Reftest Reference</title>
5
  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
6
  <style type="text/css"><![CDATA[
7
  div
8
  {
9
  background-color: green;
10
  height: 100px;
11
  width: 100px;
12
  }
13
  ]]></style>
14
 </head>
15
 <body>
16
  <p>Test passes if there is a filled green square and <strong>no red</strong>.</p>
17
  <div></div>
18
 </body>
19
</html>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/intrinsic-size-002.tentative.html +13 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/intrinsic-size-002.tentative.html_sec1
1
<!DOCTYPE html>
2
<title>CSS aspect-ratio: max-content size contribution</title>
3
<link rel="author" title="Google LLC" href="https://www.google.com/">
4
<link rel="help" href="https://drafts.csswg.org/css-sizing-4/#aspect-ratio">
5
<link rel="match" href="../../reference/ref-filled-green-100px-square.xht" />
6
7
<p>Test passes if there is a filled green square and <strong>no red</strong>.</p>
8
9
<div style="width: max-content; height: 100px; background: green;">
10
  <div style="height: 100px; -webkit-aspect-ratio: 1/1;"></div>
11
</div>
12
13
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/intrinsic-size-003.tentative-expected.xht +19 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/intrinsic-size-003.tentative-expected.xht_sec1
1
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
2
<html xmlns="http://www.w3.org/1999/xhtml">
3
 <head>
4
  <title>CSS Reftest Reference</title>
5
  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
6
  <style type="text/css"><![CDATA[
7
  div
8
  {
9
  background-color: green;
10
  height: 100px;
11
  width: 100px;
12
  }
13
  ]]></style>
14
 </head>
15
 <body>
16
  <p>Test passes if there is a filled green square and <strong>no red</strong>.</p>
17
  <div></div>
18
 </body>
19
</html>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/intrinsic-size-003.tentative.html +13 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/intrinsic-size-003.tentative.html_sec1
1
<!DOCTYPE html>
2
<title>CSS aspect-ratio: sizing under a min-content constraint</title>
3
<link rel="author" title="Google LLC" href="https://www.google.com/">
4
<link rel="help" href="https://drafts.csswg.org/css-sizing-4/#aspect-ratio">
5
<link rel="match" href="../../reference/ref-filled-green-100px-square.xht" />
6
7
<p>Test passes if there is a filled green square and <strong>no red</strong>.</p>
8
9
<div style="width: 0;">
10
  <div style="float: left; height: 100px; -webkit-aspect-ratio: 1/1; background: green;"></div>
11
</div>
12
13
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/intrinsic-size-004.tentative-expected.xht +19 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/intrinsic-size-004.tentative-expected.xht_sec1
1
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
2
<html xmlns="http://www.w3.org/1999/xhtml">
3
 <head>
4
  <title>CSS Reftest Reference</title>
5
  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
6
  <style type="text/css"><![CDATA[
7
  div
8
  {
9
  background-color: green;
10
  height: 100px;
11
  width: 100px;
12
  }
13
  ]]></style>
14
 </head>
15
 <body>
16
  <p>Test passes if there is a filled green square and <strong>no red</strong>.</p>
17
  <div></div>
18
 </body>
19
</html>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/intrinsic-size-004.tentative.html +14 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/intrinsic-size-004.tentative.html_sec1
1
<!DOCTYPE html>
2
<title>CSS aspect-ratio: min-content size keyword</title>
3
<link rel="author" title="Google LLC" href="https://www.google.com/">
4
<link rel="help" href="https://drafts.csswg.org/css-sizing-4/#aspect-ratio">
5
<link rel="match" href="../../reference/ref-filled-green-100px-square.xht" />
6
7
<p>Test passes if there is a filled green square and <strong>no red</strong>.</p>
8
9
<!-- This is still under discussion in https://github.com/w3c/csswg-drafts/issues/5032
10
     but this testcase tests the likely outcome. -->
11
12
<div style="height: 100px; width: min-content; -webkit-aspect-ratio: 1/1; background: green;"></div>
13
14
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/intrinsic-size-005.tentative-expected.xht +19 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/intrinsic-size-005.tentative-expected.xht_sec1
1
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
2
<html xmlns="http://www.w3.org/1999/xhtml">
3
 <head>
4
  <title>CSS Reftest Reference</title>
5
  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
6
  <style type="text/css"><![CDATA[
7
  div
8
  {
9
  background-color: green;
10
  height: 100px;
11
  width: 100px;
12
  }
13
  ]]></style>
14
 </head>
15
 <body>
16
  <p>Test passes if there is a filled green square and <strong>no red</strong>.</p>
17
  <div></div>
18
 </body>
19
</html>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/intrinsic-size-005.tentative.html +13 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/intrinsic-size-005.tentative.html_sec1
1
<!DOCTYPE html>
2
<title>CSS aspect-ratio: min-content size contribution in an orthogonal flow</title>
3
<link rel="author" title="Google LLC" href="https://www.google.com/">
4
<link rel="help" href="https://drafts.csswg.org/css-sizing-4/#aspect-ratio">
5
<link rel="match" href="../../reference/ref-filled-green-100px-square.xht" />
6
7
<p>Test passes if there is a filled green square and <strong>no red</strong>.</p>
8
9
<div style="width: min-content; height: 100px; background: green;">
10
  <div style="height: 100px; -webkit-aspect-ratio: 1/1; writing-mode: vertical-lr;"></div>
11
</div>
12
13
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/intrinsic-size-006.tentative-expected.xht +19 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/intrinsic-size-006.tentative-expected.xht_sec1
1
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
2
<html xmlns="http://www.w3.org/1999/xhtml">
3
 <head>
4
  <title>CSS Reftest Reference</title>
5
  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
6
  <style type="text/css"><![CDATA[
7
  div
8
  {
9
  background-color: green;
10
  height: 100px;
11
  width: 100px;
12
  }
13
  ]]></style>
14
 </head>
15
 <body>
16
  <p>Test passes if there is a filled green square and <strong>no red</strong>.</p>
17
  <div></div>
18
 </body>
19
</html>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/intrinsic-size-006.tentative.html +13 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/intrinsic-size-006.tentative.html_sec1
1
<!DOCTYPE html>
2
<title>CSS aspect-ratio: min-content size contribution with percentage block size</title>
3
<link rel="author" title="Google LLC" href="https://www.google.com/">
4
<link rel="help" href="https://drafts.csswg.org/css-sizing-4/#aspect-ratio">
5
<link rel="match" href="../../reference/ref-filled-green-100px-square.xht" />
6
7
<p>Test passes if there is a filled green square and <strong>no red</strong>.</p>
8
9
<div style="width: min-content; height: 100px; background: green;">
10
  <div style="height: 100%;">
11
    <div style="height: 100%; -webkit-aspect-ratio: 1/1;"></div>
12
  </div>
13
</div>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/intrinsic-size-007.tentative-expected.xht +19 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/intrinsic-size-007.tentative-expected.xht_sec1
1
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
2
<html xmlns="http://www.w3.org/1999/xhtml">
3
 <head>
4
  <title>CSS Reftest Reference</title>
5
  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
6
  <style type="text/css"><![CDATA[
7
  div
8
  {
9
  background-color: green;
10
  height: 100px;
11
  width: 100px;
12
  }
13
  ]]></style>
14
 </head>
15
 <body>
16
  <p>Test passes if there is a filled green square and <strong>no red</strong>.</p>
17
  <div></div>
18
 </body>
19
</html>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/intrinsic-size-007.tentative.html +16 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/intrinsic-size-007.tentative.html_sec1
1
<!DOCTYPE html>
2
<title>CSS aspect-ratio: min-content size contribution with indefinite percentage block size</title>
3
<link rel="author" title="Google LLC" href="https://www.google.com/">
4
<link rel="help" href="https://drafts.csswg.org/css-sizing-4/#aspect-ratio">
5
<link rel="match" href="../../reference/ref-filled-green-100px-square.xht" />
6
7
<p>Test passes if there is a filled green square and <strong>no red</strong>.</p>
8
9
<div style="width: min-content; background: green;">
10
  <!-- Indefinite height here - we should "fall through" to the
11
       inner div and calculate 100px, instead of treating 100% as 0. -->
12
  <div style="height: 100%; -webkit-aspect-ratio: 1/1;">
13
    <div style="width: 100px; height: 100px;"></div>
14
  </div>
15
</div>
16
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/intrinsic-size-008.tentative-expected.xht +19 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/intrinsic-size-008.tentative-expected.xht_sec1
1
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
2
<html xmlns="http://www.w3.org/1999/xhtml">
3
 <head>
4
  <title>CSS Reftest Reference</title>
5
  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
6
  <style type="text/css"><![CDATA[
7
  div
8
  {
9
  background-color: green;
10
  height: 100px;
11
  width: 100px;
12
  }
13
  ]]></style>
14
 </head>
15
 <body>
16
  <p>Test passes if there is a filled green square and <strong>no red</strong>.</p>
17
  <div></div>
18
 </body>
19
</html>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/intrinsic-size-008.tentative.html +18 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/intrinsic-size-008.tentative.html_sec1
1
<!DOCTYPE html>
2
<title>CSS aspect-ratio: min-content size contribution with percentage block size</title>
3
<link rel="author" title="Google LLC" href="https://www.google.com/">
4
<link rel="help" href="https://drafts.csswg.org/css-sizing-4/#aspect-ratio">
5
<link rel="match" href="../../reference/ref-filled-green-100px-square.xht" />
6
7
<p>Test passes if there is a filled green square and <strong>no red</strong>.</p>
8
9
<div id="target" style="width: min-content; height: 200px; background: green;">
10
  <div style="height: 100%;">
11
    <div style="height: 100%; -webkit-aspect-ratio: 1/1;"></div>
12
  </div>
13
</div>
14
15
<script>
16
document.body.offsetTop;
17
document.getElementById('target').style.height = '100px';
18
</script>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/parsing/contain-intrinsic-size-computed-expected.txt +15 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/parsing/contain-intrinsic-size-computed-expected.txt_sec1
1
2
FAIL Property aspect-ratio value 'auto' assert_true: aspect-ratio doesn't seem to be supported in the computed style expected true got false
3
FAIL Property aspect-ratio value '1' assert_true: aspect-ratio doesn't seem to be supported in the computed style expected true got false
4
FAIL Property aspect-ratio value '1.3' assert_true: aspect-ratio doesn't seem to be supported in the computed style expected true got false
5
FAIL Property aspect-ratio value '1 / 1' assert_true: aspect-ratio doesn't seem to be supported in the computed style expected true got false
6
FAIL Property aspect-ratio value '16 / 9' assert_true: aspect-ratio doesn't seem to be supported in the computed style expected true got false
7
FAIL Property aspect-ratio value '16.3 / 9.5' assert_true: aspect-ratio doesn't seem to be supported in the computed style expected true got false
8
FAIL Property aspect-ratio value '16/9' assert_true: aspect-ratio doesn't seem to be supported in the computed style expected true got false
9
FAIL Property aspect-ratio value '0 / 9' assert_true: aspect-ratio doesn't seem to be supported in the computed style expected true got false
10
FAIL Property aspect-ratio value '16 / 0' assert_true: aspect-ratio doesn't seem to be supported in the computed style expected true got false
11
FAIL Property aspect-ratio value 'auto 1' assert_true: aspect-ratio doesn't seem to be supported in the computed style expected true got false
12
FAIL Property aspect-ratio value 'auto 1 / 1' assert_true: aspect-ratio doesn't seem to be supported in the computed style expected true got false
13
FAIL Property aspect-ratio value '0 auto' assert_true: aspect-ratio doesn't seem to be supported in the computed style expected true got false
14
FAIL Property aspect-ratio value '0 / 0' assert_true: aspect-ratio doesn't seem to be supported in the computed style expected true got false
15
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/parsing/contain-intrinsic-size-computed.html +31 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/parsing/contain-intrinsic-size-computed.html_sec1
1
<!DOCTYPE html>
2
<title>CSS aspect-ratio Test: aspect-ratio with computed values</title>
3
<link rel="author" title="Google LLC" href="https://www.google.com/">
4
<link rel="help" href="https://drafts.csswg.org/css-sizing-4/#aspect-ratio">
5
<meta name="assert" content="aspect-ratio supports the full grammar '[auto | <ratio>]'.">
6
<script src="/resources/testharness.js"></script>
7
<script src="/resources/testharnessreport.js"></script>
8
<script src="/css/support/computed-testcommon.js"></script>
9
10
<div id=target></div>
11
<div id=scratch></div>
12
<script>
13
14
test_computed_value("aspect-ratio", "auto");
15
test_computed_value("aspect-ratio", "1");
16
test_computed_value("aspect-ratio", "1.3");
17
test_computed_value("aspect-ratio", "1 / 1", "1");
18
test_computed_value("aspect-ratio", "16 / 9");
19
test_computed_value("aspect-ratio", "16.3 / 9.5");
20
test_computed_value("aspect-ratio", "16/9", "16 / 9");
21
test_computed_value("aspect-ratio", "0 / 9");
22
test_computed_value("aspect-ratio", "16 / 0");
23
test_computed_value("aspect-ratio", "auto 1");
24
test_computed_value("aspect-ratio", "auto 1 / 1", "auto 1");
25
test_computed_value("aspect-ratio", "0 auto", "auto 0");
26
// The computed value of a <ratio> is the pair of numbers provided, unless
27
// both numbers are zero, in which case the computed value is the pair (1, 0)
28
// (same as 1 / 0).
29
// https://github.com/w3c/csswg-drafts/issues/5084
30
test_computed_value("aspect-ratio", "0 / 0", "1 / 0");
31
</script>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/parsing/contain-intrinsic-size-invalid-expected.txt +9 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/parsing/contain-intrinsic-size-invalid-expected.txt_sec1
1
2
PASS e.style['aspect-ratio'] = "auto / 5" should not set the property value 
3
PASS e.style['aspect-ratio'] = "auto / 16" should not set the property value 
4
PASS e.style['aspect-ratio'] = "16 9" should not set the property value 
5
PASS e.style['aspect-ratio'] = "16px / 9px" should not set the property value 
6
PASS e.style['aspect-ratio'] = "16 / -9" should not set the property value 
7
PASS e.style['aspect-ratio'] = "1 invalid" should not set the property value 
8
PASS e.style['aspect-ratio'] = "invalid 1.5" should not set the property value 
9
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/parsing/contain-intrinsic-size-invalid.html +18 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/parsing/contain-intrinsic-size-invalid.html_sec1
1
<!DOCTYPE html>
2
<title>CSS aspect-ratio Test: aspect-ratio with invalid values</title>
3
<link rel="author" title="Google LLC" href="https://www.google.com/">
4
<link rel="help" href="https://drafts.csswg.org/css-sizing-4/#aspect-ratio">
5
<meta name="assert" content="aspect-ratio supports the full grammar '[auto | <ratio>]'.">
6
<script src="/resources/testharness.js"></script>
7
<script src="/resources/testharnessreport.js"></script>
8
<script src="/css/support/parsing-testcommon.js"></script>
9
10
<script>
11
test_invalid_value("aspect-ratio", "auto / 5");
12
test_invalid_value("aspect-ratio", "auto / 16");
13
test_invalid_value("aspect-ratio", "16 9");
14
test_invalid_value("aspect-ratio", "16px / 9px");
15
test_invalid_value("aspect-ratio", "16 / -9");
16
test_invalid_value("aspect-ratio", "1 invalid");
17
test_invalid_value("aspect-ratio", "invalid 1.5");
18
</script>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/parsing/contain-intrinsic-size-valid-expected.txt +16 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/parsing/contain-intrinsic-size-valid-expected.txt_sec1
1
2
FAIL e.style['aspect-ratio'] = "auto" should set the property value assert_not_equals: property should be set got disallowed value ""
3
FAIL e.style['aspect-ratio'] = "16" should set the property value assert_not_equals: property should be set got disallowed value ""
4
FAIL e.style['aspect-ratio'] = "1/1" should set the property value assert_not_equals: property should be set got disallowed value ""
5
FAIL e.style['aspect-ratio'] = "16.3" should set the property value assert_not_equals: property should be set got disallowed value ""
6
FAIL e.style['aspect-ratio'] = "16 / 9" should set the property value assert_not_equals: property should be set got disallowed value ""
7
FAIL e.style['aspect-ratio'] = "16.3 / 9.4" should set the property value assert_not_equals: property should be set got disallowed value ""
8
FAIL e.style['aspect-ratio'] = "16/9" should set the property value assert_not_equals: property should be set got disallowed value ""
9
FAIL e.style['aspect-ratio'] = "16 /9" should set the property value assert_not_equals: property should be set got disallowed value ""
10
FAIL e.style['aspect-ratio'] = "16/ 9" should set the property value assert_not_equals: property should be set got disallowed value ""
11
FAIL e.style['aspect-ratio'] = "0 / 9" should set the property value assert_not_equals: property should be set got disallowed value ""
12
FAIL e.style['aspect-ratio'] = "16 / 0" should set the property value assert_not_equals: property should be set got disallowed value ""
13
FAIL e.style['aspect-ratio'] = "auto 16" should set the property value assert_not_equals: property should be set got disallowed value ""
14
FAIL e.style['aspect-ratio'] = "16 auto" should set the property value assert_not_equals: property should be set got disallowed value ""
15
FAIL e.style['aspect-ratio'] = "0 / 0" should set the property value assert_not_equals: property should be set got disallowed value ""
16
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/parsing/contain-intrinsic-size-valid.html +26 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/parsing/contain-intrinsic-size-valid.html_sec1
1
<!DOCTYPE html>
2
<title>CSS aspect-ratio Test: aspect-ratio with valid values</title>
3
<link rel="author" title="Google LLC" href="https://www.google.com/">
4
<link rel="help" href="https://drafts.csswg.org/css-sizing-4/#aspect-ratio">
5
<meta name="assert" content="aspect-ratio supports the full grammar '[auto | <ratio>]'.">
6
<script src="/resources/testharness.js"></script>
7
<script src="/resources/testharnessreport.js"></script>
8
<script src="/css/support/parsing-testcommon.js"></script>
9
10
<script>
11
test_valid_value("aspect-ratio", "auto");
12
test_valid_value("aspect-ratio", "16");
13
test_valid_value("aspect-ratio", "1/1", "1");
14
test_valid_value("aspect-ratio", "16.3");
15
test_valid_value("aspect-ratio", "16 / 9");
16
test_valid_value("aspect-ratio", "16.3 / 9.4");
17
test_valid_value("aspect-ratio", "16/9", "16 / 9");
18
test_valid_value("aspect-ratio", "16 /9", "16 / 9");
19
test_valid_value("aspect-ratio", "16/ 9", "16 / 9");
20
test_valid_value("aspect-ratio", "0 / 9");
21
test_valid_value("aspect-ratio", "16 / 0");
22
test_valid_value("aspect-ratio", "auto 16");
23
test_valid_value("aspect-ratio", "16 auto", "auto 16");
24
// https://github.com/w3c/csswg-drafts/issues/5084
25
test_valid_value("aspect-ratio", "0 / 0", "1 / 0");
26
</script>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/parsing/w3c-import.log +19 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/parsing/w3c-import.log_sec1
1
The tests in this directory were imported from the W3C repository.
2
Do NOT modify these tests directly in WebKit.
3
Instead, create a pull request on the WPT github:
4
	https://github.com/web-platform-tests/wpt
5
6
Then run the Tools/Scripts/import-w3c-tests in WebKit to reimport
7
8
Do NOT modify or remove this file.
9
10
------------------------------------------------------------------------
11
Properties requiring vendor prefixes:
12
None
13
Property values requiring vendor prefixes:
14
None
15
------------------------------------------------------------------------
16
List of files:
17
/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/parsing/contain-intrinsic-size-computed.html
18
/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/parsing/contain-intrinsic-size-invalid.html
19
/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/parsing/contain-intrinsic-size-valid.html
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/percentage-resolution-001.tentative-expected.xht +19 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/percentage-resolution-001.tentative-expected.xht_sec1
1
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
2
<html xmlns="http://www.w3.org/1999/xhtml">
3
 <head>
4
  <title>CSS Reftest Reference</title>
5
  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
6
  <style type="text/css"><![CDATA[
7
  div
8
  {
9
  background-color: green;
10
  height: 100px;
11
  width: 100px;
12
  }
13
  ]]></style>
14
 </head>
15
 <body>
16
  <p>Test passes if there is a filled green square and <strong>no red</strong>.</p>
17
  <div></div>
18
 </body>
19
</html>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/percentage-resolution-001.tentative.html +11 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/percentage-resolution-001.tentative.html_sec1
1
<!DOCTYPE html>
2
<title>CSS aspect-ratio: div block size + percentage resolution</title>
3
<link rel="author" title="Google LLC" href="https://www.google.com/">
4
<link rel="help" href="https://drafts.csswg.org/css-sizing-4/#aspect-ratio">
5
<link rel="match" href="../../reference/ref-filled-green-100px-square.xht" />
6
7
<p>Test passes if there is a filled green square and <strong>no red</strong>.</p>
8
9
<div style="width: 100px; -webkit-aspect-ratio: 1/1;">
10
  <div style="background: green; height: 100%;"></div>
11
</div>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/percentage-resolution-002.tentative-expected.xht +19 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/percentage-resolution-002.tentative-expected.xht_sec1
1
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
2
<html xmlns="http://www.w3.org/1999/xhtml">
3
 <head>
4
  <title>CSS Reftest Reference</title>
5
  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
6
  <style type="text/css"><![CDATA[
7
  div
8
  {
9
  background-color: green;
10
  height: 100px;
11
  width: 100px;
12
  }
13
  ]]></style>
14
 </head>
15
 <body>
16
  <p>Test passes if there is a filled green square and <strong>no red</strong>.</p>
17
  <div></div>
18
 </body>
19
</html>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/percentage-resolution-002.tentative.html +11 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/percentage-resolution-002.tentative.html_sec1
1
<!DOCTYPE html>
2
<title>CSS aspect-ratio: div block size + percentage resolution</title>
3
<link rel="author" title="Google LLC" href="https://www.google.com/">
4
<link rel="help" href="https://drafts.csswg.org/css-sizing-4/#aspect-ratio">
5
<link rel="match" href="../../reference/ref-filled-green-100px-square.xht" />
6
7
<p>Test passes if there is a filled green square and <strong>no red</strong>.</p>
8
9
<div style="width: 100px; -webkit-aspect-ratio: 1/1;">
10
  <div style="background: green; height: 100%; width: 100%; writing-mode: vertical-lr;"></div>
11
</div>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/percentage-resolution-003.tentative-expected.xht +19 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/percentage-resolution-003.tentative-expected.xht_sec1
1
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
2
<html xmlns="http://www.w3.org/1999/xhtml">
3
 <head>
4
  <title>CSS Reftest Reference</title>
5
  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
6
  <style type="text/css"><![CDATA[
7
  div
8
  {
9
  background-color: green;
10
  height: 100px;
11
  width: 100px;
12
  }
13
  ]]></style>
14
 </head>
15
 <body>
16
  <p>Test passes if there is a filled green square and <strong>no red</strong>.</p>
17
  <div></div>
18
 </body>
19
</html>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/percentage-resolution-003.tentative.html +11 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/percentage-resolution-003.tentative.html_sec1
1
<!DOCTYPE html>
2
<title>CSS aspect-ratio: div block size + percentage resolution</title>
3
<link rel="author" title="Google LLC" href="https://www.google.com/">
4
<link rel="help" href="https://drafts.csswg.org/css-sizing-4/#aspect-ratio">
5
<link rel="match" href="../../reference/ref-filled-green-100px-square.xht" />
6
7
<p>Test passes if there is a filled green square and <strong>no red</strong>.</p>
8
9
<div style="width: 100px; -webkit-aspect-ratio: 1/1; writing-mode: vertical-lr;">
10
  <div style="background: green; height: 100%; width: 100%;"></div>
11
</div>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/percentage-resolution-004.tentative-expected.xht +19 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/percentage-resolution-004.tentative-expected.xht_sec1
1
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
2
<html xmlns="http://www.w3.org/1999/xhtml">
3
 <head>
4
  <title>CSS Reftest Reference</title>
5
  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
6
  <style type="text/css"><![CDATA[
7
  div
8
  {
9
  background-color: green;
10
  height: 100px;
11
  width: 100px;
12
  }
13
  ]]></style>
14
 </head>
15
 <body>
16
  <p>Test passes if there is a filled green square and <strong>no red</strong>.</p>
17
  <div></div>
18
 </body>
19
</html>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/percentage-resolution-004.tentative.html +12 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/percentage-resolution-004.tentative.html_sec1
1
<!DOCTYPE html>
2
<title>CSS aspect-ratio: div block size + percentage resolution</title>
3
<link rel="author" title="Google LLC" href="https://www.google.com/">
4
<link rel="help" href="https://drafts.csswg.org/css-sizing-4/#aspect-ratio">
5
<link rel="match" href="../../reference/ref-filled-green-100px-square.xht" />
6
7
<p>Test passes if there is a filled green square and <strong>no red</strong>.</p>
8
9
<div style="width: 100px; -webkit-aspect-ratio: 2/1;"> <!-- height = 100px due to min-height: auto -->
10
  <div style="background: green; height: 50px;"></div>
11
  <div style="background: green; height: 100%;"></div> <!-- should be 50px -->
12
</div>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/quirks-mode-001.tentative-expected.txt +3 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/quirks-mode-001.tentative-expected.txt_sec1
1
2
FAIL body height is 100 assert_equals: expected 100 but got 584
3
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/quirks-mode-001.tentative.html +15 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/quirks-mode-001.tentative.html_sec1
1
<!-- quirks mode -->
2
<title>Aspect ratio and quirks mode</title>
3
<link rel="help" href="https://drafts.csswg.org/css-sizing-4/#aspect-ratio">
4
<link rel="author" title="Google LLC" href="https://www.google.com/">
5
<meta name="flags" content="dom" />
6
<script src="/resources/testharness.js"></script>
7
<script src="/resources/testharnessreport.js"></script>
8
<script>
9
onload = function() {
10
  test(function() {
11
    assert_equals(document.body.offsetHeight, 100);
12
  }, "body height is 100");
13
};
14
</script>
15
<body style="width: 100px; -webkit-aspect-ratio: 1/1; min-height: 0;">
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/quirks-mode-002.tentative-expected.txt +3 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/quirks-mode-002.tentative-expected.txt_sec1
1
2
FAIL body height equals width assert_equals: expected 784 but got 584
3
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/quirks-mode-002.tentative.html +15 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/quirks-mode-002.tentative.html_sec1
1
<!-- quirks mode -->
2
<title>Aspect ratio and quirks mode</title>
3
<link rel="help" href="https://drafts.csswg.org/css-sizing-4/#aspect-ratio">
4
<link rel="author" title="Google LLC" href="https://www.google.com/">
5
<meta name="flags" content="dom" />
6
<script src="/resources/testharness.js"></script>
7
<script src="/resources/testharnessreport.js"></script>
8
<script>
9
onload = function() {
10
  test(function() {
11
    assert_equals(document.body.offsetHeight, document.body.offsetWidth);
12
  }, "body height equals width");
13
};
14
</script>
15
<body style="-webkit-aspect-ratio: 1/1;">
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/quirks-mode-003.tentative-expected.txt +3 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/quirks-mode-003.tentative-expected.txt_sec1
1
2
PASS body height should match documentElement due to min-height: auto 
3
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/quirks-mode-003.tentative.html +15 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/quirks-mode-003.tentative.html_sec1
1
<!-- quirks mode -->
2
<title>Aspect ratio and quirks mode</title>
3
<link rel="help" href="https://drafts.csswg.org/css-sizing-4/#aspect-ratio">
4
<link rel="author" title="Google LLC" href="https://www.google.com/">
5
<meta name="flags" content="dom" />
6
<script src="/resources/testharness.js"></script>
7
<script src="/resources/testharnessreport.js"></script>
8
<script>
9
onload = function() {
10
  test(function() {
11
    assert_equals(document.body.clientHeight, document.documentElement.clientHeight);
12
  }, "body height should match documentElement due to min-height: auto");
13
};
14
</script>
15
<body style="width: 100px; -webkit-aspect-ratio: 1/1;">
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/replaced-element-001.tentative-expected.xht +19 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/replaced-element-001.tentative-expected.xht_sec1
1
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
2
<html xmlns="http://www.w3.org/1999/xhtml">
3
 <head>
4
  <title>CSS Reftest Reference</title>
5
  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
6
  <style type="text/css"><![CDATA[
7
  div
8
  {
9
  background-color: green;
10
  height: 100px;
11
  width: 100px;
12
  }
13
  ]]></style>
14
 </head>
15
 <body>
16
  <p>Test passes if there is a filled green square and <strong>no red</strong>.</p>
17
  <div></div>
18
 </body>
19
</html>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/replaced-element-001.tentative.html +10 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/replaced-element-001.tentative.html_sec1
1
<!DOCTYPE html>
2
<title>CSS aspect-ratio: img</title>
3
<link rel="author" title="Google LLC" href="https://www.google.com/">
4
<link rel="help" href="https://drafts.csswg.org/css-sizing-4/#aspect-ratio">
5
<link rel="match" href="../../reference/ref-filled-green-100px-square.xht" />
6
7
<p>Test passes if there is a filled green square and <strong>no red</strong>.</p>
8
9
<img src="support/20x50-green.png" style="width: 100px; -webkit-aspect-ratio: 1/1;">
10
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/replaced-element-002.tentative-expected.xht +19 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/replaced-element-002.tentative-expected.xht_sec1
1
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
2
<html xmlns="http://www.w3.org/1999/xhtml">
3
 <head>
4
  <title>CSS Reftest Reference</title>
5
  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
6
  <style type="text/css"><![CDATA[
7
  div
8
  {
9
  background-color: green;
10
  height: 100px;
11
  width: 100px;
12
  }
13
  ]]></style>
14
 </head>
15
 <body>
16
  <p>Test passes if there is a filled green square and <strong>no red</strong>.</p>
17
  <div></div>
18
 </body>
19
</html>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/replaced-element-002.tentative.html +10 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/replaced-element-002.tentative.html_sec1
1
<!DOCTYPE html>
2
<title>CSS aspect-ratio: iframe</title>
3
<link rel="author" title="Google LLC" href="https://www.google.com/">
4
<link rel="help" href="https://drafts.csswg.org/css-sizing-4/#aspect-ratio">
5
<link rel="match" href="../../reference/ref-filled-green-100px-square.xht" />
6
7
<p>Test passes if there is a filled green square and <strong>no red</strong>.</p>
8
9
<iframe style="background: green; width: 100px; -webkit-aspect-ratio: 1/1; border: 0px none;"></div>
10
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/replaced-element-003.tentative-expected.xht +19 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/replaced-element-003.tentative-expected.xht_sec1
1
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
2
<html xmlns="http://www.w3.org/1999/xhtml">
3
 <head>
4
  <title>CSS Reftest Reference</title>
5
  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
6
  <style type="text/css"><![CDATA[
7
  div
8
  {
9
  background-color: green;
10
  height: 100px;
11
  width: 100px;
12
  }
13
  ]]></style>
14
 </head>
15
 <body>
16
  <p>Test passes if there is a filled green square and <strong>no red</strong>.</p>
17
  <div></div>
18
 </body>
19
</html>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/replaced-element-003.tentative.html +13 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/replaced-element-003.tentative.html_sec1
1
<!DOCTYPE html>
2
<title>CSS aspect-ratio: video</title>
3
<link rel="author" title="Google LLC" href="https://www.google.com/">
4
<link rel="help" href="https://drafts.csswg.org/css-sizing-4/#aspect-ratio">
5
<link rel="match" href="../../reference/ref-filled-green-100px-square.xht" />
6
7
<p>Test passes if there is a filled green square and <strong>no red</strong>.</p>
8
9
<div>
10
  <video src="support/2x2-green.ogv" style="background: green; width: 100px; -webkit-aspect-ratio: 2/1; vertical-align: bottom;"></video>
11
</div>
12
<div style="width: 100px; height: 50px; background: green;"></div>
13
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/replaced-element-004.tentative-expected.xht +19 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/replaced-element-004.tentative-expected.xht_sec1
1
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
2
<html xmlns="http://www.w3.org/1999/xhtml">
3
 <head>
4
  <title>CSS Reftest Reference</title>
5
  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
6
  <style type="text/css"><![CDATA[
7
  div
8
  {
9
  background-color: green;
10
  height: 100px;
11
  width: 100px;
12
  }
13
  ]]></style>
14
 </head>
15
 <body>
16
  <p>Test passes if there is a filled green square and <strong>no red</strong>.</p>
17
  <div></div>
18
 </body>
19
</html>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/replaced-element-004.tentative.html +10 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/replaced-element-004.tentative.html_sec1
1
<!DOCTYPE html>
2
<title>CSS aspect-ratio: SVG img</title>
3
<link rel="author" title="Google LLC" href="https://www.google.com/">
4
<link rel="help" href="https://drafts.csswg.org/css-sizing-4/#aspect-ratio">
5
<link rel="match" href="../../reference/ref-filled-green-100px-square.xht" />
6
7
<p>Test passes if there is a filled green square and <strong>no red</strong>.</p>
8
9
<img src="data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 5 1' style='background-color: green'%3E%3C/svg%3E" style="width: 100px; -webkit-aspect-ratio: 1/1;">
10
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/replaced-element-005.tentative-expected.xht +19 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/replaced-element-005.tentative-expected.xht_sec1
1
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
2
<html xmlns="http://www.w3.org/1999/xhtml">
3
 <head>
4
  <title>CSS Reftest Reference</title>
5
  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
6
  <style type="text/css"><![CDATA[
7
  div
8
  {
9
  background-color: green;
10
  height: 100px;
11
  width: 100px;
12
  }
13
  ]]></style>
14
 </head>
15
 <body>
16
  <p>Test passes if there is a filled green square and <strong>no red</strong>.</p>
17
  <div></div>
18
 </body>
19
</html>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/replaced-element-005.tentative.html +10 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/replaced-element-005.tentative.html_sec1
1
<!DOCTYPE html>
2
<title>CSS aspect-ratio: object</title>
3
<link rel="author" title="Google LLC" href="https://www.google.com/">
4
<link rel="help" href="https://drafts.csswg.org/css-sizing-4/#aspect-ratio">
5
<link rel="match" href="../../reference/ref-filled-green-100px-square.xht" />
6
7
<p>Test passes if there is a filled green square and <strong>no red</strong>.</p>
8
9
<object data="support/20x50-green.png" style="width: 100px; -webkit-aspect-ratio: 1/1;">
10
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/replaced-element-006.tentative-expected.xht +19 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/replaced-element-006.tentative-expected.xht_sec1
1
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
2
<html xmlns="http://www.w3.org/1999/xhtml">
3
 <head>
4
  <title>CSS Reftest Reference</title>
5
  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
6
  <style type="text/css"><![CDATA[
7
  div
8
  {
9
  background-color: green;
10
  height: 100px;
11
  width: 100px;
12
  }
13
  ]]></style>
14
 </head>
15
 <body>
16
  <p>Test passes if there is a filled green square and <strong>no red</strong>.</p>
17
  <div></div>
18
 </body>
19
</html>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/replaced-element-006.tentative.html +10 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/replaced-element-006.tentative.html_sec1
1
<!DOCTYPE html>
2
<title>CSS aspect-ratio: SVG object</title>
3
<link rel="author" title="Google LLC" href="https://www.google.com/">
4
<link rel="help" href="https://drafts.csswg.org/css-sizing-4/#aspect-ratio">
5
<link rel="match" href="../../reference/ref-filled-green-100px-square.xht" />
6
7
<p>Test passes if there is a filled green square and <strong>no red</strong>.</p>
8
9
<object type="image/svg+xml" data="data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 5 1' style='background-color: green'%3E%3C/svg%3E" style="width: 100px; -webkit-aspect-ratio: 1/1;"></object>
10
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/replaced-element-007.tentative-expected.xht +19 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/replaced-element-007.tentative-expected.xht_sec1
1
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
2
<html xmlns="http://www.w3.org/1999/xhtml">
3
 <head>
4
  <title>CSS Reftest Reference</title>
5
  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
6
  <style type="text/css"><![CDATA[
7
  div
8
  {
9
  background-color: green;
10
  height: 100px;
11
  width: 100px;
12
  }
13
  ]]></style>
14
 </head>
15
 <body>
16
  <p>Test passes if there is a filled green square and <strong>no red</strong>.</p>
17
  <div></div>
18
 </body>
19
</html>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/replaced-element-007.tentative.html +9 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/replaced-element-007.tentative.html_sec1
1
<!DOCTYPE html>
2
<title>CSS aspect-ratio: svg</title>
3
<link rel="author" title="Google LLC" href="https://www.google.com/">
4
<link rel="help" href="https://drafts.csswg.org/css-sizing-4/#aspect-ratio">
5
<link rel="match" href="../../reference/ref-filled-green-100px-square.xht" />
6
7
<p>Test passes if there is a filled green square and <strong>no red</strong>.</p>
8
9
<svg viewBox="0 0 5 1" style="width: 100px; -webkit-aspect-ratio: 1/1; background-color: green;"></svg>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/replaced-element-008.tentative-expected.xht +19 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/replaced-element-008.tentative-expected.xht_sec1
1
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
2
<html xmlns="http://www.w3.org/1999/xhtml">
3
 <head>
4
  <title>CSS Reftest Reference</title>
5
  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
6
  <style type="text/css"><![CDATA[
7
  div
8
  {
9
  background-color: green;
10
  height: 100px;
11
  width: 100px;
12
  }
13
  ]]></style>
14
 </head>
15
 <body>
16
  <p>Test passes if there is a filled green square and <strong>no red</strong>.</p>
17
  <div></div>
18
 </body>
19
</html>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/replaced-element-008.tentative.html +10 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/replaced-element-008.tentative.html_sec1
1
<!DOCTYPE html>
2
<title>CSS aspect-ratio: svg</title>
3
<link rel="author" title="Google LLC" href="https://www.google.com/">
4
<link rel="help" href="https://drafts.csswg.org/css-sizing-4/#aspect-ratio">
5
<link rel="match" href="../../reference/ref-filled-green-100px-square.xht" />
6
7
<p>Test passes if there is a filled green square and <strong>no red</strong>.</p>
8
9
<!-- Uses an indefinite height -->
10
<svg viewBox="0 0 5 1" width="100px" height="100%" style="-webkit-aspect-ratio: 1/1; background-color: green;"></svg>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/replaced-element-009.tentative-expected.xht +19 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/replaced-element-009.tentative-expected.xht_sec1
1
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
2
<html xmlns="http://www.w3.org/1999/xhtml">
3
 <head>
4
  <title>CSS Reftest Reference</title>
5
  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
6
  <style type="text/css"><![CDATA[
7
  div
8
  {
9
  background-color: green;
10
  height: 100px;
11
  width: 100px;
12
  }
13
  ]]></style>
14
 </head>
15
 <body>
16
  <p>Test passes if there is a filled green square and <strong>no red</strong>.</p>
17
  <div></div>
18
 </body>
19
</html>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/replaced-element-009.tentative.html +10 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/replaced-element-009.tentative.html_sec1
1
<!DOCTYPE html>
2
<title>CSS aspect-ratio: img (vertical writing mode)</title>
3
<link rel="author" title="Google LLC" href="https://www.google.com/">
4
<link rel="help" href="https://drafts.csswg.org/css-sizing-4/#aspect-ratio">
5
<link rel="match" href="../../reference/ref-filled-green-100px-square.xht" />
6
7
<p>Test passes if there is a filled green square and <strong>no red</strong>.</p>
8
9
<img src="support/20x50-green.png" style="width: 100px; -webkit-aspect-ratio: 1/1; writing-mode: vertical-rl;">
10
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/replaced-element-010.tentative-expected.xht +19 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/replaced-element-010.tentative-expected.xht_sec1
1
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
2
<html xmlns="http://www.w3.org/1999/xhtml">
3
 <head>
4
  <title>CSS Reftest Reference</title>
5
  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
6
  <style type="text/css"><![CDATA[
7
  div
8
  {
9
  background-color: green;
10
  height: 100px;
11
  width: 100px;
12
  }
13
  ]]></style>
14
 </head>
15
 <body>
16
  <p>Test passes if there is a filled green square and <strong>no red</strong>.</p>
17
  <div></div>
18
 </body>
19
</html>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/replaced-element-010.tentative.html +11 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/replaced-element-010.tentative.html_sec1
1
<!DOCTYPE html>
2
<title>CSS aspect-ratio: SVG img (vertical writing mode)</title>
3
<link rel="author" title="Google LLC" href="https://www.google.com/">
4
<link rel="help" href="https://drafts.csswg.org/css-sizing-4/#aspect-ratio">
5
<link rel="match" href="../../reference/ref-filled-green-100px-square.xht" />
6
7
<p>Test passes if there is a filled green square and <strong>no red</strong>.</p>
8
9
<img src="data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1 1' style='background-color: green'%3E%3C/svg%3E" style="width: 100px; -webkit-aspect-ratio: 5/1; writing-mode: vertical-rl; vertical-align: top;">
10
<div style="background: green; height: 80px; width: 100px;"></div>
11
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/replaced-element-011.tentative-expected.xht +19 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/replaced-element-011.tentative-expected.xht_sec1
1
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
2
<html xmlns="http://www.w3.org/1999/xhtml">
3
 <head>
4
  <title>CSS Reftest Reference</title>
5
  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
6
  <style type="text/css"><![CDATA[
7
  div
8
  {
9
  background-color: green;
10
  height: 100px;
11
  width: 100px;
12
  }
13
  ]]></style>
14
 </head>
15
 <body>
16
  <p>Test passes if there is a filled green square and <strong>no red</strong>.</p>
17
  <div></div>
18
 </body>
19
</html>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/replaced-element-011.tentative.html +10 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/replaced-element-011.tentative.html_sec1
1
<!DOCTYPE html>
2
<title>CSS aspect-ratio: svg</title>
3
<link rel="author" title="Google LLC" href="https://www.google.com/">
4
<link rel="help" href="https://drafts.csswg.org/css-sizing-4/#aspect-ratio">
5
<link rel="match" href="../../reference/ref-filled-green-100px-square.xht" />
6
7
<p>Test passes if there is a filled green square and <strong>no red</strong>.</p>
8
9
<svg viewBox="0 0 1 1" style="width: 100px; -webkit-aspect-ratio: 5/1; background-color: green; writing-mode: vertical-rl; vertical-align: top;"></svg>
10
<div style="background: green; height: 80px; width: 100px;"></div>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/replaced-element-012.tentative-expected.xht +19 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/replaced-element-012.tentative-expected.xht_sec1
1
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
2
<html xmlns="http://www.w3.org/1999/xhtml">
3
 <head>
4
  <title>CSS Reftest Reference</title>
5
  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
6
  <style type="text/css"><![CDATA[
7
  div
8
  {
9
  background-color: green;
10
  height: 100px;
11
  width: 100px;
12
  }
13
  ]]></style>
14
 </head>
15
 <body>
16
  <p>Test passes if there is a filled green square and <strong>no red</strong>.</p>
17
  <div></div>
18
 </body>
19
</html>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/replaced-element-012.tentative.html +13 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/replaced-element-012.tentative.html_sec1
1
<!DOCTYPE html>
2
<title>CSS aspect-ratio: picture</title>
3
<link rel="author" title="Google LLC" href="https://www.google.com/">
4
<link rel="help" href="https://drafts.csswg.org/css-sizing-4/#aspect-ratio">
5
<link rel="match" href="../../reference/ref-filled-green-100px-square.xht" />
6
7
<p>Test passes if there is a filled green square and <strong>no red</strong>.</p>
8
9
<picture>
10
  <source srcset="support/20x50-green.png">
11
  <img style="width: 100px; -webkit-aspect-ratio: 1/1;">
12
</picture>
13
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/support/w3c-import.log +18 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/support/w3c-import.log_sec1
1
The tests in this directory were imported from the W3C repository.
2
Do NOT modify these tests directly in WebKit.
3
Instead, create a pull request on the WPT github:
4
	https://github.com/web-platform-tests/wpt
5
6
Then run the Tools/Scripts/import-w3c-tests in WebKit to reimport
7
8
Do NOT modify or remove this file.
9
10
------------------------------------------------------------------------
11
Properties requiring vendor prefixes:
12
None
13
Property values requiring vendor prefixes:
14
None
15
------------------------------------------------------------------------
16
List of files:
17
/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/support/20x50-green.png
18
/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/support/2x2-green.ogv
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/w3c-import.log +145 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/w3c-import.log_sec1
1
The tests in this directory were imported from the W3C repository.
2
Do NOT modify these tests directly in WebKit.
3
Instead, create a pull request on the WPT github:
4
	https://github.com/web-platform-tests/wpt
5
6
Then run the Tools/Scripts/import-w3c-tests in WebKit to reimport
7
8
Do NOT modify or remove this file.
9
10
------------------------------------------------------------------------
11
Properties requiring vendor prefixes:
12
aspect-ratio
13
Property values requiring vendor prefixes:
14
None
15
------------------------------------------------------------------------
16
List of files:
17
/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/abspos-001.tentative-expected.xht
18
/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/abspos-001.tentative.html
19
/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/abspos-002.tentative-expected.xht
20
/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/abspos-002.tentative.html
21
/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/abspos-003.tentative-expected.xht
22
/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/abspos-003.tentative.html
23
/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/abspos-004.tentative-expected.xht
24
/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/abspos-004.tentative.html
25
/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/abspos-005.tentative-expected.xht
26
/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/abspos-005.tentative.html
27
/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/abspos-006.tentative-expected.xht
28
/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/abspos-006.tentative.html
29
/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/abspos-007.tentative-expected.xht
30
/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/abspos-007.tentative.html
31
/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/abspos-008.tentative-expected.xht
32
/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/abspos-008.tentative.html
33
/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/auto-margins-001.tentative-expected.xht
34
/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/auto-margins-001.tentative.html
35
/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/block-aspect-ratio-001.tentative-expected.xht
36
/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/block-aspect-ratio-001.tentative.html
37
/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/block-aspect-ratio-002.tentative-expected.xht
38
/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/block-aspect-ratio-002.tentative.html
39
/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/block-aspect-ratio-003.tentative-expected.xht
40
/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/block-aspect-ratio-003.tentative.html
41
/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/block-aspect-ratio-004.tentative-expected.xht
42
/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/block-aspect-ratio-004.tentative.html
43
/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/block-aspect-ratio-005.tentative-expected.xht
44
/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/block-aspect-ratio-005.tentative.html
45
/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/block-aspect-ratio-006.tentative-expected.xht
46
/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/block-aspect-ratio-006.tentative.html
47
/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/block-aspect-ratio-007.tentative-expected.xht
48
/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/block-aspect-ratio-007.tentative.html
49
/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/block-aspect-ratio-008.tentative-expected.xht
50
/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/block-aspect-ratio-008.tentative.html
51
/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/block-aspect-ratio-009.tentative-expected.xht
52
/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/block-aspect-ratio-009.tentative.html
53
/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/block-aspect-ratio-010.tentative-expected.xht
54
/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/block-aspect-ratio-010.tentative.html
55
/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/block-aspect-ratio-011.tentative-expected.html
56
/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/block-aspect-ratio-011.tentative.html
57
/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/block-aspect-ratio-012.tentative-expected.html
58
/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/block-aspect-ratio-012.tentative.html
59
/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/block-aspect-ratio-013.tentative-expected.xht
60
/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/block-aspect-ratio-013.tentative.html
61
/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/block-aspect-ratio-014.tentative-expected.xht
62
/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/block-aspect-ratio-014.tentative.html
63
/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/block-aspect-ratio-015.tentative-expected.xht
64
/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/block-aspect-ratio-015.tentative.html
65
/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/block-aspect-ratio-016.tentative-expected.xht
66
/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/block-aspect-ratio-016.tentative.html
67
/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/block-aspect-ratio-017.tentative-expected.xht
68
/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/block-aspect-ratio-017.tentative.html
69
/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/block-aspect-ratio-018.tentative-expected.xht
70
/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/block-aspect-ratio-018.tentative.html
71
/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/block-aspect-ratio-019.tentative-expected.xht
72
/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/block-aspect-ratio-019.tentative.html
73
/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/block-aspect-ratio-020.tentative-expected.xht
74
/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/block-aspect-ratio-020.tentative.html
75
/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/flex-aspect-ratio-001.tentative-expected.xht
76
/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/flex-aspect-ratio-001.tentative.html
77
/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/flex-aspect-ratio-002.tentative-expected.xht
78
/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/flex-aspect-ratio-002.tentative.html
79
/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/flex-aspect-ratio-003.tentative-expected.xht
80
/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/flex-aspect-ratio-003.tentative.html
81
/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/flex-aspect-ratio-004.tentative-expected.xht
82
/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/flex-aspect-ratio-004.tentative.html
83
/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/flex-aspect-ratio-005.tentative-expected.xht
84
/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/flex-aspect-ratio-005.tentative.html
85
/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/flex-aspect-ratio-006.tentative-expected.xht
86
/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/flex-aspect-ratio-006.tentative.html
87
/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/flex-aspect-ratio-007.tentative-expected.xht
88
/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/flex-aspect-ratio-007.tentative.html
89
/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/flex-aspect-ratio-008.tentative-expected.xht
90
/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/flex-aspect-ratio-008.tentative.html
91
/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/flex-aspect-ratio-009.tentative-expected.xht
92
/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/flex-aspect-ratio-009.tentative.html
93
/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/flex-aspect-ratio-010.tentative-expected.xht
94
/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/flex-aspect-ratio-010.tentative.html
95
/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/intrinsic-size-001.tentative-expected.xht
96
/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/intrinsic-size-001.tentative.html
97
/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/intrinsic-size-002.tentative-expected.xht
98
/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/intrinsic-size-002.tentative.html
99
/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/intrinsic-size-003.tentative-expected.xht
100
/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/intrinsic-size-003.tentative.html
101
/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/intrinsic-size-004.tentative-expected.xht
102
/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/intrinsic-size-004.tentative.html
103
/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/intrinsic-size-005.tentative-expected.xht
104
/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/intrinsic-size-005.tentative.html
105
/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/intrinsic-size-006.tentative-expected.xht
106
/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/intrinsic-size-006.tentative.html
107
/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/intrinsic-size-007.tentative-expected.xht
108
/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/intrinsic-size-007.tentative.html
109
/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/intrinsic-size-008.tentative-expected.xht
110
/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/intrinsic-size-008.tentative.html
111
/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/percentage-resolution-001.tentative-expected.xht
112
/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/percentage-resolution-001.tentative.html
113
/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/percentage-resolution-002.tentative-expected.xht
114
/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/percentage-resolution-002.tentative.html
115
/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/percentage-resolution-003.tentative-expected.xht
116
/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/percentage-resolution-003.tentative.html
117
/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/percentage-resolution-004.tentative-expected.xht
118
/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/percentage-resolution-004.tentative.html
119
/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/quirks-mode-001.tentative.html
120
/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/quirks-mode-002.tentative.html
121
/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/quirks-mode-003.tentative.html
122
/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/replaced-element-001.tentative-expected.xht
123
/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/replaced-element-001.tentative.html
124
/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/replaced-element-002.tentative-expected.xht
125
/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/replaced-element-002.tentative.html
126
/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/replaced-element-003.tentative-expected.xht
127
/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/replaced-element-003.tentative.html
128
/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/replaced-element-004.tentative-expected.xht
129
/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/replaced-element-004.tentative.html
130
/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/replaced-element-005.tentative-expected.xht
131
/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/replaced-element-005.tentative.html
132
/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/replaced-element-006.tentative-expected.xht
133
/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/replaced-element-006.tentative.html
134
/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/replaced-element-007.tentative-expected.xht
135
/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/replaced-element-007.tentative.html
136
/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/replaced-element-008.tentative-expected.xht
137
/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/replaced-element-008.tentative.html
138
/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/replaced-element-009.tentative-expected.xht
139
/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/replaced-element-009.tentative.html
140
/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/replaced-element-010.tentative-expected.xht
141
/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/replaced-element-010.tentative.html
142
/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/replaced-element-011.tentative-expected.xht
143
/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/replaced-element-011.tentative.html
144
/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/replaced-element-012.tentative-expected.xht
145
/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/replaced-element-012.tentative.html
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/canvas-intrinsic-dynamic-expected.html +4 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/canvas-intrinsic-dynamic-expected.html_sec1
1
<!DOCTYPE html>
2
<link rel="author" title="Morten Stenshorne" href="mstensho@chromium.org">
3
<p>Test passes if there is a filled green square.</p>
4
<div style="width:100px; height:100px; background:green;"></div>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/canvas-intrinsic-dynamic.html +16 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/canvas-intrinsic-dynamic.html_sec1
1
<!DOCTYPE html>
2
<link rel="help" href="https://drafts.csswg.org/css-sizing-3/#intrinsic">
3
<link rel="match" href="../reference/ref-filled-green-100px-square-only.html">
4
<meta name="assert" content="This test checks that a dynamic change in the intrinsic size of a canvas element correctly changes the intrinsic size of a parent." />
5
<body style="position: relative;">
6
  <p>Test passes if there is a filled green square.</p>
7
  <div style="position: absolute; background: green; line-height: 0;">
8
    <canvas id="target"></canvas>
9
  </div>
10
</body>
11
<script>
12
  document.body.offsetTop;
13
  const target = document.getElementById('target');
14
  target.width = '100';
15
  target.height = '100';
16
</script>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/clone-intrinsic-size-expected.html -1 / +1 lines
Lines 29-35 span { a/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/clone-intrinsic-size-expected.html_sec1
29
  margin: 0 4px 0 3px;
29
  margin: 0 4px 0 3px;
30
  background: yellow;
30
  background: yellow;
31
  -webkit-box-decoration-break: clone;
31
  -webkit-box-decoration-break: clone;
32
  box-decoration-break: clone;
32
  -webkit-box-decoration-break: clone;
33
}
33
}
34
34
35
f { margin-right: 30px; float: left; }
35
f { margin-right: 30px; float: left; }
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/clone-intrinsic-size.html -1 / +1 lines
Lines 32-38 span { a/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/clone-intrinsic-size.html_sec1
32
  margin: 0 4px 0 3px;
32
  margin: 0 4px 0 3px;
33
  background: yellow;
33
  background: yellow;
34
  -webkit-box-decoration-break: clone;
34
  -webkit-box-decoration-break: clone;
35
  box-decoration-break: clone;
35
  -webkit-box-decoration-break: clone;
36
}
36
}
37
37
38
f { margin-right: 30px; float: left; }
38
f { margin-right: 30px; float: left; }
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/clone-nowrap-intrinsic-size-bidi-expected.html -1 / +1 lines
Lines 24-30 span { a/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/clone-nowrap-intrinsic-size-bidi-expected.html_sec1
24
  margin: 0 4px 0 3px;
24
  margin: 0 4px 0 3px;
25
  background: yellow;
25
  background: yellow;
26
  -webkit-box-decoration-break: clone;
26
  -webkit-box-decoration-break: clone;
27
  box-decoration-break: clone;
27
  -webkit-box-decoration-break: clone;
28
}
28
}
29
29
30
f { margin-right: 30px; float: left; }
30
f { margin-right: 30px; float: left; }
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/clone-nowrap-intrinsic-size-bidi.html -1 / +1 lines
Lines 33-39 span { a/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/clone-nowrap-intrinsic-size-bidi.html_sec1
33
  margin: 0 4px 0 3px;
33
  margin: 0 4px 0 3px;
34
  background: yellow;
34
  background: yellow;
35
  -webkit-box-decoration-break: clone;
35
  -webkit-box-decoration-break: clone;
36
  box-decoration-break: clone;
36
  -webkit-box-decoration-break: clone;
37
}
37
}
38
38
39
f { margin-right: 30px; float: left; }
39
f { margin-right: 30px; float: left; }
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/clone-nowrap-intrinsic-size-expected.html -1 / +1 lines
Lines 24-30 span { a/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/clone-nowrap-intrinsic-size-expected.html_sec1
24
  margin: 0 4px 0 3px;
24
  margin: 0 4px 0 3px;
25
  background: yellow;
25
  background: yellow;
26
  -webkit-box-decoration-break: clone;
26
  -webkit-box-decoration-break: clone;
27
  box-decoration-break: clone;
27
  -webkit-box-decoration-break: clone;
28
}
28
}
29
29
30
f { margin-right: 30px; float: left; }
30
f { margin-right: 30px; float: left; }
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/clone-nowrap-intrinsic-size.html -1 / +1 lines
Lines 33-39 span { a/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/clone-nowrap-intrinsic-size.html_sec1
33
  margin: 0 4px 0 3px;
33
  margin: 0 4px 0 3px;
34
  background: yellow;
34
  background: yellow;
35
  -webkit-box-decoration-break: clone;
35
  -webkit-box-decoration-break: clone;
36
  box-decoration-break: clone;
36
  -webkit-box-decoration-break: clone;
37
}
37
}
38
38
39
f { margin-right: 30px; float: left; }
39
f { margin-right: 30px; float: left; }
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/contain-intrinsic-size/animation/contain-intrinsic-size-interpolation-expected.txt +214 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/contain-intrinsic-size/animation/contain-intrinsic-size-interpolation-expected.txt_sec1
1
2
FAIL CSS Transitions: property <contain-intrinsic-size> from neutral to [20px 10px] at (-0.3) should be [59px 75px] assert_true: 'to' value should be supported expected true got false
3
FAIL CSS Transitions: property <contain-intrinsic-size> from neutral to [20px 10px] at (0) should be [50px 60px] assert_true: 'to' value should be supported expected true got false
4
FAIL CSS Transitions: property <contain-intrinsic-size> from neutral to [20px 10px] at (0.3) should be [41px 45px] assert_true: 'to' value should be supported expected true got false
5
FAIL CSS Transitions: property <contain-intrinsic-size> from neutral to [20px 10px] at (0.6) should be [32px 30px] assert_true: 'to' value should be supported expected true got false
6
FAIL CSS Transitions: property <contain-intrinsic-size> from neutral to [20px 10px] at (1) should be [20px 10px] assert_true: 'to' value should be supported expected true got false
7
FAIL CSS Transitions: property <contain-intrinsic-size> from neutral to [20px 10px] at (1.5) should be [5px 0px] assert_true: 'to' value should be supported expected true got false
8
FAIL CSS Transitions with transition: all: property <contain-intrinsic-size> from neutral to [20px 10px] at (-0.3) should be [59px 75px] assert_true: 'to' value should be supported expected true got false
9
FAIL CSS Transitions with transition: all: property <contain-intrinsic-size> from neutral to [20px 10px] at (0) should be [50px 60px] assert_true: 'to' value should be supported expected true got false
10
FAIL CSS Transitions with transition: all: property <contain-intrinsic-size> from neutral to [20px 10px] at (0.3) should be [41px 45px] assert_true: 'to' value should be supported expected true got false
11
FAIL CSS Transitions with transition: all: property <contain-intrinsic-size> from neutral to [20px 10px] at (0.6) should be [32px 30px] assert_true: 'to' value should be supported expected true got false
12
FAIL CSS Transitions with transition: all: property <contain-intrinsic-size> from neutral to [20px 10px] at (1) should be [20px 10px] assert_true: 'to' value should be supported expected true got false
13
FAIL CSS Transitions with transition: all: property <contain-intrinsic-size> from neutral to [20px 10px] at (1.5) should be [5px 0px] assert_true: 'to' value should be supported expected true got false
14
FAIL CSS Animations: property <contain-intrinsic-size> from neutral to [20px 10px] at (-0.3) should be [59px 75px] assert_true: 'to' value should be supported expected true got false
15
FAIL CSS Animations: property <contain-intrinsic-size> from neutral to [20px 10px] at (0) should be [50px 60px] assert_true: 'to' value should be supported expected true got false
16
FAIL CSS Animations: property <contain-intrinsic-size> from neutral to [20px 10px] at (0.3) should be [41px 45px] assert_true: 'to' value should be supported expected true got false
17
FAIL CSS Animations: property <contain-intrinsic-size> from neutral to [20px 10px] at (0.6) should be [32px 30px] assert_true: 'to' value should be supported expected true got false
18
FAIL CSS Animations: property <contain-intrinsic-size> from neutral to [20px 10px] at (1) should be [20px 10px] assert_true: 'to' value should be supported expected true got false
19
FAIL CSS Animations: property <contain-intrinsic-size> from neutral to [20px 10px] at (1.5) should be [5px 0px] assert_true: 'to' value should be supported expected true got false
20
FAIL Web Animations: property <contain-intrinsic-size> from neutral to [20px 10px] at (-0.3) should be [59px 75px] assert_true: 'to' value should be supported expected true got false
21
FAIL Web Animations: property <contain-intrinsic-size> from neutral to [20px 10px] at (0) should be [50px 60px] assert_true: 'to' value should be supported expected true got false
22
FAIL Web Animations: property <contain-intrinsic-size> from neutral to [20px 10px] at (0.3) should be [41px 45px] assert_true: 'to' value should be supported expected true got false
23
FAIL Web Animations: property <contain-intrinsic-size> from neutral to [20px 10px] at (0.6) should be [32px 30px] assert_true: 'to' value should be supported expected true got false
24
FAIL Web Animations: property <contain-intrinsic-size> from neutral to [20px 10px] at (1) should be [20px 10px] assert_true: 'to' value should be supported expected true got false
25
FAIL Web Animations: property <contain-intrinsic-size> from neutral to [20px 10px] at (1.5) should be [5px 0px] assert_true: 'to' value should be supported expected true got false
26
FAIL CSS Transitions: property <contain-intrinsic-size> from [initial] to [20px 20px] at (-0.3) should be [20px 20px] assert_true: 'from' value should be supported expected true got false
27
FAIL CSS Transitions: property <contain-intrinsic-size> from [initial] to [20px 20px] at (0) should be [20px 20px] assert_true: 'from' value should be supported expected true got false
28
FAIL CSS Transitions: property <contain-intrinsic-size> from [initial] to [20px 20px] at (0.3) should be [20px 20px] assert_true: 'from' value should be supported expected true got false
29
FAIL CSS Transitions: property <contain-intrinsic-size> from [initial] to [20px 20px] at (0.5) should be [20px 20px] assert_true: 'from' value should be supported expected true got false
30
FAIL CSS Transitions: property <contain-intrinsic-size> from [initial] to [20px 20px] at (0.6) should be [20px 20px] assert_true: 'from' value should be supported expected true got false
31
FAIL CSS Transitions: property <contain-intrinsic-size> from [initial] to [20px 20px] at (1) should be [20px 20px] assert_true: 'from' value should be supported expected true got false
32
FAIL CSS Transitions: property <contain-intrinsic-size> from [initial] to [20px 20px] at (1.5) should be [20px 20px] assert_true: 'from' value should be supported expected true got false
33
FAIL CSS Transitions with transition: all: property <contain-intrinsic-size> from [initial] to [20px 20px] at (-0.3) should be [20px 20px] assert_true: 'from' value should be supported expected true got false
34
FAIL CSS Transitions with transition: all: property <contain-intrinsic-size> from [initial] to [20px 20px] at (0) should be [20px 20px] assert_true: 'from' value should be supported expected true got false
35
FAIL CSS Transitions with transition: all: property <contain-intrinsic-size> from [initial] to [20px 20px] at (0.3) should be [20px 20px] assert_true: 'from' value should be supported expected true got false
36
FAIL CSS Transitions with transition: all: property <contain-intrinsic-size> from [initial] to [20px 20px] at (0.5) should be [20px 20px] assert_true: 'from' value should be supported expected true got false
37
FAIL CSS Transitions with transition: all: property <contain-intrinsic-size> from [initial] to [20px 20px] at (0.6) should be [20px 20px] assert_true: 'from' value should be supported expected true got false
38
FAIL CSS Transitions with transition: all: property <contain-intrinsic-size> from [initial] to [20px 20px] at (1) should be [20px 20px] assert_true: 'from' value should be supported expected true got false
39
FAIL CSS Transitions with transition: all: property <contain-intrinsic-size> from [initial] to [20px 20px] at (1.5) should be [20px 20px] assert_true: 'from' value should be supported expected true got false
40
FAIL CSS Animations: property <contain-intrinsic-size> from [initial] to [20px 20px] at (-0.3) should be [initial] assert_true: 'from' value should be supported expected true got false
41
FAIL CSS Animations: property <contain-intrinsic-size> from [initial] to [20px 20px] at (0) should be [initial] assert_true: 'from' value should be supported expected true got false
42
FAIL CSS Animations: property <contain-intrinsic-size> from [initial] to [20px 20px] at (0.3) should be [initial] assert_true: 'from' value should be supported expected true got false
43
FAIL CSS Animations: property <contain-intrinsic-size> from [initial] to [20px 20px] at (0.5) should be [20px 20px] assert_true: 'from' value should be supported expected true got false
44
FAIL CSS Animations: property <contain-intrinsic-size> from [initial] to [20px 20px] at (0.6) should be [20px 20px] assert_true: 'from' value should be supported expected true got false
45
FAIL CSS Animations: property <contain-intrinsic-size> from [initial] to [20px 20px] at (1) should be [20px 20px] assert_true: 'from' value should be supported expected true got false
46
FAIL CSS Animations: property <contain-intrinsic-size> from [initial] to [20px 20px] at (1.5) should be [20px 20px] assert_true: 'from' value should be supported expected true got false
47
FAIL Web Animations: property <contain-intrinsic-size> from [initial] to [20px 20px] at (-0.3) should be [initial] assert_true: 'from' value should be supported expected true got false
48
FAIL Web Animations: property <contain-intrinsic-size> from [initial] to [20px 20px] at (0) should be [initial] assert_true: 'from' value should be supported expected true got false
49
FAIL Web Animations: property <contain-intrinsic-size> from [initial] to [20px 20px] at (0.3) should be [initial] assert_true: 'from' value should be supported expected true got false
50
FAIL Web Animations: property <contain-intrinsic-size> from [initial] to [20px 20px] at (0.5) should be [20px 20px] assert_true: 'from' value should be supported expected true got false
51
FAIL Web Animations: property <contain-intrinsic-size> from [initial] to [20px 20px] at (0.6) should be [20px 20px] assert_true: 'from' value should be supported expected true got false
52
FAIL Web Animations: property <contain-intrinsic-size> from [initial] to [20px 20px] at (1) should be [20px 20px] assert_true: 'from' value should be supported expected true got false
53
FAIL Web Animations: property <contain-intrinsic-size> from [initial] to [20px 20px] at (1.5) should be [20px 20px] assert_true: 'from' value should be supported expected true got false
54
FAIL CSS Transitions: property <contain-intrinsic-size> from [inherit] to [20px] at (-0.3) should be [20px] assert_true: 'from' value should be supported expected true got false
55
FAIL CSS Transitions: property <contain-intrinsic-size> from [inherit] to [20px] at (0) should be [20px] assert_true: 'from' value should be supported expected true got false
56
FAIL CSS Transitions: property <contain-intrinsic-size> from [inherit] to [20px] at (0.3) should be [20px] assert_true: 'from' value should be supported expected true got false
57
FAIL CSS Transitions: property <contain-intrinsic-size> from [inherit] to [20px] at (0.5) should be [20px] assert_true: 'from' value should be supported expected true got false
58
FAIL CSS Transitions: property <contain-intrinsic-size> from [inherit] to [20px] at (0.6) should be [20px] assert_true: 'from' value should be supported expected true got false
59
FAIL CSS Transitions: property <contain-intrinsic-size> from [inherit] to [20px] at (1) should be [20px] assert_true: 'from' value should be supported expected true got false
60
FAIL CSS Transitions: property <contain-intrinsic-size> from [inherit] to [20px] at (1.5) should be [20px] assert_true: 'from' value should be supported expected true got false
61
FAIL CSS Transitions with transition: all: property <contain-intrinsic-size> from [inherit] to [20px] at (-0.3) should be [20px] assert_true: 'from' value should be supported expected true got false
62
FAIL CSS Transitions with transition: all: property <contain-intrinsic-size> from [inherit] to [20px] at (0) should be [20px] assert_true: 'from' value should be supported expected true got false
63
FAIL CSS Transitions with transition: all: property <contain-intrinsic-size> from [inherit] to [20px] at (0.3) should be [20px] assert_true: 'from' value should be supported expected true got false
64
FAIL CSS Transitions with transition: all: property <contain-intrinsic-size> from [inherit] to [20px] at (0.5) should be [20px] assert_true: 'from' value should be supported expected true got false
65
FAIL CSS Transitions with transition: all: property <contain-intrinsic-size> from [inherit] to [20px] at (0.6) should be [20px] assert_true: 'from' value should be supported expected true got false
66
FAIL CSS Transitions with transition: all: property <contain-intrinsic-size> from [inherit] to [20px] at (1) should be [20px] assert_true: 'from' value should be supported expected true got false
67
FAIL CSS Transitions with transition: all: property <contain-intrinsic-size> from [inherit] to [20px] at (1.5) should be [20px] assert_true: 'from' value should be supported expected true got false
68
FAIL CSS Animations: property <contain-intrinsic-size> from [inherit] to [20px] at (-0.3) should be [inherit] assert_true: 'from' value should be supported expected true got false
69
FAIL CSS Animations: property <contain-intrinsic-size> from [inherit] to [20px] at (0) should be [inherit] assert_true: 'from' value should be supported expected true got false
70
FAIL CSS Animations: property <contain-intrinsic-size> from [inherit] to [20px] at (0.3) should be [inherit] assert_true: 'from' value should be supported expected true got false
71
FAIL CSS Animations: property <contain-intrinsic-size> from [inherit] to [20px] at (0.5) should be [20px] assert_true: 'from' value should be supported expected true got false
72
FAIL CSS Animations: property <contain-intrinsic-size> from [inherit] to [20px] at (0.6) should be [20px] assert_true: 'from' value should be supported expected true got false
73
FAIL CSS Animations: property <contain-intrinsic-size> from [inherit] to [20px] at (1) should be [20px] assert_true: 'from' value should be supported expected true got false
74
FAIL CSS Animations: property <contain-intrinsic-size> from [inherit] to [20px] at (1.5) should be [20px] assert_true: 'from' value should be supported expected true got false
75
FAIL Web Animations: property <contain-intrinsic-size> from [inherit] to [20px] at (-0.3) should be [inherit] assert_true: 'from' value should be supported expected true got false
76
FAIL Web Animations: property <contain-intrinsic-size> from [inherit] to [20px] at (0) should be [inherit] assert_true: 'from' value should be supported expected true got false
77
FAIL Web Animations: property <contain-intrinsic-size> from [inherit] to [20px] at (0.3) should be [inherit] assert_true: 'from' value should be supported expected true got false
78
FAIL Web Animations: property <contain-intrinsic-size> from [inherit] to [20px] at (0.5) should be [20px] assert_true: 'from' value should be supported expected true got false
79
FAIL Web Animations: property <contain-intrinsic-size> from [inherit] to [20px] at (0.6) should be [20px] assert_true: 'from' value should be supported expected true got false
80
FAIL Web Animations: property <contain-intrinsic-size> from [inherit] to [20px] at (1) should be [20px] assert_true: 'from' value should be supported expected true got false
81
FAIL Web Animations: property <contain-intrinsic-size> from [inherit] to [20px] at (1.5) should be [20px] assert_true: 'from' value should be supported expected true got false
82
FAIL CSS Transitions: property <contain-intrinsic-size> from [unset] to [20px] at (-0.3) should be [20px] assert_true: 'from' value should be supported expected true got false
83
FAIL CSS Transitions: property <contain-intrinsic-size> from [unset] to [20px] at (0) should be [20px] assert_true: 'from' value should be supported expected true got false
84
FAIL CSS Transitions: property <contain-intrinsic-size> from [unset] to [20px] at (0.3) should be [20px] assert_true: 'from' value should be supported expected true got false
85
FAIL CSS Transitions: property <contain-intrinsic-size> from [unset] to [20px] at (0.5) should be [20px] assert_true: 'from' value should be supported expected true got false
86
FAIL CSS Transitions: property <contain-intrinsic-size> from [unset] to [20px] at (0.6) should be [20px] assert_true: 'from' value should be supported expected true got false
87
FAIL CSS Transitions: property <contain-intrinsic-size> from [unset] to [20px] at (1) should be [20px] assert_true: 'from' value should be supported expected true got false
88
FAIL CSS Transitions: property <contain-intrinsic-size> from [unset] to [20px] at (1.5) should be [20px] assert_true: 'from' value should be supported expected true got false
89
FAIL CSS Transitions with transition: all: property <contain-intrinsic-size> from [unset] to [20px] at (-0.3) should be [20px] assert_true: 'from' value should be supported expected true got false
90
FAIL CSS Transitions with transition: all: property <contain-intrinsic-size> from [unset] to [20px] at (0) should be [20px] assert_true: 'from' value should be supported expected true got false
91
FAIL CSS Transitions with transition: all: property <contain-intrinsic-size> from [unset] to [20px] at (0.3) should be [20px] assert_true: 'from' value should be supported expected true got false
92
FAIL CSS Transitions with transition: all: property <contain-intrinsic-size> from [unset] to [20px] at (0.5) should be [20px] assert_true: 'from' value should be supported expected true got false
93
FAIL CSS Transitions with transition: all: property <contain-intrinsic-size> from [unset] to [20px] at (0.6) should be [20px] assert_true: 'from' value should be supported expected true got false
94
FAIL CSS Transitions with transition: all: property <contain-intrinsic-size> from [unset] to [20px] at (1) should be [20px] assert_true: 'from' value should be supported expected true got false
95
FAIL CSS Transitions with transition: all: property <contain-intrinsic-size> from [unset] to [20px] at (1.5) should be [20px] assert_true: 'from' value should be supported expected true got false
96
FAIL CSS Animations: property <contain-intrinsic-size> from [unset] to [20px] at (-0.3) should be [unset] assert_true: 'from' value should be supported expected true got false
97
FAIL CSS Animations: property <contain-intrinsic-size> from [unset] to [20px] at (0) should be [unset] assert_true: 'from' value should be supported expected true got false
98
FAIL CSS Animations: property <contain-intrinsic-size> from [unset] to [20px] at (0.3) should be [unset] assert_true: 'from' value should be supported expected true got false
99
FAIL CSS Animations: property <contain-intrinsic-size> from [unset] to [20px] at (0.5) should be [20px] assert_true: 'from' value should be supported expected true got false
100
FAIL CSS Animations: property <contain-intrinsic-size> from [unset] to [20px] at (0.6) should be [20px] assert_true: 'from' value should be supported expected true got false
101
FAIL CSS Animations: property <contain-intrinsic-size> from [unset] to [20px] at (1) should be [20px] assert_true: 'from' value should be supported expected true got false
102
FAIL CSS Animations: property <contain-intrinsic-size> from [unset] to [20px] at (1.5) should be [20px] assert_true: 'from' value should be supported expected true got false
103
FAIL Web Animations: property <contain-intrinsic-size> from [unset] to [20px] at (-0.3) should be [unset] assert_true: 'from' value should be supported expected true got false
104
FAIL Web Animations: property <contain-intrinsic-size> from [unset] to [20px] at (0) should be [unset] assert_true: 'from' value should be supported expected true got false
105
FAIL Web Animations: property <contain-intrinsic-size> from [unset] to [20px] at (0.3) should be [unset] assert_true: 'from' value should be supported expected true got false
106
FAIL Web Animations: property <contain-intrinsic-size> from [unset] to [20px] at (0.5) should be [20px] assert_true: 'from' value should be supported expected true got false
107
FAIL Web Animations: property <contain-intrinsic-size> from [unset] to [20px] at (0.6) should be [20px] assert_true: 'from' value should be supported expected true got false
108
FAIL Web Animations: property <contain-intrinsic-size> from [unset] to [20px] at (1) should be [20px] assert_true: 'from' value should be supported expected true got false
109
FAIL Web Animations: property <contain-intrinsic-size> from [unset] to [20px] at (1.5) should be [20px] assert_true: 'from' value should be supported expected true got false
110
FAIL CSS Transitions: property <contain-intrinsic-size> from [auto] to [20px 20px] at (-0.3) should be [20px 20px] assert_true: 'from' value should be supported expected true got false
111
FAIL CSS Transitions: property <contain-intrinsic-size> from [auto] to [20px 20px] at (0) should be [20px 20px] assert_true: 'from' value should be supported expected true got false
112
FAIL CSS Transitions: property <contain-intrinsic-size> from [auto] to [20px 20px] at (0.3) should be [20px 20px] assert_true: 'from' value should be supported expected true got false
113
FAIL CSS Transitions: property <contain-intrinsic-size> from [auto] to [20px 20px] at (0.5) should be [20px 20px] assert_true: 'from' value should be supported expected true got false
114
FAIL CSS Transitions: property <contain-intrinsic-size> from [auto] to [20px 20px] at (0.6) should be [20px 20px] assert_true: 'from' value should be supported expected true got false
115
FAIL CSS Transitions: property <contain-intrinsic-size> from [auto] to [20px 20px] at (1) should be [20px 20px] assert_true: 'from' value should be supported expected true got false
116
FAIL CSS Transitions: property <contain-intrinsic-size> from [auto] to [20px 20px] at (1.5) should be [20px 20px] assert_true: 'from' value should be supported expected true got false
117
FAIL CSS Transitions with transition: all: property <contain-intrinsic-size> from [auto] to [20px 20px] at (-0.3) should be [20px 20px] assert_true: 'from' value should be supported expected true got false
118
FAIL CSS Transitions with transition: all: property <contain-intrinsic-size> from [auto] to [20px 20px] at (0) should be [20px 20px] assert_true: 'from' value should be supported expected true got false
119
FAIL CSS Transitions with transition: all: property <contain-intrinsic-size> from [auto] to [20px 20px] at (0.3) should be [20px 20px] assert_true: 'from' value should be supported expected true got false
120
FAIL CSS Transitions with transition: all: property <contain-intrinsic-size> from [auto] to [20px 20px] at (0.5) should be [20px 20px] assert_true: 'from' value should be supported expected true got false
121
FAIL CSS Transitions with transition: all: property <contain-intrinsic-size> from [auto] to [20px 20px] at (0.6) should be [20px 20px] assert_true: 'from' value should be supported expected true got false
122
FAIL CSS Transitions with transition: all: property <contain-intrinsic-size> from [auto] to [20px 20px] at (1) should be [20px 20px] assert_true: 'from' value should be supported expected true got false
123
FAIL CSS Transitions with transition: all: property <contain-intrinsic-size> from [auto] to [20px 20px] at (1.5) should be [20px 20px] assert_true: 'from' value should be supported expected true got false
124
FAIL CSS Animations: property <contain-intrinsic-size> from [auto] to [20px 20px] at (-0.3) should be [auto] assert_true: 'from' value should be supported expected true got false
125
FAIL CSS Animations: property <contain-intrinsic-size> from [auto] to [20px 20px] at (0) should be [auto] assert_true: 'from' value should be supported expected true got false
126
FAIL CSS Animations: property <contain-intrinsic-size> from [auto] to [20px 20px] at (0.3) should be [auto] assert_true: 'from' value should be supported expected true got false
127
FAIL CSS Animations: property <contain-intrinsic-size> from [auto] to [20px 20px] at (0.5) should be [20px 20px] assert_true: 'from' value should be supported expected true got false
128
FAIL CSS Animations: property <contain-intrinsic-size> from [auto] to [20px 20px] at (0.6) should be [20px 20px] assert_true: 'from' value should be supported expected true got false
129
FAIL CSS Animations: property <contain-intrinsic-size> from [auto] to [20px 20px] at (1) should be [20px 20px] assert_true: 'from' value should be supported expected true got false
130
FAIL CSS Animations: property <contain-intrinsic-size> from [auto] to [20px 20px] at (1.5) should be [20px 20px] assert_true: 'from' value should be supported expected true got false
131
FAIL Web Animations: property <contain-intrinsic-size> from [auto] to [20px 20px] at (-0.3) should be [auto] assert_true: 'from' value should be supported expected true got false
132
FAIL Web Animations: property <contain-intrinsic-size> from [auto] to [20px 20px] at (0) should be [auto] assert_true: 'from' value should be supported expected true got false
133
FAIL Web Animations: property <contain-intrinsic-size> from [auto] to [20px 20px] at (0.3) should be [auto] assert_true: 'from' value should be supported expected true got false
134
FAIL Web Animations: property <contain-intrinsic-size> from [auto] to [20px 20px] at (0.5) should be [20px 20px] assert_true: 'from' value should be supported expected true got false
135
FAIL Web Animations: property <contain-intrinsic-size> from [auto] to [20px 20px] at (0.6) should be [20px 20px] assert_true: 'from' value should be supported expected true got false
136
FAIL Web Animations: property <contain-intrinsic-size> from [auto] to [20px 20px] at (1) should be [20px 20px] assert_true: 'from' value should be supported expected true got false
137
FAIL Web Animations: property <contain-intrinsic-size> from [auto] to [20px 20px] at (1.5) should be [20px 20px] assert_true: 'from' value should be supported expected true got false
138
FAIL CSS Transitions: property <contain-intrinsic-size> from [10px 15px] to [auto] at (-0.3) should be [auto] assert_true: 'from' value should be supported expected true got false
139
FAIL CSS Transitions: property <contain-intrinsic-size> from [10px 15px] to [auto] at (0) should be [auto] assert_true: 'from' value should be supported expected true got false
140
FAIL CSS Transitions: property <contain-intrinsic-size> from [10px 15px] to [auto] at (0.3) should be [auto] assert_true: 'from' value should be supported expected true got false
141
FAIL CSS Transitions: property <contain-intrinsic-size> from [10px 15px] to [auto] at (0.5) should be [auto] assert_true: 'from' value should be supported expected true got false
142
FAIL CSS Transitions: property <contain-intrinsic-size> from [10px 15px] to [auto] at (0.6) should be [auto] assert_true: 'from' value should be supported expected true got false
143
FAIL CSS Transitions: property <contain-intrinsic-size> from [10px 15px] to [auto] at (1) should be [auto] assert_true: 'from' value should be supported expected true got false
144
FAIL CSS Transitions: property <contain-intrinsic-size> from [10px 15px] to [auto] at (1.5) should be [auto] assert_true: 'from' value should be supported expected true got false
145
FAIL CSS Transitions with transition: all: property <contain-intrinsic-size> from [10px 15px] to [auto] at (-0.3) should be [auto] assert_true: 'from' value should be supported expected true got false
146
FAIL CSS Transitions with transition: all: property <contain-intrinsic-size> from [10px 15px] to [auto] at (0) should be [auto] assert_true: 'from' value should be supported expected true got false
147
FAIL CSS Transitions with transition: all: property <contain-intrinsic-size> from [10px 15px] to [auto] at (0.3) should be [auto] assert_true: 'from' value should be supported expected true got false
148
FAIL CSS Transitions with transition: all: property <contain-intrinsic-size> from [10px 15px] to [auto] at (0.5) should be [auto] assert_true: 'from' value should be supported expected true got false
149
FAIL CSS Transitions with transition: all: property <contain-intrinsic-size> from [10px 15px] to [auto] at (0.6) should be [auto] assert_true: 'from' value should be supported expected true got false
150
FAIL CSS Transitions with transition: all: property <contain-intrinsic-size> from [10px 15px] to [auto] at (1) should be [auto] assert_true: 'from' value should be supported expected true got false
151
FAIL CSS Transitions with transition: all: property <contain-intrinsic-size> from [10px 15px] to [auto] at (1.5) should be [auto] assert_true: 'from' value should be supported expected true got false
152
FAIL CSS Animations: property <contain-intrinsic-size> from [10px 15px] to [auto] at (-0.3) should be [10px 15px] assert_true: 'from' value should be supported expected true got false
153
FAIL CSS Animations: property <contain-intrinsic-size> from [10px 15px] to [auto] at (0) should be [10px 15px] assert_true: 'from' value should be supported expected true got false
154
FAIL CSS Animations: property <contain-intrinsic-size> from [10px 15px] to [auto] at (0.3) should be [10px 15px] assert_true: 'from' value should be supported expected true got false
155
FAIL CSS Animations: property <contain-intrinsic-size> from [10px 15px] to [auto] at (0.5) should be [auto] assert_true: 'from' value should be supported expected true got false
156
FAIL CSS Animations: property <contain-intrinsic-size> from [10px 15px] to [auto] at (0.6) should be [auto] assert_true: 'from' value should be supported expected true got false
157
FAIL CSS Animations: property <contain-intrinsic-size> from [10px 15px] to [auto] at (1) should be [auto] assert_true: 'from' value should be supported expected true got false
158
FAIL CSS Animations: property <contain-intrinsic-size> from [10px 15px] to [auto] at (1.5) should be [auto] assert_true: 'from' value should be supported expected true got false
159
FAIL Web Animations: property <contain-intrinsic-size> from [10px 15px] to [auto] at (-0.3) should be [10px 15px] assert_true: 'from' value should be supported expected true got false
160
FAIL Web Animations: property <contain-intrinsic-size> from [10px 15px] to [auto] at (0) should be [10px 15px] assert_true: 'from' value should be supported expected true got false
161
FAIL Web Animations: property <contain-intrinsic-size> from [10px 15px] to [auto] at (0.3) should be [10px 15px] assert_true: 'from' value should be supported expected true got false
162
FAIL Web Animations: property <contain-intrinsic-size> from [10px 15px] to [auto] at (0.5) should be [auto] assert_true: 'from' value should be supported expected true got false
163
FAIL Web Animations: property <contain-intrinsic-size> from [10px 15px] to [auto] at (0.6) should be [auto] assert_true: 'from' value should be supported expected true got false
164
FAIL Web Animations: property <contain-intrinsic-size> from [10px 15px] to [auto] at (1) should be [auto] assert_true: 'from' value should be supported expected true got false
165
FAIL Web Animations: property <contain-intrinsic-size> from [10px 15px] to [auto] at (1.5) should be [auto] assert_true: 'from' value should be supported expected true got false
166
FAIL CSS Transitions: property <contain-intrinsic-size> from [0px 0px] to [10px] at (-0.3) should be [0px 0px] assert_true: 'from' value should be supported expected true got false
167
FAIL CSS Transitions: property <contain-intrinsic-size> from [0px 0px] to [10px] at (0) should be [0px 0px] assert_true: 'from' value should be supported expected true got false
168
FAIL CSS Transitions: property <contain-intrinsic-size> from [0px 0px] to [10px] at (0.3) should be [3px 3px] assert_true: 'from' value should be supported expected true got false
169
FAIL CSS Transitions: property <contain-intrinsic-size> from [0px 0px] to [10px] at (0.6) should be [6px 6px] assert_true: 'from' value should be supported expected true got false
170
FAIL CSS Transitions: property <contain-intrinsic-size> from [0px 0px] to [10px] at (1) should be [10px 10px] assert_true: 'from' value should be supported expected true got false
171
FAIL CSS Transitions: property <contain-intrinsic-size> from [0px 0px] to [10px] at (1.5) should be [15px 15px] assert_true: 'from' value should be supported expected true got false
172
FAIL CSS Transitions with transition: all: property <contain-intrinsic-size> from [0px 0px] to [10px] at (-0.3) should be [0px 0px] assert_true: 'from' value should be supported expected true got false
173
FAIL CSS Transitions with transition: all: property <contain-intrinsic-size> from [0px 0px] to [10px] at (0) should be [0px 0px] assert_true: 'from' value should be supported expected true got false
174
FAIL CSS Transitions with transition: all: property <contain-intrinsic-size> from [0px 0px] to [10px] at (0.3) should be [3px 3px] assert_true: 'from' value should be supported expected true got false
175
FAIL CSS Transitions with transition: all: property <contain-intrinsic-size> from [0px 0px] to [10px] at (0.6) should be [6px 6px] assert_true: 'from' value should be supported expected true got false
176
FAIL CSS Transitions with transition: all: property <contain-intrinsic-size> from [0px 0px] to [10px] at (1) should be [10px 10px] assert_true: 'from' value should be supported expected true got false
177
FAIL CSS Transitions with transition: all: property <contain-intrinsic-size> from [0px 0px] to [10px] at (1.5) should be [15px 15px] assert_true: 'from' value should be supported expected true got false
178
FAIL CSS Animations: property <contain-intrinsic-size> from [0px 0px] to [10px] at (-0.3) should be [0px 0px] assert_true: 'from' value should be supported expected true got false
179
FAIL CSS Animations: property <contain-intrinsic-size> from [0px 0px] to [10px] at (0) should be [0px 0px] assert_true: 'from' value should be supported expected true got false
180
FAIL CSS Animations: property <contain-intrinsic-size> from [0px 0px] to [10px] at (0.3) should be [3px 3px] assert_true: 'from' value should be supported expected true got false
181
FAIL CSS Animations: property <contain-intrinsic-size> from [0px 0px] to [10px] at (0.6) should be [6px 6px] assert_true: 'from' value should be supported expected true got false
182
FAIL CSS Animations: property <contain-intrinsic-size> from [0px 0px] to [10px] at (1) should be [10px 10px] assert_true: 'from' value should be supported expected true got false
183
FAIL CSS Animations: property <contain-intrinsic-size> from [0px 0px] to [10px] at (1.5) should be [15px 15px] assert_true: 'from' value should be supported expected true got false
184
FAIL Web Animations: property <contain-intrinsic-size> from [0px 0px] to [10px] at (-0.3) should be [0px 0px] assert_true: 'from' value should be supported expected true got false
185
FAIL Web Animations: property <contain-intrinsic-size> from [0px 0px] to [10px] at (0) should be [0px 0px] assert_true: 'from' value should be supported expected true got false
186
FAIL Web Animations: property <contain-intrinsic-size> from [0px 0px] to [10px] at (0.3) should be [3px 3px] assert_true: 'from' value should be supported expected true got false
187
FAIL Web Animations: property <contain-intrinsic-size> from [0px 0px] to [10px] at (0.6) should be [6px 6px] assert_true: 'from' value should be supported expected true got false
188
FAIL Web Animations: property <contain-intrinsic-size> from [0px 0px] to [10px] at (1) should be [10px 10px] assert_true: 'from' value should be supported expected true got false
189
FAIL Web Animations: property <contain-intrinsic-size> from [0px 0px] to [10px] at (1.5) should be [15px 15px] assert_true: 'from' value should be supported expected true got false
190
FAIL CSS Transitions: property <contain-intrinsic-size> from [20px 40px] to [30px 50px] at (-0.3) should be [17px 37px] assert_true: 'from' value should be supported expected true got false
191
FAIL CSS Transitions: property <contain-intrinsic-size> from [20px 40px] to [30px 50px] at (0) should be [20px 40px] assert_true: 'from' value should be supported expected true got false
192
FAIL CSS Transitions: property <contain-intrinsic-size> from [20px 40px] to [30px 50px] at (0.3) should be [23px 43px] assert_true: 'from' value should be supported expected true got false
193
FAIL CSS Transitions: property <contain-intrinsic-size> from [20px 40px] to [30px 50px] at (0.6) should be [26px 46px] assert_true: 'from' value should be supported expected true got false
194
FAIL CSS Transitions: property <contain-intrinsic-size> from [20px 40px] to [30px 50px] at (1) should be [30px 50px] assert_true: 'from' value should be supported expected true got false
195
FAIL CSS Transitions: property <contain-intrinsic-size> from [20px 40px] to [30px 50px] at (1.5) should be [35px 55px] assert_true: 'from' value should be supported expected true got false
196
FAIL CSS Transitions with transition: all: property <contain-intrinsic-size> from [20px 40px] to [30px 50px] at (-0.3) should be [17px 37px] assert_true: 'from' value should be supported expected true got false
197
FAIL CSS Transitions with transition: all: property <contain-intrinsic-size> from [20px 40px] to [30px 50px] at (0) should be [20px 40px] assert_true: 'from' value should be supported expected true got false
198
FAIL CSS Transitions with transition: all: property <contain-intrinsic-size> from [20px 40px] to [30px 50px] at (0.3) should be [23px 43px] assert_true: 'from' value should be supported expected true got false
199
FAIL CSS Transitions with transition: all: property <contain-intrinsic-size> from [20px 40px] to [30px 50px] at (0.6) should be [26px 46px] assert_true: 'from' value should be supported expected true got false
200
FAIL CSS Transitions with transition: all: property <contain-intrinsic-size> from [20px 40px] to [30px 50px] at (1) should be [30px 50px] assert_true: 'from' value should be supported expected true got false
201
FAIL CSS Transitions with transition: all: property <contain-intrinsic-size> from [20px 40px] to [30px 50px] at (1.5) should be [35px 55px] assert_true: 'from' value should be supported expected true got false
202
FAIL CSS Animations: property <contain-intrinsic-size> from [20px 40px] to [30px 50px] at (-0.3) should be [17px 37px] assert_true: 'from' value should be supported expected true got false
203
FAIL CSS Animations: property <contain-intrinsic-size> from [20px 40px] to [30px 50px] at (0) should be [20px 40px] assert_true: 'from' value should be supported expected true got false
204
FAIL CSS Animations: property <contain-intrinsic-size> from [20px 40px] to [30px 50px] at (0.3) should be [23px 43px] assert_true: 'from' value should be supported expected true got false
205
FAIL CSS Animations: property <contain-intrinsic-size> from [20px 40px] to [30px 50px] at (0.6) should be [26px 46px] assert_true: 'from' value should be supported expected true got false
206
FAIL CSS Animations: property <contain-intrinsic-size> from [20px 40px] to [30px 50px] at (1) should be [30px 50px] assert_true: 'from' value should be supported expected true got false
207
FAIL CSS Animations: property <contain-intrinsic-size> from [20px 40px] to [30px 50px] at (1.5) should be [35px 55px] assert_true: 'from' value should be supported expected true got false
208
FAIL Web Animations: property <contain-intrinsic-size> from [20px 40px] to [30px 50px] at (-0.3) should be [17px 37px] assert_true: 'from' value should be supported expected true got false
209
FAIL Web Animations: property <contain-intrinsic-size> from [20px 40px] to [30px 50px] at (0) should be [20px 40px] assert_true: 'from' value should be supported expected true got false
210
FAIL Web Animations: property <contain-intrinsic-size> from [20px 40px] to [30px 50px] at (0.3) should be [23px 43px] assert_true: 'from' value should be supported expected true got false
211
FAIL Web Animations: property <contain-intrinsic-size> from [20px 40px] to [30px 50px] at (0.6) should be [26px 46px] assert_true: 'from' value should be supported expected true got false
212
FAIL Web Animations: property <contain-intrinsic-size> from [20px 40px] to [30px 50px] at (1) should be [30px 50px] assert_true: 'from' value should be supported expected true got false
213
FAIL Web Animations: property <contain-intrinsic-size> from [20px 40px] to [30px 50px] at (1.5) should be [35px 55px] assert_true: 'from' value should be supported expected true got false
214
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/contain-intrinsic-size/animation/contain-intrinsic-size-interpolation.html +88 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/contain-intrinsic-size/animation/contain-intrinsic-size-interpolation.html_sec1
1
<!DOCTYPE html>
2
<meta charset="UTF-8">
3
<title>contain-intrinsic-size interpolation</title>
4
<link rel="help" href="https://drafts.csswg.org/css-sizing-4/#intrinsic-size-override">
5
<script src="/resources/testharness.js"></script>
6
<script src="/resources/testharnessreport.js"></script>
7
<script src="/css/support/interpolation-testcommon.js"></script>
8
9
<style>
10
.target {
11
  contain: strict;
12
  contain-intrinsic-size: 50px 60px;
13
}
14
</style>
15
16
<body></body>
17
18
<script>
19
// auto doesn't interpolate
20
test_interpolation({
21
  property: 'contain-intrinsic-size',
22
  from: neutralKeyframe,
23
  to: '20px 10px',
24
}, [
25
  {at: -0.3, expect: '59px 75px'},
26
  {at: 0, expect: '50px 60px'},
27
  {at: 0.3, expect: '41px 45px'},
28
  {at: 0.6, expect: '32px 30px'},
29
  {at: 1, expect: '20px 10px'},
30
  {at: 1.5, expect: '5px 0px'}
31
]);
32
33
test_no_interpolation({
34
  property: 'contain-intrinsic-size',
35
  from: 'initial',
36
  to: '20px 20px',
37
});
38
39
test_no_interpolation({
40
  property: 'contain-intrinsic-size',
41
  from: 'inherit',
42
  to: '20px',
43
});
44
45
test_no_interpolation({
46
  property: 'contain-intrinsic-size',
47
  from: 'unset',
48
  to: '20px',
49
});
50
51
test_no_interpolation({
52
  property: 'contain-intrinsic-size',
53
  from: 'auto',
54
  to: '20px 20px',
55
});
56
57
test_no_interpolation({
58
  property: 'contain-intrinsic-size',
59
  from: '10px 15px',
60
  to: 'auto',
61
});
62
63
test_interpolation({
64
  property: 'contain-intrinsic-size',
65
  from: '0px 0px',
66
  to: '10px'
67
}, [
68
  {at: -0.3, expect: '0px 0px'}, // contain-intrinsic-size can't be negative.
69
  {at: 0, expect: '0px 0px'},
70
  {at: 0.3, expect: '3px 3px'},
71
  {at: 0.6, expect: '6px 6px'},
72
  {at: 1, expect: '10px 10px'},
73
  {at: 1.5, expect: '15px 15px'}
74
]);
75
76
test_interpolation({
77
  property: 'contain-intrinsic-size',
78
  from: '20px 40px',
79
  to: '30px 50px'
80
}, [
81
  {at: -0.3, expect: '17px 37px'},
82
  {at: 0, expect: '20px 40px'},
83
  {at: 0.3, expect: '23px 43px'},
84
  {at: 0.6, expect: '26px 46px'},
85
  {at: 1, expect: '30px 50px'},
86
  {at: 1.5, expect: '35px 55px'}
87
]);
88
</script>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/contain-intrinsic-size/animation/w3c-import.log +17 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/contain-intrinsic-size/animation/w3c-import.log_sec1
1
The tests in this directory were imported from the W3C repository.
2
Do NOT modify these tests directly in WebKit.
3
Instead, create a pull request on the WPT github:
4
	https://github.com/web-platform-tests/wpt
5
6
Then run the Tools/Scripts/import-w3c-tests in WebKit to reimport
7
8
Do NOT modify or remove this file.
9
10
------------------------------------------------------------------------
11
Properties requiring vendor prefixes:
12
None
13
Property values requiring vendor prefixes:
14
None
15
------------------------------------------------------------------------
16
List of files:
17
/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/contain-intrinsic-size/animation/contain-intrinsic-size-interpolation.html
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/contain-intrinsic-size/contain-intrinsic-size-001-expected.html +14 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/contain-intrinsic-size/contain-intrinsic-size-001-expected.html_sec1
1
<!doctype html>
2
<meta charset="utf8">
3
<title>CSS contain-intrinsic-size: unsized div</title>
4
<link rel="author" title="Vladimir Levin" href="mailto:vmpstr@chromium.org">
5
<link rel="help" href="https://drafts.csswg.org/css-sizing-4/#intrinsic-size-override">
6
7
<style>
8
#target {
9
  background: lightblue;
10
  height: 222px;
11
}
12
</style>
13
14
<div id=target></div>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/contain-intrinsic-size/contain-intrinsic-size-001.html +17 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/contain-intrinsic-size/contain-intrinsic-size-001.html_sec1
1
<!doctype html>
2
<meta charset="utf8">
3
<title>CSS contain-intrinsic-size: unsized div</title>
4
<link rel="author" title="Vladimir Levin" href="mailto:vmpstr@chromium.org">
5
<link rel="help" href="https://drafts.csswg.org/css-sizing-4/#intrinsic-size-override">
6
<link rel="match" href="contain-intrinsic-size-001-ref.html">
7
<meta name="assert" content="contain-intrinsic-size is used to size the div as if it had a single child of this size">
8
9
<style>
10
#target {
11
  background: lightblue;
12
  contain-intrinsic-size: 111px 222px;
13
  contain: size;
14
}
15
</style>
16
17
<div id=target></div>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/contain-intrinsic-size/contain-intrinsic-size-002-expected.html +21 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/contain-intrinsic-size/contain-intrinsic-size-002-expected.html_sec1
1
<!doctype html>
2
<meta charset="utf8">
3
<title>CSS contain-intrinsic-size: div with max-content parent</title>
4
<link rel="author" title="Vladimir Levin" href="mailto:vmpstr@chromium.org">
5
<link rel="help" href="https://drafts.csswg.org/css-sizing-4/#intrinsic-size-override">
6
7
<style>
8
#border {
9
  width: max-content;
10
  border: 1px solid black;
11
}
12
#target {
13
  background: lightblue;
14
  width: 111px;
15
  height: 222px;
16
}
17
</style>
18
19
<div id=border>
20
  <div id=target></div>
21
</div>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/contain-intrinsic-size/contain-intrinsic-size-002.html +23 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/contain-intrinsic-size/contain-intrinsic-size-002.html_sec1
1
<!doctype html>
2
<meta charset="utf8">
3
<title>CSS contain-intrinsic-size: div with max-content parent</title>
4
<link rel="author" title="Vladimir Levin" href="mailto:vmpstr@chromium.org">
5
<link rel="help" href="https://drafts.csswg.org/css-sizing-4/#intrinsic-size-override">
6
<link rel="match" href="contain-intrinsic-size-002-ref.html">
7
<meta name="assert" content="contain-intrinsic-size is used to size the div, with parent's max-content width respecting it">
8
9
<style>
10
#border {
11
  width: max-content;
12
  border: 1px solid black;
13
}
14
#target {
15
  background: lightblue;
16
  contain-intrinsic-size: 111px 222px;
17
  contain: size;
18
}
19
</style>
20
21
<div id=border>
22
  <div id=target></div>
23
</div>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/contain-intrinsic-size/contain-intrinsic-size-003-expected.html +15 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/contain-intrinsic-size/contain-intrinsic-size-003-expected.html_sec1
1
<!doctype html>
2
<meta charset="utf8">
3
<title>CSS contain-intrinsic-size: width specified</title>
4
<link rel="author" title="Vladimir Levin" href="mailto:vmpstr@chromium.org">
5
<link rel="help" href="https://drafts.csswg.org/css-sizing-4/#intrinsic-size-override">
6
7
<style>
8
#target {
9
  background: lightblue;
10
  width: 50px;
11
  height: 222px;
12
}
13
</style>
14
15
<div id=target></div>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/contain-intrinsic-size/contain-intrinsic-size-003.html +18 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/contain-intrinsic-size/contain-intrinsic-size-003.html_sec1
1
<!doctype html>
2
<meta charset="utf8">
3
<title>CSS contain-intrinsic-size: width specified</title>
4
<link rel="author" title="Vladimir Levin" href="mailto:vmpstr@chromium.org">
5
<link rel="help" href="https://drafts.csswg.org/css-sizing-4/#intrinsic-size-override">
6
<link rel="match" href="contain-intrinsic-size-003-ref.html">
7
<meta name="assert" content="contain-intrinsic-size's width is ignored if width is specified">
8
9
<style>
10
#target {
11
  background: lightblue;
12
  contain-intrinsic-size: 111px 222px;
13
  contain: size;
14
  width: 50px;
15
}
16
</style>
17
18
<div id=target></div>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/contain-intrinsic-size/contain-intrinsic-size-004-expected.html +15 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/contain-intrinsic-size/contain-intrinsic-size-004-expected.html_sec1
1
<!doctype html>
2
<meta charset="utf8">
3
<title>CSS contain-intrinsic-size: width is min-content</title>
4
<link rel="author" title="Vladimir Levin" href="mailto:vmpstr@chromium.org">
5
<link rel="help" href="https://drafts.csswg.org/css-sizing-4/#intrinsic-size-override">
6
7
<style>
8
#target {
9
  background: lightblue;
10
  width: 111px;
11
  height: 222px;
12
}
13
</style>
14
15
<div id=target></div>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/contain-intrinsic-size/contain-intrinsic-size-004.html +18 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/contain-intrinsic-size/contain-intrinsic-size-004.html_sec1
1
<!doctype html>
2
<meta charset="utf8">
3
<title>CSS contain-intrinsic-size: width is min-content</title>
4
<link rel="author" title="Vladimir Levin" href="mailto:vmpstr@chromium.org">
5
<link rel="help" href="https://drafts.csswg.org/css-sizing-4/#intrinsic-size-override">
6
<link rel="match" href="contain-intrinsic-size-004-ref.html">
7
<meta name="assert" content="div is sized to intrinsic-width if width is min-content">
8
9
<style>
10
#target {
11
  background: lightblue;
12
  contain-intrinsic-size: 111px 222px;
13
  contain: size;
14
  width: min-content;
15
}
16
</style>
17
18
<div id=target></div>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/contain-intrinsic-size/contain-intrinsic-size-005-expected.html +15 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/contain-intrinsic-size/contain-intrinsic-size-005-expected.html_sec1
1
<!doctype html>
2
<meta charset="utf8">
3
<title>CSS contain-intrinsic-size: width is min-content</title>
4
<link rel="author" title="Vladimir Levin" href="mailto:vmpstr@chromium.org">
5
<link rel="help" href="https://drafts.csswg.org/css-sizing-4/#intrinsic-size-override">
6
7
<style>
8
#target {
9
  background: lightblue;
10
  width: 111px;
11
  height: 222px;
12
}
13
</style>
14
15
<div id=target></div>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/contain-intrinsic-size/contain-intrinsic-size-005.html +18 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/contain-intrinsic-size/contain-intrinsic-size-005.html_sec1
1
<!doctype html>
2
<meta charset="utf8">
3
<title>CSS contain-intrinsic-size: width is max-content</title>
4
<link rel="author" title="Vladimir Levin" href="mailto:vmpstr@chromium.org">
5
<link rel="help" href="https://drafts.csswg.org/css-sizing-4/#intrinsic-size-override">
6
<link rel="match" href="contain-intrinsic-size-004-ref.html">
7
<meta name="assert" content="div is sized to intrinsic-width if width is max-content">
8
9
<style>
10
#target {
11
  background: lightblue;
12
  contain-intrinsic-size: 111px 222px;
13
  contain: size;
14
  width: max-content;
15
}
16
</style>
17
18
<div id=target></div>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/contain-intrinsic-size/contain-intrinsic-size-006-expected.html +16 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/contain-intrinsic-size/contain-intrinsic-size-006-expected.html_sec1
1
<!doctype html>
2
<meta charset="utf8">
3
<title>CSS contain-intrinsic-size: unsized div, intrinsic-size is small</title>
4
<link rel="author" title="Vladimir Levin" href="mailto:vmpstr@chromium.org">
5
<link rel="help" href="https://drafts.csswg.org/css-sizing-4/#intrinsic-size-override">
6
7
<style>
8
#target {
9
  background: lightblue;
10
  height: 6px;
11
  contain: size;
12
}
13
</style>
14
15
<div id=target>Lorem ipsum</div>
16
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/contain-intrinsic-size/contain-intrinsic-size-006.html +17 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/contain-intrinsic-size/contain-intrinsic-size-006.html_sec1
1
<!doctype html>
2
<meta charset="utf8">
3
<title>CSS contain-intrinsic-size: unsized div, intrinsic-size is small</title>
4
<link rel="author" title="Vladimir Levin" href="mailto:vmpstr@chromium.org">
5
<link rel="help" href="https://drafts.csswg.org/css-sizing-4/#intrinsic-size-override">
6
<link rel="match" href="contain-intrinsic-size-006-ref.html">
7
<meta name="assert" content="content dimensions are ignored if intrinsic-size is specified">
8
9
<style>
10
#target {
11
  background: lightblue;
12
  contain-intrinsic-size: 5px 6px;
13
  contain: size;
14
}
15
</style>
16
17
<div id=target>Lorem ipsum</div>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/contain-intrinsic-size/contain-intrinsic-size-007-expected.html +27 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/contain-intrinsic-size/contain-intrinsic-size-007-expected.html_sec1
1
<!doctype html>
2
<meta charset="utf8">
3
<title>CSS contain-intrinsic-size: div with border</title>
4
<link rel="author" title="Vladimir Levin" href="mailto:vmpstr@chromium.org">
5
<link rel="help" href="https://drafts.csswg.org/css-sizing-4/#intrinsic-size-override">
6
7
<style>
8
#border {
9
  border: 1px solid blue;
10
  width: max-content;
11
}
12
13
#target {
14
  background: lightblue;
15
  box-sizing: content-box;
16
  width: 55px;
17
  height: 66px;
18
19
  border-style: solid;
20
  border-color: black;
21
  border-width: 2px 3px 5px 7px;
22
}
23
</style>
24
25
<div id=border>
26
  <div id=target></div>
27
</div>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/contain-intrinsic-size/contain-intrinsic-size-007.html +27 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/contain-intrinsic-size/contain-intrinsic-size-007.html_sec1
1
<!doctype html>
2
<meta charset="utf8">
3
<title>CSS contain-intrinsic-size: div with border</title>
4
<link rel="author" title="Vladimir Levin" href="mailto:vmpstr@chromium.org">
5
<link rel="help" href="https://drafts.csswg.org/css-sizing-4/#intrinsic-size-override">
6
<link rel="match" href="contain-intrinsic-size-007-ref.html">
7
<meta name="assert" content="contain-intrinsic-size sizes the content box, not the border box">
8
9
<style>
10
#border {
11
  border: 1px solid blue;
12
  width: max-content;
13
}
14
15
#target {
16
  background: lightblue;
17
  contain-intrinsic-size: 55px 66px;
18
  contain: size;
19
  border-style: solid;
20
  border-color: black;
21
  border-width: 2px 3px 5px 7px;
22
}
23
</style>
24
25
<div id=border>
26
  <div id=target></div>
27
</div>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/contain-intrinsic-size/contain-intrinsic-size-008-expected.html +37 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/contain-intrinsic-size/contain-intrinsic-size-008-expected.html_sec1
1
<!doctype html>
2
<meta charset="utf8">
3
<title>CSS contain-intrinsic-size: writing modes</title>
4
<link rel="author" title="Vladimir Levin" href="mailto:vmpstr@chromium.org">
5
<link rel="help" href="https://drafts.csswg.org/css-sizing-4/#intrinsic-size-override">
6
7
<style>
8
.border {
9
  border: 1px solid blue;
10
  width: max-content;
11
  margin: 5px;
12
}
13
14
.box {
15
  background: lightblue;
16
  box-sizing: content-box;
17
  width: 55px;
18
  height: 66px;
19
  border-style: solid;
20
  border-color: black;
21
  border-width: 2px 3px 5px 7px;
22
  padding: 11px 13px 17px 19px;
23
}
24
.verticalrl {
25
  writing-mode: vertical-rl;
26
}
27
.verticallr {
28
  writing-mode: vertical-lr;
29
}
30
.horizontaltb {
31
  writing-mode: horizontal-tb;
32
}
33
</style>
34
35
<div class=border><div class="box verticalrl">Lorem</div></div>
36
<div class=border><div class="box verticallr">Ipsum</div></div>
37
<div class=border><div class="box horizontaltb">Dolor</div></div>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/contain-intrinsic-size/contain-intrinsic-size-008.html +38 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/contain-intrinsic-size/contain-intrinsic-size-008.html_sec1
1
<!doctype html>
2
<meta charset="utf8">
3
<title>CSS contain-intrinsic-size: writing modes</title>
4
<link rel="author" title="Vladimir Levin" href="mailto:vmpstr@chromium.org">
5
<link rel="help" href="https://drafts.csswg.org/css-sizing-4/#intrinsic-size-override">
6
<link rel="match" href="contain-intrinsic-size-008-ref.html">
7
<meta name="assert" content="contain-intrinsic-size specifies physical dimensions, and respects writing modes">
8
9
<style>
10
.border {
11
  border: 1px solid blue;
12
  width: max-content;
13
  margin: 5px;
14
}
15
16
.box {
17
  background: lightblue;
18
  contain-intrinsic-size: 55px 66px;
19
  contain: size;
20
  border-style: solid;
21
  border-color: black;
22
  border-width: 2px 3px 5px 7px;
23
  padding: 11px 13px 17px 19px;
24
}
25
.verticalrl {
26
  writing-mode: vertical-rl;
27
}
28
.verticallr {
29
  writing-mode: vertical-lr;
30
}
31
.horizontaltb {
32
  writing-mode: horizontal-tb;
33
}
34
</style>
35
36
<div class=border><div class="box verticalrl">Lorem</div></div>
37
<div class=border><div class="box verticallr">Ipsum</div></div>
38
<div class=border><div class="box horizontaltb">Dolor</div></div>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/contain-intrinsic-size/contain-intrinsic-size-009-expected.html +23 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/contain-intrinsic-size/contain-intrinsic-size-009-expected.html_sec1
1
<!doctype html>
2
<meta charset="utf8">
3
<title>CSS contain-intrinsic-size: select multiple</title>
4
<link rel="author" title="Vladimir Levin" href="mailto:vmpstr@chromium.org">
5
<link rel="help" href="https://drafts.csswg.org/css-sizing-4/#intrinsic-size-override">
6
7
<style>
8
.border {
9
  border: 1px solid blue;
10
  width: max-content;
11
  margin: 5px;
12
}
13
14
select {
15
  background: lightblue;
16
  box-sizing: content-box;
17
  width: 55px;
18
  height: 66px;
19
  overflow: visible;
20
}
21
</style>
22
23
<select multiple></select>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/contain-intrinsic-size/contain-intrinsic-size-009.html +24 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/contain-intrinsic-size/contain-intrinsic-size-009.html_sec1
1
<!doctype html>
2
<meta charset="utf8">
3
<title>CSS contain-intrinsic-size: select multiple</title>
4
<link rel="author" title="Vladimir Levin" href="mailto:vmpstr@chromium.org">
5
<link rel="help" href="https://drafts.csswg.org/css-sizing-4/#intrinsic-size-override">
6
<link rel="match" href="contain-intrinsic-size-009-ref.html">
7
<meta name="assert" content="contain-intrinsic-size sizes select multiple">
8
9
<style>
10
.border {
11
  border: 1px solid blue;
12
  width: max-content;
13
  margin: 5px;
14
}
15
16
select {
17
  contain-intrinsic-size: 55px 66px;
18
  contain: size;
19
  background: lightblue;
20
  overflow: visible;
21
}
22
</style>
23
24
<select multiple></select>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/contain-intrinsic-size/contain-intrinsic-size-010-expected.html +39 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/contain-intrinsic-size/contain-intrinsic-size-010-expected.html_sec1
1
<!doctype html>
2
<meta charset="utf8">
3
<title>CSS contain-intrinsic-size: flex row</title>
4
<link rel="author" title="Vladimir Levin" href="mailto:vmpstr@chromium.org">
5
<link rel="help" href="https://drafts.csswg.org/css-sizing-4/#intrinsic-size-override">
6
7
<style>
8
#flex {
9
  display: flex;
10
  flex-direction: row;
11
  width: 500px;
12
  height: 100px;
13
}
14
.item {
15
  border: 1px solid black;
16
  box-sizing: content-box;
17
}
18
#one {
19
  background: lightblue;
20
  width: 55px;
21
  flex-grow: 3;
22
}
23
#two {
24
  background: lightgreen;
25
  width: 66px;
26
  flex-grow: 2;
27
}
28
#three {
29
  background: lightgrey;
30
  width: 77px;
31
  flex-grow: 1;
32
}
33
</style>
34
35
<div id=flex>
36
  <div class=item id=one></div>
37
  <div class=item id=two></div>
38
  <div class=item id=three></div>
39
</div>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/contain-intrinsic-size/contain-intrinsic-size-010.html +43 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/contain-intrinsic-size/contain-intrinsic-size-010.html_sec1
1
<!doctype html>
2
<meta charset="utf8">
3
<title>CSS contain-intrinsic-size: flex row</title>
4
<link rel="author" title="Vladimir Levin" href="mailto:vmpstr@chromium.org">
5
<link rel="help" href="https://drafts.csswg.org/css-sizing-4/#intrinsic-size-override">
6
<link rel="match" href="contain-intrinsic-size-010-ref.html">
7
<meta name="assert" content="items are flexed correctly when they are sized by intrinsic-size in a flex row">
8
9
<style>
10
#flex {
11
  display: flex;
12
  flex-direction: row;
13
  width: 500px;
14
  height: 100px;
15
}
16
.item {
17
  border: 1px solid black;
18
}
19
#one {
20
  background: lightblue;
21
  contain-intrinsic-size: 55px 11px;
22
  contain: size;
23
  flex-grow: 3;
24
}
25
#two {
26
  background: lightgreen;
27
  contain-intrinsic-size: 66px 22px;
28
  contain: size;
29
  flex-grow: 2;
30
}
31
#three {
32
  background: lightgrey;
33
  contain-intrinsic-size: 77px 33px;
34
  contain: size;
35
  flex-grow: 1;
36
}
37
</style>
38
39
<div id=flex>
40
  <div class=item id=one></div>
41
  <div class=item id=two></div>
42
  <div class=item id=three></div>
43
</div>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/contain-intrinsic-size/contain-intrinsic-size-011-expected.html +39 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/contain-intrinsic-size/contain-intrinsic-size-011-expected.html_sec1
1
<!doctype html>
2
<meta charset="utf8">
3
<title>CSS contain-intrinsic-size: flex column</title>
4
<link rel="author" title="Vladimir Levin" href="mailto:vmpstr@chromium.org">
5
<link rel="help" href="https://drafts.csswg.org/css-sizing-4/#intrinsic-size-override">
6
7
<style>
8
#flex {
9
  display: flex;
10
  flex-direction: column;
11
  width: 100px;
12
  height: 200px;
13
}
14
.item {
15
  border: 1px solid black;
16
  box-sizing: content-box;
17
}
18
#one {
19
  background: lightblue;
20
  height: 11px;
21
  flex-grow: 3;
22
}
23
#two {
24
  background: lightgreen;
25
  height: 22px;
26
  flex-grow: 2;
27
}
28
#three {
29
  background: lightgrey;
30
  height: 33px;
31
  flex-grow: 1;
32
}
33
</style>
34
35
<div id=flex>
36
  <div class=item id=one></div>
37
  <div class=item id=two></div>
38
  <div class=item id=three></div>
39
</div>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/contain-intrinsic-size/contain-intrinsic-size-011.html +43 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/contain-intrinsic-size/contain-intrinsic-size-011.html_sec1
1
<!doctype html>
2
<meta charset="utf8">
3
<title>CSS contain-intrinsic-size: flex column</title>
4
<link rel="author" title="Vladimir Levin" href="mailto:vmpstr@chromium.org">
5
<link rel="help" href="https://drafts.csswg.org/css-sizing-4/#intrinsic-size-override">
6
<link rel="match" href="contain-intrinsic-size-011-ref.html">
7
<meta name="assert" content="items are flexed correctly when they are sized by intrinsic-size in a flex column">
8
9
<style>
10
#flex {
11
  display: flex;
12
  flex-direction: column;
13
  width: 100px;
14
  height: 200px;
15
}
16
.item {
17
  border: 1px solid black;
18
}
19
#one {
20
  background: lightblue;
21
  contain-intrinsic-size: 55px 11px;
22
  contain: size;
23
  flex-grow: 3;
24
}
25
#two {
26
  background: lightgreen;
27
  contain-intrinsic-size: 66px 22px;
28
  contain: size;
29
  flex-grow: 2;
30
}
31
#three {
32
  background: lightgrey;
33
  contain-intrinsic-size: 77px 33px;
34
  contain: size;
35
  flex-grow: 1;
36
}
37
</style>
38
39
<div id=flex>
40
  <div class=item id=one></div>
41
  <div class=item id=two></div>
42
  <div class=item id=three></div>
43
</div>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/contain-intrinsic-size/contain-intrinsic-size-012-expected.html +14 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/contain-intrinsic-size/contain-intrinsic-size-012-expected.html_sec1
1
<!doctype html>
2
<meta charset="utf8">
3
<title>CSS contain-intrinsic-size: replaced content</title>
4
<link rel="author" title="Vladimir Levin" href="mailto:vmpstr@chromium.org">
5
<link rel="help" href="https://drafts.csswg.org/css-sizing-4/#intrinsic-size-override">
6
7
<style>
8
#target {
9
  width: 100px;
10
  height: 200px;
11
}
12
</style>
13
14
<img id=target src="resources/dice.png"></img>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/contain-intrinsic-size/contain-intrinsic-size-012.html +16 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/contain-intrinsic-size/contain-intrinsic-size-012.html_sec1
1
<!doctype html>
2
<meta charset="utf8">
3
<title>CSS contain-intrinsic-size: replaced content</title>
4
<link rel="author" title="Vladimir Levin" href="mailto:vmpstr@chromium.org">
5
<link rel="help" href="https://drafts.csswg.org/css-sizing-4/#intrinsic-size-override">
6
<link rel="match" href="contain-intrinsic-size-012-ref.html">
7
<meta name="assert" content="contain-intrinsic-size overrides replaced content's intrinsic dimensions">
8
9
<style>
10
#target {
11
  contain-intrinsic-size: 100px 200px;
12
  contain: size;
13
}
14
</style>
15
16
<img id=target src="resources/dice.png"></img>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/contain-intrinsic-size/contain-intrinsic-size-013-expected.html +18 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/contain-intrinsic-size/contain-intrinsic-size-013-expected.html_sec1
1
<!doctype html>
2
<meta charset="utf8">
3
<title>CSS contain-intrinsic-size: intrinsic-size changes</title>
4
<link rel="author" title="Vladimir Levin" href="mailto:vmpstr@chromium.org">
5
<link rel="help" href="https://drafts.csswg.org/css-sizing-4/#intrinsic-size-override">
6
7
<style>
8
#border {
9
  width: max-content;
10
  border: 1px solid black;
11
}
12
#border > div {
13
  width: 77px;
14
  height: 88px;
15
}
16
</style>
17
18
<div id=border><div id=target></div></div>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/contain-intrinsic-size/contain-intrinsic-size-013.html +33 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/contain-intrinsic-size/contain-intrinsic-size-013.html_sec1
1
<!doctype html>
2
<html class="reftest-wait">
3
<meta charset="utf8">
4
<title>CSS contain-intrinsic-size: intrinsic-size changes.</title>
5
<link rel="author" title="Vladimir Levin" href="mailto:vmpstr@chromium.org">
6
<link rel="help" href="https://drafts.csswg.org/css-sizing-4/#intrinsic-size-override">
7
<link rel="match" href="contain-intrinsic-size-013-ref.html">
8
<meta name="assert" content="changes in intrinsic-size cause reflow">
9
<script src="/common/reftest-wait.js"></script>
10
11
<style>
12
#border {
13
  width: max-content;
14
  border: 1px solid black;
15
}
16
#border > div {
17
  contain-intrinsic-size: 55px 66px;
18
  contain: size;
19
}
20
</style>
21
22
<div id=border><div id=target></div></div>
23
24
<script>
25
function changeStyle() {
26
  document.getElementById("target").style = "contain-intrinsic-size: 77px 88px;";
27
  requestAnimationFrame(takeScreenshot);
28
}
29
30
onload = () => requestAnimationFrame(() => requestAnimationFrame(changeStyle));
31
32
</script>
33
</html>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/contain-intrinsic-size/contain-intrinsic-size-014-expected.html +18 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/contain-intrinsic-size/contain-intrinsic-size-014-expected.html_sec1
1
<!doctype html>
2
<meta charset="utf8">
3
<title>CSS contain-intrinsic-size: fieldset</title>
4
<link rel="author" title="Vladimir Levin" href="mailto:vmpstr@chromium.org">
5
<link rel="help" href="https://drafts.csswg.org/css-sizing-4/#intrinsic-size-override">
6
7
<style>
8
fieldset {
9
  box-sizing: content-box;
10
  width: 111px;
11
  height: 222px;
12
}
13
</style>
14
15
<fieldset>
16
  <legend>This is a legend</legend>
17
  This is some content.
18
</fieldset>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/contain-intrinsic-size/contain-intrinsic-size-014.html +20 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/contain-intrinsic-size/contain-intrinsic-size-014.html_sec1
1
<!doctype html>
2
<meta charset="utf8">
3
<title>CSS contain-intrinsic-size: fieldset</title>
4
<link rel="author" title="Vladimir Levin" href="mailto:vmpstr@chromium.org">
5
<link rel="help" href="https://drafts.csswg.org/css-sizing-4/#intrinsic-size-override">
6
<link rel="match" href="contain-intrinsic-size-014-ref.html">
7
<meta name="assert" content="contain-intrinsic-size sizes fieldsets">
8
9
<style>
10
fieldset {
11
  width: max-content;
12
  contain-intrinsic-size: 111px 222px;
13
  contain: size;
14
}
15
</style>
16
17
<fieldset>
18
  <legend>This is a legend</legend>
19
  This is some content.
20
</fieldset>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/contain-intrinsic-size/contain-intrinsic-size-015-expected.html +16 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/contain-intrinsic-size/contain-intrinsic-size-015-expected.html_sec1
1
<!DOCTYPE html>
2
<meta charset="utf-8">
3
<title>CSS contain-intrinsic-size: inline flex</title>
4
<link rel="author" title="Vladimir Levin" href="mailto:vmpstr@chromium.org">
5
<link rel="help" href="https://drafts.csswg.org/css-contain-1/#containment-size">
6
<style>
7
div {
8
  display: inline-flex;
9
  border: 5px solid green;
10
  width: 111px;
11
  height: 222px;
12
  box-sizing: content-box;
13
}
14
</style>
15
16
<div></div>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/contain-intrinsic-size/contain-intrinsic-size-015.html +18 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/contain-intrinsic-size/contain-intrinsic-size-015.html_sec1
1
<!DOCTYPE html>
2
<meta charset="utf-8">
3
<title>CSS contain-intrinsic-size: inline flex</title>
4
<link rel="author" title="Vladimir Levin" href="mailto:vmpstr@chromium.org">
5
<link rel="help" href="https://drafts.csswg.org/css-contain-1/#containment-size">
6
<link rel="match" href="contain-intrinsic-size-015-ref.html">
7
<meta name="assert" content="contain-intrinsic-size sizes an inline-flex element">
8
<style>
9
div {
10
  display: inline-flex;
11
  border: 5px solid green;
12
  contain-intrinsic-size: 111px 222px;
13
  contain: size;
14
  color: transparent;
15
}
16
</style>
17
18
<div>test</div>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/contain-intrinsic-size/contain-intrinsic-size-016-expected.html +39 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/contain-intrinsic-size/contain-intrinsic-size-016-expected.html_sec1
1
<!doctype html>
2
<meta charset="utf8">
3
<title>CSS contain-intrinsic-size: flex row, items with size containment (ref)</title>
4
<link rel="author" title="Vladimir Levin" href="mailto:vmpstr@chromium.org">
5
<link rel="help" href="https://drafts.csswg.org/css-sizing-4/#intrinsic-size-override">
6
7
<style>
8
#flex {
9
  display: flex;
10
  flex-direction: row;
11
  width: 500px;
12
  height: 100px;
13
}
14
.item {
15
  border: 1px solid black;
16
  box-sizing: content-box;
17
}
18
#one {
19
  background: lightblue;
20
  width: 55px;
21
  flex-grow: 3;
22
}
23
#two {
24
  background: lightgreen;
25
  width: 66px;
26
  flex-grow: 2;
27
}
28
#three {
29
  background: lightgrey;
30
  width: 77px;
31
  flex-grow: 1;
32
}
33
</style>
34
35
<div id=flex>
36
  <div class=item id=one></div>
37
  <div class=item id=two></div>
38
  <div class=item id=three></div>
39
</div>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/contain-intrinsic-size/contain-intrinsic-size-016.html +44 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/contain-intrinsic-size/contain-intrinsic-size-016.html_sec1
1
<!doctype html>
2
<meta charset="utf8">
3
<title>CSS contain-intrinsic-size: flex row, items with size containment</title>
4
<link rel="author" title="Vladimir Levin" href="mailto:vmpstr@chromium.org">
5
<link rel="help" href="https://drafts.csswg.org/css-sizing-4/#intrinsic-size-override">
6
<link rel="match" href="contain-intrinsic-size-016-ref.html">
7
<meta name="assert" content="contain-intrinsic-size take 'priority' over size-containment in flex">
8
9
<style>
10
#flex {
11
  display: flex;
12
  flex-direction: row;
13
  width: 500px;
14
  height: 100px;
15
}
16
.item {
17
  border: 1px solid black;
18
  contain: size;
19
}
20
#one {
21
  background: lightblue;
22
  contain-intrinsic-size: 55px 11px;
23
  contain: size;
24
  flex-grow: 3;
25
}
26
#two {
27
  background: lightgreen;
28
  contain-intrinsic-size: 66px 22px;
29
  contain: size;
30
  flex-grow: 2;
31
}
32
#three {
33
  background: lightgrey;
34
  contain-intrinsic-size: 77px 33px;
35
  contain: size;
36
  flex-grow: 1;
37
}
38
</style>
39
40
<div id=flex>
41
  <div class=item id=one></div>
42
  <div class=item id=two></div>
43
  <div class=item id=three></div>
44
</div>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/contain-intrinsic-size/contain-intrinsic-size-017-expected.html +17 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/contain-intrinsic-size/contain-intrinsic-size-017-expected.html_sec1
1
<!doctype html>
2
<meta charset="utf8">
3
<title>CSS contain-intrinsic-size: replaced content (vertical-lr)</title>
4
<link rel="author" title="Vladimir Levin" href="mailto:vmpstr@chromium.org">
5
<link rel="help" href="https://drafts.csswg.org/css-sizing-4/#intrinsic-size-override">
6
7
<style>
8
body {
9
  writing-mode: vertical-lr;
10
}
11
#target {
12
  width: 100px;
13
  height: 200px;
14
}
15
</style>
16
17
<img id=target src="resources/dice.png"></img>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/contain-intrinsic-size/contain-intrinsic-size-017.html +21 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/contain-intrinsic-size/contain-intrinsic-size-017.html_sec1
1
<!doctype html>
2
<meta charset="utf8">
3
<title>CSS contain-intrinsic-size: replaced content (vertical-lr)</title>
4
<link rel="author" title="Vladimir Levin" href="mailto:vmpstr@chromium.org">
5
<link rel="help" href="https://drafts.csswg.org/css-sizing-4/#intrinsic-size-override">
6
<link rel="match" href="contain-intrinsic-size-017-ref.html">
7
<meta name="assert" content="contain-intrinsic-size specifies physical dimensions on replaced content">
8
9
<style>
10
body {
11
  writing-mode: vertical-lr;
12
}
13
#target {
14
  contain-intrinsic-size: 100px 200px;
15
  contain: size;
16
  inline-size: min-content;
17
  block-size: auto;
18
}
19
</style>
20
21
<img id=target src="resources/dice.png"></img>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/contain-intrinsic-size/contain-intrinsic-size-018-expected.html +15 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/contain-intrinsic-size/contain-intrinsic-size-018-expected.html_sec1
1
<!doctype html>
2
<meta charset="utf8">
3
<title>CSS contain-intrinsic-size: sized div</title>
4
<link rel="author" title="Vladimir Levin" href="mailto:vmpstr@chromium.org">
5
<link rel="help" href="https://drafts.csswg.org/css-sizing-4/#intrinsic-size-override">
6
7
<style>
8
#target {
9
  background: lightblue;
10
  width: 55px;
11
  height: 66px;
12
}
13
</style>
14
15
<div id=target></div>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/contain-intrinsic-size/contain-intrinsic-size-018.html +19 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/contain-intrinsic-size/contain-intrinsic-size-018.html_sec1
1
<!doctype html>
2
<meta charset="utf8">
3
<title>CSS contain-intrinsic-size: sized div</title>
4
<link rel="author" title="Vladimir Levin" href="mailto:vmpstr@chromium.org">
5
<link rel="help" href="https://drafts.csswg.org/css-sizing-4/#intrinsic-size-override">
6
<link rel="match" href="contain-intrinsic-size-018-ref.html">
7
<meta name="assert" content="width / height ignore intrinsic-size">
8
9
<style>
10
#target {
11
  background: lightblue;
12
  width: 55px;
13
  height: 66px;
14
  contain-intrinsic-size: 111px 222px;
15
  contain: size;
16
}
17
</style>
18
19
<div id=target></div>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/contain-intrinsic-size/contain-intrinsic-size-019-expected.html +15 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/contain-intrinsic-size/contain-intrinsic-size-019-expected.html_sec1
1
<!doctype html>
2
<meta charset="utf8">
3
<title>CSS contain-intrinsic-size: div with fit-content width</title>
4
<link rel="author" title="Vladimir Levin" href="mailto:vmpstr@chromium.org">
5
<link rel="help" href="https://drafts.csswg.org/css-sizing-4/#intrinsic-size-override">
6
7
<style>
8
#target {
9
  background: lightblue;
10
  width: 111px;
11
  height: 222px;
12
}
13
</style>
14
15
<div id=target></div>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/contain-intrinsic-size/contain-intrinsic-size-019.html +18 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/contain-intrinsic-size/contain-intrinsic-size-019.html_sec1
1
<!doctype html>
2
<meta charset="utf8">
3
<title>CSS contain-intrinsic-size: div with fit-content width</title>
4
<link rel="author" title="Vladimir Levin" href="mailto:vmpstr@chromium.org">
5
<link rel="help" href="https://drafts.csswg.org/css-sizing-4/#intrinsic-size-override">
6
<link rel="match" href="contain-intrinsic-size-019-ref.html">
7
<meta name="assert" content="div is sized to intrinsic-width when width is fit-content">
8
9
<style>
10
#target {
11
  background: lightblue;
12
  contain-intrinsic-size: 111px 222px;
13
  contain: size;
14
  width: fit-content;
15
}
16
</style>
17
18
<div id=target></div>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/contain-intrinsic-size/contain-intrinsic-size-020-expected.html +14 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/contain-intrinsic-size/contain-intrinsic-size-020-expected.html_sec1
1
<!doctype html>
2
<meta charset="utf8">
3
<title>CSS contain-intrinsic-size: replaced content (min-content)</title>
4
<link rel="author" title="Vladimir Levin" href="mailto:vmpstr@chromium.org">
5
<link rel="help" href="https://drafts.csswg.org/css-sizing-4/#intrinsic-size-override">
6
7
<style>
8
#target {
9
  width: 100px;
10
  height: 200px;
11
}
12
</style>
13
14
<img id=target src="resources/dice.png"></img>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/contain-intrinsic-size/contain-intrinsic-size-020.html +18 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/contain-intrinsic-size/contain-intrinsic-size-020.html_sec1
1
<!doctype html>
2
<meta charset="utf8">
3
<title>CSS contain-intrinsic-size: replaced content (min-content)</title>
4
<link rel="author" title="Vladimir Levin" href="mailto:vmpstr@chromium.org">
5
<link rel="help" href="https://drafts.csswg.org/css-sizing-4/#intrinsic-size-override">
6
<link rel="match" href="contain-intrinsic-size-020-ref.html">
7
<meta name="assert" content="replaced content is sized to intrinsic-width when width is min-content">
8
9
<style>
10
#target {
11
  contain-intrinsic-size: 100px 200px;
12
  contain: size;
13
  inline-size: min-content;
14
  block-size: auto;
15
}
16
</style>
17
18
<img id=target src="resources/dice.png"></img>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/contain-intrinsic-size/contain-intrinsic-size-021-expected.html +41 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/contain-intrinsic-size/contain-intrinsic-size-021-expected.html_sec1
1
<!doctype html>
2
<meta charset="utf8">
3
<title>CSS contain-intrinsic-size: flex row, flex height based on children</title>
4
<link rel="author" title="Vladimir Levin" href="mailto:vmpstr@chromium.org">
5
<link rel="help" href="https://drafts.csswg.org/css-sizing-4/#intrinsic-size-override">
6
7
<style>
8
#flex {
9
  display: flex;
10
  flex-direction: row;
11
  flex-wrap: wrap;
12
  align-items: flex-start;
13
  width: 250px;
14
}
15
.item {
16
  border: 1px solid black;
17
  box-sizing: content-box;
18
}
19
#one {
20
  background: lightblue;
21
  width: 55px;
22
  height: 21px;
23
}
24
#two {
25
  background: lightgreen;
26
  width: 66px;
27
  height: 42px;
28
}
29
#three {
30
  background: lightgrey;
31
  align-self: stretch;
32
  width: 77px;
33
  height: 63px;
34
}
35
</style>
36
37
<div id=flex>
38
  <div class=item id=one></div>
39
  <div class=item id=two></div>
40
  <div class=item id=three></div>
41
</div>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/contain-intrinsic-size/contain-intrinsic-size-021.html +42 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/contain-intrinsic-size/contain-intrinsic-size-021.html_sec1
1
<!doctype html>
2
<meta charset="utf8">
3
<title>CSS contain-intrinsic-size: flex row, flex height based on children</title>
4
<link rel="author" title="Vladimir Levin" href="mailto:vmpstr@chromium.org">
5
<link rel="help" href="https://drafts.csswg.org/css-sizing-4/#intrinsic-size-override">
6
<link rel="match" href="contain-intrinsic-size-021-ref.html">
7
<meta name="assert" content="flex container is sized by the largest intrinsic-height of content, even with align-self: stretch">
8
9
<style>
10
#flex {
11
  display: flex;
12
  flex-direction: row;
13
  flex-wrap: wrap;
14
  align-items: flex-start;
15
  width: 250px;
16
}
17
.item {
18
  border: 1px solid black;
19
}
20
#one {
21
  background: lightblue;
22
  contain-intrinsic-size: 55px 21px;
23
  contain: size;
24
}
25
#two {
26
  background: lightgreen;
27
  contain-intrinsic-size: 66px 42px;
28
  contain: size;
29
}
30
#three {
31
  background: lightgrey;
32
  align-self: stretch;
33
  contain-intrinsic-size: 77px 63px;
34
  contain: size;
35
}
36
</style>
37
38
<div id=flex>
39
  <div class=item id=one></div>
40
  <div class=item id=two></div>
41
  <div class=item id=three></div>
42
</div>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/contain-intrinsic-size/contain-intrinsic-size-022-expected.html +30 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/contain-intrinsic-size/contain-intrinsic-size-022-expected.html_sec1
1
<!doctype html>
2
<meta charset="utf8">
3
<title>CSS contain-intrinsic-size: grid definite size</title>
4
<link rel="author" title="Vladimir Levin" href="mailto:vmpstr@chromium.org">
5
<link rel="help" href="https://drafts.csswg.org/css-sizing-4/#intrinsic-size-override">
6
7
<style>
8
#grid {
9
  border: 3px solid black;
10
  display: grid;
11
  grid-template: 55px 66px / 77px 88px;
12
  box-sizing: content-box;
13
  width: 70px;
14
  height: 80px;
15
  background: lightblue;
16
  grid-gap: 5px;
17
}
18
.item {
19
  background: lightgreen;
20
  opacity: 0.5;
21
  height: 100%;
22
}
23
</style>
24
25
<div id=grid>
26
  <div class=item></div>
27
  <div class=item></div>
28
  <div class=item></div>
29
  <div class=item></div>
30
</div>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/contain-intrinsic-size/contain-intrinsic-size-022.html +32 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/contain-intrinsic-size/contain-intrinsic-size-022.html_sec1
1
<!doctype html>
2
<meta charset="utf8">
3
<title>CSS contain-intrinsic-size: grid definite size</title>
4
<link rel="author" title="Vladimir Levin" href="mailto:vmpstr@chromium.org">
5
<link rel="help" href="https://drafts.csswg.org/css-sizing-4/#intrinsic-size-override">
6
<link rel="match" href="contain-intrinsic-size-022-ref.html">
7
<meta name="assert" content="grid container is sized by intrinsic-size, even if definite track sizes overflow">
8
9
<style>
10
#grid {
11
  border: 3px solid black;
12
  display: grid;
13
  grid-template: 55px 66px / 77px 88px;
14
  contain-intrinsic-size: 70px 80px;
15
  contain: size;
16
  width: max-content;
17
  background: lightblue;
18
  grid-gap: 5px;
19
}
20
.item {
21
  background: lightgreen;
22
  opacity: 0.5;
23
  height: 100%;
24
}
25
</style>
26
27
<div id=grid>
28
  <div class=item></div>
29
  <div class=item></div>
30
  <div class=item></div>
31
  <div class=item></div>
32
</div>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/contain-intrinsic-size/contain-intrinsic-size-023-expected.html +29 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/contain-intrinsic-size/contain-intrinsic-size-023-expected.html_sec1
1
<!doctype html>
2
<meta charset="utf8">
3
<title>CSS contain-intrinsic-size: grid indefinite size</title>
4
<link rel="author" title="Vladimir Levin" href="mailto:vmpstr@chromium.org">
5
<link rel="help" href="https://drafts.csswg.org/css-sizing-4/#intrinsic-size-override">
6
7
<style>
8
#grid {
9
  border: 3px solid black;
10
  display: grid;
11
  grid-template: 1fr 2fr / 3fr 4fr;
12
  box-sizing: content-box;
13
  width: 70px;
14
  height: 80px;
15
  background: lightblue;
16
  grid-gap: 5px;
17
}
18
.item {
19
  background: lightgreen;
20
  height: 100%;
21
}
22
</style>
23
24
<div id=grid>
25
  <div class=item></div>
26
  <div class=item></div>
27
  <div class=item></div>
28
  <div class=item></div>
29
</div>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/contain-intrinsic-size/contain-intrinsic-size-023.html +31 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/contain-intrinsic-size/contain-intrinsic-size-023.html_sec1
1
<!doctype html>
2
<meta charset="utf8">
3
<title>CSS contain-intrinsic-size: grid indefinite size</title>
4
<link rel="author" title="Vladimir Levin" href="mailto:vmpstr@chromium.org">
5
<link rel="help" href="https://drafts.csswg.org/css-sizing-4/#intrinsic-size-override">
6
<link rel="match" href="contain-intrinsic-size-023-ref.html">
7
<meta name="assert" content="grid container is sized by intrinsic-size, with fr-tracks using that space">
8
9
<style>
10
#grid {
11
  border: 3px solid black;
12
  display: grid;
13
  grid-template: 1fr 2fr / 3fr 4fr;
14
  contain-intrinsic-size: 70px 80px;
15
  contain: size;
16
  width: max-content;
17
  background: lightblue;
18
  grid-gap: 5px;
19
}
20
.item {
21
  background: lightgreen;
22
  height: 100%;
23
}
24
</style>
25
26
<div id=grid>
27
  <div class=item></div>
28
  <div class=item></div>
29
  <div class=item></div>
30
  <div class=item></div>
31
</div>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/contain-intrinsic-size/contain-intrinsic-size-024-expected.html +30 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/contain-intrinsic-size/contain-intrinsic-size-024-expected.html_sec1
1
<!doctype html>
2
<meta charset="utf8">
3
<title>CSS contain-intrinsic-size: grid definite size, large size</title>
4
<link rel="author" title="Vladimir Levin" href="mailto:vmpstr@chromium.org">
5
<link rel="help" href="https://drafts.csswg.org/css-sizing-4/#intrinsic-size-override">
6
7
<style>
8
#grid {
9
  border: 3px solid black;
10
  display: grid;
11
  grid-template: 55px 66px / 77px 88px;
12
  box-sizing: content-box;
13
  width: 200px;
14
  height: 300px;
15
  background: lightblue;
16
  grid-gap: 5px;
17
}
18
.item {
19
  background: lightgreen;
20
  opacity: 0.5;
21
  height: 100%;
22
}
23
</style>
24
25
<div id=grid>
26
  <div class=item></div>
27
  <div class=item></div>
28
  <div class=item></div>
29
  <div class=item></div>
30
</div>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/contain-intrinsic-size/contain-intrinsic-size-024.html +32 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/contain-intrinsic-size/contain-intrinsic-size-024.html_sec1
1
<!doctype html>
2
<meta charset="utf8">
3
<title>CSS contain-intrinsic-size: grid definite size, large size</title>
4
<link rel="author" title="Vladimir Levin" href="mailto:vmpstr@chromium.org">
5
<link rel="help" href="https://drafts.csswg.org/css-sizing-4/#intrinsic-size-override">
6
<link rel="match" href="contain-intrinsic-size-024-ref.html">
7
<meta name="assert" content="contain-intrinsic-size sizes grid container, even if definite tracks are smaller">
8
9
<style>
10
#grid {
11
  border: 3px solid black;
12
  display: grid;
13
  grid-template: 55px 66px / 77px 88px;
14
  contain-intrinsic-size: 200px 300px;
15
  contain: size;
16
  width: max-content;
17
  background: lightblue;
18
  grid-gap: 5px;
19
}
20
.item {
21
  background: lightgreen;
22
  opacity: 0.5;
23
  height: 100%;
24
}
25
</style>
26
27
<div id=grid>
28
  <div class=item></div>
29
  <div class=item></div>
30
  <div class=item></div>
31
  <div class=item></div>
32
</div>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/contain-intrinsic-size/contain-intrinsic-size-025-expected.html +53 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/contain-intrinsic-size/contain-intrinsic-size-025-expected.html_sec1
1
<!doctype html>
2
<meta charset="utf8">
3
<title>CSS contain-intrinsic-size: grid indefinite size, auto-fit</title>
4
<link rel="author" title="Vladimir Levin" href="mailto:vmpstr@chromium.org">
5
<link rel="help" href="https://drafts.csswg.org/css-sizing-4/#intrinsic-size-override">
6
7
<style>
8
.grid {
9
  border: 3px solid black;
10
  display: grid;
11
  width: 70px;
12
  height: 80px;
13
  box-sizing: content-box;
14
  background: lightblue;
15
  grid-gap: 5px;
16
}
17
.one {
18
  grid-template: none / 3fr 4fr;
19
}
20
.two {
21
  grid-template: 1fr 2fr / none;
22
}
23
24
.item {
25
  background: green;
26
  height: 100%;
27
}
28
</style>
29
30
<div class="grid one">
31
  <div class=item></div>
32
  <div class=item></div>
33
  <div class=item></div>
34
  <div class=item></div>
35
  <div class=item></div>
36
  <div class=item></div>
37
</div>
38
<div class="grid two">
39
  <div class=item></div>
40
  <div class=item></div>
41
  <div class=item></div>
42
  <div class=item></div>
43
  <div class=item></div>
44
  <div class=item></div>
45
</div>
46
<div class="grid three">
47
  <div class=item></div>
48
  <div class=item></div>
49
  <div class=item></div>
50
  <div class=item></div>
51
  <div class=item></div>
52
  <div class=item></div>
53
</div>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/contain-intrinsic-size/contain-intrinsic-size-025.html +58 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/contain-intrinsic-size/contain-intrinsic-size-025.html_sec1
1
<!doctype html>
2
<meta charset="utf8">
3
<title>CSS contain-intrinsic-size: grid indefinite size, auto-fit</title>
4
<link rel="author" title="Vladimir Levin" href="mailto:vmpstr@chromium.org">
5
<link rel="help" href="https://drafts.csswg.org/css-sizing-4/#intrinsic-size-override">
6
<link rel="match" href="contain-intrinsic-size-025-ref.html">
7
<meta name="assert" content="definite size auto-fit uses intrinsic-size for the available space">
8
9
<style>
10
.grid {
11
  border: 3px solid black;
12
  display: grid;
13
  contain-intrinsic-size: 70px 80px;
14
  contain: size;
15
  width: max-content;
16
  background: lightblue;
17
  grid-gap: 5px;
18
}
19
.one {
20
  grid-template: repeat(auto-fit, 10px) / 3fr 4fr;
21
}
22
.two {
23
  grid-template: 1fr 2fr / repeat(auto-fit, 15px);
24
}
25
.three {
26
  grid-template: repeat(auto-fit, 10px) / repeat(auto-fit, 15px);
27
}
28
29
.item {
30
  background: green;
31
  height: 100%;
32
}
33
</style>
34
35
<div class="grid one">
36
  <div class=item></div>
37
  <div class=item></div>
38
  <div class=item></div>
39
  <div class=item></div>
40
  <div class=item></div>
41
  <div class=item></div>
42
</div>
43
<div class="grid two">
44
  <div class=item></div>
45
  <div class=item></div>
46
  <div class=item></div>
47
  <div class=item></div>
48
  <div class=item></div>
49
  <div class=item></div>
50
</div>
51
<div class="grid three">
52
  <div class=item></div>
53
  <div class=item></div>
54
  <div class=item></div>
55
  <div class=item></div>
56
  <div class=item></div>
57
  <div class=item></div>
58
</div>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/contain-intrinsic-size/contain-intrinsic-size-026-expected.html +53 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/contain-intrinsic-size/contain-intrinsic-size-026-expected.html_sec1
1
<!doctype html>
2
<meta charset="utf8">
3
<title>CSS contain-intrinsic-size: grid auto-fit, min- max- size interactions</title>
4
<link rel="author" title="Vladimir Levin" href="mailto:vmpstr@chromium.org">
5
<link rel="help" href="https://drafts.csswg.org/css-sizing-4/#intrinsic-size-override">
6
7
<style>
8
.grid {
9
  display: inline-grid;
10
  border: 1px solid black;
11
  height: 40px;
12
}
13
.one {
14
  width: 200px;
15
}
16
.two {
17
  width: 200px;
18
}
19
.three {
20
  width: 200px;
21
}
22
.four {
23
  width: 150px;
24
}
25
.item {
26
  background: green;
27
  height: 100%;
28
}
29
</style>
30
31
<p>min-width larger than contain-intrinsic-width:
32
<div class="grid one">
33
  <div class="item">one</div>
34
  <div class="item">two</div>
35
</div>
36
37
<p>min-width smaller than contain-intrinsic-width:
38
<div class="grid two">
39
  <div class="item">one</div>
40
  <div class="item">two</div>
41
</div>
42
43
<p>max-width ignored since min-width is larger:
44
<div class="grid three">
45
  <div class="item">one</div>
46
  <div class="item">two</div>
47
</div>
48
49
<p>min-width shrinks grid since it overrides contain-intrinsic-width:
50
<div class="grid four">
51
  <div class="item">one</div>
52
  <div class="item">two</div>
53
</div>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/contain-intrinsic-size/contain-intrinsic-size-026.html +66 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/contain-intrinsic-size/contain-intrinsic-size-026.html_sec1
1
<!doctype html>
2
<meta charset="utf8">
3
<title>CSS contain-intrinsic-size: grid auto-fit, min- max- size interactions</title>
4
<link rel="author" title="Vladimir Levin" href="mailto:vmpstr@chromium.org">
5
<link rel="help" href="https://drafts.csswg.org/css-sizing-4/#intrinsic-size-override">
6
<link rel="match" href="contain-intrinsic-size-026-ref.html">
7
<meta name="assert" content="auto-fit columns, with intrinsic-size interacting with min- and max- width">
8
9
<style>
10
.grid {
11
  display: inline-grid;
12
  border: 1px solid black;
13
  grid-template-columns: repeat(auto-fit, 100px);
14
  height: 40px;
15
}
16
.one {
17
  contain-intrinsic-size: 100px;
18
  contain: size;
19
  min-width: 200px;
20
}
21
.two {
22
  contain-intrinsic-size: 200px;
23
  contain: size;
24
  min-width: 100px;
25
}
26
.three {
27
  contain-intrinsic-size: 100px;
28
  contain: size;
29
  min-width: 200px;
30
  max-width: 150px;
31
}
32
.four {
33
  contain-intrinsic-size: 200px;
34
  contain: size;
35
  min-width: 100px;
36
  max-width: 150px;
37
}
38
.item {
39
  background: green;
40
  height: 100%;
41
}
42
</style>
43
44
<p>min-width larger than contain-intrinsic-width:
45
<div class="grid one">
46
  <div class="item">one</div>
47
  <div class="item">two</div>
48
</div>
49
50
<p>min-width smaller than contain-intrinsic-width:
51
<div class="grid two">
52
  <div class="item">one</div>
53
  <div class="item">two</div>
54
</div>
55
56
<p>max-width ignored since min-width is larger:
57
<div class="grid three">
58
  <div class="item">one</div>
59
  <div class="item">two</div>
60
</div>
61
62
<p>min-width shrinks grid since it overrides contain-intrinsic-width:
63
<div class="grid four">
64
  <div class="item">one</div>
65
  <div class="item">two</div>
66
</div>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/contain-intrinsic-size/parsing/contain-intrinsic-size-computed-expected.txt +7 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/contain-intrinsic-size/parsing/contain-intrinsic-size-computed-expected.txt_sec1
1
2
FAIL Property contain-intrinsic-size value 'auto' assert_true: contain-intrinsic-size doesn't seem to be supported in the computed style expected true got false
3
FAIL Property contain-intrinsic-size value '1px' assert_true: contain-intrinsic-size doesn't seem to be supported in the computed style expected true got false
4
FAIL Property contain-intrinsic-size value '2vw 3px' assert_true: contain-intrinsic-size doesn't seem to be supported in the computed style expected true got false
5
FAIL Property contain-intrinsic-size value '2px 3vh' assert_true: contain-intrinsic-size doesn't seem to be supported in the computed style expected true got false
6
FAIL Property contain-intrinsic-size value '5px 5px' assert_true: contain-intrinsic-size doesn't seem to be supported in the computed style expected true got false
7
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/contain-intrinsic-size/parsing/contain-intrinsic-size-computed.html +31 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/contain-intrinsic-size/parsing/contain-intrinsic-size-computed.html_sec1
1
<!DOCTYPE html>
2
<html>
3
<head>
4
<meta charset="utf-8">
5
<title>CSS Intrinsic Size Test: intrinsic-size with computed values</title>
6
<link rel="author" title="Vladimir Levin" href="mailto:vmpstr@chromium.org">
7
<link rel="help" href="https://drafts.csswg.org/css-sizing-4/#intrinsic-size-override">
8
<meta name="assert" content="contain-intrinsic-size supports the full grammar '[auto | legacy | <length>]{1,2}'.">
9
<script src="/resources/testharness.js"></script>
10
<script src="/resources/testharnessreport.js"></script>
11
<script src="/css/support/computed-testcommon.js"></script>
12
</head>
13
<body>
14
<div id=target></div>
15
<div id=scratch></div>
16
<script>
17
18
function length_ref(length) {
19
  document.getElementById("scratch").style.width = length;
20
  return getComputedStyle(document.getElementById("scratch")).getPropertyValue("width");
21
}
22
23
test_computed_value("contain-intrinsic-size", "auto");
24
test_computed_value("contain-intrinsic-size", "1px");
25
test_computed_value("contain-intrinsic-size", "2vw 3px", length_ref("2vw") + " 3px");
26
test_computed_value("contain-intrinsic-size", "2px 3vh", "2px " + length_ref("3vh"));
27
test_computed_value("contain-intrinsic-size", "5px 5px", "5px");
28
</script>
29
</body>
30
</html>
31
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/contain-intrinsic-size/parsing/contain-intrinsic-size-invalid-expected.txt +12 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/contain-intrinsic-size/parsing/contain-intrinsic-size-invalid-expected.txt_sec1
1
2
PASS e.style['contain-intrinsic-size'] = "legacy" should not set the property value 
3
PASS e.style['contain-intrinsic-size'] = "auto auto" should not set the property value 
4
PASS e.style['contain-intrinsic-size'] = "auto legacy" should not set the property value 
5
PASS e.style['contain-intrinsic-size'] = "auto legacy auto" should not set the property value 
6
PASS e.style['contain-intrinsic-size'] = "10%" should not set the property value 
7
PASS e.style['contain-intrinsic-size'] = "2em 3px 5px" should not set the property value 
8
PASS e.style['contain-intrinsic-size'] = "1px 1%" should not set the property value 
9
PASS e.style['contain-intrinsic-size'] = "1px auto" should not set the property value 
10
PASS e.style['contain-intrinsic-size'] = "1px auto auto" should not set the property value 
11
PASS e.style['contain-intrinsic-size'] = "-1px" should not set the property value 
12
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/contain-intrinsic-size/parsing/contain-intrinsic-size-invalid.html +28 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/contain-intrinsic-size/parsing/contain-intrinsic-size-invalid.html_sec1
1
<!DOCTYPE html>
2
<html>
3
<head>
4
<meta charset="utf-8">
5
<title>CSS Intrinsic Size Test: intrinsic-size with invalid values</title>
6
<link rel="author" title="Vladimir Levin" href="mailto:vmpstr@chromium.org">
7
<link rel="help" href="https://drafts.csswg.org/css-sizing-4/#intrinsic-size-override">
8
<meta name="assert" content="contain-intrinsic-size supports the full grammar '[auto | legacy | <length>]{1,2}'.">
9
<script src="/resources/testharness.js"></script>
10
<script src="/resources/testharnessreport.js"></script>
11
<script src="/css/support/parsing-testcommon.js"></script>
12
</head>
13
<body>
14
<script>
15
test_invalid_value("contain-intrinsic-size", "legacy");
16
test_invalid_value("contain-intrinsic-size", "auto auto");
17
test_invalid_value("contain-intrinsic-size", "auto legacy");
18
test_invalid_value("contain-intrinsic-size", "auto legacy auto");
19
test_invalid_value("contain-intrinsic-size", "10%");
20
test_invalid_value("contain-intrinsic-size", "2em 3px 5px");
21
test_invalid_value("contain-intrinsic-size", "1px 1%");
22
test_invalid_value("contain-intrinsic-size", "1px auto");
23
test_invalid_value("contain-intrinsic-size", "1px auto auto");
24
test_invalid_value("contain-intrinsic-size", "-1px");
25
</script>
26
</body>
27
</html>
28
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/contain-intrinsic-size/parsing/contain-intrinsic-size-valid-expected.txt +6 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/contain-intrinsic-size/parsing/contain-intrinsic-size-valid-expected.txt_sec1
1
2
FAIL e.style['contain-intrinsic-size'] = "auto" should set the property value assert_not_equals: property should be set got disallowed value ""
3
FAIL e.style['contain-intrinsic-size'] = "1px" should set the property value assert_not_equals: property should be set got disallowed value ""
4
FAIL e.style['contain-intrinsic-size'] = "2em 3px" should set the property value assert_not_equals: property should be set got disallowed value ""
5
FAIL e.style['contain-intrinsic-size'] = "5px 5px" should set the property value assert_not_equals: property should be set got disallowed value ""
6
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/contain-intrinsic-size/parsing/contain-intrinsic-size-valid.html +22 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/contain-intrinsic-size/parsing/contain-intrinsic-size-valid.html_sec1
1
<!DOCTYPE html>
2
<html>
3
<head>
4
<meta charset="utf-8">
5
<title>CSS Intrinsic Size Test: intrinsic-size with valid values</title>
6
<link rel="author" title="Vladimir Levin" href="mailto:vmpstr@chromium.org">
7
<link rel="help" href="https://drafts.csswg.org/css-sizing-4/#intrinsic-size-override">
8
<meta name="assert" content="contain-intrinsic-size supports the full grammar '[auto | legacy | <length>]{1,2}'.">
9
<script src="/resources/testharness.js"></script>
10
<script src="/resources/testharnessreport.js"></script>
11
<script src="/css/support/parsing-testcommon.js"></script>
12
</head>
13
<body>
14
<script>
15
test_valid_value("contain-intrinsic-size", "auto");
16
test_valid_value("contain-intrinsic-size", "1px");
17
test_valid_value("contain-intrinsic-size", "2em 3px");
18
test_valid_value("contain-intrinsic-size", "5px 5px", "5px");
19
</script>
20
</body>
21
</html>
22
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/contain-intrinsic-size/parsing/w3c-import.log +19 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/contain-intrinsic-size/parsing/w3c-import.log_sec1
1
The tests in this directory were imported from the W3C repository.
2
Do NOT modify these tests directly in WebKit.
3
Instead, create a pull request on the WPT github:
4
	https://github.com/web-platform-tests/wpt
5
6
Then run the Tools/Scripts/import-w3c-tests in WebKit to reimport
7
8
Do NOT modify or remove this file.
9
10
------------------------------------------------------------------------
11
Properties requiring vendor prefixes:
12
None
13
Property values requiring vendor prefixes:
14
None
15
------------------------------------------------------------------------
16
List of files:
17
/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/contain-intrinsic-size/parsing/contain-intrinsic-size-computed.html
18
/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/contain-intrinsic-size/parsing/contain-intrinsic-size-invalid.html
19
/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/contain-intrinsic-size/parsing/contain-intrinsic-size-valid.html
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/contain-intrinsic-size/resources/w3c-import.log +17 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/contain-intrinsic-size/resources/w3c-import.log_sec1
1
The tests in this directory were imported from the W3C repository.
2
Do NOT modify these tests directly in WebKit.
3
Instead, create a pull request on the WPT github:
4
	https://github.com/web-platform-tests/wpt
5
6
Then run the Tools/Scripts/import-w3c-tests in WebKit to reimport
7
8
Do NOT modify or remove this file.
9
10
------------------------------------------------------------------------
11
Properties requiring vendor prefixes:
12
None
13
Property values requiring vendor prefixes:
14
None
15
------------------------------------------------------------------------
16
List of files:
17
/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/contain-intrinsic-size/resources/dice.png
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/contain-intrinsic-size/w3c-import.log +68 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/contain-intrinsic-size/w3c-import.log_sec1
1
The tests in this directory were imported from the W3C repository.
2
Do NOT modify these tests directly in WebKit.
3
Instead, create a pull request on the WPT github:
4
	https://github.com/web-platform-tests/wpt
5
6
Then run the Tools/Scripts/import-w3c-tests in WebKit to reimport
7
8
Do NOT modify or remove this file.
9
10
------------------------------------------------------------------------
11
Properties requiring vendor prefixes:
12
None
13
Property values requiring vendor prefixes:
14
None
15
------------------------------------------------------------------------
16
List of files:
17
/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/contain-intrinsic-size/contain-intrinsic-size-001-expected.html
18
/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/contain-intrinsic-size/contain-intrinsic-size-001.html
19
/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/contain-intrinsic-size/contain-intrinsic-size-002-expected.html
20
/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/contain-intrinsic-size/contain-intrinsic-size-002.html
21
/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/contain-intrinsic-size/contain-intrinsic-size-003-expected.html
22
/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/contain-intrinsic-size/contain-intrinsic-size-003.html
23
/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/contain-intrinsic-size/contain-intrinsic-size-004-expected.html
24
/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/contain-intrinsic-size/contain-intrinsic-size-004.html
25
/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/contain-intrinsic-size/contain-intrinsic-size-005-expected.html
26
/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/contain-intrinsic-size/contain-intrinsic-size-005.html
27
/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/contain-intrinsic-size/contain-intrinsic-size-006-expected.html
28
/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/contain-intrinsic-size/contain-intrinsic-size-006.html
29
/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/contain-intrinsic-size/contain-intrinsic-size-007-expected.html
30
/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/contain-intrinsic-size/contain-intrinsic-size-007.html
31
/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/contain-intrinsic-size/contain-intrinsic-size-008-expected.html
32
/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/contain-intrinsic-size/contain-intrinsic-size-008.html
33
/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/contain-intrinsic-size/contain-intrinsic-size-009-expected.html
34
/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/contain-intrinsic-size/contain-intrinsic-size-009.html
35
/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/contain-intrinsic-size/contain-intrinsic-size-010-expected.html
36
/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/contain-intrinsic-size/contain-intrinsic-size-010.html
37
/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/contain-intrinsic-size/contain-intrinsic-size-011-expected.html
38
/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/contain-intrinsic-size/contain-intrinsic-size-011.html
39
/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/contain-intrinsic-size/contain-intrinsic-size-012-expected.html
40
/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/contain-intrinsic-size/contain-intrinsic-size-012.html
41
/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/contain-intrinsic-size/contain-intrinsic-size-013-expected.html
42
/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/contain-intrinsic-size/contain-intrinsic-size-013.html
43
/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/contain-intrinsic-size/contain-intrinsic-size-014-expected.html
44
/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/contain-intrinsic-size/contain-intrinsic-size-014.html
45
/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/contain-intrinsic-size/contain-intrinsic-size-015-expected.html
46
/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/contain-intrinsic-size/contain-intrinsic-size-015.html
47
/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/contain-intrinsic-size/contain-intrinsic-size-016-expected.html
48
/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/contain-intrinsic-size/contain-intrinsic-size-016.html
49
/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/contain-intrinsic-size/contain-intrinsic-size-017-expected.html
50
/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/contain-intrinsic-size/contain-intrinsic-size-017.html
51
/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/contain-intrinsic-size/contain-intrinsic-size-018-expected.html
52
/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/contain-intrinsic-size/contain-intrinsic-size-018.html
53
/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/contain-intrinsic-size/contain-intrinsic-size-019-expected.html
54
/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/contain-intrinsic-size/contain-intrinsic-size-019.html
55
/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/contain-intrinsic-size/contain-intrinsic-size-020-expected.html
56
/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/contain-intrinsic-size/contain-intrinsic-size-020.html
57
/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/contain-intrinsic-size/contain-intrinsic-size-021-expected.html
58
/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/contain-intrinsic-size/contain-intrinsic-size-021.html
59
/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/contain-intrinsic-size/contain-intrinsic-size-022-expected.html
60
/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/contain-intrinsic-size/contain-intrinsic-size-022.html
61
/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/contain-intrinsic-size/contain-intrinsic-size-023-expected.html
62
/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/contain-intrinsic-size/contain-intrinsic-size-023.html
63
/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/contain-intrinsic-size/contain-intrinsic-size-024-expected.html
64
/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/contain-intrinsic-size/contain-intrinsic-size-024.html
65
/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/contain-intrinsic-size/contain-intrinsic-size-025-expected.html
66
/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/contain-intrinsic-size/contain-intrinsic-size-025.html
67
/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/contain-intrinsic-size/contain-intrinsic-size-026-expected.html
68
/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/contain-intrinsic-size/contain-intrinsic-size-026.html
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/frameset-intrinsic-crash-expected.txt +7 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/frameset-intrinsic-crash-expected.txt_sec1
1
layer at (0,0) size 793x608
2
  RenderView at (0,0) size 785x585
3
layer at (0,0) size 785x608
4
  RenderBlock {HTML} at (0,0) size 785x608
5
    RenderBody {BODY} at (8,8) size 769x0
6
      RenderBlock (floating) {DIV} at (0,0) size 0x600
7
        RenderFrameSet {FRAMESET} at (0,0) size 785x600
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/frameset-intrinsic-crash.html +6 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/frameset-intrinsic-crash.html_sec1
1
<!DOCTYPE html>
2
<link rel="help" href="https://crbug.com/1064432">
3
<div id=target style="float: left;"></div>
4
<script>
5
document.getElementById('target').appendChild(document.createElement('frameset'));
6
</script>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/image-fractional-height-with-wide-aspect-ratio-expected.html +4 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/image-fractional-height-with-wide-aspect-ratio-expected.html_sec1
1
<!DOCTYPE html>
2
<link rel="author" title="Morten Stenshorne" href="mstensho@chromium.org">
3
<p>Test passes if there is a filled green square.</p>
4
<div style="width:100px; height:100px; background:green;"></div>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/image-fractional-height-with-wide-aspect-ratio.html +27 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/image-fractional-height-with-wide-aspect-ratio.html_sec1
1
<!DOCTYPE html>
2
<link rel="help" href="https://drafts.csswg.org/css-sizing/#intrinsic-sizes">
3
<link rel="match" href="../reference/ref-filled-green-100px-square-only.html">
4
<style>
5
.target {
6
  height: 12.5px;
7
  background-color: red;
8
  display: block;
9
}
10
</style>
11
<p>Test passes if there is a filled green square.</p>
12
<img src="data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 96 12'><rect width='96' height='12' fill='green'/></svg>"
13
     class="target">
14
<img src="data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 96 12'><rect width='96' height='12' fill='green'/></svg>"
15
     class="target">
16
<img src="data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 96 12'><rect width='96' height='12' fill='green'/></svg>"
17
     class="target">
18
<img src="data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 96 12'><rect width='96' height='12' fill='green'/></svg>"
19
     class="target">
20
<img src="data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 96 12'><rect width='96' height='12' fill='green'/></svg>"
21
     class="target">
22
<img src="data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 96 12'><rect width='96' height='12' fill='green'/></svg>"
23
     class="target">
24
<img src="data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 96 12'><rect width='96' height='12' fill='green'/></svg>"
25
     class="target">
26
<img src="data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 96 12'><rect width='96' height='12' fill='green'/></svg>"
27
     class="target">
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/intrinsic-percent-replaced-007-expected.html +4 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/intrinsic-percent-replaced-007-expected.html_sec1
1
<!DOCTYPE html>
2
<link rel="author" title="Morten Stenshorne" href="mstensho@chromium.org">
3
<p>Test passes if there is a filled green square.</p>
4
<div style="width:100px; height:100px; background:green;"></div>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/intrinsic-percent-replaced-007.html +15 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/intrinsic-percent-replaced-007.html_sec1
1
<!DOCTYPE html>
2
<link rel="help" href="https://drafts.csswg.org/css-sizing-3/#intrinsic-sizes">
3
<meta name="assert" content="Checks that a replaced element, with an aspect ratio, converts a percent height into an intrinsic width." />
4
<link rel="match" href="../reference/ref-filled-green-100px-square-only.html">
5
<style>
6
#container { position: relative; height: 200px; }
7
#abs { position: absolute; top: 0; bottom: 100px; background: green; }
8
canvas { height: 100%; }
9
</style>
10
<p>Test passes if there is a filled green square.</p>
11
<div id=container>
12
  <div id=abs>
13
    <canvas width=10 height=10></canvas>
14
  </div>
15
</div>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/intrinsic-percent-replaced-008-expected.html +4 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/intrinsic-percent-replaced-008-expected.html_sec1
1
<!DOCTYPE html>
2
<link rel="author" title="Morten Stenshorne" href="mstensho@chromium.org">
3
<p>Test passes if there is a filled green square.</p>
4
<div style="width:100px; height:100px; background:green;"></div>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/intrinsic-percent-replaced-008.html +15 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/intrinsic-percent-replaced-008.html_sec1
1
<!DOCTYPE html>
2
<link rel="help" href="https://drafts.csswg.org/css-sizing-3/#intrinsic-sizes">
3
<meta name="assert" content="Checks that a replaced element, with an aspect ratio, converts a percent height into an intrinsic width." />
4
<link rel="match" href="../reference/ref-filled-green-100px-square-only.html">
5
<style>
6
#container { position: relative; width: 200px; height: 200px; }
7
#abs { writing-mode: vertical-lr; position: absolute; left: 0; right: 100px; background: green; }
8
canvas { width: 100%; }
9
</style>
10
<p>Test passes if there is a filled green square.</p>
11
<div id=container>
12
  <div id=abs>
13
    <canvas width=10 height=10></canvas>
14
  </div>
15
</div>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/intrinsic-percent-replaced-dynamic-001-expected.html +4 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/intrinsic-percent-replaced-dynamic-001-expected.html_sec1
1
<!DOCTYPE html>
2
<link rel="author" title="Morten Stenshorne" href="mstensho@chromium.org">
3
<p>Test passes if there is a filled green square.</p>
4
<div style="width:100px; height:100px; background:green;"></div>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/intrinsic-percent-replaced-dynamic-001.html +14 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/intrinsic-percent-replaced-dynamic-001.html_sec1
1
<!-- quirks mode -->
2
<link rel="help" href="https://drafts.csswg.org/css-sizing-3/#intrinsic">
3
<link rel="match" href="../reference/ref-filled-green-100px-square-only.html">
4
<meta name="assert" content="This test checks that a dynamic change in the height of an element calculates the intrinsic min/max size correctly when a replaced element is present."/>
5
<p style="margin-top: 1em;">Test passes if there is a filled green square.</p>
6
<div id="target" style="float: left; background: green;">
7
  <div>
8
    <canvas width="1" height="1" style="height: 100%;"></canvas>
9
  </div>
10
</div>
11
<script>
12
  document.body.offsetTop;
13
  document.getElementById('target').style.height = '100px';
14
</script>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/intrinsic-percent-replaced-dynamic-002-expected.html +4 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/intrinsic-percent-replaced-dynamic-002-expected.html_sec1
1
<!DOCTYPE html>
2
<link rel="author" title="Morten Stenshorne" href="mstensho@chromium.org">
3
<p>Test passes if there is a filled green square.</p>
4
<div style="width:100px; height:100px; background:green;"></div>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/intrinsic-percent-replaced-dynamic-002.html +16 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/intrinsic-percent-replaced-dynamic-002.html_sec1
1
<!DOCTYPE html>
2
<link rel="help" href="https://drafts.csswg.org/css-sizing-3/#intrinsic">
3
<link rel="match" href="../reference/ref-filled-green-100px-square-only.html">
4
<meta name="assert" content="This test checks that a dynamic change in the height of an element calculates the intrinsic min/max size correctly when a replaced element is present."/>
5
<p>Test passes if there is a filled green square.</p>
6
<div id="target" style="float: left; background: green;">
7
  <span>
8
    <div style="height: 100%;">
9
      <canvas width="1" height="1" style="height: 100%;"></canvas>
10
    </div>
11
  </span>
12
</div>
13
<script>
14
  document.body.offsetTop;
15
  document.getElementById('target').style.height = '100px';
16
</script>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/intrinsic-percent-replaced-dynamic-003-expected.html +4 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/intrinsic-percent-replaced-dynamic-003-expected.html_sec1
1
<!DOCTYPE html>
2
<link rel="author" title="Morten Stenshorne" href="mstensho@chromium.org">
3
<p>Test passes if there is a filled green square.</p>
4
<div style="width:100px; height:100px; background:green;"></div>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/intrinsic-percent-replaced-dynamic-003.html +14 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/intrinsic-percent-replaced-dynamic-003.html_sec1
1
<!DOCTYPE html>
2
<link rel="help" href="https://drafts.csswg.org/css-sizing-3/#intrinsic">
3
<link rel="match" href="../reference/ref-filled-green-100px-square-only.html">
4
<meta name="assert" content="This test checks that a dynamic change in the height of an element calculates the intrinsic min/max size correctly when a replaced element is present."/>
5
<p>Test passes if there is a filled green square.</p>
6
<div id="target" style="float: left; background: green;">
7
  <div style="height: 100%;">
8
    <canvas width="1" height="1" style="height: 100%;"></canvas>
9
  </div>
10
</div>
11
<script>
12
  document.body.offsetTop;
13
  document.getElementById('target').style.height = '100px';
14
</script>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/intrinsic-percent-replaced-dynamic-004-expected.html +4 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/intrinsic-percent-replaced-dynamic-004-expected.html_sec1
1
<!DOCTYPE html>
2
<link rel="author" title="Morten Stenshorne" href="mstensho@chromium.org">
3
<p>Test passes if there is a filled green square.</p>
4
<div style="width:100px; height:100px; background:green;"></div>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/intrinsic-percent-replaced-dynamic-004.html +14 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/intrinsic-percent-replaced-dynamic-004.html_sec1
1
<!DOCTYPE html>
2
<link rel="help" href="https://drafts.csswg.org/css-sizing-3/#intrinsic">
3
<link rel="match" href="../reference/ref-filled-green-100px-square-only.html">
4
<meta name="assert" content="This test checks that a dynamic change in the height of an element calculates the intrinsic min/max size correctly when a replaced element is present."/>
5
<p>Test passes if there is a filled green square.</p>
6
<div id="target" style="float: left; background: green;">
7
  <div style="width: fit-content; height: 100%;">
8
    <canvas width="1" height="1" style="height: 100%;"></canvas>
9
  </div>
10
</div>
11
<script>
12
  document.body.offsetTop;
13
  document.getElementById('target').style.height = '100px';
14
</script>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/intrinsic-percent-replaced-dynamic-005-expected.html +4 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/intrinsic-percent-replaced-dynamic-005-expected.html_sec1
1
<!DOCTYPE html>
2
<link rel="author" title="Morten Stenshorne" href="mstensho@chromium.org">
3
<p>Test passes if there is a filled green square.</p>
4
<div style="width:100px; height:100px; background:green;"></div>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/intrinsic-percent-replaced-dynamic-005.html +14 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/intrinsic-percent-replaced-dynamic-005.html_sec1
1
<!DOCTYPE html>
2
<link rel="help" href="https://drafts.csswg.org/css-sizing-3/#intrinsic">
3
<link rel="match" href="../reference/ref-filled-green-100px-square-only.html">
4
<meta name="assert" content="This test checks that a dynamic change in the height of an element calculates the intrinsic min/max size correctly when a replaced element is present."/>
5
<p>Test passes if there is a filled green square.</p>
6
<div style="position: relative; width: 100px; height: 100px;">
7
  <div id="target" style="position: absolute; top:0; background: green;">
8
    <canvas width="1" height="1" style="height: 100%;"></canvas>
9
  </div>
10
</div>
11
<script>
12
  document.body.offsetTop;
13
  document.getElementById('target').style.bottom = '0px';
14
</script>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/intrinsic-percent-replaced-dynamic-006-expected.html +4 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/intrinsic-percent-replaced-dynamic-006-expected.html_sec1
1
<!DOCTYPE html>
2
<link rel="author" title="Morten Stenshorne" href="mstensho@chromium.org">
3
<p>Test passes if there is a filled green square.</p>
4
<div style="width:100px; height:100px; background:green;"></div>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/intrinsic-percent-replaced-dynamic-006.html +14 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/intrinsic-percent-replaced-dynamic-006.html_sec1
1
<!DOCTYPE html>
2
<link rel="help" href="https://drafts.csswg.org/css-sizing-3/#intrinsic">
3
<link rel="match" href="../reference/ref-filled-green-100px-square-only.html">
4
<meta name="assert" content="This test checks that a dynamic change in the height of an element calculates the intrinsic min/max size correctly when a replaced element is present."/>
5
<p>Test passes if there is a filled green square.</p>
6
<div id="target" style="float: left; background: green;">
7
  <div style="width: 100%; height: 100%;">
8
    <canvas width="1" height="1" style="height: 100%;"></canvas>
9
  </div>
10
</div>
11
<script>
12
  document.body.offsetTop;
13
  document.getElementById('target').style.height = '100px';
14
</script>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/intrinsic-percent-replaced-dynamic-007-expected.html +4 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/intrinsic-percent-replaced-dynamic-007-expected.html_sec1
1
<!DOCTYPE html>
2
<link rel="author" title="Morten Stenshorne" href="mstensho@chromium.org">
3
<p>Test passes if there is a filled green square.</p>
4
<div style="width:100px; height:100px; background:green;"></div>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/intrinsic-percent-replaced-dynamic-007.html +14 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/intrinsic-percent-replaced-dynamic-007.html_sec1
1
<!DOCTYPE html>
2
<link rel="help" href="https://drafts.csswg.org/css-sizing-3/#intrinsic">
3
<link rel="match" href="../reference/ref-filled-green-100px-square-only.html">
4
<meta name="assert" content="This test checks that a dynamic change in the height of an element calculates the intrinsic min/max size correctly when a replaced element is present."/>
5
<p>Test passes if there is a filled green square.</p>
6
<div style="position: relative; width: 100px; height: 200px;">
7
  <div id="target" style="position: absolute; top:0; bottom: 0; background: green;">
8
    <canvas width="1" height="1" style="height: 100%;"></canvas>
9
  </div>
10
</div>
11
<script>
12
  document.body.offsetTop;
13
  document.getElementById('target').style.bottom = '100px';
14
</script>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/intrinsic-percent-replaced-dynamic-008-expected.html +4 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/intrinsic-percent-replaced-dynamic-008-expected.html_sec1
1
<!DOCTYPE html>
2
<link rel="author" title="Morten Stenshorne" href="mstensho@chromium.org">
3
<p>Test passes if there is a filled green square.</p>
4
<div style="width:100px; height:100px; background:green;"></div>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/intrinsic-percent-replaced-dynamic-008.html +14 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/intrinsic-percent-replaced-dynamic-008.html_sec1
1
<!DOCTYPE html>
2
<link rel="help" href="https://drafts.csswg.org/css-sizing-3/#intrinsic">
3
<link rel="match" href="../reference/ref-filled-green-100px-square-only.html">
4
<meta name="assert" content="This test checks that a dynamic change in the height of an element calculates the intrinsic min/max size correctly when a replaced element is present."/>
5
<p>Test passes if there is a filled green square.</p>
6
<div style="position: relative; width: 200px; height: 200px;">
7
  <div id="target" style="writing-mode: vertical-lr; position: absolute; left: 0; right: 0; background: green;">
8
    <canvas width="1" height="1" style="width: 100%;"></canvas>
9
  </div>
10
</div>
11
<script>
12
  document.body.offsetTop;
13
  document.getElementById('target').style.right = '100px';
14
</script>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/intrinsic-percent-replaced-dynamic-009-expected.html +4 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/intrinsic-percent-replaced-dynamic-009-expected.html_sec1
1
<!DOCTYPE html>
2
<link rel="author" title="Morten Stenshorne" href="mstensho@chromium.org">
3
<p>Test passes if there is a filled green square.</p>
4
<div style="width:100px; height:100px; background:green;"></div>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/intrinsic-percent-replaced-dynamic-009.html +14 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/intrinsic-percent-replaced-dynamic-009.html_sec1
1
<!DOCTYPE html>
2
<link rel="help" href="https://drafts.csswg.org/css-sizing-3/#intrinsic">
3
<link rel="match" href="../reference/ref-filled-green-100px-square-only.html">
4
<meta name="assert" content="This test checks that a dynamic change in the height of an element calculates the intrinsic min/max size correctly when a replaced element is present."/>
5
<p>Test passes if there is a filled green square.</p>
6
<div id="target" style="float: left; background: green; line-height: 0;">
7
  <span style="display: inline-block; height: 100%;">
8
    <canvas width="1" height="1" style="height: 100%;"></canvas>
9
  </div>
10
</div>
11
<script>
12
  document.body.offsetTop;
13
  document.getElementById('target').style.height = '100px';
14
</script>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/intrinsic-percent-replaced-dynamic-010-expected.html +4 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/intrinsic-percent-replaced-dynamic-010-expected.html_sec1
1
<!DOCTYPE html>
2
<link rel="author" title="Morten Stenshorne" href="mstensho@chromium.org">
3
<p>Test passes if there is a filled green square.</p>
4
<div style="width:100px; height:100px; background:green;"></div>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/intrinsic-percent-replaced-dynamic-010.html +16 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/intrinsic-percent-replaced-dynamic-010.html_sec1
1
<!DOCTYPE html>
2
<link rel="help" href="https://drafts.csswg.org/css-sizing-3/#intrinsic">
3
<link rel="match" href="../reference/ref-filled-green-100px-square-only.html">
4
<meta name="assert" content="This test checks that a dynamic change in the height of an element calculates the intrinsic min/max size correctly when a replaced element is present."/>
5
<p>Test passes if there is a filled green square.</p>
6
<div id="target" style="float: left; background: green; color: transparent;">
7
  <span>
8
    <div style="float: left; height: 100%;">
9
      <canvas width="1" height="1" style="height: 100%;"></canvas>
10
    </div>
11
  </span>
12
</div>
13
<script>
14
  document.body.offsetTop;
15
  document.getElementById('target').style.height = '100px';
16
</script>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/min-content-negative-margin-crash-expected.txt +7 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/min-content-negative-margin-crash-expected.txt_sec1
1
layer at (0,0) size 33554431x585
2
  RenderView at (0,0) size 785x585
3
layer at (0,0) size 33554431x585
4
  RenderBlock {HTML} at (0,0) size 33554431x585
5
layer at (8,8) size 33554431x569 backgroundClip at (8,8) size 33554424x569 clip at (8,8) size 33554417x554
6
  RenderBody {BODY} at (8,8) size 33554423x569
7
    RenderBlock {DIV} at (33554428,0) size 0x0
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/min-content-negative-margin-crash.html +11 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/min-content-negative-margin-crash.html_sec1
1
<!--quirks-mode-->
2
<link rel="help" href="https://crbug.com/1004060">
3
<style>
4
html, body {
5
  width: min-content;
6
  overflow: scroll;
7
}
8
</style>
9
<body style="margin-right: -1px;">
10
  <div style="margin: 0 10000000000;"></div>
11
</body>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/ortho-writing-mode-001-expected.xht +19 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/ortho-writing-mode-001-expected.xht_sec1
1
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
2
<html xmlns="http://www.w3.org/1999/xhtml">
3
 <head>
4
  <title>CSS Reftest Reference</title>
5
  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
6
  <style type="text/css"><![CDATA[
7
  div
8
  {
9
  background-color: green;
10
  height: 100px;
11
  width: 100px;
12
  }
13
  ]]></style>
14
 </head>
15
 <body>
16
  <p>Test passes if there is a filled green square and <strong>no red</strong>.</p>
17
  <div></div>
18
 </body>
19
</html>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/ortho-writing-mode-001.html +16 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/ortho-writing-mode-001.html_sec1
1
<!DOCTYPE html>
2
<link rel="author" title="David Grogan" href="mailto:dgrogan@chromium.org">
3
<link rel="author" title="Morten Stenshorne" href="mailto:mstensho@chromium.org">
4
<link rel="help" href="https://drafts.csswg.org/css-sizing-3/#intrinsic-sizes" title="first paragraph">
5
<link rel="help" href="https://www.w3.org/TR/css-writing-modes-4/#orthogonal-auto">
6
<link rel="match" href="../reference/ref-filled-green-100px-square.xht">
7
<meta name="flags" content="" />
8
<meta name="assert" content="The intrinsic size of an orthogonal child is its shrink to fit size after layout" />
9
10
<p>Test passes if there is a filled green square and <strong>no red</strong>.</p>
11
12
<div style="width:min-content; background:red;">
13
  <div style="writing-mode:vertical-rl; background:green;">
14
    <div style="margin-right:50%; width:50px; height:100px;"></div>
15
  </div>
16
</div>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/parsing/min-height-invalid-expected.txt -1 / +9 lines
Lines 1-6 a/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/parsing/min-height-invalid-expected.txt_sec1
1
1
2
PASS e.style['min-height'] = "none" should not set the property value 
2
PASS e.style['min-height'] = "none" should not set the property value 
3
PASS e.style['min-height'] = "min-content max-content" should not set the property value 
3
PASS e.style['min-height'] = "complex" should not set the property value 
4
PASS e.style['min-height'] = "-10%" should not set the property value 
4
PASS e.style['min-height'] = "-10%" should not set the property value 
5
PASS e.style['min-height'] = "-0.5em" should not set the property value 
5
PASS e.style['min-height'] = "-0.5em" should not set the property value 
6
PASS e.style['min-height'] = "60" should not set the property value 
7
PASS e.style['min-height'] = "10px 20%" should not set the property value 
8
PASS e.style['min-height'] = "max-content 10px" should not set the property value 
9
PASS e.style['min-height'] = "min-content max-content" should not set the property value 
10
PASS e.style['min-height'] = "available" should not set the property value 
11
PASS e.style['min-height'] = "10px border-box" should not set the property value 
12
PASS e.style['min-height'] = "content-box 20%" should not set the property value 
13
FAIL e.style['min-height'] = "fit-content" should not set the property value assert_equals: expected "" but got "fit-content"
6
14
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/parsing/min-height-invalid.html -1 / +13 lines
Lines 12-21 a/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/parsing/min-height-invalid.html_sec1
12
<body>
12
<body>
13
<script>
13
<script>
14
test_invalid_value("min-height", "none");
14
test_invalid_value("min-height", "none");
15
test_invalid_value("min-height", "min-content max-content");
15
test_invalid_value("min-height", "complex");
16
16
17
test_invalid_value("min-height", "-10%");
17
test_invalid_value("min-height", "-10%");
18
test_invalid_value("min-height", "-0.5em");
18
test_invalid_value("min-height", "-0.5em");
19
test_invalid_value("min-height", "60");
20
21
test_invalid_value("min-height", "10px 20%");
22
test_invalid_value("min-height", "max-content 10px");
23
test_invalid_value("min-height", "min-content max-content");
24
25
// The following were previously supported by a min-height definition in
26
// https://drafts.csswg.org/css-box-3/
27
test_invalid_value("min-height", "available");
28
test_invalid_value("min-height", "10px border-box");
29
test_invalid_value("min-height", "content-box 20%");
30
test_invalid_value("min-height", "fit-content");
19
</script>
31
</script>
20
</body>
32
</body>
21
</html>
33
</html>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/parsing/min-width-invalid-expected.txt -1 / +9 lines
Lines 1-6 a/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/parsing/min-width-invalid-expected.txt_sec1
1
1
2
PASS e.style['min-width'] = "none" should not set the property value 
2
PASS e.style['min-width'] = "none" should not set the property value 
3
PASS e.style['min-width'] = "min-content max-content" should not set the property value 
3
PASS e.style['min-width'] = "complex" should not set the property value 
4
PASS e.style['min-width'] = "-10%" should not set the property value 
4
PASS e.style['min-width'] = "-10%" should not set the property value 
5
PASS e.style['min-width'] = "-0.5em" should not set the property value 
5
PASS e.style['min-width'] = "-0.5em" should not set the property value 
6
PASS e.style['min-width'] = "60" should not set the property value 
7
PASS e.style['min-width'] = "10px 20%" should not set the property value 
8
PASS e.style['min-width'] = "max-content 10px" should not set the property value 
9
PASS e.style['min-width'] = "min-content max-content" should not set the property value 
10
PASS e.style['min-width'] = "available" should not set the property value 
11
PASS e.style['min-width'] = "10px border-box" should not set the property value 
12
PASS e.style['min-width'] = "content-box 20%" should not set the property value 
13
FAIL e.style['min-width'] = "fit-content" should not set the property value assert_equals: expected "" but got "fit-content"
6
14
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/parsing/min-width-invalid.html -1 / +13 lines
Lines 12-21 a/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/parsing/min-width-invalid.html_sec1
12
<body>
12
<body>
13
<script>
13
<script>
14
test_invalid_value("min-width", "none");
14
test_invalid_value("min-width", "none");
15
test_invalid_value("min-width", "min-content max-content");
15
test_invalid_value("min-width", "complex");
16
16
17
test_invalid_value("min-width", "-10%");
17
test_invalid_value("min-width", "-10%");
18
test_invalid_value("min-width", "-0.5em");
18
test_invalid_value("min-width", "-0.5em");
19
test_invalid_value("min-width", "60");
20
21
test_invalid_value("min-width", "10px 20%");
22
test_invalid_value("min-width", "max-content 10px");
23
test_invalid_value("min-width", "min-content max-content");
24
25
// The following were previously supported by a min-width definition in
26
// https://drafts.csswg.org/css-box-3/
27
test_invalid_value("min-width", "available");
28
test_invalid_value("min-width", "10px border-box");
29
test_invalid_value("min-width", "content-box 20%");
30
test_invalid_value("min-width", "fit-content");
19
</script>
31
</script>
20
</body>
32
</body>
21
</html>
33
</html>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/percentage-height-in-flexbox-expected.txt -2 / +2 lines
Lines 1-5 a/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/percentage-height-in-flexbox-expected.txt_sec1
1
1
2
2
3
PASS #target offsetSize matches #container offsetSize 
3
FAIL #target offsetSize matches #container offsetSize assert_equals: expected 50 but got 0
4
FAIL #target offsetSize matches #container offsetSize after resize assert_equals: expected 100 but got 50
4
FAIL #target offsetSize matches #container offsetSize after resize assert_equals: expected 100 but got 0
5
5
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/percentage-height-replaced-content-in-auto-cb-expected.txt -1 / +1 lines
Lines 3-8 Test passes if there is a green square below. a/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/percentage-height-replaced-content-in-auto-cb-expected.txt_sec1
3
3
4
4
5
FAIL img 1 assert_equals: 
5
FAIL img 1 assert_equals: 
6
<img id="img" data-expected-height="100" style="width: 100px; height: 100%" src="/css/support/60x60-green.png?0.3215517067041094">
6
<img id="img" data-expected-height="100" style="width: 100px; height: 100%" src="/css/support/60x60-green.png?0.4974114301605089">
7
height expected 100 but got 0
7
height expected 100 but got 0
8
8
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/replaced-fractional-height-from-aspect-ratio-expected.txt +11 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/replaced-fractional-height-from-aspect-ratio-expected.txt_sec1
1
CONSOLE MESSAGE: ReferenceError: Can't find variable: checkLayout
2
layer at (0,0) size 800x600
3
  RenderView at (0,0) size 800x600
4
layer at (0,0) size 800x130
5
  RenderBlock {HTML} at (0,0) size 800x130
6
    RenderBody {BODY} at (8,8) size 784x0
7
layer at (8,8) size 203x0
8
  RenderBlock (relative positioned) {DIV} at (0,0) size 204x0
9
    RenderHTMLCanvas {CANVAS} at (0,0) size 61x61 [bgcolor=#008000]
10
    RenderHTMLCanvas {CANVAS} at (60,0) size 62x61 [bgcolor=#008000]
11
    RenderHTMLCanvas {CANVAS} at (0,61) size 122x61 [bgcolor=#008000]
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/replaced-fractional-height-from-aspect-ratio.html +18 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/replaced-fractional-height-from-aspect-ratio.html_sec1
1
<!DOCTYPE html>
2
<link rel="help" href="https://bugs.chromium.org/p/chromium/issues/detail?id=1052370" >
3
<meta name="assert" content="When determining the size of a replaced element, if it has an aspect ratio of 1/1 then the final height should be exactly equal to its width." />
4
<script src="../../resources/check-layout.js"></script>
5
<style>
6
canvas {
7
  float: left;
8
  background: green;
9
}
10
</style>
11
<div style="position: relative; width: 254px; zoom: 0.8;">
12
  <canvas style="width: 30%;" width="1" height="1"></canvas>
13
  <canvas style="width: 30%;" width="708" height="708"></canvas>
14
  <canvas id="target" style="width: 60%;" width="2" height="1" data-offset-x="0"></canvas>
15
</div>
16
<script>
17
checkLayout('#target');
18
</script>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/slice-intrinsic-size.html -1 / +1 lines
Lines 33-39 span { a/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/slice-intrinsic-size.html_sec1
33
  background: yellow;
33
  background: yellow;
34
  /* for clarity: */
34
  /* for clarity: */
35
  -webkit-box-decoration-break: slice;
35
  -webkit-box-decoration-break: slice;
36
  box-decoration-break: slice;
36
  -webkit-box-decoration-break: slice;
37
}
37
}
38
38
39
f { margin-right: 30px; float: left; }
39
f { margin-right: 30px; float: left; }
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/slice-nowrap-intrinsic-size.html -1 / +1 lines
Lines 34-40 span { a/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/slice-nowrap-intrinsic-size.html_sec1
34
  background: yellow;
34
  background: yellow;
35
  /* for clarity: */
35
  /* for clarity: */
36
  -webkit-box-decoration-break: slice;
36
  -webkit-box-decoration-break: slice;
37
  box-decoration-break: slice;
37
  -webkit-box-decoration-break: slice;
38
}
38
}
39
39
40
f { margin-right: 30px; float: left; }
40
f { margin-right: 30px; float: left; }
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/thin-element-render-expected.html +31 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/thin-element-render-expected.html_sec1
1
<!DOCTYPE html>
2
<title>Reference: Thin elements should paint even at small size</title>
3
<link rel="author" title="Stephen Chenney" href="mailto:schenney@chromium.org">
4
<html>
5
  <head>
6
    <style>
7
        .disappearing-border {
8
            height:1px;
9
            width:100%;
10
            border-top:1px solid black;
11
        }
12
13
        .disappearing-box {
14
          height:1px;
15
          width:100%;
16
          background-color: black;
17
        }
18
19
        body {
20
            margin: 0px;
21
            padding: 0px;
22
            box-sizing: border-box;
23
        }
24
    </style>
25
</head>
26
<body>
27
    <div class="disappearing-border"></div>
28
    <div style="height:6.5px;"></div>
29
    <div class="disappearing-box"></div>
30
</body>
31
</html>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/thin-element-render.html +33 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/thin-element-render.html_sec1
1
<!DOCTYPE html>
2
<title>Thin elements should still paint even at small size.</title>
3
<link rel="author" title="Stephen Chenney" href="mailto:schenney@chromium.org">
4
<link rel="help" href="https://drafts.csswg.org/css-sizing-3/#width-height-keywords">
5
<link rel="match" href="thin-element-render-ref.html">
6
<html>
7
  <head>
8
    <style>
9
      .disappearing-border {
10
        height:0.25px;
11
        width:100%;
12
        border-top: 0.25px solid black;
13
      }
14
15
      .disappearing-box {
16
        height:0.25px;
17
        width:100%;
18
        background-color: black;
19
      }
20
21
      body {
22
        margin: 0px;
23
        padding: 0px;
24
        box-sizing: border-box;
25
      }
26
    </style>
27
</head>
28
<body>
29
    <div class="disappearing-border"></div>
30
    <div style="height:8px;"></div>
31
    <div class="disappearing-box"></div>
32
</body>
33
</html>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/w3c-import.log -1 / +36 lines
Lines 9-15 Do NOT modify or remove this file. a/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/w3c-import.log_sec1
9
9
10
------------------------------------------------------------------------
10
------------------------------------------------------------------------
11
Properties requiring vendor prefixes:
11
Properties requiring vendor prefixes:
12
None
12
box-decoration-break
13
Property values requiring vendor prefixes:
13
Property values requiring vendor prefixes:
14
None
14
None
15
------------------------------------------------------------------------
15
------------------------------------------------------------------------
Lines 23-28 List of files: a/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/w3c-import.log_sec2
23
/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/block-image-percentage-max-height-inside-inline-expected.xht
23
/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/block-image-percentage-max-height-inside-inline-expected.xht
24
/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/block-image-percentage-max-height-inside-inline.html
24
/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/block-image-percentage-max-height-inside-inline.html
25
/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/button-min-width.html
25
/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/button-min-width.html
26
/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/canvas-intrinsic-dynamic-expected.html
27
/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/canvas-intrinsic-dynamic.html
26
/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/clone-intrinsic-size-expected.html
28
/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/clone-intrinsic-size-expected.html
27
/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/clone-intrinsic-size.html
29
/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/clone-intrinsic-size.html
28
/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/clone-nowrap-intrinsic-size-bidi-expected.html
30
/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/clone-nowrap-intrinsic-size-bidi-expected.html
Lines 32-37 List of files: a/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/w3c-import.log_sec3
32
/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/dynamic-available-size-iframe-expected.html
34
/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/dynamic-available-size-iframe-expected.html
33
/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/dynamic-available-size-iframe.html
35
/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/dynamic-available-size-iframe.html
34
/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/fit-content-percentage-padding.html
36
/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/fit-content-percentage-padding.html
37
/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/frameset-intrinsic-crash.html
38
/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/image-fractional-height-with-wide-aspect-ratio-expected.html
39
/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/image-fractional-height-with-wide-aspect-ratio.html
35
/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/image-min-max-content-intrinsic-size-change-001-expected.html
40
/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/image-min-max-content-intrinsic-size-change-001-expected.html
36
/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/image-min-max-content-intrinsic-size-change-001.html
41
/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/image-min-max-content-intrinsic-size-change-001.html
37
/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/image-min-max-content-intrinsic-size-change-002-expected.html
42
/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/image-min-max-content-intrinsic-size-change-002-expected.html
Lines 74-80 List of files: a/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/w3c-import.log_sec4
74
/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/intrinsic-percent-replaced-005.html
79
/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/intrinsic-percent-replaced-005.html
75
/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/intrinsic-percent-replaced-006-expected.html
80
/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/intrinsic-percent-replaced-006-expected.html
76
/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/intrinsic-percent-replaced-006.html
81
/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/intrinsic-percent-replaced-006.html
82
/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/intrinsic-percent-replaced-007-expected.html
83
/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/intrinsic-percent-replaced-007.html
84
/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/intrinsic-percent-replaced-008-expected.html
85
/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/intrinsic-percent-replaced-008.html
86
/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/intrinsic-percent-replaced-dynamic-001-expected.html
87
/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/intrinsic-percent-replaced-dynamic-001.html
88
/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/intrinsic-percent-replaced-dynamic-002-expected.html
89
/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/intrinsic-percent-replaced-dynamic-002.html
90
/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/intrinsic-percent-replaced-dynamic-003-expected.html
91
/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/intrinsic-percent-replaced-dynamic-003.html
92
/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/intrinsic-percent-replaced-dynamic-004-expected.html
93
/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/intrinsic-percent-replaced-dynamic-004.html
94
/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/intrinsic-percent-replaced-dynamic-005-expected.html
95
/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/intrinsic-percent-replaced-dynamic-005.html
96
/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/intrinsic-percent-replaced-dynamic-006-expected.html
97
/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/intrinsic-percent-replaced-dynamic-006.html
98
/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/intrinsic-percent-replaced-dynamic-007-expected.html
99
/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/intrinsic-percent-replaced-dynamic-007.html
100
/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/intrinsic-percent-replaced-dynamic-008-expected.html
101
/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/intrinsic-percent-replaced-dynamic-008.html
102
/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/intrinsic-percent-replaced-dynamic-009-expected.html
103
/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/intrinsic-percent-replaced-dynamic-009.html
104
/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/intrinsic-percent-replaced-dynamic-010-expected.html
105
/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/intrinsic-percent-replaced-dynamic-010.html
106
/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/min-content-negative-margin-crash.html
77
/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/min-max-content-orthogonal-flow-crash-001.html
107
/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/min-max-content-orthogonal-flow-crash-001.html
108
/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/ortho-writing-mode-001-expected.xht
109
/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/ortho-writing-mode-001.html
78
/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/orthogonal-writing-mode-float-in-inline-expected.xht
110
/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/orthogonal-writing-mode-float-in-inline-expected.xht
79
/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/orthogonal-writing-mode-float-in-inline.html
111
/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/orthogonal-writing-mode-float-in-inline.html
80
/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/percentage-height-in-flexbox.html
112
/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/percentage-height-in-flexbox.html
Lines 86-91 List of files: a/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/w3c-import.log_sec5
86
/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/range-percent-intrinsic-size-2.html
118
/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/range-percent-intrinsic-size-2.html
87
/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/range-percent-intrinsic-size-2a-expected.html
119
/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/range-percent-intrinsic-size-2a-expected.html
88
/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/range-percent-intrinsic-size-2a.html
120
/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/range-percent-intrinsic-size-2a.html
121
/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/replaced-fractional-height-from-aspect-ratio.html
89
/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/slice-intrinsic-size-expected.html
122
/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/slice-intrinsic-size-expected.html
90
/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/slice-intrinsic-size.html
123
/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/slice-intrinsic-size.html
91
/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/slice-nowrap-intrinsic-size-bidi-expected.html
124
/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/slice-nowrap-intrinsic-size-bidi-expected.html
Lines 95-99 List of files: a/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/w3c-import.log_sec6
95
/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/table-percentage-max-width-beside-float.html
128
/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/table-percentage-max-width-beside-float.html
96
/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/table-percentage-min-width-below-float.html
129
/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/table-percentage-min-width-below-float.html
97
/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/table-percentage-min-width-beside-float.html
130
/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/table-percentage-min-width-beside-float.html
131
/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/thin-element-render-expected.html
132
/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/thin-element-render.html
98
/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/whitespace-and-break-expected.xht
133
/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/whitespace-and-break-expected.xht
99
/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/whitespace-and-break.html
134
/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/whitespace-and-break.html
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-syntax/escaped-eof.html -1 / +1 lines
Lines 15-21 a/LayoutTests/imported/w3c/web-platform-tests/css/css-syntax/escaped-eof.html_sec1
15
15
16
<script>
16
<script>
17
test(()=>{
17
test(()=>{
18
    assert_throws("SyntaxError", ()=>{document.querySelector("#123");}, "numeric hash token is invalid in a selector");
18
    assert_throws_dom("SyntaxError", ()=>{document.querySelector("#123");}, "numeric hash token is invalid in a selector");
19
    document.querySelector("#foo\\"); // escaped-EOF in a hash token is valid in a selector
19
    document.querySelector("#foo\\"); // escaped-EOF in a hash token is valid in a selector
20
}, "Escaped EOF turns into a U+FFFD in a hash token, makes it 'ID' type.");
20
}, "Escaped EOF turns into a U+FFFD in a hash token, makes it 'ID' type.");
21
21
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-text-decor/line-through-vertical.html -1 / +1 lines
Lines 1-5 a/LayoutTests/imported/w3c/web-platform-tests/css/css-text-decor/line-through-vertical.html_sec1
1
<!DOCTYPE html>
1
<!DOCTYPE html>
2
<link rel="help" href="https://www.w3.org/TR/css-text-decor-3/#text-decoration-line">
2
<link rel="help" href="https://www.w3.org/TR/css-text-decor-3/#text-decoration-line-property">
3
<link rel="help" href="https://www.w3.org/TR/css-writing-modes-3/#propdef-writing-mode">
3
<link rel="help" href="https://www.w3.org/TR/css-writing-modes-3/#propdef-writing-mode">
4
<link rel="match" href="reference/line-through-vertical-ref.html">
4
<link rel="match" href="reference/line-through-vertical-ref.html">
5
<style>
5
<style>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-text-decor/parsing/text-decoration-computed.html -3 / +3 lines
Lines 32-38 test_computed_value("text-decoration", "underline dashed rgb(0, 255, 0)"); a/LayoutTests/imported/w3c/web-platform-tests/css/css-text-decor/parsing/text-decoration-computed.html_sec1
32
32
33
// Add text-decoration-thickness in [css-text-decor-4].
33
// Add text-decoration-thickness in [css-text-decor-4].
34
test_computed_value("text-decoration", "auto", currentColor);
34
test_computed_value("text-decoration", "auto", currentColor);
35
test_computed_value("text-decoration", "from-font", currentColor + " from-font");
35
test_computed_value("text-decoration", "from-font", "from-font " + currentColor);
36
test_computed_value("text-decoration", "10px", currentColor + " 10px");
36
test_computed_value("text-decoration", "10px", "10px " + currentColor);
37
test_computed_value("text-decoration", "underline red from-font", "underline rgb(255, 0, 0) from-font");
37
test_computed_value("text-decoration", "underline red from-font", "underline from-font rgb(255, 0, 0)");
38
</script>
38
</script>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-text-decor/parsing/text-decoration-shorthand-expected.txt -4 / +5 lines
Lines 1-6 a/LayoutTests/imported/w3c/web-platform-tests/css/css-text-decor/parsing/text-decoration-shorthand-expected.txt_sec1
1
1
2
FAIL e.style['text-decoration'] = "overline dotted green" should set text-decoration-color assert_equals: text-decoration-color should be canonical expected "green" but got ""
2
FAIL e.style['text-decoration'] = "overline from-font dotted green" should set text-decoration-color assert_equals: text-decoration-color should be canonical expected "green" but got ""
3
FAIL e.style['text-decoration'] = "overline dotted green" should set text-decoration-line assert_equals: text-decoration-line should be canonical expected "overline" but got ""
3
FAIL e.style['text-decoration'] = "overline from-font dotted green" should set text-decoration-line assert_equals: text-decoration-line should be canonical expected "overline" but got ""
4
FAIL e.style['text-decoration'] = "overline dotted green" should set text-decoration-style assert_equals: text-decoration-style should be canonical expected "dotted" but got ""
4
FAIL e.style['text-decoration'] = "overline from-font dotted green" should set text-decoration-style assert_equals: text-decoration-style should be canonical expected "dotted" but got ""
5
FAIL e.style['text-decoration'] = "overline dotted green" should not set unrelated longhands assert_true: expected true got false
5
FAIL e.style['text-decoration'] = "overline from-font dotted green" should set text-decoration-thickness assert_equals: text-decoration-thickness should be canonical expected "from-font" but got ""
6
FAIL e.style['text-decoration'] = "overline from-font dotted green" should not set unrelated longhands assert_true: expected true got false
6
7
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-text-decor/parsing/text-decoration-shorthand.html -1 / +2 lines
Lines 11-18 a/LayoutTests/imported/w3c/web-platform-tests/css/css-text-decor/parsing/text-decoration-shorthand.html_sec1
11
</head>
11
</head>
12
<body>
12
<body>
13
<script>
13
<script>
14
test_shorthand_value('text-decoration', 'overline dotted green', {
14
test_shorthand_value('text-decoration', 'overline from-font dotted green', {
15
  'text-decoration-line': 'overline',
15
  'text-decoration-line': 'overline',
16
  'text-decoration-thickness': 'from-font',
16
  'text-decoration-style': 'dotted',
17
  'text-decoration-style': 'dotted',
17
  'text-decoration-color': 'green'
18
  'text-decoration-color': 'green'
18
});
19
});
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-text-decor/parsing/text-decoration-valid.html -2 / +3 lines
Lines 2-8 a/LayoutTests/imported/w3c/web-platform-tests/css/css-text-decor/parsing/text-decoration-valid.html_sec1
2
<meta charset="utf-8">
2
<meta charset="utf-8">
3
<title>CSS Text Decoration Test: Parsing text-decoration with valid values</title>
3
<title>CSS Text Decoration Test: Parsing text-decoration with valid values</title>
4
<link rel="help" href="https://drafts.csswg.org/css-text-decor-3/#propdef-text-decoration">
4
<link rel="help" href="https://drafts.csswg.org/css-text-decor-3/#propdef-text-decoration">
5
<meta name="assert" content="text-decoration supports the full grammar '<‘text-decoration-line’> || <‘text-decoration-style’> || <‘text-decoration-color’>'.">
5
<meta name="assert" content="text-decoration supports the full grammar '<‘text-decoration-line’> ||
6
 <'text-decoration-thickness'> || <‘text-decoration-style’> || <‘text-decoration-color’>'.">
6
<script src="/resources/testharness.js"></script>
7
<script src="/resources/testharness.js"></script>
7
<script src="/resources/testharnessreport.js"></script>
8
<script src="/resources/testharnessreport.js"></script>
8
<script src="/css/support/parsing-testcommon.js"></script>
9
<script src="/css/support/parsing-testcommon.js"></script>
Lines 18-24 test_valid_value("text-decoration", "10px"); a/LayoutTests/imported/w3c/web-platform-tests/css/css-text-decor/parsing/text-decoration-valid.html_sec2
18
test_valid_value("text-decoration", "double overline underline", "underline overline double");
19
test_valid_value("text-decoration", "double overline underline", "underline overline double");
19
test_valid_value("text-decoration", "underline overline line-through red");
20
test_valid_value("text-decoration", "underline overline line-through red");
20
test_valid_value("text-decoration", "rgba(10, 20, 30, 0.4) dotted", "dotted rgba(10, 20, 30, 0.4)");
21
test_valid_value("text-decoration", "rgba(10, 20, 30, 0.4) dotted", "dotted rgba(10, 20, 30, 0.4)");
21
test_valid_value("text-decoration", "overline green from-font");
22
test_valid_value("text-decoration", "overline green from-font", "overline from-font green");
22
test_valid_value("text-decoration", "underline dashed green");
23
test_valid_value("text-decoration", "underline dashed green");
23
test_valid_value("text-decoration", "underline auto", "underline");
24
test_valid_value("text-decoration", "underline auto", "underline");
24
test_valid_value("text-decoration", "line-through 20px");
25
test_valid_value("text-decoration", "line-through 20px");
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-text-decor/parsing/text-underline-position-computed-expected.txt +2 lines
Lines 1-7 a/LayoutTests/imported/w3c/web-platform-tests/css/css-text-decor/parsing/text-underline-position-computed-expected.txt_sec1
1
1
2
PASS Property text-underline-position value 'auto' 
2
PASS Property text-underline-position value 'auto' 
3
PASS Property text-underline-position value 'under' 
3
PASS Property text-underline-position value 'under' 
4
PASS Property text-underline-position value 'from-font' 
4
FAIL Property text-underline-position value 'left' assert_true: 'left' is a supported value for text-underline-position. expected true got false
5
FAIL Property text-underline-position value 'left' assert_true: 'left' is a supported value for text-underline-position. expected true got false
5
FAIL Property text-underline-position value 'right' assert_true: 'right' is a supported value for text-underline-position. expected true got false
6
FAIL Property text-underline-position value 'right' assert_true: 'right' is a supported value for text-underline-position. expected true got false
6
FAIL Property text-underline-position value 'under left' assert_true: 'under left' is a supported value for text-underline-position. expected true got false
7
FAIL Property text-underline-position value 'under left' assert_true: 'under left' is a supported value for text-underline-position. expected true got false
8
FAIL Property text-underline-position value 'from-font left' assert_true: 'from-font left' is a supported value for text-underline-position. expected true got false
7
9
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-text-decor/parsing/text-underline-position-computed.html +2 lines
Lines 15-23 a/LayoutTests/imported/w3c/web-platform-tests/css/css-text-decor/parsing/text-underline-position-computed.html_sec1
15
test_computed_value("text-underline-position", "auto");
15
test_computed_value("text-underline-position", "auto");
16
16
17
test_computed_value("text-underline-position", "under");
17
test_computed_value("text-underline-position", "under");
18
test_computed_value("text-underline-position", "from-font");
18
test_computed_value("text-underline-position", "left");
19
test_computed_value("text-underline-position", "left");
19
test_computed_value("text-underline-position", "right");
20
test_computed_value("text-underline-position", "right");
20
test_computed_value("text-underline-position", "under left");
21
test_computed_value("text-underline-position", "under left");
22
test_computed_value("text-underline-position", "from-font left");
21
</script>
23
</script>
22
</body>
24
</body>
23
</html>
25
</html>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-text-decor/parsing/text-underline-position-invalid-expected.txt +2 lines
Lines 1-6 a/LayoutTests/imported/w3c/web-platform-tests/css/css-text-decor/parsing/text-underline-position-invalid-expected.txt_sec1
1
1
2
PASS e.style['text-underline-position'] = "auto under" should not set the property value 
2
PASS e.style['text-underline-position'] = "auto under" should not set the property value 
3
PASS e.style['text-underline-position'] = "auto from-font" should not set the property value 
3
PASS e.style['text-underline-position'] = "left auto" should not set the property value 
4
PASS e.style['text-underline-position'] = "left auto" should not set the property value 
4
PASS e.style['text-underline-position'] = "left right" should not set the property value 
5
PASS e.style['text-underline-position'] = "left right" should not set the property value 
5
PASS e.style['text-underline-position'] = "right under left" should not set the property value 
6
PASS e.style['text-underline-position'] = "right under left" should not set the property value 
7
PASS e.style['text-underline-position'] = "under from-font" should not set the property value 
6
8
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-text-decor/parsing/text-underline-position-invalid.html +2 lines
Lines 8-14 a/LayoutTests/imported/w3c/web-platform-tests/css/css-text-decor/parsing/text-underline-position-invalid.html_sec1
8
<script src="/css/support/parsing-testcommon.js"></script>
8
<script src="/css/support/parsing-testcommon.js"></script>
9
<script>
9
<script>
10
test_invalid_value("text-underline-position", "auto under");
10
test_invalid_value("text-underline-position", "auto under");
11
test_invalid_value("text-underline-position", "auto from-font");
11
test_invalid_value("text-underline-position", "left auto");
12
test_invalid_value("text-underline-position", "left auto");
12
test_invalid_value("text-underline-position", "left right");
13
test_invalid_value("text-underline-position", "left right");
13
test_invalid_value("text-underline-position", "right under left");
14
test_invalid_value("text-underline-position", "right under left");
15
test_invalid_value("text-underline-position", "under from-font");
14
</script>
16
</script>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-text-decor/parsing/text-underline-position-valid-expected.txt +3 lines
Lines 1-8 a/LayoutTests/imported/w3c/web-platform-tests/css/css-text-decor/parsing/text-underline-position-valid-expected.txt_sec1
1
1
2
PASS e.style['text-underline-position'] = "auto" should set the property value 
2
PASS e.style['text-underline-position'] = "auto" should set the property value 
3
PASS e.style['text-underline-position'] = "under" should set the property value 
3
PASS e.style['text-underline-position'] = "under" should set the property value 
4
PASS e.style['text-underline-position'] = "from-font" should set the property value 
4
FAIL e.style['text-underline-position'] = "left" should set the property value assert_not_equals: property should be set got disallowed value ""
5
FAIL e.style['text-underline-position'] = "left" should set the property value assert_not_equals: property should be set got disallowed value ""
5
FAIL e.style['text-underline-position'] = "right" should set the property value assert_not_equals: property should be set got disallowed value ""
6
FAIL e.style['text-underline-position'] = "right" should set the property value assert_not_equals: property should be set got disallowed value ""
6
FAIL e.style['text-underline-position'] = "under left" should set the property value assert_not_equals: property should be set got disallowed value ""
7
FAIL e.style['text-underline-position'] = "under left" should set the property value assert_not_equals: property should be set got disallowed value ""
8
FAIL e.style['text-underline-position'] = "from-font left" should set the property value assert_not_equals: property should be set got disallowed value ""
7
FAIL e.style['text-underline-position'] = "right under" should set the property value assert_not_equals: property should be set got disallowed value ""
9
FAIL e.style['text-underline-position'] = "right under" should set the property value assert_not_equals: property should be set got disallowed value ""
10
FAIL e.style['text-underline-position'] = "right from-font" should set the property value assert_not_equals: property should be set got disallowed value ""
8
11
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-text-decor/parsing/text-underline-position-valid.html +3 lines
Lines 10-17 a/LayoutTests/imported/w3c/web-platform-tests/css/css-text-decor/parsing/text-underline-position-valid.html_sec1
10
test_valid_value("text-underline-position", "auto");
10
test_valid_value("text-underline-position", "auto");
11
11
12
test_valid_value("text-underline-position", "under");
12
test_valid_value("text-underline-position", "under");
13
test_valid_value("text-underline-position", "from-font");
13
test_valid_value("text-underline-position", "left");
14
test_valid_value("text-underline-position", "left");
14
test_valid_value("text-underline-position", "right");
15
test_valid_value("text-underline-position", "right");
15
test_valid_value("text-underline-position", "under left");
16
test_valid_value("text-underline-position", "under left");
17
test_valid_value("text-underline-position", "from-font left");
16
test_valid_value("text-underline-position", "right under", "under right");
18
test_valid_value("text-underline-position", "right under", "under right");
19
test_valid_value("text-underline-position", "right from-font", "from-font right");
17
</script>
20
</script>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-text-decor/resources/w3c-import.log +21 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-text-decor/resources/w3c-import.log_sec1
1
The tests in this directory were imported from the W3C repository.
2
Do NOT modify these tests directly in WebKit.
3
Instead, create a pull request on the WPT github:
4
	https://github.com/web-platform-tests/wpt
5
6
Then run the Tools/Scripts/import-w3c-tests in WebKit to reimport
7
8
Do NOT modify or remove this file.
9
10
------------------------------------------------------------------------
11
Properties requiring vendor prefixes:
12
None
13
Property values requiring vendor prefixes:
14
None
15
------------------------------------------------------------------------
16
List of files:
17
/LayoutTests/imported/w3c/web-platform-tests/css/css-text-decor/resources/UnderlineTest-Close.ttf
18
/LayoutTests/imported/w3c/web-platform-tests/css/css-text-decor/resources/UnderlineTest-Far.ttf
19
/LayoutTests/imported/w3c/web-platform-tests/css/css-text-decor/resources/UnderlineTest-Thick.ttf
20
/LayoutTests/imported/w3c/web-platform-tests/css/css-text-decor/resources/UnderlineTest-Thin.ttf
21
/LayoutTests/imported/w3c/web-platform-tests/css/css-text-decor/resources/UnderlineTest-VF.ttf
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-text-decor/text-decoration-color-recalc.html -1 / +1 lines
Lines 1-5 a/LayoutTests/imported/w3c/web-platform-tests/css/css-text-decor/text-decoration-color-recalc.html_sec1
1
<!doctype html>
1
<!doctype html>
2
<link rel="help" href="https://www.w3.org/TR/css-text-decor-3/#text-decoration-color">
2
<link rel="help" href="https://www.w3.org/TR/css-text-decor-3/#text-decoration-color-property">
3
<link rel="match" href="reference/text-decoration-color-recalc-ref.html">
3
<link rel="match" href="reference/text-decoration-color-recalc-ref.html">
4
<style>
4
<style>
5
    div {
5
    div {
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-text-decor/text-decoration-color.html -1 / +1 lines
Lines 2-8 a/LayoutTests/imported/w3c/web-platform-tests/css/css-text-decor/text-decoration-color.html_sec1
2
<html>
2
<html>
3
    <head>
3
    <head>
4
        <title>CSS Test: CSS3 text-decoration-color</title>
4
        <title>CSS Test: CSS3 text-decoration-color</title>
5
        <link rel="help" href="https://www.w3.org/TR/css-text-decor-3/#text-decoration-color">
5
        <link rel="help" href="https://www.w3.org/TR/css-text-decor-3/#text-decoration-color-property">
6
        <link rel="match" href="reference/text-decoration-color-ref.html">
6
        <link rel="match" href="reference/text-decoration-color-ref.html">
7
        <style>
7
        <style>
8
            .underline {
8
            .underline {
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-text-decor/text-decoration-line-recalc.html -2 / +2 lines
Lines 1-5 a/LayoutTests/imported/w3c/web-platform-tests/css/css-text-decor/text-decoration-line-recalc.html_sec1
1
<!doctype html>
1
<!doctype html>
2
<link rel="help" href="https://www.w3.org/TR/css-text-decor-3/#text-decoration-line">
2
<link rel="help" href="https://www.w3.org/TR/css-text-decor-3/#text-decoration-line-property">
3
<link rel="match" href="reference/text-decoration-line-recalc-ref.html">
3
<link rel="match" href="reference/text-decoration-line-recalc-ref.html">
4
<style>
4
<style>
5
    div {
5
    div {
Lines 16-19 a/LayoutTests/imported/w3c/web-platform-tests/css/css-text-decor/text-decoration-line-recalc.html_sec2
16
if the text below has a solid green overline, and no underline.</p>
16
if the text below has a solid green overline, and no underline.</p>
17
<div id="target">
17
<div id="target">
18
    Filler text
18
    Filler text
19
</div>
19
</div>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-text-decor/text-decoration-line.html -1 / +1 lines
Lines 1-6 a/LayoutTests/imported/w3c/web-platform-tests/css/css-text-decor/text-decoration-line.html_sec1
1
<html>
1
<html>
2
<head>
2
<head>
3
    <link rel="help" href="https://www.w3.org/TR/css-text-decor-3/#text-decoration-line">
3
    <link rel="help" href="https://www.w3.org/TR/css-text-decor-3/#text-decoration-line-property">
4
    <link rel="match" href="reference/text-decoration-line-ref.html">
4
    <link rel="match" href="reference/text-decoration-line-ref.html">
5
    <style>
5
    <style>
6
            .none { text-decoration: none; }
6
            .none { text-decoration: none; }
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-text-decor/text-decoration-skip-ink-005-expected.html +22 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-text-decor/text-decoration-skip-ink-005-expected.html_sec1
1
<!DOCTYPE html>
2
<html>
3
    <head>
4
        <meta charset="utf-8">
5
        <title>Reference file for text-decoration-skip-ink test</title>
6
        <style>
7
         div{
8
             font: 50px sans-serif;
9
             color: #00008080;
10
             letter-spacing: 10px;
11
             text-decoration: green underline;
12
             text-underline-offset: -3px;
13
             text-decoration-thickness: 3px;
14
             text-decoration-skip-ink: none;
15
         }
16
        </style>
17
    </head>
18
    <body>
19
        <p>Test passes if the underline skips the glyphs in the text below</p>
20
        <div>中文</div>
21
    </body>
22
</html>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-text-decor/text-decoration-skip-ink-005.html +27 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-text-decor/text-decoration-skip-ink-005.html_sec1
1
<!DOCTYPE html>
2
<html>
3
    <head>
4
        <meta charset="utf-8">
5
        <title>Test case for text-decoration-skip-ink</title>
6
        <meta name="assert" content="text-decoration-skip-ink: all causes skipping even for CJK">
7
        <link rel="author" title="Jonathan Kew" href="mailto:jkew@mozilla.com">
8
        <link rel="help" href="https://drafts.csswg.org/css-text-decor-4/#text-decoration-skip-ink-property">
9
        <link rel="mismatch" href="reference/text-decoration-skip-ink-005-notref.html">
10
        <style>
11
         div{
12
             font: 50px sans-serif;
13
             color: #00008080;
14
             letter-spacing: 10px;
15
             /* make sure the underline clashes badly with the glyphs! */
16
             text-decoration: green underline;
17
             text-underline-offset: -3px;
18
             text-decoration-thickness: 3px;
19
             text-decoration-skip-ink: all;
20
         }
21
        </style>
22
    </head>
23
    <body>
24
        <p>Test passes if the underline skips the glyphs in the text below</p>
25
        <div>中文</div>
26
    </body>
27
</html>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-text-decor/text-decoration-skip-ink-expected.txt -1 / +1 lines
Lines 1-4 a/LayoutTests/imported/w3c/web-platform-tests/css/css-text-decor/text-decoration-skip-ink-expected.txt_sec1
1
1
2
FAIL Body must have text-decoration-skip-ink auto by default. assert_equals: Must be set to value auto as initial value. expected (string) "auto" but got (undefined) undefined
2
FAIL Body must have text-decoration-skip-ink auto by default. assert_equals: Must be set to value auto as initial value. expected (string) "auto" but got (undefined) undefined
3
FAIL Property text-decoration-skip-ink must support values auto and none. assert_true: Text-decoration-skip-ink must allow setting the value auto. expected true got false
3
FAIL Property text-decoration-skip-ink must support values auto, none and all. assert_true: Text-decoration-skip-ink must allow setting the value auto. expected true got false
4
4
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-text-decor/text-decoration-skip-ink.html -1 / +3 lines
Lines 24-31 function testTextDecorationSkipInk() { a/LayoutTests/imported/w3c/web-platform-tests/css/css-text-decor/text-decoration-skip-ink.html_sec1
24
                          "Text-decoration-skip-ink must allow setting the value auto.");
24
                          "Text-decoration-skip-ink must allow setting the value auto.");
25
              assert_true(CSS.supports('text-decoration-skip-ink', "none"),
25
              assert_true(CSS.supports('text-decoration-skip-ink', "none"),
26
                          "Text-decoration-skip-ink must allow setting the value none.");
26
                          "Text-decoration-skip-ink must allow setting the value none.");
27
              assert_true(CSS.supports('text-decoration-skip-ink', "all"),
28
                          "Text-decoration-skip-ink must allow setting the value all.");
27
          },
29
          },
28
          'Property text-decoration-skip-ink must support values auto and none.')
30
          'Property text-decoration-skip-ink must support values auto, none and all.')
29
}
31
}
30
32
31
testTextDecorationSkipInk();
33
testTextDecorationSkipInk();
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-text-decor/text-decoration-style-multiple.html -1 / +1 lines
Lines 1-5 a/LayoutTests/imported/w3c/web-platform-tests/css/css-text-decor/text-decoration-style-multiple.html_sec1
1
<!doctype html>
1
<!doctype html>
2
<link rel="help" href="https://www.w3.org/TR/css-text-decor-3/#text-decoration-style">
2
<link rel="help" href="https://www.w3.org/TR/css-text-decor-3/#text-decoration-style-property">
3
<link rel="match" href="reference/text-decoration-style-multiple-ref.html">
3
<link rel="match" href="reference/text-decoration-style-multiple-ref.html">
4
<style>
4
<style>
5
    div {
5
    div {
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-text-decor/text-decoration-style-recalc.html -1 / +1 lines
Lines 1-5 a/LayoutTests/imported/w3c/web-platform-tests/css/css-text-decor/text-decoration-style-recalc.html_sec1
1
<!doctype html>
1
<!doctype html>
2
<link rel="help" href="https://www.w3.org/TR/css-text-decor-3/#text-decoration-style">
2
<link rel="help" href="https://www.w3.org/TR/css-text-decor-3/#text-decoration-style-property">
3
<link rel="match" href="reference/text-decoration-style-recalc-ref.html">
3
<link rel="match" href="reference/text-decoration-style-recalc-ref.html">
4
<style>
4
<style>
5
    div {
5
    div {
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-text-decor/text-decoration-subelements-001-expected.html +28 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-text-decor/text-decoration-subelements-001-expected.html_sec1
1
<!DOCTYPE html>
2
<html>
3
  <head>
4
    <meta charset="utf-8">
5
    <title>Non-reference case for text-decoration with subelements</title>
6
    <style>
7
      p {
8
        margin: 0;
9
        padding: 1em;
10
      }
11
      div.wrapper {
12
        font-size: 2em;
13
      }
14
      span, sub, sup {
15
        text-decoration: underline;
16
      }
17
    </style>
18
  </head>
19
  <body>
20
    <p>Test passes if there is a single uniform underline for all the text in each line,
21
      <i>not</i> a separate underline for the superscripts:
22
    </p>
23
    <div class=wrapper>
24
      <p><span>Einstein said that <i>e = mc<sup>2</sup></i>.</span></p>
25
      <p><span>Is <i>a<sup>n</sup> + b<sup>n</sup> = c<sup>n</sup></i> ever true for <i>n</i> &gt; 2?</span></p>
26
    </div>
27
  </body>
28
</html>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-text-decor/text-decoration-subelements-001.html +31 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-text-decor/text-decoration-subelements-001.html_sec1
1
<!DOCTYPE html>
2
<html>
3
  <head>
4
    <meta charset="utf-8">
5
    <title>Test case for text-decoration with subelements</title>
6
    <meta name="assert" content="for underlines and overlines the UA must use a single thickness and position on each line for the decorations deriving from a single decorating box">
7
    <link rel="author" title="Jonathan Kew" href="mailto:jkew@mozilla.com">
8
    <link rel="author" title="Mozilla" href="https://www.mozilla.org">
9
    <link rel="help" href="https://drafts.csswg.org/css-text-decor-3/#text-underline-position-property">
10
    <link rel="mismatch" href="reference/text-decoration-subelements-001-notref.html">
11
    <style>
12
      p {
13
        margin: 0;
14
        padding: 1em;
15
      }
16
      div.wrapper {
17
        font-size: 2em;
18
        text-decoration: underline;
19
      }
20
    </style>
21
  </head>
22
  <body>
23
    <p>Test passes if there is a single uniform underline for all the text in each line,
24
      <i>not</i> a separate underline for the superscripts:
25
    </p>
26
    <div class=wrapper>
27
      <p>Einstein said that <i>e = mc<sup>2</sup></i>.<br></p>
28
      <p>Is <i>a<sup>n</sup> + b<sup>n</sup> = c<sup>n</sup></i> ever true for <i>n</i> &gt; 2?</p>
29
    </div>
30
  </body>
31
</html>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-text-decor/text-decoration-subelements-002-expected.html +55 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-text-decor/text-decoration-subelements-002-expected.html_sec1
1
<!DOCTYPE html>
2
<html>
3
  <head>
4
    <meta charset="utf-8">
5
    <title>Reference case for text-decoration with subelements</title>
6
    <style>
7
      div.wrapper {
8
        font-size: 2em;
9
        position: relative;
10
      }
11
      sup.baseline {
12
        vertical-align: baseline;
13
      }
14
      .hide {
15
        color: transparent;
16
      }
17
      div {
18
        white-space: nowrap;
19
      }
20
    </style>
21
  </head>
22
  <body>
23
    <p>Test passes if there is a single uniform underline for all the text in each line,
24
      <i>not</i> a separate underline for the superscripts:
25
    </p>
26
    <div class=wrapper>
27
      <div style="position: absolute; top: 1em;">
28
        <!-- We use position:absolute and overflow:hidden so that this element will be
29
             shrink-wrapped to fit the width of its content, and clip the underline of
30
             the descendant span to the width of this text. -->
31
        <div style="position: absolute; overflow: hidden;">Einstein said that <i>e = mc<sup>2</sup></i>.
32
          <div style="position: absolute; top: 0;">
33
            <!-- Generate a single continuous underline with the appropriate style
34
                 by underlining a span of transparent text; it will be too wide for the
35
                 actual test text, as we're not matching its mixture of font styles,
36
                 but then will be clipped to the shrink-wrap width of the abs-pos
37
                 containing block. -->
38
            <span style="text-decoration: underline;">
39
              <span class=hide>Einstein said that e = mc2......</span></span>
40
            <span class=hide><sup>2</sup></span><!-- to ensure baseline is consistent with testcase -->
41
          </div>
42
        </div>
43
      </div>
44
      <div style="position: absolute; top: 3em;">
45
        <div style="position: absolute; overflow: hidden;">Is <i>a<sup>n</sup> + b<sup>n</sup> = c<sup>n</sup></i> ever true for <i>n</i> &gt; 2.
46
          <div style="position: absolute; top: 0;">
47
            <span style="text-decoration: underline;">
48
              <span class=hide>Is an + bn = cn ever true for n &gt; 2......</span></span>
49
            <span class=hide><sup>n</sup></span><!-- to ensure baseline is consistent with testcase -->
50
          </div>
51
        </div>
52
      </div>
53
    </div>
54
  </body>
55
</html>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-text-decor/text-decoration-subelements-002.html +36 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-text-decor/text-decoration-subelements-002.html_sec1
1
<!DOCTYPE html>
2
<html>
3
  <head>
4
    <meta charset="utf-8">
5
    <title>Test case for text-decoration with subelements</title>
6
    <meta name="assert" content="for underlines and overlines the UA must use a single thickness and position on each line for the decorations deriving from a single decorating box">
7
    <link rel="author" title="Jonathan Kew" href="mailto:jkew@mozilla.com">
8
    <link rel="author" title="Mozilla" href="https://www.mozilla.org">
9
    <link rel="help" href="https://drafts.csswg.org/css-text-decor-3/#text-underline-position-property">
10
    <link rel="match" href="reference/text-decoration-subelements-002-ref.html">
11
    <style>
12
      div.wrapper {
13
        font-size: 2em;
14
        position: relative;
15
      }
16
      div.test {
17
        text-decoration: underline;
18
        position: absolute;
19
        white-space: nowrap;
20
      }
21
    </style>
22
  </head>
23
  <body>
24
    <p>Test passes if there is a single uniform underline for all the text in each line,
25
      <i>not</i> a separate underline for the superscripts:
26
    </p>
27
    <div class=wrapper>
28
      <div style="position: absolute; top: 1em;">
29
        <div class=test>Einstein said that <i>e = mc<sup>2</sup></i>.</div>
30
      </div>
31
      <div style="position: absolute; top: 3em;">
32
        <div class=test>Is <i>a<sup>n</sup> + b<sup>n</sup> = c<sup>n</sup></i> ever true for <i>n</i> &gt; 2.</div>
33
      </div>
34
    </div>
35
  </body>
36
</html>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-text-decor/text-decoration-subelements-003-expected.html +46 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-text-decor/text-decoration-subelements-003-expected.html_sec1
1
<!DOCTYPE html>
2
<html>
3
  <head>
4
    <meta charset="utf-8">
5
    <title>Reference case for text-decoration with subelements</title>
6
    <style>
7
      p {
8
        margin: 0;
9
        padding: 1em;
10
      }
11
      div.wrapper {
12
        font-size: 2em;
13
      }
14
      div p {
15
        position: absolute;
16
      }
17
      span.blue {
18
        text-decoration: underline;
19
        text-decoration: underline blue;
20
      }
21
      .hide {
22
        color: transparent;
23
        text-decoration: none;
24
      }
25
      sup.hide {
26
        vertical-align: baseline;
27
      }
28
      sup.unhide {
29
        color: initial;
30
        text-decoration: underline;
31
        text-decoration: underline green;
32
      }
33
      sup.strut {
34
        color: transparent;
35
      }
36
    </style>
37
  </head>
38
  <body>
39
    <p>Test passes if all the text below has a continuous blue underline,
40
        and the raised word “underlined” has an <i>extra</i> green underline.</p>
41
    <div class=wrapper>
42
      <p style="position: absolute;"><span class=blue>All this text should be <sup class=hide>underlined</sup>.</span><sup class=strut>x</sup></p>
43
      <p class=hide style="position: absolute;">All this text should be <sup class=unhide>underlined</sup>.</p>
44
    </div>
45
  </body>
46
</html>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-text-decor/text-decoration-subelements-003.html +34 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-text-decor/text-decoration-subelements-003.html_sec1
1
<!DOCTYPE html>
2
<html>
3
  <head>
4
    <meta charset="utf-8">
5
    <title>Test case for text-decoration with subelements</title>
6
    <meta name="assert" content="line decorations, if any, are added to the element">
7
    <link rel="author" title="Jonathan Kew" href="mailto:jkew@mozilla.com">
8
    <link rel="author" title="Mozilla" href="https://www.mozilla.org">
9
    <link rel="help" href="https://drafts.csswg.org/css-text-decor-3/#text-underline-position-property">
10
    <link rel="match" href="reference/text-decoration-subelements-003-ref.html">
11
    <style>
12
      p {
13
        margin: 0;
14
        padding: 1em;
15
      }
16
      div.wrapper {
17
        font-size: 2em;
18
        text-decoration: underline; /* so browsers that don't accept the color will still show something */
19
        text-decoration: underline blue;
20
      }
21
      sup.test {
22
        text-decoration: underline;
23
        text-decoration: underline green;
24
      }
25
    </style>
26
  </head>
27
  <body>
28
    <p>Test passes if all the text below has a continuous blue underline,
29
        and the raised word “underlined” has an <i>extra</i> green underline.</p>
30
    <div class=wrapper>
31
      <p>All this text should be <sup class=test>underlined</sup>.</p>
32
    </div>
33
  </body>
34
</html>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-text-decor/text-decoration-thickness-fixed-expected.html +46 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-text-decor/text-decoration-thickness-fixed-expected.html_sec1
1
<!DOCTYPE html>
2
<html>
3
<head>
4
<meta charset="utf-8">
5
<title>CSS Text Decoration Test: text-decoration-thickness respects variable font properties</title>
6
<link rel="help" href="https://drafts.csswg.org/css-text-decor-4/#text-decoration-width-property">
7
<meta name="assert" content="text-decoration-thickness fixed values match thick and thin values from font.">
8
<link rel="author" title="Dominik Röttsches" href="mailto:drott@chromium.org">
9
<style>
10
@font-face {
11
font-family: underline-thin;
12
src: url(resources/UnderlineTest-Thin.ttf);
13
}
14
15
@font-face {
16
font-family: underline-thick;
17
src: url(resources/UnderlineTest-Thick.ttf);
18
}
19
20
.test {
21
text-underline-position: from-font;
22
font-size: 64px;
23
line-height: 1.8;
24
}
25
26
.thin_underline {
27
text-decoration: underline;
28
font-family: underline-thin;
29
text-decoration-thickness: from-font;
30
}
31
32
.thick_underline {
33
text-decoration: underline;
34
font-family: underline-thick;
35
text-decoration-thickness: from-font;
36
}
37
</style>
38
</head>
39
<body>
40
    <p>Test passes if underlines are thin, thick, thin, thick in this order and match the reference rendering.</p>
41
    <div class="test"><span class="thin_underline">aagaa</span></div>
42
    <div class="test"><span class="thick_underline">aagaa</span></div>
43
    <div class="test"><span class="thin_underline">aagaa</span></div>
44
    <div class="test"><span class="thick_underline">aagaa</span></div>
45
</body>
46
</html>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-text-decor/text-decoration-thickness-fixed.html +54 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-text-decor/text-decoration-thickness-fixed.html_sec1
1
<!DOCTYPE html>
2
<html>
3
<head>
4
<meta charset="utf-8">
5
<title>CSS Text Decoration Test: text-decoration-thickness respects variable font properties</title>
6
<link rel="help" href="https://drafts.csswg.org/css-text-decor-4/#text-decoration-width-property">
7
<meta name="assert" content="text-decoration-thickness fixed values match thick and thin values from font.">
8
<link rel="author" title="Dominik Röttsches" href="mailto:drott@chromium.org">
9
<link rel="match" href="reference/text-decoration-thickness-fixed-ref.html">
10
<style>
11
@font-face {
12
font-family: underline-variable;
13
src: url(resources/UnderlineTest-VF.ttf);
14
}
15
16
.test {
17
text-underline-position: from-font;
18
font-size: 64px;
19
line-height: 1.8;
20
}
21
22
.thin_underline {
23
font-family: underline-variable;
24
text-decoration: underline;
25
text-decoration-thickness: 0.2px;
26
}
27
28
.thick_underline {
29
font-family: underline-variable;
30
text-decoration: underline;
31
text-decoration-thickness: 6.3px;
32
}
33
34
.thin_underline_percent {
35
font-family: underline-variable;
36
text-decoration: underline;
37
text-decoration-thickness: 0.3152%;
38
}
39
40
.thick_underline_percent {
41
font-family: underline-variable;
42
text-decoration: underline;
43
text-decoration-thickness: 9.84375%;
44
}
45
</style>
46
</head>
47
<body>
48
    <p>Test passes if underlines are thin, thick, thin, thick in this order and match the reference rendering.</p>
49
    <div class="test"><span class="thin_underline">aagaa</span></div>
50
    <div class="test"><span class="thick_underline">aagaa</span></div>
51
    <div class="test"><span class="thin_underline_percent">aagaa</span></div>
52
    <div class="test"><span class="thick_underline_percent">aagaa</span></div>
53
</body>
54
</html>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-text-decor/text-decoration-thickness-from-font-variable-expected.html +44 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-text-decor/text-decoration-thickness-from-font-variable-expected.html_sec1
1
<!DOCTYPE html>
2
<html>
3
<head>
4
<meta charset="utf-8">
5
<title>CSS Text Decoration Test: text-decoration-thickness respects variable font properties</title>
6
<link rel="help" href="https://drafts.csswg.org/css-text-decor-4/#text-decoration-width-property">
7
<meta name="assert" content="text-decoration-thickness from-font respects MVAR table of variable fonts for variable metrics">
8
<link rel="author" title="Dominik Röttsches" href="mailto:drott@chromium.org">
9
<style>
10
@font-face {
11
font-family: underline-thin;
12
src: url(resources/UnderlineTest-Thin.ttf);
13
}
14
15
@font-face {
16
font-family: underline-thick;
17
src: url(resources/UnderlineTest-Thick.ttf);
18
}
19
20
.test {
21
text-underline-position: from-font;
22
font-size: 64px;
23
line-height: 1.8;
24
}
25
26
.thin_underline {
27
text-decoration: underline;
28
font-family: underline-thin;
29
text-decoration-thickness: from-font;
30
}
31
32
.thick_underline {
33
text-decoration: underline;
34
font-family: underline-thick;
35
text-decoration-thickness: from-font;
36
}
37
</style>
38
</head>
39
<body>
40
    <p>Test passes if the underline on the first line is thin and thick on the second line.</p>
41
    <div class="test"><span class="thin_underline">aagaa</span></div>
42
    <div class="test"><span class="thick_underline">aagaa</span></div>
43
</body>
44
</html>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-text-decor/text-decoration-thickness-from-font-variable.html +42 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-text-decor/text-decoration-thickness-from-font-variable.html_sec1
1
<!DOCTYPE html>
2
<html>
3
<head>
4
<meta charset="utf-8">
5
<title>CSS Text Decoration Test: text-decoration-thickness respects variable font properties</title>
6
<link rel="help" href="https://drafts.csswg.org/css-text-decor-4/#text-decoration-width-property">
7
<meta name="assert" content="text-decoration-thickness from-font respects MVAR table of variable fonts for variable metrics">
8
<link rel="author" title="Dominik Röttsches" href="mailto:drott@chromium.org">
9
<link rel="match" href="reference/text-decoration-thickness-from-font-variable-ref.html">
10
<style>
11
@font-face {
12
font-family: underline-variable;
13
src: url(resources/UnderlineTest-VF.ttf);
14
}
15
16
.test {
17
text-underline-position: from-font;
18
font-size: 64px;
19
line-height: 1.8;
20
}
21
22
.thin_underline {
23
text-decoration: underline;
24
text-decoration-thickness: from-font;
25
font-family: underline-variable, sans-serif;
26
font-variation-settings: 'UNDS' 1;
27
}
28
29
.thick_underline {
30
text-decoration: underline;
31
text-decoration-thickness: from-font;
32
font-family: underline-variable, sans-serif;
33
font-variation-settings: 'UNDS' 1000;
34
}
35
</style>
36
</head>
37
<body>
38
    <p>Test passes if the underline on the first line is thin and thick on the second line.</p>
39
    <div class="test"><span class="thin_underline">aagaa</span></div>
40
    <div class="test"><span class="thick_underline">aagaa</span></div>
41
</body>
42
</html>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-text-decor/text-decoration-thickness-ink-skip-dilation-expected.html +36 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-text-decor/text-decoration-thickness-ink-skip-dilation-expected.html_sec1
1
<!DOCTYPE html>
2
<html>
3
<head>
4
<meta charset="utf-8">
5
<title>CSS Text Decoration Test: Ink skipping extends only a small distance away from glyph</title>
6
<link rel="author" title="Dominik Röttsches" href="mailto:drott@chromium.org">
7
<style>
8
@font-face {
9
font-family: underline-variable;
10
src: url(resources/UnderlineTest-VF.ttf);
11
}
12
13
.test_green {
14
text-decoration: underline;
15
font-family: underline-variable;
16
text-underline-position: from-font;
17
text-decoration-thickness: 25px;
18
font-size: 64px;
19
text-decoration-color: green;
20
}
21
22
.overlap {
23
position: absolute;
24
left: 20px;
25
top: 25px;
26
}
27
</style>
28
</head>
29
<body>
30
<p>Test passes if no blips of red underline show near the descender of the g glyph.</p>
31
<div class="test">
32
<div class="test_green overlap">aaaaagaaaaa</div>
33
</div>
34
</div>
35
</body>
36
</html>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-text-decor/text-decoration-thickness-ink-skip-dilation.html +52 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-text-decor/text-decoration-thickness-ink-skip-dilation.html_sec1
1
<!DOCTYPE html>
2
<html>
3
<head>
4
<meta charset="utf-8">
5
<title>CSS Text Decoration Test: Ink skipping extends only a small distance away from glyph</title>
6
<link rel="help" href="https://drafts.csswg.org/css-text-decor-4/#text-decoration-skip-ink-property">
7
<meta name="assert" content="Ink skipping gap is capped at a small distance and does not continuously grow with text-decoration-thickness.">
8
<link rel="author" title="Dominik Röttsches" href="mailto:drott@chromium.org">
9
<link rel="match" href="reference/text-decoration-thickness-ink-skip-dilation-ref.html">
10
<style>
11
@font-face {
12
font-family: underline-variable;
13
src: url(resources/UnderlineTest-VF.ttf);
14
}
15
16
.test_red {
17
font-family: underline-variable;
18
font-size: 64px;
19
}
20
21
.underline {
22
text-decoration: underline;
23
text-underline-position: from-font;
24
text-decoration-thickness: 13px;
25
text-decoration-color: red;
26
}
27
28
.test_green {
29
text-decoration: underline;
30
font-family: underline-variable;
31
text-underline-position: from-font;
32
text-decoration-thickness: 25px;;
33
font-size: 64px;
34
text-decoration-color: green;
35
}
36
37
.overlap {
38
position: absolute;
39
left: 20px;
40
top: 25px;
41
}
42
</style>
43
</head>
44
<body>
45
<p>Test passes if no blips of red underline show near the descender of the g glyph.</p>
46
<div class="test">
47
<div class="test_red overlap">a<span class="underline">aaaagaaaa</span>a</div>
48
<div class="test_green overlap">aaaaagaaaaa</div>
49
</div>
50
</div>
51
</body>
52
</html>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-text-decor/text-decoration-thickness-invalid-expected.txt -4 lines
Lines 6-13 PASS e.style['text-decoration-thickness'] = "60002020" should not set the proper a/LayoutTests/imported/w3c/web-platform-tests/css/css-text-decor/text-decoration-thickness-invalid-expected.txt_sec1
6
PASS e.style['text-decoration-thickness'] = "!@#$%^&" should not set the property value 
6
PASS e.style['text-decoration-thickness'] = "!@#$%^&" should not set the property value 
7
PASS e.style['text-decoration-thickness'] = "10e2" should not set the property value 
7
PASS e.style['text-decoration-thickness'] = "10e2" should not set the property value 
8
PASS e.style['text-decoration-thickness'] = "from font" should not set the property value 
8
PASS e.style['text-decoration-thickness'] = "from font" should not set the property value 
9
PASS e.style['text-decoration-thickness'] = "10%" should not set the property value 
10
PASS e.style['text-decoration-thickness'] = "-27%" should not set the property value 
11
PASS e.style['text-decoration-thickness'] = "calc(40% - 20px)" should not set the property value 
12
PASS e.style['text-decoration-thickness'] = "calc(100% - 40em)" should not set the property value 
13
9
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-text-decor/text-decoration-thickness-invalid.html -4 lines
Lines 18-27 test_invalid_value("text-decoration-thickness", "60002020"); a/LayoutTests/imported/w3c/web-platform-tests/css/css-text-decor/text-decoration-thickness-invalid.html_sec1
18
test_invalid_value("text-decoration-thickness", "!@#$%^&");
18
test_invalid_value("text-decoration-thickness", "!@#$%^&");
19
test_invalid_value("text-decoration-thickness", "10e2");
19
test_invalid_value("text-decoration-thickness", "10e2");
20
test_invalid_value("text-decoration-thickness", "from font");
20
test_invalid_value("text-decoration-thickness", "from font");
21
test_invalid_value("text-decoration-thickness", "10%");
22
test_invalid_value("text-decoration-thickness", "-27%");
23
test_invalid_value("text-decoration-thickness", "calc(40% - 20px)");
24
test_invalid_value("text-decoration-thickness", "calc(100% - 40em)");
25
</script>
21
</script>
26
</body>
22
</body>
27
</html>
23
</html>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-text-decor/text-decoration-thickness-valid-expected.txt +4 lines
Lines 7-10 PASS e.style['text-decoration-thickness'] = "-49em" should set the property valu a/LayoutTests/imported/w3c/web-platform-tests/css/css-text-decor/text-decoration-thickness-valid-expected.txt_sec1
7
PASS e.style['text-decoration-thickness'] = "53px" should set the property value 
7
PASS e.style['text-decoration-thickness'] = "53px" should set the property value 
8
PASS e.style['text-decoration-thickness'] = "calc(40em - 10px)" should set the property value 
8
PASS e.style['text-decoration-thickness'] = "calc(40em - 10px)" should set the property value 
9
PASS e.style['text-decoration-thickness'] = "calc(-50em + 13px)" should set the property value 
9
PASS e.style['text-decoration-thickness'] = "calc(-50em + 13px)" should set the property value 
10
FAIL e.style['text-decoration-thickness'] = "10%" should set the property value assert_not_equals: property should be set got disallowed value ""
11
FAIL e.style['text-decoration-thickness'] = "-27%" should set the property value assert_not_equals: property should be set got disallowed value ""
12
FAIL e.style['text-decoration-thickness'] = "calc(40% - 20px)" should set the property value assert_not_equals: property should be set got disallowed value ""
13
FAIL e.style['text-decoration-thickness'] = "calc(100% - 40em)" should set the property value assert_not_equals: property should be set got disallowed value ""
10
14
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-text-decor/text-decoration-thickness-valid.html +4 lines
Lines 19-24 test_valid_value("text-decoration-thickness", "-49em"); a/LayoutTests/imported/w3c/web-platform-tests/css/css-text-decor/text-decoration-thickness-valid.html_sec1
19
test_valid_value("text-decoration-thickness", "53px");
19
test_valid_value("text-decoration-thickness", "53px");
20
test_valid_value("text-decoration-thickness", "calc(40em - 10px)");
20
test_valid_value("text-decoration-thickness", "calc(40em - 10px)");
21
test_valid_value("text-decoration-thickness", "calc(-50em + 13px)");
21
test_valid_value("text-decoration-thickness", "calc(-50em + 13px)");
22
test_valid_value("text-decoration-thickness", "10%");
23
test_valid_value("text-decoration-thickness", "-27%");
24
test_valid_value("text-decoration-thickness", "calc(40% - 20px)");
25
test_valid_value("text-decoration-thickness", "calc(100% - 40em)");
22
</script>
26
</script>
23
</body>
27
</body>
24
</html>
28
</html>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-text-decor/text-emphasis-style-001.html -1 / +1 lines
Lines 5-11 a/LayoutTests/imported/w3c/web-platform-tests/css/css-text-decor/text-emphasis-style-001.html_sec1
5
    <meta charset="utf-8">
5
    <meta charset="utf-8">
6
    <title>CSS Text Decoration Test - text-emphasis</title>
6
    <title>CSS Text Decoration Test - text-emphasis</title>
7
    <link rel="author" title="Koroki Takanori" href="mailto:tak.koroki@gmail.com">
7
    <link rel="author" title="Koroki Takanori" href="mailto:tak.koroki@gmail.com">
8
    <link rel="help" href="http://www.w3.org/TR/css-text-decor-3/#text-emphasis-style" title="3.1. Emphasis Mark Style: the 'text-emphasis-style' property">
8
    <link rel="help" href="http://www.w3.org/TR/css-text-decor-3/#text-emphasis-style-property" title="3.1. Emphasis Mark Style: the 'text-emphasis-style' property">
9
    <link rel="match" href="reference/text-emphasis-style-001-ref.html">
9
    <link rel="match" href="reference/text-emphasis-style-001-ref.html">
10
    <meta name="assert" content="Test checks that 'text-emphasis-style: none' shows no emphasis marks.">
10
    <meta name="assert" content="Test checks that 'text-emphasis-style: none' shows no emphasis marks.">
11
    <style>
11
    <style>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-text-decor/text-emphasis-style-002.html -2 / +2 lines
Lines 4-10 a/LayoutTests/imported/w3c/web-platform-tests/css/css-text-decor/text-emphasis-style-002.html_sec1
4
<meta charset="utf-8">
4
<meta charset="utf-8">
5
<title>CSS Reference File</title>
5
<title>CSS Reference File</title>
6
<link rel="author" title="Yuuki Furukawa" href="mailto:tenderhearted0407@gmail.com">
6
<link rel="author" title="Yuuki Furukawa" href="mailto:tenderhearted0407@gmail.com">
7
<link rel="help" href="http://www.w3.org/TR/css-text-decor-3/#text-emphasis-style" title="3.1. Emphasis Mark Style: the ‘text-emphasis-style’ property">
7
<link rel="help" href="http://www.w3.org/TR/css-text-decor-3/#text-emphasis-style-property" title="3.1. Emphasis Mark Style: the ‘text-emphasis-style’ property">
8
<link rel="match" href="reference/text-emphasis-style-002-ref.html">
8
<link rel="match" href="reference/text-emphasis-style-002-ref.html">
9
<meta name="assert" content="This test checks 'text-emphasis-style: filled dot;'">
9
<meta name="assert" content="This test checks 'text-emphasis-style: filled dot;'">
10
<style>
10
<style>
Lines 17-20 span{ a/LayoutTests/imported/w3c/web-platform-tests/css/css-text-decor/text-emphasis-style-002.html_sec2
17
<p>Test passes if "open dot" is above every single character of "Text sample".</p>
17
<p>Test passes if "open dot" is above every single character of "Text sample".</p>
18
<div><span>Text</span> <span>sample</span></div>
18
<div><span>Text</span> <span>sample</span></div>
19
</body>
19
</body>
20
</html>
20
</html>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-text-decor/text-emphasis-style-006.html -1 / +1 lines
Lines 4-10 a/LayoutTests/imported/w3c/web-platform-tests/css/css-text-decor/text-emphasis-style-006.html_sec1
4
    <meta charset="utf-8">
4
    <meta charset="utf-8">
5
    <title>CSS Text Decoration Test - text-emphasis</title>
5
    <title>CSS Text Decoration Test - text-emphasis</title>
6
    <link rel="author" title="TestTWF Tokyo Meetup (Unofficial)" href="mailto:tomoyuki.labs@gmail.com">
6
    <link rel="author" title="TestTWF Tokyo Meetup (Unofficial)" href="mailto:tomoyuki.labs@gmail.com">
7
    <link rel="help" href="http://www.w3.org/TR/css-text-decor-3/#text-emphasis-style" title="3.1. Emphasis Mark Style: the ‘text-emphasis-style’ property">
7
    <link rel="help" href="http://www.w3.org/TR/css-text-decor-3/#text-emphasis-style-property" title="3.1. Emphasis Mark Style: the ‘text-emphasis-style’ property">
8
    <link rel="match" href="reference/text-emphasis-style-006.html">
8
    <link rel="match" href="reference/text-emphasis-style-006.html">
9
    <meta name="assert" content="Test checks 'text-emphasis-style: filled dot'">
9
    <meta name="assert" content="Test checks 'text-emphasis-style: filled dot'">
10
    <style>
10
    <style>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-text-decor/text-emphasis-style-007.html -1 / +1 lines
Lines 4-10 a/LayoutTests/imported/w3c/web-platform-tests/css/css-text-decor/text-emphasis-style-007.html_sec1
4
    <meta charset="utf-8">
4
    <meta charset="utf-8">
5
    <title>CSS Text Decoration Test - text-emphasis</title>
5
    <title>CSS Text Decoration Test - text-emphasis</title>
6
    <link rel="author" title="TestTWF Tokyo Meetup (Unofficial)" href="mailto:tomoyuki.labs@gmail.com">
6
    <link rel="author" title="TestTWF Tokyo Meetup (Unofficial)" href="mailto:tomoyuki.labs@gmail.com">
7
    <link rel="help" href="http://www.w3.org/TR/css-text-decor-3/#text-emphasis-style" title="3.1. Emphasis Mark Style: the ‘text-emphasis-style’ property">
7
    <link rel="help" href="http://www.w3.org/TR/css-text-decor-3/#text-emphasis-style-property" title="3.1. Emphasis Mark Style: the ‘text-emphasis-style’ property">
8
    <link rel="match" href="reference/text-emphasis-style-007.html">
8
    <link rel="match" href="reference/text-emphasis-style-007.html">
9
    <meta name="assert" content="Test checks 'text-emphasis-style: filled circle'">
9
    <meta name="assert" content="Test checks 'text-emphasis-style: filled circle'">
10
    <style>
10
    <style>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-text-decor/text-emphasis-style-008-expected.html -3 / +3 lines
Lines 4-16 a/LayoutTests/imported/w3c/web-platform-tests/css/css-text-decor/text-emphasis-style-008-expected.html_sec1
4
		<meta charset="utf-8">
4
		<meta charset="utf-8">
5
		<title>CSS Text Decoration Test - text-emphasis</title>
5
		<title>CSS Text Decoration Test - text-emphasis</title>
6
		<link rel="author" title="TestTWF Tokyo Meetup (Unofficial)" href="mailto:ymdsmn@gmail.com">
6
		<link rel="author" title="TestTWF Tokyo Meetup (Unofficial)" href="mailto:ymdsmn@gmail.com">
7
		<link rel="help" href="http://www.w3.org/TR/css-text-decor-3/#text-emphasis-style">
7
		<link rel="help" href="http://www.w3.org/TR/css-text-decor-3/#text-emphasis-style-property">
8
		<meta name="assert" content="Test checks that 'text-emphasis-style: filled double-circle'.">
8
		<meta name="assert" content="Test checks that 'text-emphasis-style: filled double-circle'.">
9
	</head>
9
	</head>
10
	<body>
10
	<body>
11
        <p>Test passes if "&#x25c9" is above every single character of "Text sample"</p>
11
        <p>Test passes if "&#x25c9;" is above every single character of "Text sample"</p>
12
		<div>
12
		<div>
13
			<span><ruby>Text sample<rt>&#x25c9&#x25c9&#x25c9&#x25c9&#x25c9&#x25c9&#x25c9&#x25c9&#x25c9&#x25c9</rt></ruby></span>.
13
			<span><ruby>Text sample<rt>&#x25c9;&#x25c9;&#x25c9;&#x25c9;&#x25c9;&#x25c9;&#x25c9;&#x25c9;&#x25c9;&#x25c9;</rt></ruby></span>.
14
		</div>
14
		</div>
15
	</body>
15
	</body>
16
</html>
16
</html>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-text-decor/text-emphasis-style-008.html -2 / +2 lines
Lines 4-10 a/LayoutTests/imported/w3c/web-platform-tests/css/css-text-decor/text-emphasis-style-008.html_sec1
4
		<meta charset="utf-8">
4
		<meta charset="utf-8">
5
		<title>CSS Text Decoration Test - text-emphasis</title>
5
		<title>CSS Text Decoration Test - text-emphasis</title>
6
		<link rel="author" title="TestTWF Tokyo Meetup (Unofficial)" href="mailto:ymdsmn@gmail.com">
6
		<link rel="author" title="TestTWF Tokyo Meetup (Unofficial)" href="mailto:ymdsmn@gmail.com">
7
		<link rel="help" href="http://www.w3.org/TR/css-text-decor-3/#text-emphasis-style">
7
		<link rel="help" href="http://www.w3.org/TR/css-text-decor-3/#text-emphasis-style-property">
8
		<link rel="match" href="reference/text-emphasis-style-008-ref.html">
8
		<link rel="match" href="reference/text-emphasis-style-008-ref.html">
9
		<meta name="assert" content="Test checks that 'text-emphasis-style: filled double-circle'.">
9
		<meta name="assert" content="Test checks that 'text-emphasis-style: filled double-circle'.">
10
		<style>
10
		<style>
Lines 14-20 a/LayoutTests/imported/w3c/web-platform-tests/css/css-text-decor/text-emphasis-style-008.html_sec2
14
		</style>
14
		</style>
15
	</head>
15
	</head>
16
	<body>
16
	<body>
17
        <p>Test passes if "&#x25c9" is above every single character of "Text sample"</p>
17
        <p>Test passes if "&#x25c9;" is above every single character of "Text sample"</p>
18
		<div>
18
		<div>
19
			<span>Text sample</span>.
19
			<span>Text sample</span>.
20
		</div>
20
		</div>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-text-decor/text-emphasis-style-010.html -1 / +1 lines
Lines 4-10 a/LayoutTests/imported/w3c/web-platform-tests/css/css-text-decor/text-emphasis-style-010.html_sec1
4
        <meta charset="utf-8">
4
        <meta charset="utf-8">
5
        <title>CSS Text Decoration Test - text-emphasis-style</title>
5
        <title>CSS Text Decoration Test - text-emphasis-style</title>
6
        <link rel="author" title="Yu.Taguchi" href="mailto:taguchu@gmail.com">
6
        <link rel="author" title="Yu.Taguchi" href="mailto:taguchu@gmail.com">
7
        <link rel="help" href="http://www.w3.org/TR/css-text-decor-3/#text-emphasis-style"
7
        <link rel="help" href="http://www.w3.org/TR/css-text-decor-3/#text-emphasis-style-property"
8
              title="3.1 Emphasis Mark Style: the text-emphasis-style property">
8
              title="3.1 Emphasis Mark Style: the text-emphasis-style property">
9
        <link rel="match" href="reference/text-emphasis-style-010-ref.html">
9
        <link rel="match" href="reference/text-emphasis-style-010-ref.html">
10
        <style>
10
        <style>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-text-decor/text-emphasis-style-012.html -2 / +2 lines
Lines 4-10 a/LayoutTests/imported/w3c/web-platform-tests/css/css-text-decor/text-emphasis-style-012.html_sec1
4
<meta charset="utf-8">
4
<meta charset="utf-8">
5
<title>CSS Reference File</title>
5
<title>CSS Reference File</title>
6
<link rel="author" title="Yuuki Furukawa" href="mailto:tenderhearted0407@gmail.com">
6
<link rel="author" title="Yuuki Furukawa" href="mailto:tenderhearted0407@gmail.com">
7
<link rel="help" href="http://www.w3.org/TR/css-text-decor-3/#text-emphasis-style" title="3.1. Emphasis Mark Style: the ‘text-emphasis-style’ property">
7
<link rel="help" href="http://www.w3.org/TR/css-text-decor-3/#text-emphasis-style-property" title="3.1. Emphasis Mark Style: the ‘text-emphasis-style’ property">
8
<link rel="match" href="reference/text-emphasis-style-012-ref.html">
8
<link rel="match" href="reference/text-emphasis-style-012-ref.html">
9
<meta name="assert" content="This test checks 'text-emphasis-style: open dot;'">
9
<meta name="assert" content="This test checks 'text-emphasis-style: open dot;'">
10
<style>
10
<style>
Lines 17-20 span { a/LayoutTests/imported/w3c/web-platform-tests/css/css-text-decor/text-emphasis-style-012.html_sec2
17
<p>Test passes if "open dot" is above every single character of "Text sample".</p>
17
<p>Test passes if "open dot" is above every single character of "Text sample".</p>
18
<div><span>Text</span> <span>sample</span></div>
18
<div><span>Text</span> <span>sample</span></div>
19
</body>
19
</body>
20
</html>
20
</html>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-text-decor/text-emphasis-style-016.html -1 / +1 lines
Lines 4-10 a/LayoutTests/imported/w3c/web-platform-tests/css/css-text-decor/text-emphasis-style-016.html_sec1
4
                <meta charset="utf-8">
4
                <meta charset="utf-8">
5
                <title>CSS Text Decoration Test - text-emphasis</title>
5
                <title>CSS Text Decoration Test - text-emphasis</title>
6
                <link rel="author" title="Fuyuko Ikeguchi" href="mailto:fuyuko.ikeguchi@gmail.com">
6
                <link rel="author" title="Fuyuko Ikeguchi" href="mailto:fuyuko.ikeguchi@gmail.com">
7
                <link rel="help" href="http://www.w3.org/TR/css-text-decor-3/#text-emphasis-style">
7
                <link rel="help" href="http://www.w3.org/TR/css-text-decor-3/#text-emphasis-style-property">
8
                <meta name="assert" content="Test checks that [explanation of what you're trying to test].">
8
                <meta name="assert" content="Test checks that [explanation of what you're trying to test].">
9
                <style>
9
                <style>
10
                        .test {
10
                        .test {
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-text-decor/text-emphasis-style-021.html -1 / +1 lines
Lines 4-10 a/LayoutTests/imported/w3c/web-platform-tests/css/css-text-decor/text-emphasis-style-021.html_sec1
4
                <meta charset="utf-8">
4
                <meta charset="utf-8">
5
                <title>CSS Text Decoration Test - text-emphasis</title>
5
                <title>CSS Text Decoration Test - text-emphasis</title>
6
                <link rel="author" title="Shinsuke Matsuki" href="mailto:shinsk@gmail.com">
6
                <link rel="author" title="Shinsuke Matsuki" href="mailto:shinsk@gmail.com">
7
                <link rel="help" href="http://www.w3.org/TR/css-text-decor-3/#text-emphasis-style" title="3.1. Emphasis Mark Style: the ‘text-emphasis-style’ property">
7
                <link rel="help" href="http://www.w3.org/TR/css-text-decor-3/#text-emphasis-style-property" title="3.1. Emphasis Mark Style: the ‘text-emphasis-style’ property">
8
                <link rel="match" href="reference/text-emphasis-style-021-ref.html">
8
                <link rel="match" href="reference/text-emphasis-style-021-ref.html">
9
                <meta name="assert" content="This test checks 'text-emphasis-style:string'.">
9
                <meta name="assert" content="This test checks 'text-emphasis-style:string'.">
10
                <style>
10
                <style>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-text-decor/text-emphasis-style-filled-001.xht -1 / +1 lines
Lines 4-10 a/LayoutTests/imported/w3c/web-platform-tests/css/css-text-decor/text-emphasis-style-filled-001.xht_sec1
4
	<head>
4
	<head>
5
		<title>CSS Test: text-emphasis-style - filled - basic cases</title>
5
		<title>CSS Test: text-emphasis-style - filled - basic cases</title>
6
		<link rel="author" title="Makoto Kikuchi" href="mailto:kikuchi@est.co.jp" />
6
		<link rel="author" title="Makoto Kikuchi" href="mailto:kikuchi@est.co.jp" />
7
		<link rel="help" title="CSS Text Level 3: 11.2.1.  Emphasis Mark Style: the ‘text-emphasis-style’ property" href="http://www.w3.org/TR/css-text-3/#text-emphasis-style" />
7
		<link rel="help" title="CSS Text Level 3: 11.2.1.  Emphasis Mark Style: the ‘text-emphasis-style’ property" href="http://www.w3.org/TR/css-text-decor-3/#text-emphasis-style-property" />
8
		<link rel="match" href="reference/text-emphasis-style-filled-001-ref.xht"/>
8
		<link rel="match" href="reference/text-emphasis-style-filled-001-ref.xht"/>
9
		<meta name="flags" content="" />
9
		<meta name="flags" content="" />
10
		<meta name="assert" content="This property applies emphasis marks to the element's text. " />
10
		<meta name="assert" content="This property applies emphasis marks to the element's text. " />
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-text-decor/text-emphasis-style-none-001.xht -1 / +1 lines
Lines 4-10 a/LayoutTests/imported/w3c/web-platform-tests/css/css-text-decor/text-emphasis-style-none-001.xht_sec1
4
	<head>
4
	<head>
5
		<title>CSS Test: text-emphasis-style - none - basic cases</title>
5
		<title>CSS Test: text-emphasis-style - none - basic cases</title>
6
		<link rel="author" title="Makoto Kikuchi" href="mailto:kikuchi@est.co.jp" />
6
		<link rel="author" title="Makoto Kikuchi" href="mailto:kikuchi@est.co.jp" />
7
		<link rel="help" title="CSS Text Level 3: 11.2.1.  Emphasis Mark Style: the ‘text-emphasis-style’ property" href="http://www.w3.org/TR/css-text-3/#text-emphasis-style" />
7
		<link rel="help" title="CSS Text Level 3: 11.2.1.  Emphasis Mark Style: the ‘text-emphasis-style’ property" href="http://www.w3.org/TR/css-text-decor-3/#text-emphasis-style-property" />
8
		<link rel="match" href="reference/text-emphasis-style-none-001-ref.xht"/>
8
		<link rel="match" href="reference/text-emphasis-style-none-001-ref.xht"/>
9
		<meta name="flags" content="" />
9
		<meta name="flags" content="" />
10
		<meta name="assert" content="This property applies emphasis marks to the element's text. " />
10
		<meta name="assert" content="This property applies emphasis marks to the element's text. " />
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-text-decor/text-emphasis-style-open-001.xht -1 / +1 lines
Lines 4-10 a/LayoutTests/imported/w3c/web-platform-tests/css/css-text-decor/text-emphasis-style-open-001.xht_sec1
4
	<head>
4
	<head>
5
		<title>CSS Test: text-emphasis-style - open - basic cases</title>
5
		<title>CSS Test: text-emphasis-style - open - basic cases</title>
6
		<link rel="author" title="Makoto Kikuchi" href="mailto:kikuchi@est.co.jp" />
6
		<link rel="author" title="Makoto Kikuchi" href="mailto:kikuchi@est.co.jp" />
7
		<link rel="help" title="CSS Text Level 3: 11.2.1.  Emphasis Mark Style: the ‘text-emphasis-style’ property" href="http://www.w3.org/TR/css-text-3/#text-emphasis-style" />
7
		<link rel="help" title="CSS Text Level 3: 11.2.1.  Emphasis Mark Style: the ‘text-emphasis-style’ property" href="http://www.w3.org/TR/css-text-decor-3/#text-emphasis-style-property" />
8
		<link rel="match" href="reference/text-emphasis-style-open-001-ref.xht"/>
8
		<link rel="match" href="reference/text-emphasis-style-open-001-ref.xht"/>
9
		<meta name="flags" content="" />
9
		<meta name="flags" content="" />
10
		<meta name="assert" content="This property applies emphasis marks to the element's text. " />
10
		<meta name="assert" content="This property applies emphasis marks to the element's text. " />
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-text-decor/text-emphasis-style-shape-001.xht -1 / +1 lines
Lines 4-10 a/LayoutTests/imported/w3c/web-platform-tests/css/css-text-decor/text-emphasis-style-shape-001.xht_sec1
4
	<head>
4
	<head>
5
		<title>CSS Test: text-emphasis-style - shape - basic cases</title>
5
		<title>CSS Test: text-emphasis-style - shape - basic cases</title>
6
		<link rel="author" title="Makoto Kikuchi" href="mailto:kikuchi@est.co.jp" />
6
		<link rel="author" title="Makoto Kikuchi" href="mailto:kikuchi@est.co.jp" />
7
		<link rel="help" title="CSS Text Level 3: 11.2.1.  Emphasis Mark Style: the ‘text-emphasis-style’ property" href="http://www.w3.org/TR/css-text-3/#text-emphasis-style" />
7
		<link rel="help" title="CSS Text Level 3: 11.2.1.  Emphasis Mark Style: the ‘text-emphasis-style’ property" href="http://www.w3.org/TR/css-text-decor-3/#text-emphasis-style-property" />
8
		<link rel="match" href="reference/text-emphasis-style-shape-001-ref.xht"/>
8
		<link rel="match" href="reference/text-emphasis-style-shape-001-ref.xht"/>
9
		<meta name="flags" content="" />
9
		<meta name="flags" content="" />
10
		<meta name="assert" content="This property applies emphasis marks to the element's text. " />
10
		<meta name="assert" content="This property applies emphasis marks to the element's text. " />
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-text-decor/text-emphasis-style-string-001.xht -1 / +1 lines
Lines 4-10 a/LayoutTests/imported/w3c/web-platform-tests/css/css-text-decor/text-emphasis-style-string-001.xht_sec1
4
	<head>
4
	<head>
5
		<title>CSS Test: text-emphasis-style - string - basic cases</title>
5
		<title>CSS Test: text-emphasis-style - string - basic cases</title>
6
		<link rel="author" title="Makoto Kikuchi" href="mailto:kikuchi@est.co.jp" />
6
		<link rel="author" title="Makoto Kikuchi" href="mailto:kikuchi@est.co.jp" />
7
		<link rel="help" title="CSS Text Level 3: 11.2.1.  Emphasis Mark Style: the ‘text-emphasis-style’ property" href="http://www.w3.org/TR/css-text-3/#text-emphasis-style" />
7
		<link rel="help" title="CSS Text Level 3: 11.2.1.  Emphasis Mark Style: the ‘text-emphasis-style’ property" href="http://www.w3.org/TR/css-text-decor-3/#text-emphasis-style-property" />
8
		<link rel="match" href="reference/text-emphasis-style-string-001-ref.xht"/>
8
		<link rel="match" href="reference/text-emphasis-style-string-001-ref.xht"/>
9
		<meta name="flags" content="" />
9
		<meta name="flags" content="" />
10
		<meta name="assert" content="This property applies emphasis marks to the element's text. " />
10
		<meta name="assert" content="This property applies emphasis marks to the element's text. " />
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-text-decor/text-underline-offset-computed-expected.txt -1 lines
Lines 1-5 a/LayoutTests/imported/w3c/web-platform-tests/css/css-text-decor/text-underline-offset-computed-expected.txt_sec1
1
1
2
PASS Property text-underline-offset value 'auto' 
2
PASS Property text-underline-offset value 'auto' 
3
FAIL Property text-underline-offset value 'from-font' assert_true: 'from-font' is a supported value for text-underline-offset. expected true got false
4
PASS Property text-underline-offset value 'calc(10px - 8px)' 
3
PASS Property text-underline-offset value 'calc(10px - 8px)' 
5
4
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-text-decor/text-underline-offset-computed.html -1 lines
Lines 13-19 a/LayoutTests/imported/w3c/web-platform-tests/css/css-text-decor/text-underline-offset-computed.html_sec1
13
<div id="target"></div>
13
<div id="target"></div>
14
<script>
14
<script>
15
test_computed_value("text-underline-offset", "auto");
15
test_computed_value("text-underline-offset", "auto");
16
test_computed_value("text-underline-offset", "from-font");
17
test_computed_value("text-underline-offset", "calc(10px - 8px)", "2px");
16
test_computed_value("text-underline-offset", "calc(10px - 8px)", "2px");
18
</script>
17
</script>
19
</body>
18
</body>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-text-decor/text-underline-offset-invalid-expected.txt -4 / +1 lines
Lines 1-4 a/LayoutTests/imported/w3c/web-platform-tests/css/css-text-decor/text-underline-offset-invalid-expected.txt_sec1
1
1
2
PASS e.style['text-underline-offset'] = "from-font" should not set the property value 
2
PASS e.style['text-underline-offset'] = "otto" should not set the property value 
3
PASS e.style['text-underline-offset'] = "otto" should not set the property value 
3
PASS e.style['text-underline-offset'] = "asdlflj" should not set the property value 
4
PASS e.style['text-underline-offset'] = "asdlflj" should not set the property value 
4
PASS e.style['text-underline-offset'] = "-10" should not set the property value 
5
PASS e.style['text-underline-offset'] = "-10" should not set the property value 
Lines 6-13 PASS e.style['text-underline-offset'] = "60002020" should not set the property v a/LayoutTests/imported/w3c/web-platform-tests/css/css-text-decor/text-underline-offset-invalid-expected.txt_sec2
6
PASS e.style['text-underline-offset'] = "!@#$%^&" should not set the property value 
7
PASS e.style['text-underline-offset'] = "!@#$%^&" should not set the property value 
7
PASS e.style['text-underline-offset'] = "10e2" should not set the property value 
8
PASS e.style['text-underline-offset'] = "10e2" should not set the property value 
8
PASS e.style['text-underline-offset'] = "from font" should not set the property value 
9
PASS e.style['text-underline-offset'] = "from font" should not set the property value 
9
PASS e.style['text-underline-offset'] = "10%" should not set the property value 
10
PASS e.style['text-underline-offset'] = "-27%" should not set the property value 
11
PASS e.style['text-underline-offset'] = "calc(40% - 20px)" should not set the property value 
12
PASS e.style['text-underline-offset'] = "calc(100% - 40em)" should not set the property value 
13
10
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-text-decor/text-underline-offset-invalid.html -5 / +2 lines
Lines 4-16 a/LayoutTests/imported/w3c/web-platform-tests/css/css-text-decor/text-underline-offset-invalid.html_sec1
4
<meta charset="utf-8">
4
<meta charset="utf-8">
5
<title>CSS Text Decoration Test: parsing text-underline-offset with invalid values</title>
5
<title>CSS Text Decoration Test: parsing text-underline-offset with invalid values</title>
6
<link rel="help" href="https://drafts.csswg.org/css-text-decor-4/#underline-offset">
6
<link rel="help" href="https://drafts.csswg.org/css-text-decor-4/#underline-offset">
7
<meta name="assert" content="text-underline-offset supports the following values: auto | from-font| <length>">
7
<meta name="assert" content="text-underline-offset supports the following values: auto | <length> | <percentage>">
8
<script src="/resources/testharness.js"></script>
8
<script src="/resources/testharness.js"></script>
9
<script src="/resources/testharnessreport.js"></script>
9
<script src="/resources/testharnessreport.js"></script>
10
<script src="/css/support/parsing-testcommon.js"></script>
10
<script src="/css/support/parsing-testcommon.js"></script>
11
</head>
11
</head>
12
<body>
12
<body>
13
<script>
13
<script>
14
test_invalid_value("text-underline-offset", "from-font");
14
test_invalid_value("text-underline-offset", "otto");
15
test_invalid_value("text-underline-offset", "otto");
15
test_invalid_value("text-underline-offset", "asdlflj");
16
test_invalid_value("text-underline-offset", "asdlflj");
16
test_invalid_value("text-underline-offset", "-10");
17
test_invalid_value("text-underline-offset", "-10");
Lines 18-27 test_invalid_value("text-underline-offset", "60002020"); a/LayoutTests/imported/w3c/web-platform-tests/css/css-text-decor/text-underline-offset-invalid.html_sec2
18
test_invalid_value("text-underline-offset", "!@#$%^&");
19
test_invalid_value("text-underline-offset", "!@#$%^&");
19
test_invalid_value("text-underline-offset", "10e2");
20
test_invalid_value("text-underline-offset", "10e2");
20
test_invalid_value("text-underline-offset", "from font");
21
test_invalid_value("text-underline-offset", "from font");
21
test_invalid_value("text-underline-offset", "10%");
22
test_invalid_value("text-underline-offset", "-27%");
23
test_invalid_value("text-underline-offset", "calc(40% - 20px)");
24
test_invalid_value("text-underline-offset", "calc(100% - 40em)");
25
</script>
22
</script>
26
</body>
23
</body>
27
</html>
24
</html>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-text-decor/text-underline-offset-valid-expected.txt -1 lines
Lines 1-6 a/LayoutTests/imported/w3c/web-platform-tests/css/css-text-decor/text-underline-offset-valid-expected.txt_sec1
1
1
2
PASS e.style['text-underline-offset'] = "auto" should set the property value 
2
PASS e.style['text-underline-offset'] = "auto" should set the property value 
3
FAIL e.style['text-underline-offset'] = "from-font" should set the property value assert_not_equals: property should be set got disallowed value ""
4
PASS e.style['text-underline-offset'] = "-10px" should set the property value 
3
PASS e.style['text-underline-offset'] = "-10px" should set the property value 
5
PASS e.style['text-underline-offset'] = "2001em" should set the property value 
4
PASS e.style['text-underline-offset'] = "2001em" should set the property value 
6
PASS e.style['text-underline-offset'] = "-49em" should set the property value 
5
PASS e.style['text-underline-offset'] = "-49em" should set the property value 
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-text-decor/text-underline-offset-valid.html -2 / +1 lines
Lines 4-10 a/LayoutTests/imported/w3c/web-platform-tests/css/css-text-decor/text-underline-offset-valid.html_sec1
4
<meta charset="utf-8">
4
<meta charset="utf-8">
5
<title>CSS Text Decoration Test: parsing text-underline-offset with valid values</title>
5
<title>CSS Text Decoration Test: parsing text-underline-offset with valid values</title>
6
<link rel="help" href="https://drafts.csswg.org/css-text-decor-4/#underline-offset">
6
<link rel="help" href="https://drafts.csswg.org/css-text-decor-4/#underline-offset">
7
<meta name="assert" content="text-underline-offset supports the following values: auto | from-font| <length>">
7
<meta name="assert" content="text-underline-offset supports the following values: auto | <length> | <percentage>">
8
<script src="/resources/testharness.js"></script>
8
<script src="/resources/testharness.js"></script>
9
<script src="/resources/testharnessreport.js"></script>
9
<script src="/resources/testharnessreport.js"></script>
10
<script src="/css/support/parsing-testcommon.js"></script>
10
<script src="/css/support/parsing-testcommon.js"></script>
Lines 12-18 a/LayoutTests/imported/w3c/web-platform-tests/css/css-text-decor/text-underline-offset-valid.html_sec2
12
<body>
12
<body>
13
<script>
13
<script>
14
test_valid_value("text-underline-offset", "auto");
14
test_valid_value("text-underline-offset", "auto");
15
test_valid_value("text-underline-offset", "from-font");
16
test_valid_value("text-underline-offset", "-10px");
15
test_valid_value("text-underline-offset", "-10px");
17
test_valid_value("text-underline-offset", "2001em");
16
test_valid_value("text-underline-offset", "2001em");
18
test_valid_value("text-underline-offset", "-49em");
17
test_valid_value("text-underline-offset", "-49em");
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-text-decor/text-underline-offset-variable-expected.html +39 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-text-decor/text-underline-offset-variable-expected.html_sec1
1
<!DOCTYPE html>
2
<html>
3
<head>
4
<meta charset="utf-8">
5
<title>CSS Text Decoration Test: text-underline-offset matches offsets for variable font underline metrics</title>
6
<link rel="help" href="https://drafts.csswg.org/css-text-decor-4/#underline-offset">
7
<meta name="assert" content="text-underline-offset in pixels matches variable metrics">
8
<link rel="author" title="Dominik Röttsches" href="mailto:drott@chromium.org">
9
<style>
10
@font-face {
11
font-family: underline-variable;
12
src: url(resources/UnderlineTest-VF.ttf);
13
}
14
15
.test {
16
text-underline-position: from-font;
17
font-size: 64px;
18
line-height: 1.8;
19
}
20
21
.close_underline {
22
text-decoration: underline;
23
font-family: underline-variable, sans-serif;
24
font-variation-settings: 'UNDO' 200;
25
}
26
27
.far_underline {
28
text-decoration: underline;
29
font-family: underline-variable, sans-serif;
30
font-variation-settings: 'UNDO' 1000;
31
}
32
</style>
33
</head>
34
<body>
35
    <p>Test passes if the underlines match the reference.</p>
36
    <div class="test"><span class="close_underline">aagaa</span></div>
37
    <div class="test"><span class="far_underline">aagaa</span></div>
38
</body>
39
</html>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-text-decor/text-underline-offset-variable.html +40 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-text-decor/text-underline-offset-variable.html_sec1
1
<!DOCTYPE html>
2
<html>
3
<head>
4
<meta charset="utf-8">
5
<title>CSS Text Decoration Test: text-underline-offset matches offsets for variable font underline metrics</title>
6
<link rel="help" href="https://drafts.csswg.org/css-text-decor-4/#underline-offset">
7
<meta name="assert" content="text-underline-offset in pixels matches variable metrics">
8
<link rel="author" title="Dominik Röttsches" href="mailto:drott@chromium.org">
9
<link rel="match" href="reference/text-underline-offset-variable-ref.html">
10
<style>
11
@font-face {
12
font-family: underline-variable;
13
src: url(resources/UnderlineTest-VF.ttf);
14
}
15
16
.test {
17
text-underline-position: from-font;
18
font-size: 64px;
19
line-height: 1.8;
20
}
21
22
.close_underline {
23
text-decoration: underline;
24
font-family: underline-variable, sans-serif;
25
text-underline-offset: -2.5px;
26
}
27
28
.far_underline {
29
text-decoration: underline;
30
font-family: underline-variable, sans-serif;
31
text-underline-offset: 4.6px;
32
}
33
</style>
34
</head>
35
<body>
36
    <p>Test passes if the underlines match the reference.</p>
37
    <div class="test"><span class="close_underline">aagaa</span></div>
38
    <div class="test"><span class="far_underline">aagaa</span></div>
39
</body>
40
</html>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-text-decor/text-underline-position-001a-expected.html +83 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-text-decor/text-underline-position-001a-expected.html_sec1
1
<!DOCTYPE html>
2
<html>
3
<head>
4
    <meta charset="utf-8">
5
    <title>text-underline-position reference file</title>
6
    <style>
7
        .outer {
8
            margin: 1em;
9
            clear: left;
10
        }
11
        .outer > div {
12
            margin: .25em;
13
            padding: .25em;
14
            float: left;
15
            border: 1px dotted gray;
16
        }
17
        u {
18
            text-decoration: 2px green underline;
19
            text-underline-offset: .25em;
20
        }
21
        .test1 > div {
22
            writing-mode: initial;
23
        }
24
        .test2 > div {
25
            writing-mode: sideways-rl;
26
        }
27
        .test3 > div {
28
            writing-mode: sideways-lr;
29
        }
30
        .test4 > div {
31
            writing-mode: vertical-rl;
32
            text-orientation: sideways;
33
        }
34
        .test5 > div {
35
            writing-mode: vertical-lr;
36
            text-orientation: sideways;
37
        }
38
    </style>
39
</head>
40
<body>
41
    <p class="instructions">Test passes if the left and right boxes match in each case:</p>
42
    <div class="outer test1">
43
        <div>
44
            <p><u>underlined</u></p>
45
        </div>
46
        <div>
47
            <p><u>underlined</u></p>
48
        </div>
49
    </div>
50
    <div class="outer test2">
51
        <div>
52
            <p><u>underlined</u></p>
53
        </div>
54
        <div>
55
            <p><u>underlined</u></p>
56
        </div>
57
    </div>
58
    <div class="outer test3">
59
        <div>
60
            <p><u>underlined</u></p>
61
        </div>
62
        <div>
63
            <p><u>underlined</u></p>
64
        </div>
65
    </div>
66
    <div class="outer test4">
67
        <div>
68
            <p><u>underlined</u></p>
69
        </div>
70
        <div>
71
            <p><u>underlined</u></p>
72
        </div>
73
    </div>
74
    <div class="outer test5">
75
        <div>
76
            <p><u>underlined</u></p>
77
        </div>
78
        <div>
79
            <p><u>underlined</u></p>
80
        </div>
81
    </div>
82
</body>
83
</html>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-text-decor/text-underline-position-001a.html +90 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-text-decor/text-underline-position-001a.html_sec1
1
<!DOCTYPE html>
2
<html>
3
<head>
4
    <meta charset="utf-8">
5
    <title>text-underline-position test case</title>
6
    <meta name="assert" content="text-underline-position:left has no effect in horizontal typographic mode">
7
    <link rel="author" title="Jonathan Kew" href="mailto:jkew@mozilla.com">
8
    <link rel="help" href="https://drafts.csswg.org/css-text-decor-4/#underline-left">
9
    <link rel="match" href="reference/text-underline-position-001-ref.html">
10
    <style>
11
        .outer {
12
            margin: 1em;
13
            clear: left;
14
        }
15
        .outer > div {
16
            margin: .25em;
17
            padding: .25em;
18
            float: left;
19
            border: 1px dotted gray;
20
        }
21
        u {
22
            text-decoration: 2px green underline;
23
            text-underline-offset: .25em;
24
        }
25
        .test1 > div {
26
            writing-mode: initial;
27
        }
28
        .test2 > div {
29
            writing-mode: sideways-rl;
30
        }
31
        .test3 > div {
32
            writing-mode: sideways-lr;
33
        }
34
        .test4 > div {
35
            writing-mode: vertical-rl;
36
            text-orientation: sideways;
37
        }
38
        .test5 > div {
39
            writing-mode: vertical-lr;
40
            text-orientation: sideways;
41
        }
42
        .test {
43
            text-underline-position: left;
44
        }
45
    </style>
46
</head>
47
<body>
48
    <p class="instructions">Test passes if the left and right boxes match in each case:</p>
49
    <div class="outer test1">
50
        <div>
51
            <p><u class="test">underlined</u></p>
52
        </div>
53
        <div>
54
            <p><u>underlined</u></p>
55
        </div>
56
    </div>
57
    <div class="outer test2">
58
        <div>
59
            <p><u class="test">underlined</u></p>
60
        </div>
61
        <div>
62
            <p><u>underlined</u></p>
63
        </div>
64
    </div>
65
    <div class="outer test3">
66
        <div>
67
            <p><u class="test">underlined</u></p>
68
        </div>
69
        <div>
70
            <p><u>underlined</u></p>
71
        </div>
72
    </div>
73
    <div class="outer test4">
74
        <div>
75
            <p><u class="test">underlined</u></p>
76
        </div>
77
        <div>
78
            <p><u>underlined</u></p>
79
        </div>
80
    </div>
81
    <div class="outer test5">
82
        <div>
83
            <p><u class="test">underlined</u></p>
84
        </div>
85
        <div>
86
            <p><u>underlined</u></p>
87
        </div>
88
    </div>
89
</body>
90
</html>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-text-decor/text-underline-position-001b-expected.html +83 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-text-decor/text-underline-position-001b-expected.html_sec1
1
<!DOCTYPE html>
2
<html>
3
<head>
4
    <meta charset="utf-8">
5
    <title>text-underline-position reference file</title>
6
    <style>
7
        .outer {
8
            margin: 1em;
9
            clear: left;
10
        }
11
        .outer > div {
12
            margin: .25em;
13
            padding: .25em;
14
            float: left;
15
            border: 1px dotted gray;
16
        }
17
        u {
18
            text-decoration: 2px green underline;
19
            text-underline-offset: .25em;
20
        }
21
        .test1 > div {
22
            writing-mode: initial;
23
        }
24
        .test2 > div {
25
            writing-mode: sideways-rl;
26
        }
27
        .test3 > div {
28
            writing-mode: sideways-lr;
29
        }
30
        .test4 > div {
31
            writing-mode: vertical-rl;
32
            text-orientation: sideways;
33
        }
34
        .test5 > div {
35
            writing-mode: vertical-lr;
36
            text-orientation: sideways;
37
        }
38
    </style>
39
</head>
40
<body>
41
    <p class="instructions">Test passes if the left and right boxes match in each case:</p>
42
    <div class="outer test1">
43
        <div>
44
            <p><u>underlined</u></p>
45
        </div>
46
        <div>
47
            <p><u>underlined</u></p>
48
        </div>
49
    </div>
50
    <div class="outer test2">
51
        <div>
52
            <p><u>underlined</u></p>
53
        </div>
54
        <div>
55
            <p><u>underlined</u></p>
56
        </div>
57
    </div>
58
    <div class="outer test3">
59
        <div>
60
            <p><u>underlined</u></p>
61
        </div>
62
        <div>
63
            <p><u>underlined</u></p>
64
        </div>
65
    </div>
66
    <div class="outer test4">
67
        <div>
68
            <p><u>underlined</u></p>
69
        </div>
70
        <div>
71
            <p><u>underlined</u></p>
72
        </div>
73
    </div>
74
    <div class="outer test5">
75
        <div>
76
            <p><u>underlined</u></p>
77
        </div>
78
        <div>
79
            <p><u>underlined</u></p>
80
        </div>
81
    </div>
82
</body>
83
</html>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-text-decor/text-underline-position-001b.html +90 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-text-decor/text-underline-position-001b.html_sec1
1
<!DOCTYPE html>
2
<html>
3
<head>
4
    <meta charset="utf-8">
5
    <title>text-underline-position test case</title>
6
    <meta name="assert" content="text-underline-position:right has no effect in horizontal typographic mode">
7
    <link rel="author" title="Jonathan Kew" href="mailto:jkew@mozilla.com">
8
    <link rel="help" href="https://drafts.csswg.org/css-text-decor-4/#underline-right">
9
    <link rel="match" href="reference/text-underline-position-001-ref.html">
10
    <style>
11
        .outer {
12
            margin: 1em;
13
            clear: left;
14
        }
15
        .outer > div {
16
            margin: .25em;
17
            padding: .25em;
18
            float: left;
19
            border: 1px dotted gray;
20
        }
21
        u {
22
            text-decoration: 2px green underline;
23
            text-underline-offset: .25em;
24
        }
25
        .test1 > div {
26
            writing-mode: initial;
27
        }
28
        .test2 > div {
29
            writing-mode: sideways-rl;
30
        }
31
        .test3 > div {
32
            writing-mode: sideways-lr;
33
        }
34
        .test4 > div {
35
            writing-mode: vertical-rl;
36
            text-orientation: sideways;
37
        }
38
        .test5 > div {
39
            writing-mode: vertical-lr;
40
            text-orientation: sideways;
41
        }
42
        .test {
43
            text-underline-position: right;
44
        }
45
    </style>
46
</head>
47
<body>
48
    <p class="instructions">Test passes if the left and right boxes match in each case:</p>
49
    <div class="outer test1">
50
        <div>
51
            <p><u class="test">underlined</u></p>
52
        </div>
53
        <div>
54
            <p><u>underlined</u></p>
55
        </div>
56
    </div>
57
    <div class="outer test2">
58
        <div>
59
            <p><u class="test">underlined</u></p>
60
        </div>
61
        <div>
62
            <p><u>underlined</u></p>
63
        </div>
64
    </div>
65
    <div class="outer test3">
66
        <div>
67
            <p><u class="test">underlined</u></p>
68
        </div>
69
        <div>
70
            <p><u>underlined</u></p>
71
        </div>
72
    </div>
73
    <div class="outer test4">
74
        <div>
75
            <p><u class="test">underlined</u></p>
76
        </div>
77
        <div>
78
            <p><u>underlined</u></p>
79
        </div>
80
    </div>
81
    <div class="outer test5">
82
        <div>
83
            <p><u class="test">underlined</u></p>
84
        </div>
85
        <div>
86
            <p><u>underlined</u></p>
87
        </div>
88
    </div>
89
</body>
90
</html>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-text-decor/text-underline-position-from-font-variable-expected.html +43 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-text-decor/text-underline-position-from-font-variable-expected.html_sec1
1
<!DOCTYPE html>
2
<html>
3
<head>
4
<meta charset="utf-8">
5
<title>CSS Text Decoration Test: text-underline-position respects variable font properties</title>
6
<link rel="help" href="https://drafts.csswg.org/css-text-decor-4/#text-underline-position-property">
7
<meta name="assert" content="text-underline-position from-font respects MVAR table of variable fonts for variable metrics">
8
<link rel="author" title="Dominik Röttsches" href="mailto:drott@chromium.org">
9
<style>
10
@font-face {
11
font-family: underline-close;
12
src: url(resources/UnderlineTest-Close.ttf);
13
}
14
15
@font-face {
16
font-family: underline-far;
17
src: url(resources/UnderlineTest-Far.ttf);
18
}
19
20
.test {
21
text-underline-position: from-font;
22
font-size: 64px;
23
line-height: 1.8;
24
}
25
26
.close_underline {
27
text-decoration: underline;
28
font-family: underline-close;
29
}
30
31
.far_underline {
32
text-decoration: underline;
33
font-family: underline-far;
34
}
35
</style>
36
</head>
37
<body>
38
    <p>Test passes if the underline on the first line is close to the baseline and far from the baseline on the
39
    second line.</p>
40
    <div class="test"><span class="close_underline">aagaa</span></div>
41
    <div class="test"><span class="far_underline">aagaa</span></div>
42
</body>
43
</html>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-text-decor/text-underline-position-from-font-variable.html +41 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-text-decor/text-underline-position-from-font-variable.html_sec1
1
<!DOCTYPE html>
2
<html>
3
<head>
4
<meta charset="utf-8">
5
<title>CSS Text Decoration Test: text-underline-position respects variable font properties</title>
6
<link rel="help" href="https://drafts.csswg.org/css-text-decor-4/#text-underline-position-property">
7
<meta name="assert" content="text-underline-position from-font respects MVAR table of variable fonts for variable metrics">
8
<link rel="author" title="Dominik Röttsches" href="mailto:drott@chromium.org">
9
<link rel="match" href="reference/text-underline-position-from-font-variable-ref.html">
10
<style>
11
@font-face {
12
font-family: underline-variable;
13
src: url(resources/UnderlineTest-VF.ttf);
14
}
15
16
.test {
17
text-underline-position: from-font;
18
font-size: 64px;
19
line-height: 1.8;
20
}
21
22
.close_underline {
23
text-decoration: underline;
24
font-family: underline-variable, sans-serif;
25
font-variation-settings: 'UNDO' 1;
26
}
27
28
.far_underline {
29
text-decoration: underline;
30
font-family: underline-variable, sans-serif;
31
font-variation-settings: 'UNDO' 1000;
32
}
33
</style>
34
</head>
35
<body>
36
    <p>Test passes if the underline on the first line is close to the baseline and far from the baseline on the
37
    second line.</p>
38
    <div class="test"><span class="close_underline">aagaa</span></div>
39
    <div class="test"><span class="far_underline">aagaa</span></div>
40
</body>
41
</html>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-text-decor/w3c-import.log +22 lines
Lines 49-54 List of files: a/LayoutTests/imported/w3c/web-platform-tests/css/css-text-decor/w3c-import.log_sec1
49
/LayoutTests/imported/w3c/web-platform-tests/css/css-text-decor/text-decoration-skip-ink-003.html
49
/LayoutTests/imported/w3c/web-platform-tests/css/css-text-decor/text-decoration-skip-ink-003.html
50
/LayoutTests/imported/w3c/web-platform-tests/css/css-text-decor/text-decoration-skip-ink-004-expected.html
50
/LayoutTests/imported/w3c/web-platform-tests/css/css-text-decor/text-decoration-skip-ink-004-expected.html
51
/LayoutTests/imported/w3c/web-platform-tests/css/css-text-decor/text-decoration-skip-ink-004.html
51
/LayoutTests/imported/w3c/web-platform-tests/css/css-text-decor/text-decoration-skip-ink-004.html
52
/LayoutTests/imported/w3c/web-platform-tests/css/css-text-decor/text-decoration-skip-ink-005-expected.html
53
/LayoutTests/imported/w3c/web-platform-tests/css/css-text-decor/text-decoration-skip-ink-005.html
52
/LayoutTests/imported/w3c/web-platform-tests/css/css-text-decor/text-decoration-skip-ink-sidewayslr-001-expected.html
54
/LayoutTests/imported/w3c/web-platform-tests/css/css-text-decor/text-decoration-skip-ink-sidewayslr-001-expected.html
53
/LayoutTests/imported/w3c/web-platform-tests/css/css-text-decor/text-decoration-skip-ink-sidewayslr-001.html
55
/LayoutTests/imported/w3c/web-platform-tests/css/css-text-decor/text-decoration-skip-ink-sidewayslr-001.html
54
/LayoutTests/imported/w3c/web-platform-tests/css/css-text-decor/text-decoration-skip-ink-sidewayslr-002-expected.html
56
/LayoutTests/imported/w3c/web-platform-tests/css/css-text-decor/text-decoration-skip-ink-sidewayslr-002-expected.html
Lines 70-79 List of files: a/LayoutTests/imported/w3c/web-platform-tests/css/css-text-decor/w3c-import.log_sec2
70
/LayoutTests/imported/w3c/web-platform-tests/css/css-text-decor/text-decoration-style-multiple.html
72
/LayoutTests/imported/w3c/web-platform-tests/css/css-text-decor/text-decoration-style-multiple.html
71
/LayoutTests/imported/w3c/web-platform-tests/css/css-text-decor/text-decoration-style-recalc-expected.html
73
/LayoutTests/imported/w3c/web-platform-tests/css/css-text-decor/text-decoration-style-recalc-expected.html
72
/LayoutTests/imported/w3c/web-platform-tests/css/css-text-decor/text-decoration-style-recalc.html
74
/LayoutTests/imported/w3c/web-platform-tests/css/css-text-decor/text-decoration-style-recalc.html
75
/LayoutTests/imported/w3c/web-platform-tests/css/css-text-decor/text-decoration-subelements-001-expected.html
76
/LayoutTests/imported/w3c/web-platform-tests/css/css-text-decor/text-decoration-subelements-001.html
77
/LayoutTests/imported/w3c/web-platform-tests/css/css-text-decor/text-decoration-subelements-002-expected.html
78
/LayoutTests/imported/w3c/web-platform-tests/css/css-text-decor/text-decoration-subelements-002.html
79
/LayoutTests/imported/w3c/web-platform-tests/css/css-text-decor/text-decoration-subelements-003-expected.html
80
/LayoutTests/imported/w3c/web-platform-tests/css/css-text-decor/text-decoration-subelements-003.html
73
/LayoutTests/imported/w3c/web-platform-tests/css/css-text-decor/text-decoration-thickness-001-expected.html
81
/LayoutTests/imported/w3c/web-platform-tests/css/css-text-decor/text-decoration-thickness-001-expected.html
74
/LayoutTests/imported/w3c/web-platform-tests/css/css-text-decor/text-decoration-thickness-001.html
82
/LayoutTests/imported/w3c/web-platform-tests/css/css-text-decor/text-decoration-thickness-001.html
75
/LayoutTests/imported/w3c/web-platform-tests/css/css-text-decor/text-decoration-thickness-computed.html
83
/LayoutTests/imported/w3c/web-platform-tests/css/css-text-decor/text-decoration-thickness-computed.html
84
/LayoutTests/imported/w3c/web-platform-tests/css/css-text-decor/text-decoration-thickness-fixed-expected.html
85
/LayoutTests/imported/w3c/web-platform-tests/css/css-text-decor/text-decoration-thickness-fixed.html
86
/LayoutTests/imported/w3c/web-platform-tests/css/css-text-decor/text-decoration-thickness-from-font-variable-expected.html
87
/LayoutTests/imported/w3c/web-platform-tests/css/css-text-decor/text-decoration-thickness-from-font-variable.html
76
/LayoutTests/imported/w3c/web-platform-tests/css/css-text-decor/text-decoration-thickness-initial.html
88
/LayoutTests/imported/w3c/web-platform-tests/css/css-text-decor/text-decoration-thickness-initial.html
89
/LayoutTests/imported/w3c/web-platform-tests/css/css-text-decor/text-decoration-thickness-ink-skip-dilation-expected.html
90
/LayoutTests/imported/w3c/web-platform-tests/css/css-text-decor/text-decoration-thickness-ink-skip-dilation.html
77
/LayoutTests/imported/w3c/web-platform-tests/css/css-text-decor/text-decoration-thickness-invalid.html
91
/LayoutTests/imported/w3c/web-platform-tests/css/css-text-decor/text-decoration-thickness-invalid.html
78
/LayoutTests/imported/w3c/web-platform-tests/css/css-text-decor/text-decoration-thickness-linethrough-001-expected.html
92
/LayoutTests/imported/w3c/web-platform-tests/css/css-text-decor/text-decoration-thickness-linethrough-001-expected.html
79
/LayoutTests/imported/w3c/web-platform-tests/css/css-text-decor/text-decoration-thickness-linethrough-001.html
93
/LayoutTests/imported/w3c/web-platform-tests/css/css-text-decor/text-decoration-thickness-linethrough-001.html
Lines 162-168 List of files: a/LayoutTests/imported/w3c/web-platform-tests/css/css-text-decor/w3c-import.log_sec3
162
/LayoutTests/imported/w3c/web-platform-tests/css/css-text-decor/text-underline-offset-scroll-001-expected.html
176
/LayoutTests/imported/w3c/web-platform-tests/css/css-text-decor/text-underline-offset-scroll-001-expected.html
163
/LayoutTests/imported/w3c/web-platform-tests/css/css-text-decor/text-underline-offset-scroll-001.html
177
/LayoutTests/imported/w3c/web-platform-tests/css/css-text-decor/text-underline-offset-scroll-001.html
164
/LayoutTests/imported/w3c/web-platform-tests/css/css-text-decor/text-underline-offset-valid.html
178
/LayoutTests/imported/w3c/web-platform-tests/css/css-text-decor/text-underline-offset-valid.html
179
/LayoutTests/imported/w3c/web-platform-tests/css/css-text-decor/text-underline-offset-variable-expected.html
180
/LayoutTests/imported/w3c/web-platform-tests/css/css-text-decor/text-underline-offset-variable.html
165
/LayoutTests/imported/w3c/web-platform-tests/css/css-text-decor/text-underline-offset-vertical-001-expected.html
181
/LayoutTests/imported/w3c/web-platform-tests/css/css-text-decor/text-underline-offset-vertical-001-expected.html
166
/LayoutTests/imported/w3c/web-platform-tests/css/css-text-decor/text-underline-offset-vertical-001.html
182
/LayoutTests/imported/w3c/web-platform-tests/css/css-text-decor/text-underline-offset-vertical-001.html
167
/LayoutTests/imported/w3c/web-platform-tests/css/css-text-decor/text-underline-offset-vertical-002-expected.html
183
/LayoutTests/imported/w3c/web-platform-tests/css/css-text-decor/text-underline-offset-vertical-002-expected.html
168
/LayoutTests/imported/w3c/web-platform-tests/css/css-text-decor/text-underline-offset-vertical-002.html
184
/LayoutTests/imported/w3c/web-platform-tests/css/css-text-decor/text-underline-offset-vertical-002.html
185
/LayoutTests/imported/w3c/web-platform-tests/css/css-text-decor/text-underline-position-001a-expected.html
186
/LayoutTests/imported/w3c/web-platform-tests/css/css-text-decor/text-underline-position-001a.html
187
/LayoutTests/imported/w3c/web-platform-tests/css/css-text-decor/text-underline-position-001b-expected.html
188
/LayoutTests/imported/w3c/web-platform-tests/css/css-text-decor/text-underline-position-001b.html
189
/LayoutTests/imported/w3c/web-platform-tests/css/css-text-decor/text-underline-position-from-font-variable-expected.html
190
/LayoutTests/imported/w3c/web-platform-tests/css/css-text-decor/text-underline-position-from-font-variable.html
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-transitions/CSSTransition-currentTime.tentative-expected.txt +1 lines
Lines 3-6 PASS currentTime can be used to seek a CSS transition a/LayoutTests/imported/w3c/web-platform-tests/css/css-transitions/CSSTransition-currentTime.tentative-expected.txt_sec1
3
PASS Skipping forwards through transition 
3
PASS Skipping forwards through transition 
4
PASS Skipping backwards through transition 
4
PASS Skipping backwards through transition 
5
PASS Setting currentTime to null on a CSS transition throws 
5
PASS Setting currentTime to null on a CSS transition throws 
6
FAIL Transition reversing behavior respects currentTime and uses the transition's current position. assert_approx_equals: The reversed transition has correctly reduced duration expected 31535.681250589303 +/- 1 but got 100000
6
7
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-transitions/CSSTransition-currentTime.tentative.html +35 lines
Lines 107-110 promise_test(async t => { a/LayoutTests/imported/w3c/web-platform-tests/css/css-transitions/CSSTransition-currentTime.tentative.html_sec1
107
  );
107
  );
108
}, 'Setting currentTime to null on a CSS transition throws');
108
}, 'Setting currentTime to null on a CSS transition throws');
109
109
110
test(t => {
111
  const div = addDiv(t);
112
113
  div.style.left = '0px';
114
  getComputedStyle(div).transitionProperty;
115
  div.style.transition = 'left 100s ease-in';
116
  div.style.left = '100px';
117
118
  const transition = div.getAnimations()[0];
119
120
  // Seek to the middle. Note, this is not equivalent to 50% progress since the
121
  // timing-function is non-linear.
122
  transition.currentTime = 50 * MS_PER_SEC;
123
  const portion = transition.effect.getComputedTiming().progress;
124
125
  // Reverse the transition.
126
  div.style.left = '0px';
127
  const reversedTransition = div.getAnimations()[0];
128
129
  // If the transition reversing behavior does not advance the previous
130
  // transition to the time set by currentTime, start and end values will both
131
  // be 0px and no transition will be produced.
132
  assert_not_equals(reversedTransition, undefined,
133
                    "A reversed transition is produced");
134
135
  const expectedDuration = 100 * MS_PER_SEC * portion;
136
  assert_approx_equals(
137
    reversedTransition.effect.getComputedTiming().activeDuration,
138
    expectedDuration,
139
    1,
140
    "The reversed transition has correctly reduced duration"
141
  );
142
}, "Transition reversing behavior respects currentTime and uses the " +
143
   "transition's current position.");
144
110
</script>
145
</script>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-transitions/CSSTransition-effect.tentative-expected.txt -1 / +3 lines
Lines 2-10 a/LayoutTests/imported/w3c/web-platform-tests/css/css-transitions/CSSTransition-effect.tentative-expected.txt_sec1
2
PASS After setting a transition's effect to null, it still reports the original transition property 
2
PASS After setting a transition's effect to null, it still reports the original transition property 
3
PASS After setting a transition's effect to null, it becomes finished 
3
PASS After setting a transition's effect to null, it becomes finished 
4
PASS After setting a transition's effect to null, style is updated 
4
PASS After setting a transition's effect to null, style is updated 
5
PASS After setting a transition's effect to null, a new transition can be started 
5
FAIL After setting a transition's effect to null, a new transition can be started assert_equals: expected "100px" but got "0px"
6
PASS After setting a transition's effect to null, it should be possible to interrupt that transition 
6
PASS After setting a transition's effect to null, it should be possible to interrupt that transition 
7
PASS After setting a new keyframe effect with a shorter duration, the transition becomes finished 
7
PASS After setting a new keyframe effect with a shorter duration, the transition becomes finished 
8
PASS After setting a new keyframe effect targeting different properties, the transition continues to report the original transition property 
8
PASS After setting a new keyframe effect targeting different properties, the transition continues to report the original transition property 
9
PASS After setting a new keyframe effect on a play-pending transition, the transition remains pending 
9
PASS After setting a new keyframe effect on a play-pending transition, the transition remains pending 
10
PASS A transition with no effect still returns the original transitionProperty 
11
FAIL A transition with a replaced effect still exhibits the regular transition reversing behavior assert_approx_equals: expected 80240.33876954127 +/- 1 but got 100000
10
12
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-transitions/CSSTransition-effect.tentative.html -2 / +49 lines
Lines 90-96 promise_test(async t => { a/LayoutTests/imported/w3c/web-platform-tests/css/css-transitions/CSSTransition-effect.tentative.html_sec1
90
  const new_transition = div.getAnimations()[0];
90
  const new_transition = div.getAnimations()[0];
91
  await new_transition.ready;
91
  await new_transition.ready;
92
92
93
  assert_equals(getComputedStyle(div).left, '0px');
93
  assert_equals(getComputedStyle(div).left, '100px');
94
}, 'After setting a transition\'s effect to null, a new transition can be started');
94
}, 'After setting a transition\'s effect to null, a new transition can be started');
95
95
96
// This is a regression test for https://crbug.com/992668, where Chromium would
96
// This is a regression test for https://crbug.com/992668, where Chromium would
Lines 179-185 promise_test(async t => { a/LayoutTests/imported/w3c/web-platform-tests/css/css-transitions/CSSTransition-effect.tentative.html_sec2
179
  transition.effect = new KeyframeEffect(div,
179
  transition.effect = new KeyframeEffect(div,
180
                                         { marginLeft: [ '0px' , '100px'] },
180
                                         { marginLeft: [ '0px' , '100px'] },
181
                                         100 * MS_PER_SEC);
181
                                         100 * MS_PER_SEC);
182
  assert_equals(transition.transitionProperty, 'left');
183
  assert_true(transition.pending);
182
  assert_true(transition.pending);
184
183
185
  // As a sanity check, check that the transition actually exits the
184
  // As a sanity check, check that the transition actually exits the
Lines 189-192 promise_test(async t => { a/LayoutTests/imported/w3c/web-platform-tests/css/css-transitions/CSSTransition-effect.tentative.html_sec3
189
}, 'After setting a new keyframe effect on a play-pending transition,'
188
}, 'After setting a new keyframe effect on a play-pending transition,'
190
   + ' the transition remains pending');
189
   + ' the transition remains pending');
191
190
191
test(t => {
192
  const div = addDiv(t);
193
194
  div.style.left = '0px';
195
  getComputedStyle(div).transitionProperty;
196
  div.style.transition = 'left 100s';
197
  div.style.left = '100px';
198
199
  const transition = div.getAnimations()[0];
200
  transition.effect = null;
201
202
  assert_equals(transition.transitionProperty, 'left');
203
}, 'A transition with no effect still returns the original transitionProperty');
204
205
test(t => {
206
  const div = addDiv(t);
207
208
  div.style.left = '0px';
209
  getComputedStyle(div).transitionProperty;
210
  div.style.transition = 'left 100s';
211
  div.style.left = '100px';
212
213
  const transition = div.getAnimations()[0];
214
215
  // Seek to the middle and get the portion.
216
  transition.currentTime = 50 * MS_PER_SEC;
217
  const portion = transition.effect.getComputedTiming().progress;
218
219
  // Replace the effect but keep the original timing
220
  transition.effect = new KeyframeEffect(
221
    div,
222
    { top: ['200px', '300px', '100px'] },
223
    transition.effect.getTiming()
224
  );
225
226
  // Reverse the transition
227
  div.style.left = '0px';
228
  const reversedTransition = div.getAnimations()[0];
229
230
  const expectedDuration = 100 * MS_PER_SEC * portion;
231
  assert_approx_equals(
232
    reversedTransition.effect.getComputedTiming().activeDuration,
233
    expectedDuration,
234
    1
235
  );
236
}, 'A transition with a replaced effect still exhibits the regular transition'
237
   + ' reversing behavior');
238
192
</script>
239
</script>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-transitions/Document-getAnimations.tentative-expected.txt +3 lines
Lines 1-6 a/LayoutTests/imported/w3c/web-platform-tests/css/css-transitions/Document-getAnimations.tentative-expected.txt_sec1
1
1
2
PASS getAnimations for non-animated content 
2
PASS getAnimations for non-animated content 
3
PASS getAnimations for CSS Transitions 
3
PASS getAnimations for CSS Transitions 
4
PASS getAnimations for CSS Transitions sort by property name 
5
PASS getAnimations for CSS Transitions sort by transition generation 
4
PASS CSS Transitions targetting (pseudo-)elements should have correct order after sorting 
6
PASS CSS Transitions targetting (pseudo-)elements should have correct order after sorting 
7
FAIL CSS Transitions targetting (pseudo-)elements should have correct order after sorting (::marker) assert_equals: CSS transition on both pseudo-elements and elements are returned expected 5 but got 4
5
PASS Transitions are not returned after they have finished 
8
PASS Transitions are not returned after they have finished 
6
9
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-transitions/Document-getAnimations.tentative.html -84 / +140 lines
Lines 36-128 test(t => { a/LayoutTests/imported/w3c/web-platform-tests/css/css-transitions/Document-getAnimations.tentative.html_sec1
36
}, 'getAnimations for CSS Transitions');
36
}, 'getAnimations for CSS Transitions');
37
37
38
test(t => {
38
test(t => {
39
  // Create two divs with the following arrangement:
39
  const div = addDiv(t);
40
  //
40
41
  //       parent
41
  // Add a couple of transitions
42
  //    (::marker,)
42
  div.style.top = '0px';
43
  //     ::before,
43
  div.style.left = '0px';
44
  //     ::after
44
  getComputedStyle(div).transitionProperty;
45
  //        |
45
46
  //       child
46
  div.style.transition = 'all 100s';
47
47
  div.style.top = '100px';
48
  addStyle(t, {
48
  div.style.left = '100px';
49
    '.init::after': 'content: ""; width: 0px; transition: all 100s;',
49
50
    '.init::before': 'content: ""; width: 0px; transition: all 100s;',
50
  var animations = document.getAnimations();
51
    '.change::after': 'width: 100px;',
51
  assert_equals(animations.length, 2,
52
    '.change::before': 'width: 100px;',
52
                'getAnimations returns two running CSS Transitions');
53
  });
53
  assert_equals(animations[0].transitionProperty, 'left');
54
54
  assert_equals(animations[1].transitionProperty, 'top');
55
  const supportsMarkerPseudos = CSS.supports('selector(::marker)');
55
}, 'getAnimations for CSS Transitions sort by property name');
56
  if (supportsMarkerPseudos) {
56
57
promise_test(async t => {
58
  const div = addDiv(t);
59
60
  // Add a couple of transitions
61
  div.style.top = '0px';
62
  div.style.left = '0px';
63
  getComputedStyle(div).transitionProperty;
64
65
  div.style.transition = 'all 100s';
66
  div.style.top = '100px';
67
  div.style.left = '100px';
68
69
  var animations = document.getAnimations();
70
  assert_equals(animations.length, 2,
71
                'getAnimations returns two running CSS Transitions');
72
  assert_equals(animations[0].transitionProperty, 'left');
73
  assert_equals(animations[1].transitionProperty, 'top');
74
75
  // Add one more transition. As the previous call to getAnimations triggered a
76
  // style change, the new animation is in a higher transition generation even
77
  // though no frame was rendered for the previous transitions.
78
  div.style.opacity = '1'
79
  div.style.transition = 'all 100s';
80
  div.style.opacity = '0'
81
  animations = document.getAnimations();
82
  assert_equals(animations.length, 3,
83
                'getAnimations returns three running CSS Transitions');
84
  assert_equals(animations[0].transitionProperty, 'left', '1');
85
  assert_equals(animations[1].transitionProperty, 'top', '2');
86
  assert_equals(animations[2].transitionProperty, 'opacity', '3');
87
}, 'getAnimations for CSS Transitions sort by transition generation');
88
89
function pseudoTest(description, testMarkerPseudos) {
90
  test(t => {
91
    // Create two divs with the following arrangement:
92
    //
93
    //       parent
94
    //    (::marker,) // Optionally
95
    //     ::before,
96
    //     ::after
97
    //        |
98
    //       child
99
57
    addStyle(t, {
100
    addStyle(t, {
58
      '.init::marker': 'content: ""; color: red; transition: all 100s;',
101
      '.init::after': 'content: ""; width: 0px; transition: all 100s;',
59
      '.change::marker': 'color: green;',
102
      '.init::before': 'content: ""; width: 0px; transition: all 100s;',
103
      '.change::after': 'width: 100px;',
104
      '.change::before': 'width: 100px;',
60
    });
105
    });
61
  }
106
62
107
    if (testMarkerPseudos) {
63
  const parent = addDiv(t, { 'style': 'display: list-item' });
108
      addStyle(t, {
64
  const child = addDiv(t);
109
        '.init::marker': 'content: ""; color: red; transition: all 100s;',
65
  parent.appendChild(child);
110
        '.change::marker': 'color: green;',
66
111
      });
67
  parent.style.left = '0px';
112
    }
68
  parent.style.transition = 'left 100s';
113
69
  parent.classList.add('init');
114
    const parent = addDiv(t, { 'style': 'display: list-item' });
70
  child.style.left = '0px';
115
    const child = addDiv(t);
71
  child.style.transition = 'left 100s';
116
    parent.appendChild(child);
72
  getComputedStyle(parent).left;
117
73
118
    parent.style.left = '0px';
74
  parent.style.left = '100px';
119
    parent.style.transition = 'left 100s';
75
  parent.classList.add('change');
120
    parent.classList.add('init');
76
  child.style.left = '100px';
121
    child.style.left = '0px';
77
122
    child.style.transition = 'left 100s';
78
  const expectedTransitions = [
123
    getComputedStyle(parent).left;
79
    [parent, undefined],
124
80
    [parent, '::marker'],
125
    parent.style.left = '100px';
81
    [parent, '::before'],
126
    parent.classList.add('change');
82
    [parent, '::after'],
127
    child.style.left = '100px';
83
    [child, undefined],
128
84
  ];
129
    const expectedTransitions = [
85
  if (!supportsMarkerPseudos) {
130
      [parent, undefined],
86
    expectedTransitions.splice(1, 1);
131
      [parent, '::marker'],
87
  }
132
      [parent, '::before'],
88
133
      [parent, '::after'],
89
  const transitions = document.getAnimations();
134
      [child, undefined],
90
  assert_equals(
135
    ];
91
    transitions.length,
136
    if (!testMarkerPseudos) {
92
    expectedTransitions.length,
137
      expectedTransitions.splice(1, 1);
93
    'CSS transition on both pseudo-elements and elements are returned'
138
    }
94
  );
139
95
140
    const transitions = document.getAnimations();
96
  for (const [index, expected] of expectedTransitions.entries()) {
141
    assert_equals(
97
    const [element, pseudo] = expected;
142
      transitions.length,
98
    const actual = transitions[index];
143
      expectedTransitions.length,
99
144
      'CSS transition on both pseudo-elements and elements are returned'
100
    if (pseudo) {
145
    );
101
      assert_equals(
146
102
        actual.effect.target,
147
    for (const [index, expected] of expectedTransitions.entries()) {
103
        element,
148
      const [element, pseudo] = expected;
104
        `Transition #${index + 1} has expected target`
149
      const actual = transitions[index];
105
      );
150
106
      assert_equals(
151
      if (pseudo) {
107
        actual.effect.pseudoElement,
152
        assert_equals(
108
        pseudo,
153
          actual.effect.target,
109
        `Transition #${index + 1} has expected pseudo type`
154
          element,
110
      );
155
          `Transition #${index + 1} has expected target`
111
    } else {
156
        );
112
      assert_equals(
157
        assert_equals(
113
        actual.effect.target,
158
          actual.effect.pseudoElement,
114
        element,
159
          pseudo,
115
        `Transition #${index + 1} has expected target`
160
          `Transition #${index + 1} has expected pseudo type`
116
      );
161
        );
117
      assert_equals(
162
      } else {
118
        actual.effect.pseudoElement,
163
        assert_equals(
119
        null,
164
          actual.effect.target,
120
        `Transition #${index + 1} has null pseudo type`
165
          element,
121
      );
166
          `Transition #${index + 1} has expected target`
167
        );
168
        assert_equals(
169
          actual.effect.pseudoElement,
170
          null,
171
          `Transition #${index + 1} has null pseudo type`
172
        );
173
      }
122
    }
174
    }
123
  }
175
  }, description);
124
}, 'CSS Transitions targetting (pseudo-)elements should have correct order '
176
}
125
   + 'after sorting');
177
178
pseudoTest('CSS Transitions targetting (pseudo-)elements should have correct '
179
     + 'order after sorting', false)
180
pseudoTest('CSS Transitions targetting (pseudo-)elements should have correct '
181
     + 'order after sorting (::marker)', true)
126
182
127
promise_test(async t => {
183
promise_test(async t => {
128
  const div = addDiv(t, { style: 'left: 0px; transition: all 50ms' });
184
  const div = addDiv(t, { style: 'left: 0px; transition: all 50ms' });
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-transitions/KeyframeEffect-getKeyframes.tentative-expected.txt +1 lines
Lines 2-5 a/LayoutTests/imported/w3c/web-platform-tests/css/css-transitions/KeyframeEffect-getKeyframes.tentative-expected.txt_sec1
2
PASS KeyframeEffect.getKeyframes() returns expected frames for a simple transition 
2
PASS KeyframeEffect.getKeyframes() returns expected frames for a simple transition 
3
PASS KeyframeEffect.getKeyframes() returns frames unaffected by a non-default easing function 
3
PASS KeyframeEffect.getKeyframes() returns frames unaffected by a non-default easing function 
4
PASS KeyframeEffect.getKeyframes() returns expected frames for a transition with a CSS variable endpoint 
4
PASS KeyframeEffect.getKeyframes() returns expected frames for a transition with a CSS variable endpoint 
5
PASS KeyframeEffect.getKeyframes() returns expected frames for a transition after resetting the effect target 
5
6
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-transitions/KeyframeEffect-getKeyframes.tentative.html +35 lines
Lines 131-134 test(t => { a/LayoutTests/imported/w3c/web-platform-tests/css/css-transitions/KeyframeEffect-getKeyframes.tentative.html_sec1
131
}, 'KeyframeEffect.getKeyframes() returns expected frames for a'
131
}, 'KeyframeEffect.getKeyframes() returns expected frames for a'
132
   + ' transition with a CSS variable endpoint');
132
   + ' transition with a CSS variable endpoint');
133
133
134
test(t => {
135
  const div = addDiv(t);
136
  div.style.left = '0px';
137
  getComputedStyle(div).transitionProperty;
138
  div.style.transition = 'left 100s';
139
  div.style.left = '100px';
140
141
  // Resetting the effect target before retrieving the keyframes should not
142
  // affect the computed property values.
143
  const anim = div.getAnimations()[0];
144
  anim.effect.target = null;
145
  const frames = anim.effect.getKeyframes();
146
147
  const expected = [
148
    {
149
      offset: 0,
150
      computedOffset: 0,
151
      easing: 'linear',
152
      composite: 'auto',
153
      left: '0px',
154
    },
155
    {
156
      offset: 1,
157
      computedOffset: 1,
158
      easing: 'linear',
159
      composite: 'auto',
160
      left: '100px',
161
    },
162
  ];
163
  for (let i = 0; i < frames.length; i++) {
164
    assert_frames_equal(frames[i], expected[i], `ComputedKeyframe #${i}`);
165
  }
166
}, 'KeyframeEffect.getKeyframes() returns expected frames for a'
167
   + ' transition after resetting the effect target');
168
134
</script>
169
</script>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-transitions/KeyframeEffect-setKeyframes.tentative-expected.txt +10 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-transitions/KeyframeEffect-setKeyframes.tentative-expected.txt_sec1
1
2
FAIL Keyframes set using setKeyframes() are reflected in computed style for a running transition assert_equals: expected "200px" but got "0px"
3
PASS A transition with replaced keyframes still returns the original transitionProperty 
4
PASS A transition with no keyframes still returns the original transitionProperty 
5
FAIL A transition with replaced keyframes animating the same property still exhibits normal reversing behavior. assert_approx_equals: The reversed transition has correctly reduced duration expected 50000 +/- 1 but got 100000
6
FAIL A transition with replaced keyframes animating a different property still exhibits normal reversing behavior  (reversing from the base value). undefined is not an object (evaluating 'reversedTransition.effect')
7
FAIL A transition with replaced keyframes animating nothing still exhibits normal reversing behavior (reversing from the base value). undefined is not an object (evaluating 'reversedTransition.effect')
8
FAIL A transition with replaced keyframes animating nothing on a property being controlled by another modified transition exhibits normal reversing behavior and reverses from the other transition's current value. assert_approx_equals: The reversed transition has correctly reduced duration (based on the original left transition). expected 50000 +/- 1 but got 100000
9
FAIL A transition with replaced kefyrames and composite 'add' exhibits normal reversing behavior, and the effect is not double counted when calculating the before change style assert_equals: The computed style is based on the updated keyframes expected "175px" but got "75px"
10
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-transitions/KeyframeEffect-setKeyframes.tentative.html +177 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-transitions/KeyframeEffect-setKeyframes.tentative.html_sec1
1
<!doctype html>
2
<meta charset=utf-8>
3
<title>KeyframeEffect.setKeyframes() for CSS transitions</title>
4
<!-- TODO: Add a more specific link for this once it is specified. -->
5
<link rel="help" href="https://drafts.csswg.org/css-transitions-2/#csstransition">
6
<script src="/resources/testharness.js"></script>
7
<script src="/resources/testharnessreport.js"></script>
8
<script src="support/helper.js"></script>
9
<div id="log"></div>
10
<script>
11
'use strict';
12
13
test(t => {
14
  const div = addDiv(t);
15
16
  div.style.left = '0px';
17
  getComputedStyle(div).transitionProperty;
18
  div.style.transition = 'left 100s';
19
  div.style.left = '100px';
20
21
  const transition = div.getAnimations()[0];
22
  transition.effect.setKeyframes({ left: ['200px', '300px', '100px'] });
23
24
  assert_equals(getComputedStyle(div).left, '200px');
25
}, 'Keyframes set using setKeyframes() are reflected in computed style for'
26
   + ' a running transition');
27
28
test(t => {
29
  const div = addDiv(t);
30
31
  div.style.left = '0px';
32
  getComputedStyle(div).transitionProperty;
33
  div.style.transition = 'left 100s';
34
  div.style.left = '100px';
35
36
  const transition = div.getAnimations()[0];
37
  transition.effect.setKeyframes({ top: ['0px', '100px', '300px'] });
38
39
  assert_equals(transition.transitionProperty, 'left');
40
}, 'A transition with replaced keyframes still returns the original'
41
   + ' transitionProperty');
42
43
test(t => {
44
  const div = addDiv(t);
45
46
  div.style.left = '0px';
47
  getComputedStyle(div).transitionProperty;
48
  div.style.transition = 'left 100s';
49
  div.style.left = '100px';
50
51
  const transition = div.getAnimations()[0];
52
  transition.effect.setKeyframes({ });
53
54
  assert_equals(transition.transitionProperty, 'left');
55
}, 'A transition with no keyframes still returns the original'
56
   + ' transitionProperty');
57
58
function retarget_test(description, newKeyframes, reversed_start) {
59
  test(t => {
60
    const div = addDiv(t);
61
62
    div.style.left = '0px';
63
    getComputedStyle(div).transitionProperty;
64
    div.style.transition = 'left 100s linear';
65
    div.style.left = '100px';
66
67
    const transition = div.getAnimations()[0];
68
    transition.currentTime = 50 * MS_PER_SEC;
69
    transition.effect.setKeyframes(newKeyframes);
70
71
    // Reverse transition
72
    div.style.left = '0px';
73
    const reversedTransition = div.getAnimations()[0];
74
75
    assert_approx_equals(
76
      reversedTransition.effect.getComputedTiming().activeDuration,
77
      50 * MS_PER_SEC, 1,
78
      "The reversed transition has correctly reduced duration"
79
    );
80
    assert_equals(reversedTransition.effect.getKeyframes()[0].left, reversed_start,
81
        "The reversed transition starts at the expected point");
82
  },  description);
83
}
84
85
retarget_test("A transition with replaced keyframes animating the same property " +
86
    "still exhibits normal reversing behavior.",
87
    {left: ['200px', '300px', '100px']}, '300px');
88
89
retarget_test("A transition with replaced keyframes animating a different property " +
90
    "still exhibits normal reversing behavior  (reversing from the base value).",
91
    {top: ['200px', '300px', '100px']}, '100px');
92
93
retarget_test("A transition with replaced keyframes animating nothing " +
94
    "still exhibits normal reversing behavior (reversing from the base value).",
95
    {}, '100px');
96
97
test(t => {
98
  const div = addDiv(t);
99
100
  // Initialize the style.
101
  div.style.left = '100px';
102
  div.style.top = '100px';
103
  div.style.transition = 'left 100s linear, top 100s linear';
104
  getComputedStyle(div).left;
105
106
  // Start some transitions.
107
  div.style.left ='200px';
108
  div.style.top = '200px';
109
  const transitions = div.getAnimations();
110
111
  // Hand control of the left property over to top's transition. The composite
112
  // ordering of the animations is 'left' then 'top' since the transitions were
113
  // generated in the same transition generation and follow Unicode ordering.
114
  assert_equals(transitions[0].transitionProperty, 'left');
115
  transitions[0].effect.setKeyframes({});
116
  transitions[1].effect.setKeyframes([
117
    {left: '100px', top: '100px'},
118
    {left: '400px', top: '200px'}])
119
  getComputedStyle(div).left;
120
121
  // These updates form a single style change, equivalent to setting times and
122
  // then setting left.
123
  transitions[0].currentTime = 50 * MS_PER_SEC;
124
  div.style.left ='100px';
125
  transitions[1].currentTime = 60 * MS_PER_SEC;
126
127
  // As there was a style change event, the new 'left' transition now has a
128
  // higher value for the transition generation than the 'top' transition,
129
  // reversing the order of the transitions returned by getAnimations.
130
  const reversedTransition = div.getAnimations()[1];
131
  assert_equals(reversedTransition.transitionProperty, 'left',
132
      "A reversed transition on left is produced");
133
134
  assert_approx_equals(
135
      reversedTransition.effect.getComputedTiming().activeDuration,
136
      50 * MS_PER_SEC, 1,
137
      "The reversed transition has correctly reduced duration (based on the " +
138
      "original left transition).");
139
140
  assert_equals(reversedTransition.effect.getKeyframes()[0].left, '280px',
141
      "The reversed transition gets its start value from the other " +
142
      "transition controlling left");
143
144
},  "A transition with replaced keyframes animating nothing on a property " +
145
    "being controlled by another modified transition exhibits normal " +
146
    "reversing behavior and reverses from the other transition's current " +
147
    "value.");
148
149
test(t => {
150
  const div = addDiv(t);
151
152
  // Initialize the style.
153
  div.style.left = '100px';
154
  div.style.transition = 'left 100s linear';
155
  getComputedStyle(div).left;
156
157
  // Start the transtion.
158
  div.style.left ='200px';
159
  const transition = div.getAnimations()[0];
160
161
  // Update the keyframes and advance to the midpoint of the animation.
162
  transition.effect.setKeyframes([
163
    { offset: 0, left: '-50px', composite: 'add', easing: 'linear'}]);
164
  transition.currentTime = 50 * MS_PER_SEC;
165
  assert_equals(getComputedStyle(div).left, '175px',
166
                'The computed style is based on the updated keyframes');
167
168
  div.style.left = '100px';
169
  const reversedTransition = div.getAnimations()[0];
170
  assert_equals(reversedTransition.effect.getKeyframes()[0].left, '175px',
171
                'The start value matches the \'before change\' value');
172
173
}, 'A transition with replaced kefyrames and composite \'add\' exhibits ' +
174
   'normal reversing behavior, and the effect is not double counted when ' +
175
   'calculating the before change style');
176
177
</script>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-transitions/event-dispatch.tentative.html -1 / +1 lines
Lines 302-308 promise_test(async t => { a/LayoutTests/imported/w3c/web-platform-tests/css/css-transitions/event-dispatch.tentative.html_sec1
302
  // because mutating CSS transitions is not specced yet.
302
  // because mutating CSS transitions is not specced yet.
303
  transition.effect = new KeyframeEffect(
303
  transition.effect = new KeyframeEffect(
304
    div,
304
    div,
305
    { marginleft: ['0px', '100px'] },
305
    { marginLeft: ['0px', '100px'] },
306
    {
306
    {
307
      duration: 100 * MS_PER_SEC,
307
      duration: 100 * MS_PER_SEC,
308
      endDelay: -50 * MS_PER_SEC,
308
      endDelay: -50 * MS_PER_SEC,
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-transitions/historical.html -1 / +1 lines
Lines 1-7 a/LayoutTests/imported/w3c/web-platform-tests/css/css-transitions/historical.html_sec1
1
<!DOCTYPE html>
1
<!DOCTYPE html>
2
2
3
<title>Historical CSS Transition features must be removed</title>
3
<title>Historical CSS Transition features must be removed</title>
4
<link rel="help" href="http://www.w3.org/TR/css3-transitions">
4
<link rel="help" href="http://www.w3.org/TR/css3-transitions-1/#starting">
5
5
6
<script src="/resources/testharness.js"></script>
6
<script src="/resources/testharness.js"></script>
7
<script src="/resources/testharnessreport.js"></script>
7
<script src="/resources/testharnessreport.js"></script>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-transitions/non-rendered-element-002-expected.txt -1 lines
Lines 2-6 a/LayoutTests/imported/w3c/web-platform-tests/css/css-transitions/non-rendered-element-002-expected.txt_sec1
2
Harness Error (TIMEOUT), message = null
2
Harness Error (TIMEOUT), message = null
3
3
4
TIMEOUT Transitions on ::before/::after pseudo-elements are canceled when the content property is cleared Test timed out
4
TIMEOUT Transitions on ::before/::after pseudo-elements are canceled when the content property is cleared Test timed out
5
NOTRUN Transitions on ::marker pseudo-elements are canceled when the parent display type is no longer list-item 
6
5
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-transitions/non-rendered-element-002.html -33 lines
Lines 51-89 promise_test(async t => { a/LayoutTests/imported/w3c/web-platform-tests/css/css-transitions/non-rendered-element-002.html_sec1
51
}, 'Transitions on ::before/::after pseudo-elements are canceled when the'
51
}, 'Transitions on ::before/::after pseudo-elements are canceled when the'
52
   + ' content property is cleared');
52
   + ' content property is cleared');
53
53
54
promise_test(async t => {
55
  if (!CSS.supports('selector(::marker)')) {
56
    return;
57
  }
58
59
  addStyle(t, {
60
    '.init::marker': 'content: ""; color: red; transition: color 100s;',
61
    '.change::marker': 'color: green',
62
  });
63
64
  // Create element (and pseudo-element) and attach event listeners
65
  const div = addDiv(t, { 'style': 'display: list-item' });
66
  div.classList.add('init');
67
68
  const eventWatcher = new EventWatcher(t, div, [
69
    'transitionrun',
70
    'transitioncancel',
71
  ]);
72
73
  // Trigger transition
74
  getComputedStyle(div).color;
75
  div.classList.add('change');
76
  getComputedStyle(div).color;
77
78
  await eventWatcher.wait_for('transitionrun');
79
80
  // Make the parent element no longer display: list-item so that the pseudo
81
  // element no longer renders
82
  div.style.display = 'block';
83
84
  await eventWatcher.wait_for('transitioncancel');
85
}, 'Transitions on ::marker pseudo-elements are canceled when the'
86
   + ' parent display type is no longer list-item');
87
</script>
54
</script>
88
55
89
</body>
56
</body>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-transitions/non-rendered-element-004.tentative-expected.txt +5 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-transitions/non-rendered-element-004.tentative-expected.txt_sec1
1
2
Harness Error (TIMEOUT), message = null
3
4
TIMEOUT Transitions on ::marker pseudo-elements are canceled when the parent display type is no longer list-item Test timed out
5
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-transitions/non-rendered-element-004.tentative.html +51 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-transitions/non-rendered-element-004.tentative.html_sec1
1
<!doctype html>
2
<html>
3
<head>
4
<meta charset=utf-8>
5
<title>CSS Transitions Test: Transitions do not run for a ::marker-element that is not being rendered</title>
6
<link rel="help" title="Starting transitions"
7
  href="https://drafts.csswg.org/css-transitions/#starting">
8
9
<script src="/resources/testharness.js" type="text/javascript"></script>
10
<script src="/resources/testharnessreport.js" type="text/javascript"></script>
11
<script src="./support/helper.js" type="text/javascript"></script>
12
13
</head>
14
<body>
15
<div id="log"></div>
16
17
<script>
18
19
promise_test(async t => {
20
  addStyle(t, {
21
    '.init::marker': 'content: ""; color: red; transition: color 100s;',
22
    '.change::marker': 'color: green',
23
  });
24
25
  // Create element (and pseudo-element) and attach event listeners
26
  const div = addDiv(t, { 'style': 'display: list-item' });
27
  div.classList.add('init');
28
29
  const eventWatcher = new EventWatcher(t, div, [
30
    'transitionrun',
31
    'transitioncancel',
32
  ]);
33
34
  // Trigger transition
35
  getComputedStyle(div).color;
36
  div.classList.add('change');
37
  getComputedStyle(div).color;
38
39
  await eventWatcher.wait_for('transitionrun');
40
41
  // Make the parent element no longer display: list-item so that the pseudo
42
  // element no longer renders
43
  div.style.display = 'block';
44
45
  await eventWatcher.wait_for('transitioncancel');
46
}, 'Transitions on ::marker pseudo-elements are canceled when the'
47
   + ' parent display type is no longer list-item');
48
</script>
49
50
</body>
51
</html>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-transitions/properties-value-001.html -2 / +2 lines
Lines 5-12 a/LayoutTests/imported/w3c/web-platform-tests/css/css-transitions/properties-value-001.html_sec1
5
        <title>CSS Transitions Test: Intermediate Property Values</title>
5
        <title>CSS Transitions Test: Intermediate Property Values</title>
6
        <meta name="timeout" content="long">
6
        <meta name="timeout" content="long">
7
        <meta name="assert" content="Test checks that value ranges between start and end while transitioning">
7
        <meta name="assert" content="Test checks that value ranges between start and end while transitioning">
8
        <link rel="help" title="2. Transitions" href="http://www.w3.org/TR/css3-transitions/#transitions">
8
        <link rel="help" href="http://www.w3.org/TR/css3-transitions/#transitions">
9
        <link rel="help" title="7.1. Properties from CSS" href="http://www.w3.org/TR/css3-transitions/#animatable-css">
9
        <link rel="help" href="https://drafts.csswg.org/web-animations-1/#animation-type">
10
        <link rel="author" title="Rodney Rehm" href="http://rodneyrehm.de/en/">
10
        <link rel="author" title="Rodney Rehm" href="http://rodneyrehm.de/en/">
11
        <meta name="flags" content="dom">
11
        <meta name="flags" content="dom">
12
12
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-transitions/properties-value-002.html -2 / +2 lines
Lines 4-11 a/LayoutTests/imported/w3c/web-platform-tests/css/css-transitions/properties-value-002.html_sec1
4
        <meta charset="utf-8">
4
        <meta charset="utf-8">
5
        <title>CSS Transitions Test: Intermediate Property Values of missing value types</title>
5
        <title>CSS Transitions Test: Intermediate Property Values of missing value types</title>
6
        <meta name="assert" content="Test checks that expected value types that haven't been specified are transitionable">
6
        <meta name="assert" content="Test checks that expected value types that haven't been specified are transitionable">
7
        <link rel="help" title="2. Transitions" href="http://www.w3.org/TR/css3-transitions/#transitions">
7
        <link rel="help" href="http://www.w3.org/TR/css3-transitions/#transitions">
8
        <link rel="help" title="7.1. Properties from CSS" href="http://www.w3.org/TR/css3-transitions/#animatable-css">
8
        <link rel="help" href="https://drafts.csswg.org/web-animations-1/#animation-type">
9
        <link rel="author" title="Rodney Rehm" href="http://rodneyrehm.de/en/">
9
        <link rel="author" title="Rodney Rehm" href="http://rodneyrehm.de/en/">
10
        <meta name="flags" content="dom">
10
        <meta name="flags" content="dom">
11
11
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-transitions/properties-value-003.html -2 / +2 lines
Lines 5-12 a/LayoutTests/imported/w3c/web-platform-tests/css/css-transitions/properties-value-003.html_sec1
5
        <title>CSS Transitions Test: Intermediate Property Values of unspecified properties</title>
5
        <title>CSS Transitions Test: Intermediate Property Values of unspecified properties</title>
6
        <meta name="timeout" content="long">
6
        <meta name="timeout" content="long">
7
        <meta name="assert" content="Test checks that properties are transitionable that haven't been specified">
7
        <meta name="assert" content="Test checks that properties are transitionable that haven't been specified">
8
        <link rel="help" title="2. Transitions" href="http://www.w3.org/TR/css3-transitions/#transitions">
8
        <link rel="help" href="http://www.w3.org/TR/css3-transitions/#transitions">
9
        <link rel="help" title="7.1. Properties from CSS" href="http://www.w3.org/TR/css3-transitions/#animatable-css">
9
        <link rel="help" href="https://drafts.csswg.org/web-animations-1/#animation-type">
10
        <link rel="author" title="Rodney Rehm" href="http://rodneyrehm.de/en/">
10
        <link rel="author" title="Rodney Rehm" href="http://rodneyrehm.de/en/">
11
        <meta name="flags" content="dom">
11
        <meta name="flags" content="dom">
12
12
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-transitions/root-color-transition-expected.html +4 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-transitions/root-color-transition-expected.html_sec1
1
<!DOCTYPE html>
2
<html>
3
  <h1 style="color:green">PASS if green</h1>
4
</html>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-transitions/root-color-transition.html +40 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-transitions/root-color-transition.html_sec1
1
<!DOCTYPE html>
2
<html id=html class="reftest-wait">
3
  <title>Verifies that 'color' stays the color it's transitioned to on :root</title>
4
  <link rel="help" href="https://crbug.com/1087188">
5
  <link rel="match" href="root-color-transition-ref.html">
6
  <script src="support/helper.js"></script>
7
  <h1 id=h1>PASS if green</h1>
8
  <style>
9
    html {
10
      color: red;
11
      transition: color 1s linear;
12
    }
13
    html.green {
14
      color: green;
15
    }
16
  </style>
17
  <script>
18
    getComputedStyle(h1).color;
19
20
    async function run() {
21
      let transitionEnd = new Promise((resolve) => {
22
        html.addEventListener('transitionend', resolve);
23
      });
24
      // Trigger transition:
25
      html.classList.toggle('green');
26
27
      const transition = html.getAnimations()[0];
28
      await transition.ready;
29
      await waitForFrame();
30
31
      // Expedite transition, but let it finish naturally.
32
      transition.currentTime = transition.effect.getTiming().duration - 1;
33
      await transitionEnd;
34
35
      await waitForFrame();
36
    }
37
38
    run().then(() => html.classList.toggle('reftest-wait'));
39
  </script>
40
</html>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-transitions/support/w3c-import.log -1 lines
Lines 22-28 List of files: a/LayoutTests/imported/w3c/web-platform-tests/css/css-transitions/support/w3c-import.log_sec1
22
/LayoutTests/imported/w3c/web-platform-tests/css/css-transitions/support/1x1-white.png
22
/LayoutTests/imported/w3c/web-platform-tests/css/css-transitions/support/1x1-white.png
23
/LayoutTests/imported/w3c/web-platform-tests/css/css-transitions/support/60x60-gg-rr.png
23
/LayoutTests/imported/w3c/web-platform-tests/css/css-transitions/support/60x60-gg-rr.png
24
/LayoutTests/imported/w3c/web-platform-tests/css/css-transitions/support/60x60-green.png
24
/LayoutTests/imported/w3c/web-platform-tests/css/css-transitions/support/60x60-green.png
25
/LayoutTests/imported/w3c/web-platform-tests/css/css-transitions/support/60x60-red.png
26
/LayoutTests/imported/w3c/web-platform-tests/css/css-transitions/support/README
25
/LayoutTests/imported/w3c/web-platform-tests/css/css-transitions/support/README
27
/LayoutTests/imported/w3c/web-platform-tests/css/css-transitions/support/a-green-transition.css
26
/LayoutTests/imported/w3c/web-platform-tests/css/css-transitions/support/a-green-transition.css
28
/LayoutTests/imported/w3c/web-platform-tests/css/css-transitions/support/a-green.css
27
/LayoutTests/imported/w3c/web-platform-tests/css/css-transitions/support/a-green.css
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-transitions/transition-background-position-with-edge-offset.html -2 / +2 lines
Lines 2-9 a/LayoutTests/imported/w3c/web-platform-tests/css/css-transitions/transition-background-position-with-edge-offset.html_sec1
2
<meta charset="utf-8">
2
<meta charset="utf-8">
3
<title>CSS Transitions Test: transition-property - background-position</title>
3
<title>CSS Transitions Test: transition-property - background-position</title>
4
<link rel="author" title="Zhuoyu Qian" href="mailto:zhuoyu.qian@samsung.com">
4
<link rel="author" title="Zhuoyu Qian" href="mailto:zhuoyu.qian@samsung.com">
5
<link rel="help" title="7.1. Properties from CSS" href="http://www.w3.org/TR/css3-transitions/#animatable-css">
5
<link rel="help" href="https://drafts.csswg.org/web-animations-1/#animation-type">
6
<link rel="help" title="5.3.6 background-position" href="https://www.w3.org/TR/CSS1/#background-position">
6
<link rel="help" href="https://drafts.csswg.org/css-backgrounds-3/#background-position">
7
<meta name="assert" content="Test checks that the 'background-position' property with edge offset is animatable.">
7
<meta name="assert" content="Test checks that the 'background-position' property with edge offset is animatable.">
8
<script src="/resources/testharness.js" type="text/javascript"></script>
8
<script src="/resources/testharness.js" type="text/javascript"></script>
9
<script src="/resources/testharnessreport.js" type="text/javascript"></script>
9
<script src="/resources/testharnessreport.js" type="text/javascript"></script>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-transitions/transition-base-response-001-expected.txt +5 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-transitions/transition-base-response-001-expected.txt_sec1
1
2
FAIL em units respond to font-size transition assert_equals: expected "15px" but got "20px"
3
FAIL ex units respond to font-size transition assert_equals: expected "6.71875px" but got "8.96875px"
4
PASS var() references respond to custom property transition 
5
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-transitions/transition-base-response-001.html +74 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-transitions/transition-base-response-001.html_sec1
1
<!DOCTYPE html>
2
<title>Test that non-transitioned style is responsive to transitioning properties</title>
3
<link rel="help" href="https://drafts.csswg.org/css-transitions/">
4
<script src="/resources/testharness.js"></script>
5
<script src="/resources/testharnessreport.js"></script>
6
<style>
7
  #target1 {
8
    transition: font-size steps(2, start) 1000s;
9
    font-size: 10px;
10
    width: 1em;
11
  }
12
  #target1.change {
13
    font-size: 20px;
14
  }
15
  #ref1 {
16
    width: 15px;
17
  }
18
19
  #target2 {
20
    transition: font-size steps(2, start) 1000s;
21
    font-size: 10px;
22
    width: 1ex;
23
  }
24
  #target2.change {
25
    font-size: 20px;
26
  }
27
  #ref2 {
28
    font-size: 15px;
29
    width: 1ex;
30
  }
31
32
  #target3 {
33
    transition: --x steps(2, start) 1000s;
34
    --x: 10px;
35
    width: var(--x);
36
  }
37
  #target3.change {
38
    --x: 20px;
39
    font-size: 20px;
40
  }
41
  #ref3 {
42
    width: 20px;
43
  }
44
45
</style>
46
<div id="targets">
47
  <div id="target1"></div>
48
  <div id="target2"></div>
49
  <div id="target3"></div>
50
</div>
51
<div id="refs">
52
  <div id="ref1"></div>
53
  <div id="ref2"></div>
54
  <div id="ref3"></div>
55
</div>
56
<script>
57
58
// Test that the computed value of the given property is equal on
59
// 'target' and 'ref', after applying the transition to 'target'.
60
function test_ref(target, ref, property, description) {
61
  test(() => {
62
    let unused = getComputedStyle(target).getPropertyValue(property);
63
    target.className = 'change';
64
    let actual = getComputedStyle(target).getPropertyValue(property);
65
    let expected = getComputedStyle(ref).getPropertyValue(property);
66
    assert_equals(actual, expected);
67
  }, description);
68
}
69
70
test_ref(target1, ref1, 'width', 'em units respond to font-size transition');
71
test_ref(target2, ref2, 'width', 'ex units respond to font-size transition');
72
test_ref(target3, ref3, 'width', 'var() references respond to custom property transition');
73
74
</script>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-transitions/transition-base-response-002-expected.txt +4 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-transitions/transition-base-response-002-expected.txt_sec1
1
2
3
FAIL Transitioning font-size on root affects rem units assert_equals: expected "15px" but got "16.5px"
4
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-transitions/transition-base-response-002.html +27 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-transitions/transition-base-response-002.html_sec1
1
<!DOCTYPE html>
2
<title>Test that rem units are responsive to transitioning font-size on root</title>
3
<link rel="help" href="https://drafts.csswg.org/css-transitions/">
4
<script src="/resources/testharness.js"></script>
5
<script src="/resources/testharnessreport.js"></script>
6
<style>
7
  :root {
8
    font-size: 10px;
9
    transition: font-size steps(2, start) 10s;
10
  }
11
  :root.change {
12
    font-size: 20px;
13
  }
14
15
  #target1 {
16
    width: 1rem;
17
  }
18
</style>
19
<div id="target1"></div>
20
<output id=output></output>
21
<script>
22
test(() => {
23
  let unused = getComputedStyle(document.documentElement).getPropertyValue('font-size');
24
  document.documentElement.className = 'change';
25
  assert_equals(getComputedStyle(target1).getPropertyValue('width'), '15px');
26
}, 'Transitioning font-size on root affects rem units');
27
</script>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-transitions/transition-base-response-003-expected.txt +3 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-transitions/transition-base-response-003-expected.txt_sec1
1
2
FAIL Identical elements are all responsive to font-size transition assert_equals: expected "15px" but got "20px"
3
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-transitions/transition-base-response-003.html +28 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-transitions/transition-base-response-003.html_sec1
1
<!DOCTYPE html>
2
<title>Tests that identical elements in the base style responds to font-size transition</title>
3
<link rel="help" href="https://drafts.csswg.org/css-animations/">
4
<script src="/resources/testharness.js"></script>
5
<script src="/resources/testharnessreport.js"></script>
6
<style>
7
  div {
8
    font-size: 10px;
9
    min-width: 1em;
10
    transition: font-size steps(2, start) 10s;
11
  }
12
  .change {
13
    font-size: 20px;
14
  }
15
</style>
16
<div></div>
17
<div></div>
18
<div></div>
19
<script>
20
test(() => {
21
  let divs = document.querySelectorAll('div');
22
  for (let div of divs) {
23
    let unused = getComputedStyle(div).getPropertyValue('min-width');
24
    div.className = 'change';
25
    assert_equals(getComputedStyle(div).getPropertyValue('min-width'), '15px');
26
  }
27
}, 'Identical elements are all responsive to font-size transition');
28
</script>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-transitions/transitioncancel-001.html -2 / +2 lines
Lines 5-12 a/LayoutTests/imported/w3c/web-platform-tests/css/css-transitions/transitioncancel-001.html_sec1
5
    <title>CSS Transitions Test: display:none causes transitioncancel</title>
5
    <title>CSS Transitions Test: display:none causes transitioncancel</title>
6
    <meta name="timeout" content="long">
6
    <meta name="timeout" content="long">
7
    <link rel="author" title="Chris Rebert" href="http://chrisrebert.com">
7
    <link rel="author" title="Chris Rebert" href="http://chrisrebert.com">
8
    <link rel="help" href="https://drafts.csswg.org/css-transitions-2/#dom-transitionevent-transitioncancel">
8
    <link rel="help" href="https://drafts.csswg.org/css-transitions-2/#event-dispatch">
9
    <link rel="help" href="https://lists.w3.org/Archives/Public/www-style/2015Apr/0405.html" title="[CSSWG] Minutes Telecon 2015-04-29" data-section-title="AnimationEnd events and display: none">
9
    <link rel="help" href="https://lists.w3.org/Archives/Public/www-style/2015Apr/0405.html" data-section-title="AnimationEnd events and display: none">
10
    <meta name="flags" content="dom">
10
    <meta name="flags" content="dom">
11
    <meta name="assert" content="Making an element display:none; while it has a transition in progress should fire a transitioncancel event.">
11
    <meta name="assert" content="Making an element display:none; while it has a transition in progress should fire a transitioncancel event.">
12
    <script src="/resources/testharness.js"></script>
12
    <script src="/resources/testharness.js"></script>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-transitions/transitioncancel-002-expected.txt +3 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-transitions/transitioncancel-002-expected.txt_sec1
1
2
PASS Removing a transitioning property from transition-property should trigger transitioncancel 
3
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-transitions/transitioncancel-002.html +46 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-transitions/transitioncancel-002.html_sec1
1
<!DOCTYPE html>
2
<html>
3
<head>
4
<meta charset="utf-8">
5
<title>CSS Transitions Test: Removing transitioning property from transition-property triggers transitioncancel</title>
6
<link rel="author" title="Martin Robinson" href="mailto:mrobinson@igalia.com">
7
<meta name="assert" content="Removing transitioning property from transition-property
8
causes transitioncancel.">
9
<link rel="help" href="https://drafts.csswg.org/css-transitions-2/#event-dispatch">
10
11
<script src="/resources/testharness.js" type="text/javascript"></script>
12
<script src="/resources/testharnessreport.js" type="text/javascript"></script>
13
<script src="./support/helper.js" type="text/javascript"></script>
14
15
</head>
16
<body>
17
<div id="log"></div>
18
19
<script>
20
promise_test(async t => {
21
  // Create element and prepare to trigger a transition on it.
22
  const div = addDiv(t, {
23
    style: 'transition: background-color 0.25s; background-color: red;',
24
  });
25
26
  // Attach event listeners
27
  const eventWatcher = new EventWatcher(t, div, ['transitioncancel']);
28
  div.addEventListener('transitionend', t.step_func((event) => {
29
    assert_unreached('transitionend event should not be fired');
30
  }));
31
32
  // Trigger transition
33
  getComputedStyle(div).backgroundColor;
34
  div.style.backgroundColor = 'green';
35
  getComputedStyle(div).backgroundColor;
36
37
  // Remove the transitioning property from transition-property asynchronously.
38
  await waitForFrame();
39
  div.style.transitionProperty = 'none';
40
41
  await eventWatcher.wait_for('transitioncancel');
42
}, 'Removing a transitioning property from transition-property should trigger transitioncancel');
43
</script>
44
45
</body>
46
</html>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-transitions/w3c-import.log +8 lines
Lines 25-30 List of files: a/LayoutTests/imported/w3c/web-platform-tests/css/css-transitions/w3c-import.log_sec1
25
/LayoutTests/imported/w3c/web-platform-tests/css/css-transitions/Document-getAnimations.tentative.html
25
/LayoutTests/imported/w3c/web-platform-tests/css/css-transitions/Document-getAnimations.tentative.html
26
/LayoutTests/imported/w3c/web-platform-tests/css/css-transitions/Element-getAnimations.tentative.html
26
/LayoutTests/imported/w3c/web-platform-tests/css/css-transitions/Element-getAnimations.tentative.html
27
/LayoutTests/imported/w3c/web-platform-tests/css/css-transitions/KeyframeEffect-getKeyframes.tentative.html
27
/LayoutTests/imported/w3c/web-platform-tests/css/css-transitions/KeyframeEffect-getKeyframes.tentative.html
28
/LayoutTests/imported/w3c/web-platform-tests/css/css-transitions/KeyframeEffect-setKeyframes.tentative.html
28
/LayoutTests/imported/w3c/web-platform-tests/css/css-transitions/KeyframeEffect-target.tentative.html
29
/LayoutTests/imported/w3c/web-platform-tests/css/css-transitions/KeyframeEffect-target.tentative.html
29
/LayoutTests/imported/w3c/web-platform-tests/css/css-transitions/META.yml
30
/LayoutTests/imported/w3c/web-platform-tests/css/css-transitions/META.yml
30
/LayoutTests/imported/w3c/web-platform-tests/css/css-transitions/README.md
31
/LayoutTests/imported/w3c/web-platform-tests/css/css-transitions/README.md
Lines 50-55 List of files: a/LayoutTests/imported/w3c/web-platform-tests/css/css-transitions/w3c-import.log_sec2
50
/LayoutTests/imported/w3c/web-platform-tests/css/css-transitions/no-transition-from-ua-to-blocking-stylesheet.html
51
/LayoutTests/imported/w3c/web-platform-tests/css/css-transitions/no-transition-from-ua-to-blocking-stylesheet.html
51
/LayoutTests/imported/w3c/web-platform-tests/css/css-transitions/non-rendered-element-001.html
52
/LayoutTests/imported/w3c/web-platform-tests/css/css-transitions/non-rendered-element-001.html
52
/LayoutTests/imported/w3c/web-platform-tests/css/css-transitions/non-rendered-element-002.html
53
/LayoutTests/imported/w3c/web-platform-tests/css/css-transitions/non-rendered-element-002.html
54
/LayoutTests/imported/w3c/web-platform-tests/css/css-transitions/non-rendered-element-004.tentative.html
53
/LayoutTests/imported/w3c/web-platform-tests/css/css-transitions/properties-value-001.html
55
/LayoutTests/imported/w3c/web-platform-tests/css/css-transitions/properties-value-001.html
54
/LayoutTests/imported/w3c/web-platform-tests/css/css-transitions/properties-value-002.html
56
/LayoutTests/imported/w3c/web-platform-tests/css/css-transitions/properties-value-002.html
55
/LayoutTests/imported/w3c/web-platform-tests/css/css-transitions/properties-value-003.html
57
/LayoutTests/imported/w3c/web-platform-tests/css/css-transitions/properties-value-003.html
Lines 60-68 List of files: a/LayoutTests/imported/w3c/web-platform-tests/css/css-transitions/w3c-import.log_sec3
60
/LayoutTests/imported/w3c/web-platform-tests/css/css-transitions/properties-value-inherit-003.html
62
/LayoutTests/imported/w3c/web-platform-tests/css/css-transitions/properties-value-inherit-003.html
61
/LayoutTests/imported/w3c/web-platform-tests/css/css-transitions/pseudo-elements-001.html
63
/LayoutTests/imported/w3c/web-platform-tests/css/css-transitions/pseudo-elements-001.html
62
/LayoutTests/imported/w3c/web-platform-tests/css/css-transitions/pseudo-elements-002.html
64
/LayoutTests/imported/w3c/web-platform-tests/css/css-transitions/pseudo-elements-002.html
65
/LayoutTests/imported/w3c/web-platform-tests/css/css-transitions/root-color-transition-expected.html
66
/LayoutTests/imported/w3c/web-platform-tests/css/css-transitions/root-color-transition.html
63
/LayoutTests/imported/w3c/web-platform-tests/css/css-transitions/starting-of-transitions-001.html
67
/LayoutTests/imported/w3c/web-platform-tests/css/css-transitions/starting-of-transitions-001.html
64
/LayoutTests/imported/w3c/web-platform-tests/css/css-transitions/transition-001.html
68
/LayoutTests/imported/w3c/web-platform-tests/css/css-transitions/transition-001.html
65
/LayoutTests/imported/w3c/web-platform-tests/css/css-transitions/transition-background-position-with-edge-offset.html
69
/LayoutTests/imported/w3c/web-platform-tests/css/css-transitions/transition-background-position-with-edge-offset.html
70
/LayoutTests/imported/w3c/web-platform-tests/css/css-transitions/transition-base-response-001.html
71
/LayoutTests/imported/w3c/web-platform-tests/css/css-transitions/transition-base-response-002.html
72
/LayoutTests/imported/w3c/web-platform-tests/css/css-transitions/transition-base-response-003.html
66
/LayoutTests/imported/w3c/web-platform-tests/css/css-transitions/transition-delay-001.html
73
/LayoutTests/imported/w3c/web-platform-tests/css/css-transitions/transition-delay-001.html
67
/LayoutTests/imported/w3c/web-platform-tests/css/css-transitions/transition-duration-001.html
74
/LayoutTests/imported/w3c/web-platform-tests/css/css-transitions/transition-duration-001.html
68
/LayoutTests/imported/w3c/web-platform-tests/css/css-transitions/transition-property-001.html
75
/LayoutTests/imported/w3c/web-platform-tests/css/css-transitions/transition-property-001.html
Lines 71-75 List of files: a/LayoutTests/imported/w3c/web-platform-tests/css/css-transitions/w3c-import.log_sec4
71
/LayoutTests/imported/w3c/web-platform-tests/css/css-transitions/transition-test-expected.html
78
/LayoutTests/imported/w3c/web-platform-tests/css/css-transitions/transition-test-expected.html
72
/LayoutTests/imported/w3c/web-platform-tests/css/css-transitions/transition-test.html
79
/LayoutTests/imported/w3c/web-platform-tests/css/css-transitions/transition-test.html
73
/LayoutTests/imported/w3c/web-platform-tests/css/css-transitions/transitioncancel-001.html
80
/LayoutTests/imported/w3c/web-platform-tests/css/css-transitions/transitioncancel-001.html
81
/LayoutTests/imported/w3c/web-platform-tests/css/css-transitions/transitioncancel-002.html
74
/LayoutTests/imported/w3c/web-platform-tests/css/css-transitions/transitionevent-interface.html
82
/LayoutTests/imported/w3c/web-platform-tests/css/css-transitions/transitionevent-interface.html
75
/LayoutTests/imported/w3c/web-platform-tests/css/css-transitions/zero-duration-multiple-transition.html
83
/LayoutTests/imported/w3c/web-platform-tests/css/css-transitions/zero-duration-multiple-transition.html
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-values/ch-empty-pseudo-recalc-on-font-load-expected.txt +5 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-values/ch-empty-pseudo-recalc-on-font-load-expected.txt_sec1
1
2
FAIL ch in pseudo-element ::before should be recalculated after loading a web font assert_less_than: expected a number less than 24 but got NaN
3
FAIL ch in pseudo-element ::after should be recalculated after loading a web font assert_less_than: expected a number less than 24 but got NaN
4
FAIL ch in pseudo-element ::backdrop should be recalculated after loading a web font assert_less_than: expected a number less than 24 but got NaN
5
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-values/ch-empty-pseudo-recalc-on-font-load.html +69 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-values/ch-empty-pseudo-recalc-on-font-load.html_sec1
1
<!DOCTYPE html>
2
<meta charset="utf-8">
3
<title>Length unit 'ch' used in pseudo elements without text should be recalculated after loading a web font</title>
4
<link rel="help" href="https://www.w3.org/TR/css-values-4/#font-relative-lengths">
5
<link rel="help" href="https://drafts.csswg.org/css-pseudo-4#generated-content">
6
<link rel="author" href="xiaochengh@chromium.org">
7
<script src="/resources/testharness.js"></script>
8
<script src="/resources/testharnessreport.js"></script>
9
<style>
10
.before::before,
11
.after::after,
12
.backdrop::backdrop {
13
  font: 25px/1 "custom font", monospace;
14
  background: linear-gradient(45deg, red, blue);
15
  background-size: 1ch 1ch;
16
}
17
</style>
18
19
<div class="container before"></div>
20
<div class="container after"></div>
21
<dialog class="container backdrop"></dialog>
22
23
<script>
24
function parseBackgroundSizeInPx(element, pseudoElement) {
25
  const x = getComputedStyle(element, pseudoElement).backgroundSize.split(' ')[0];
26
  if (!x.endsWith('px'))
27
    return NaN;
28
  return parseFloat(x);
29
}
30
31
const testCases = ['before', 'after', 'backdrop'];
32
const elements = testCases.map(testCase => document.querySelector('.' + testCase));
33
const asyncTests = testCases.map(
34
    testCase => async_test(`ch in pseudo-element ::${testCase} should be recalculated after loading a web font`));
35
36
// Before loading custom font, tests should be rendered with monospace
37
// fallback and have a '1ch' measurement much shorter than 25px.
38
for (let i = 0; i < testCases.length; ++i) {
39
  asyncTests[i].step(() => {
40
    const backgroundSizePx = parseBackgroundSizeInPx(elements[i], '::' + testCases[i]);
41
    assert_less_than(backgroundSizePx, 24);
42
  });
43
}
44
45
// Insert custom font into style sheet and load it
46
const customFont = new FontFace('custom font', 'url(/fonts/Ahem.ttf)');
47
document.fonts.add(customFont);
48
49
// After loading custom font, tests should be rendered with the custom font,
50
// which is Ahem, and have a '1ch' measurement that equals 25px.
51
customFont.load().then(
52
    () => {
53
      for (let i = 0; i < testCases.length; ++i) {
54
        asyncTests[i].step(() => {
55
          const backgroundSizePx = parseBackgroundSizeInPx(elements[i], '::' + testCases[i]);
56
          assert_equals(backgroundSizePx, 25);
57
          asyncTests[i].done();
58
        });
59
      }
60
    },
61
    () => {
62
      for (let i = 0; i < testCases.length; ++i) {
63
        asyncTests[i].step(() => {
64
          assert_unreached('Failed to load font');
65
        });
66
      }
67
    }
68
);
69
</script>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-values/ch-pseudo-recalc-on-font-load-expected.txt +9 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-values/ch-pseudo-recalc-on-font-load-expected.txt_sec1
1
text
2
text
3
4
PASS ch in pseudo-element ::before should be recalculated after loading a web font 
5
PASS ch in pseudo-element ::after should be recalculated after loading a web font 
6
PASS ch in pseudo-element ::first-letter should be recalculated after loading a web font 
7
PASS ch in pseudo-element ::first-line should be recalculated after loading a web font 
8
PASS ch in pseudo-element ::marker should be recalculated after loading a web font 
9
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-values/ch-pseudo-recalc-on-font-load.html +88 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-values/ch-pseudo-recalc-on-font-load.html_sec1
1
<!DOCTYPE html>
2
<meta charset="utf-8">
3
<title>Length unit 'ch' used in pseudo elements should be recalculated after loading a web font</title>
4
<link rel="help" href="https://www.w3.org/TR/css-values-4/#font-relative-lengths">
5
<link rel="help" href="https://drafts.csswg.org/css-pseudo-4/#first-letter-styling">
6
<link rel="author" href="xiaochengh@chromium.org">
7
<script src="/resources/testharness.js"></script>
8
<script src="/resources/testharnessreport.js"></script>
9
<style>
10
.container {
11
  font: 25px/1 "custom font", monospace;
12
}
13
14
.before::before,
15
.after::after,
16
.first-letter::first-letter,
17
.first-line::first-line {
18
  font-family: monospace;
19
  font-size: 1ch; /* Refers to originating element's font metrics, which are different from self font metrics. */
20
}
21
22
.before::before,
23
.after::after {
24
  content: 'text';
25
}
26
27
/* Defined separately so that browsers that haven't shipped it can still pass other tests. */
28
.marker::marker {
29
  font-family: monospace;
30
  font-size: 1ch;
31
  content: 'text';
32
}
33
34
</style>
35
36
<div class="container before"></div>
37
<div class="container after"></div>
38
<div class="container first-letter">text</div>
39
<div class="container first-line">text</div>
40
<li class="container marker"></li>
41
42
<script>
43
function parseFontSizeInPx(element, pseudoElement) {
44
  const value = getComputedStyle(element, pseudoElement).fontSize;
45
  if (!value.endsWith('px'))
46
    return NaN;
47
  return parseFloat(value);
48
}
49
50
const testCases = ['before', 'after', 'first-letter', 'first-line', 'marker'];
51
const elements = testCases.map(testCase => document.querySelector('.' + testCase));
52
const asyncTests = testCases.map(
53
    testCase => async_test(`ch in pseudo-element ::${testCase} should be recalculated after loading a web font`));
54
55
// Before loading custom font, tests should be rendered with monospace
56
// fallback and have a '1ch' measurement much shorter than 25px.
57
for (let i = 0; i < testCases.length; ++i) {
58
  asyncTests[i].step(() => {
59
    const fontSizePx = parseFontSizeInPx(elements[i], '::' + testCases[i]);
60
    assert_less_than(fontSizePx, 24);
61
  });
62
}
63
64
// Insert custom font into style sheet and load it
65
const customFont = new FontFace('custom font', 'url(/fonts/Ahem.ttf)');
66
document.fonts.add(customFont);
67
68
// After loading custom font, tests should be rendered with the custom font,
69
// which is Ahem, and have a '1ch' measurement that equals 25px.
70
customFont.load().then(
71
    () => {
72
      for (let i = 0; i < testCases.length; ++i) {
73
        asyncTests[i].step(() => {
74
          const fontSizePx = parseFontSizeInPx(elements[i], '::' + testCases[i]);
75
          assert_approx_equals(fontSizePx, 25, 0.1);
76
          asyncTests[i].done();
77
        });
78
      }
79
    },
80
    () => {
81
      for (let i = 0; i < testCases.length; ++i) {
82
        asyncTests[i].step(() => {
83
          assert_unreached('Failed to load font');
84
        });
85
      }
86
    }
87
);
88
</script>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-values/ch-recalc-on-font-load-expected.txt +5 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-values/ch-recalc-on-font-load-expected.txt_sec1
1
2
PASS ch in a normal div should be recalculated after loading a web font 
3
PASS ch in display:contents should be recalculated after loading a web font 
4
PASS ch in display:none should be recalculated after loading a web font 
5
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-values/ch-recalc-on-font-load.html +78 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-values/ch-recalc-on-font-load.html_sec1
1
<!DOCTYPE html>
2
<title>Length unit 'ch' should be recalculated after loading a web font</title>
3
<link rel="help" href="https://www.w3.org/TR/css-values-4/#font-relative-lengths">
4
<link rel="author" href="mailto:xiaochengh@chromium.org">
5
<script src="/resources/testharness.js"></script>
6
<script src="/resources/testharnessreport.js"></script>
7
<style>
8
.container {
9
  font: 25px/1 "custom font", monospace;
10
}
11
12
.test {
13
  width: 1ch;
14
}
15
</style>
16
17
<div class="container">
18
  <div class="test"></div>
19
</div>
20
21
<div class="container" style="display: contents">
22
  <div class="test"></div>
23
</div>
24
25
<div class="container" style="display: none">
26
  <div class="test"></div>
27
</div>
28
29
<script>
30
function parseWidthInPx(element) {
31
  const value = getComputedStyle(element).width;
32
  if (!value.endsWith('px'))
33
    return NaN;
34
  return parseFloat(value);
35
}
36
37
const testCases = document.querySelectorAll('.test');
38
39
const asyncTests = [
40
  async_test('ch in a normal div should be recalculated after loading a web font'),
41
  async_test('ch in display:contents should be recalculated after loading a web font'),
42
  async_test('ch in display:none should be recalculated after loading a web font')
43
];
44
45
// Before loading custom font, tests should be rendered with monospace
46
// fallback and have a '1ch' measurement much shorter than 25px.
47
for (let i = 0; i < testCases.length; ++i) {
48
  asyncTests[i].step(() => {
49
    const widthPx = parseWidthInPx(testCases[i]);
50
    assert_less_than(widthPx, 24);
51
  });
52
}
53
54
// Insert custom font into style sheet and load it
55
const customFont = new FontFace('custom font', 'url(/fonts/Ahem.ttf)');
56
document.fonts.add(customFont);
57
58
// After loading custom font, tests should be rendered with the custom font,
59
// which is Ahem, and have a '1ch' measurement that equals 25px.
60
customFont.load().then(
61
    () => {
62
      for (let i = 0; i < testCases.length; ++i) {
63
        asyncTests[i].step(() => {
64
          const widthPx = parseWidthInPx(testCases[i]);
65
          assert_approx_equals(widthPx, 25, 0.1);
66
          asyncTests[i].done();
67
        });
68
      }
69
    },
70
    () => {
71
      for (let i = 0; i < testCases.length; ++i) {
72
        asyncTests[i].step(() => {
73
          assert_unreached('Failed to load font');
74
        });
75
      }
76
    }
77
);
78
</script>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-values/ch-unit-013-expected.html -15 lines
Lines 1-15 a/LayoutTests/imported/w3c/web-platform-tests/css/css-values/ch-unit-013-expected.html_sec1
1
<!DOCTYPE html>
2
<meta charset="utf-8">
3
<title>CSS Values and Units Test Reference File</title>
4
<link rel="author" title="Cameron McCormack" href="mailto:cam@mcc.id.au">
5
<style>
6
div {
7
  height: 10px;
8
  background-color: blue;
9
  margin-top: 10px;
10
  width: 100px;
11
}
12
</style>
13
<p>The test passes if there are two blue rectangles of equal length.</p>
14
<div></div>
15
<div></div>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-values/ch-unit-013.html -29 lines
Lines 1-29 a/LayoutTests/imported/w3c/web-platform-tests/css/css-values/ch-unit-013.html_sec1
1
<!DOCTYPE html>
2
<meta charset="utf-8">
3
<title>CSS Values and Units Test: support for the ch unit</title>
4
<link rel="author" title="Cameron McCormack" href="mailto:cam@mcc.id.au">
5
<link rel="help" href="https://drafts.csswg.org/css-values-3/#font-relative-lengths">
6
<link rel="match" href="reference/ch-unit-013-ref.html">
7
<meta name="assert" content="When a zero glyph is not present, in horizontal writing modes the ch unit falls back to 0.5em.">
8
<style>
9
@font-face {
10
  font-family: ChTestNoZero;
11
  src: url(resources/ChTestNoZero.woff);
12
}
13
div {
14
  height: 10px;
15
  background-color: blue;
16
  margin-top: 10px;
17
}
18
.test {
19
  width: 5ch;
20
}
21
.ref {
22
  width: 100px;
23
}
24
</style>
25
<p>The test passes if there are two blue rectangles of equal length.</p>
26
<!-- ChTestNoZero has no '0' glyph, so ch units should compute to 0.5em,
27
     resulting in the div being 100px wide. -->
28
<div class="test" style="font: 40px ChTestNoZero;"></div>
29
<div class="ref"></div>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-values/ch-unit-014-expected.html -15 lines
Lines 1-15 a/LayoutTests/imported/w3c/web-platform-tests/css/css-values/ch-unit-014-expected.html_sec1
1
<!DOCTYPE html>
2
<meta charset="utf-8">
3
<title>CSS Values and Units Test Reference File</title>
4
<link rel="author" title="Cameron McCormack" href="mailto:cam@mcc.id.au">
5
<style>
6
div {
7
  height: 10px;
8
  background-color: blue;
9
  margin-top: 10px;
10
  width: 100px;
11
}
12
</style>
13
<p>The test passes if there are two blue rectangles of equal length.</p>
14
<div></div>
15
<div></div>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-values/ch-unit-014.html -30 lines
Lines 1-30 a/LayoutTests/imported/w3c/web-platform-tests/css/css-values/ch-unit-014.html_sec1
1
<!DOCTYPE html>
2
<meta charset="utf-8">
3
<title>CSS Values and Units Test: support for the ch unit</title>
4
<link rel="author" title="Cameron McCormack" href="mailto:cam@mcc.id.au">
5
<link rel="help" href="https://drafts.csswg.org/css-values-3/#font-relative-lengths">
6
<link rel="match" href="reference/ch-unit-013-ref.html">
7
<meta name="assert" content="When a zero glyph is not present, in vertical mixed writing modes the ch unit falls back to 0.5em.">
8
<style>
9
@font-face {
10
  font-family: ChTestNoZero;
11
  src: url(resources/ChTestNoZero.woff);
12
}
13
div {
14
  height: 10px;
15
  background-color: blue;
16
  margin-top: 10px;
17
}
18
.test {
19
  writing-mode: vertical-rl;
20
  width: 5ch;
21
}
22
.ref {
23
  width: 100px;
24
}
25
</style>
26
<p>The test passes if there are two blue rectangles of equal length.</p>
27
<!-- ChTestNoZero has no '0' glyph, so ch units should compute to 0.5em,
28
     resulting in the div being 100px wide. -->
29
<div class="test" style="font: 40px ChTestNoZero;"></div>
30
<div class="ref"></div>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-values/ch-unit-015-expected.html -15 lines
Lines 1-15 a/LayoutTests/imported/w3c/web-platform-tests/css/css-values/ch-unit-015-expected.html_sec1
1
<!DOCTYPE html>
2
<meta charset="utf-8">
3
<title>CSS Values and Units Test Reference File</title>
4
<link rel="author" title="Cameron McCormack" href="mailto:cam@mcc.id.au">
5
<style>
6
div {
7
  height: 10px;
8
  background-color: blue;
9
  margin-top: 10px;
10
  width: 100px;
11
}
12
</style>
13
<p>The test passes if there are two blue rectangles of equal length.</p>
14
<div></div>
15
<div></div>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-values/ch-unit-015.html -32 lines
Lines 1-32 a/LayoutTests/imported/w3c/web-platform-tests/css/css-values/ch-unit-015.html_sec1
1
<!DOCTYPE html>
2
<meta charset="utf-8">
3
<title>CSS Values and Units Test: support for the ch unit</title>
4
<link rel="author" title="Cameron McCormack" href="mailto:cam@mcc.id.au">
5
<link rel="help" href="https://drafts.csswg.org/css-values-3/#font-relative-lengths">
6
<link rel="match" href="reference/ch-unit-013-ref.html">
7
<meta name="assert" content="When a zero glyph is not present, in vertical upright writing modes the ch unit falls back to 1em.">
8
<style>
9
@font-face {
10
  font-family: ChTestNoZero;
11
  src: url(resources/ChTestNoZero.woff);
12
}
13
div {
14
  height: 10px;
15
  background-color: blue;
16
  margin-top: 10px;
17
}
18
.test {
19
  writing-mode: vertical-rl;
20
  text-orientation: upright;
21
  width: 5ch;
22
}
23
.ref {
24
  width: 100px;
25
}
26
</style>
27
<p>The test passes if there are two blue rectangles of equal length.</p>
28
<!-- ChTestNoZero has no '0' glyph, and we have a vertical writing mode
29
     with upright glyphs, so ch units should compute to 1em, resulting in
30
     the div being 100px wide. -->
31
<div class="test" style="font: 20px ChTestNoZero;"></div>
32
<div class="ref"></div>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-values/ch-unit-016.html -1 / +1 lines
Lines 3-9 a/LayoutTests/imported/w3c/web-platform-tests/css/css-values/ch-unit-016.html_sec1
3
<title>CSS Values and Units Test: support for the ch unit</title>
3
<title>CSS Values and Units Test: support for the ch unit</title>
4
<link rel="author" title="Cameron McCormack" href="mailto:cam@mcc.id.au">
4
<link rel="author" title="Cameron McCormack" href="mailto:cam@mcc.id.au">
5
<link rel="help" href="https://drafts.csswg.org/css-values-3/#font-relative-lengths">
5
<link rel="help" href="https://drafts.csswg.org/css-values-3/#font-relative-lengths">
6
<link rel="match" href="reference/ch-unit-013-ref.html">
6
<link rel="match" href="reference/ch-unit-016-ref.html">
7
<meta name="assert" content="The ch unit is equal to 0em if the zero glyph's advance is 0.">
7
<meta name="assert" content="The ch unit is equal to 0em if the zero glyph's advance is 0.">
8
<style>
8
<style>
9
@font-face {
9
@font-face {
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-values/ch-unit-017.html -1 / +1 lines
Lines 3-9 a/LayoutTests/imported/w3c/web-platform-tests/css/css-values/ch-unit-017.html_sec1
3
<title>CSS Values and Units Test: support for the ch unit</title>
3
<title>CSS Values and Units Test: support for the ch unit</title>
4
<link rel="author" title="Cameron McCormack" href="mailto:cam@mcc.id.au">
4
<link rel="author" title="Cameron McCormack" href="mailto:cam@mcc.id.au">
5
<link rel="help" href="https://drafts.csswg.org/css-values-3/#font-relative-lengths">
5
<link rel="help" href="https://drafts.csswg.org/css-values-3/#font-relative-lengths">
6
<link rel="match" href="reference/ch-unit-013-ref.html">
6
<link rel="match" href="reference/ch-unit-016-ref.html">
7
<meta name="assert" content="In vertical upright writing modes, the ch unit is equal to the vertical advance of the zero glyph.">
7
<meta name="assert" content="In vertical upright writing modes, the ch unit is equal to the vertical advance of the zero glyph.">
8
<style>
8
<style>
9
@font-face {
9
@font-face {
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-values/ch-unit-018-expected.html -15 lines
Lines 1-15 a/LayoutTests/imported/w3c/web-platform-tests/css/css-values/ch-unit-018-expected.html_sec1
1
<!DOCTYPE html>
2
<meta charset="utf-8">
3
<title>CSS Values and Units Test Reference File</title>
4
<link rel="author" title="Cameron McCormack" href="mailto:cam@mcc.id.au">
5
<style>
6
div {
7
  height: 10px;
8
  background-color: blue;
9
  margin-top: 10px;
10
  width: 100px;
11
}
12
</style>
13
<p>The test passes if there are two blue rectangles of equal length.</p>
14
<div></div>
15
<div></div>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-values/ch-unit-018.html -30 lines
Lines 1-30 a/LayoutTests/imported/w3c/web-platform-tests/css/css-values/ch-unit-018.html_sec1
1
<!DOCTYPE html>
2
<meta charset="utf-8">
3
<title>CSS Values and Units Test: support for the ch unit</title>
4
<link rel="author" title="Cameron McCormack" href="mailto:cam@mcc.id.au">
5
<link rel="help" href="https://drafts.csswg.org/css-values-3/#font-relative-lengths">
6
<link rel="match" href="reference/ch-unit-013-ref.html">
7
<meta name="assert" content="When a zero glyph is not present, in horizontal writing modes and with text-orientation set to upright, the ch unit falls back to 0.5em.">
8
<style>
9
@font-face {
10
  font-family: ChTestNoZero;
11
  src: url(resources/ChTestNoZero.woff);
12
}
13
div {
14
  height: 10px;
15
  background-color: blue;
16
  margin-top: 10px;
17
}
18
.test {
19
  text-orientation: upright;
20
  width: 5ch;
21
}
22
.ref {
23
  width: 100px;
24
}
25
</style>
26
<p>The test passes if there are two blue rectangles of equal length.</p>
27
<!-- ChTestNoZero has no '0' glyph, so ch units should compute to 0.5em,
28
     resulting in the div being 100px wide. -->
29
<div class="test" style="font: 40px ChTestNoZero;"></div>
30
<div class="ref"></div>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-values/clamp-length-invalid-expected.txt +1 lines
Lines 10-13 PASS e.style['letter-spacing'] = "clamp(, 1px, 1px)" should not set the property a/LayoutTests/imported/w3c/web-platform-tests/css/css-values/clamp-length-invalid-expected.txt_sec1
10
PASS e.style['letter-spacing'] = "clamp(1px, 1px, )" should not set the property value 
10
PASS e.style['letter-spacing'] = "clamp(1px, 1px, )" should not set the property value 
11
PASS e.style['letter-spacing'] = "clamp(1px, 1px, 1px, )" should not set the property value 
11
PASS e.style['letter-spacing'] = "clamp(1px, 1px, 1px, )" should not set the property value 
12
PASS e.style['letter-spacing'] = "clamp(1px 1px 1px)" should not set the property value 
12
PASS e.style['letter-spacing'] = "clamp(1px 1px 1px)" should not set the property value 
13
PASS e.style['letter-spacing'] = "clamp(0, 10rem, 100%)" should not set the property value 
13
14
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-values/clamp-length-invalid.html +1 lines
Lines 20-23 test_invalid_length('clamp(, 1px, 1px)'); a/LayoutTests/imported/w3c/web-platform-tests/css/css-values/clamp-length-invalid.html_sec1
20
test_invalid_length('clamp(1px, 1px, )');
20
test_invalid_length('clamp(1px, 1px, )');
21
test_invalid_length('clamp(1px, 1px, 1px, )');
21
test_invalid_length('clamp(1px, 1px, 1px, )');
22
test_invalid_length('clamp(1px 1px 1px)');
22
test_invalid_length('clamp(1px 1px 1px)');
23
test_invalid_length('clamp(0, 10rem, 100%)');
23
</script>
24
</script>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-values/ex-unit-004-expected.html +17 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-values/ex-unit-004-expected.html_sec1
1
<!DOCTYPE html>
2
<meta charset="utf-8">
3
<title>CSS Values and Units Test Reference File</title>
4
<link rel="author" title="Jonathan Kew" href="mailto:jkew@mozilla.com">
5
<style>
6
div {
7
  height: 10px;
8
  background-color: blue;
9
  margin-top: 10px;
10
  font-size: 80px;
11
  width: 10ex;
12
  font-family: Arial, sans-serif;
13
}
14
</style>
15
<p>The test passes if there are two blue rectangles of equal length.</p>
16
<div></div>
17
<div></div>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-values/ex-unit-004.html +34 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-values/ex-unit-004.html_sec1
1
<!DOCTYPE html>
2
<meta charset="utf-8">
3
<title>CSS Values and Units Test: support for the ex unit</title>
4
<link rel="author" title="Jonathan Kew" href="mailto:jkew@mozilla.com">
5
<link rel="help" href="https://drafts.csswg.org/css-values-3/#font-relative-lengths">
6
<link rel="help" href="https://www.w3.org/TR/css-fonts-3/#first-available-font">
7
<link rel="match" href="reference/ex-unit-004-ref.html">
8
<meta name="assert" content="The ex unit equals the x-height of the first available font if it has reliable metrics for the x-height.">
9
<style>
10
@font-face {
11
  font-family: ExTestNoSpace;
12
  src: url(resources/ExTest-NoSpace.woff);
13
}
14
div {
15
  height: 10px;
16
  background-color: blue;
17
  margin-top: 10px;
18
  font-size: 80px;
19
  width: 10ex;
20
}
21
.test {
22
  font-family: ExTestNoSpace, Arial, sans-serif;
23
}
24
.ref {
25
  font-family: Arial, sans-serif;
26
}
27
</style>
28
<p>The test passes if there are two blue rectangles of equal length.</p>
29
<!-- ExTest is a font whose OS/2 table's sxHeight field is set to an
30
     eighth of the font's units per em, but it does not support the
31
     <space> character and therefore is not valid as "first available font"
32
     per CSS Fonts, and must NOT be used as the basis of the 'ex' unit. -->
33
<div class="test"></div>
34
<div class="ref"></div>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-values/lh-rlh-on-root-001.html -1 / +1 lines
Lines 1-4 a/LayoutTests/imported/w3c/web-platform-tests/css/css-values/lh-rlh-on-root-001.html_sec1
1
<!DOCTYPE html> <!-- webkit-test-runner [ internal:LineHeightUnitsEnabled=true ] -->
1
<!DOCTYPE html><!-- webkit-test-runner [ internal:LineHeightUnitsEnabled=true ] -->
2
<meta charset="utf-8">
2
<meta charset="utf-8">
3
<title>CSS Values and Units Test: using lh and rlh units on the root element</title>
3
<title>CSS Values and Units Test: using lh and rlh units on the root element</title>
4
<link rel="author" title="Florian Rivoal" href="https://florian.rivoal.net/">
4
<link rel="author" title="Florian Rivoal" href="https://florian.rivoal.net/">
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-values/lh-unit-001.html -1 / +1 lines
Lines 1-4 a/LayoutTests/imported/w3c/web-platform-tests/css/css-values/lh-unit-001.html_sec1
1
<!DOCTYPE html> <!-- webkit-test-runner [ internal:LineHeightUnitsEnabled=true ] -->
1
<!DOCTYPE html><!-- webkit-test-runner [ internal:LineHeightUnitsEnabled=true ] -->
2
<meta charset="utf-8">
2
<meta charset="utf-8">
3
<title>CSS Values and Units Test: using lh in line-height</title>
3
<title>CSS Values and Units Test: using lh in line-height</title>
4
<link rel="author" title="Florian Rivoal" href="https://florian.rivoal.net/">
4
<link rel="author" title="Florian Rivoal" href="https://florian.rivoal.net/">
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-values/lh-unit-002.html -1 / +1 lines
Lines 1-4 a/LayoutTests/imported/w3c/web-platform-tests/css/css-values/lh-unit-002.html_sec1
1
<!DOCTYPE html> <!-- webkit-test-runner [ internal:LineHeightUnitsEnabled=true ] -->
1
<!DOCTYPE html><!-- webkit-test-runner [ internal:LineHeightUnitsEnabled=true ] -->
2
<meta charset="utf-8">
2
<meta charset="utf-8">
3
<title>CSS Values and Units Test: using lh in font-size</title>
3
<title>CSS Values and Units Test: using lh in font-size</title>
4
<link rel="author" title="Florian Rivoal" href="https://florian.rivoal.net/">
4
<link rel="author" title="Florian Rivoal" href="https://florian.rivoal.net/">
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-values/max-length-percent-001.html +8 lines
Lines 12-18 html, body { margin: 0px; padding: 0px; } a/LayoutTests/imported/w3c/web-platform-tests/css/css-values/max-length-percent-001.html_sec1
12
  height: 200px;
12
  height: 200px;
13
  background: green;
13
  background: green;
14
}
14
}
15
#fail {
16
  width: 200px;
17
  height: 200px;
18
  position: absolute;
19
  z-index: -1;
20
  background: red;
21
}
15
</style>
22
</style>
16
<div id=parent>
23
<div id=parent>
24
  <div id=fail></div>
17
  <div id=target></div>
25
  <div id=target></div>
18
</div>
26
</div>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-values/min-length-percent-001.html +8 lines
Lines 12-18 html, body { margin: 0px; padding: 0px; } a/LayoutTests/imported/w3c/web-platform-tests/css/css-values/min-length-percent-001.html_sec1
12
  height: 200px;
12
  height: 200px;
13
  background: green;
13
  background: green;
14
}
14
}
15
#fail {
16
  width: 200px;
17
  height: 200px;
18
  position: absolute;
19
  z-index: -1;
20
  background: red;
21
}
15
</style>
22
</style>
16
<div id=parent>
23
<div id=parent>
24
  <div id=fail></div>
17
  <div id=target></div>
25
  <div id=target></div>
18
</div>
26
</div>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-values/min-max-percentage-length-interpolation.html -2 / +12 lines
Lines 17-24 a/LayoutTests/imported/w3c/web-platform-tests/css/css-values/min-max-percentage-length-interpolation.html_sec1
17
17
18
.test {
18
.test {
19
  background-color: green;
19
  background-color: green;
20
  animation: anim 2000000s linear;
20
  animation: anim 1s linear;
21
  animation-delay: -1000000s;
21
  animation-delay: -.5s;
22
  animation-play-state: paused;
23
}
24
25
.fail {
26
  background: red;
27
  position: absolute;
28
  z-index: -1;
29
  width: 100px;
30
  height: 100px;
22
}
31
}
23
32
24
.container {
33
.container {
Lines 29-33 a/LayoutTests/imported/w3c/web-platform-tests/css/css-values/min-max-percentage-length-interpolation.html_sec2
29
</style>
38
</style>
30
<p>Test passes if there is a filled green square.</p>
39
<p>Test passes if there is a filled green square.</p>
31
<div class="container">
40
<div class="container">
41
  <div class="fail"></div>
32
  <div class="test"></div>
42
  <div class="test"></div>
33
</div>
43
</div>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-values/minmax-angle-computed-expected.txt -32 / +32 lines
Lines 1-34 a/LayoutTests/imported/w3c/web-platform-tests/css/css-values/minmax-angle-computed-expected.txt_sec1
1
1
2
PASS Property transform value 'rotate(min(1deg))' 
2
PASS min(1deg) should be used-value-equivalent to 1deg 
3
PASS Property transform value 'rotate(min(1grad))' 
3
PASS min(1grad) should be used-value-equivalent to 1grad 
4
PASS Property transform value 'rotate(min(1rad))' 
4
PASS min(1rad) should be used-value-equivalent to 1rad 
5
PASS Property transform value 'rotate(min(1turn))' 
5
PASS min(1turn) should be used-value-equivalent to 1turn 
6
PASS Property transform value 'rotate(max(1deg))' 
6
PASS max(1deg) should be used-value-equivalent to 1deg 
7
PASS Property transform value 'rotate(max(1grad))' 
7
PASS max(1grad) should be used-value-equivalent to 1grad 
8
PASS Property transform value 'rotate(max(1rad))' 
8
PASS max(1rad) should be used-value-equivalent to 1rad 
9
PASS Property transform value 'rotate(max(1turn))' 
9
PASS max(1turn) should be used-value-equivalent to 1turn 
10
PASS Property transform value 'rotate(min(1deg, 2deg))' 
10
PASS min(1deg, 2deg) should be used-value-equivalent to 1deg 
11
PASS Property transform value 'rotate(min(1grad, 2grad))' 
11
PASS min(1grad, 2grad) should be used-value-equivalent to 1grad 
12
PASS Property transform value 'rotate(min(1rad, 2rad))' 
12
PASS min(1rad, 2rad) should be used-value-equivalent to 1rad 
13
PASS Property transform value 'rotate(min(1turn, 2turn))' 
13
PASS min(1turn, 2turn) should be used-value-equivalent to 1turn 
14
PASS Property transform value 'rotate(max(1deg, 2deg))' 
14
PASS max(1deg, 2deg) should be used-value-equivalent to 2deg 
15
PASS Property transform value 'rotate(max(1grad, 2grad))' 
15
PASS max(1grad, 2grad) should be used-value-equivalent to 2grad 
16
PASS Property transform value 'rotate(max(1rad, 2rad))' 
16
PASS max(1rad, 2rad) should be used-value-equivalent to 2rad 
17
PASS Property transform value 'rotate(max(1turn, 2turn))' 
17
PASS max(1turn, 2turn) should be used-value-equivalent to 2turn 
18
PASS Property transform value 'rotate(min(90deg, 0.26turn))' 
18
PASS min(90deg, 0.26turn) should be used-value-equivalent to 90deg 
19
FAIL Property transform value 'rotate(min(1.57rad, 95deg))' assert_equals: expected "matrix(0.0007963267107332633, 0.9999996829318346, -0.9999996829318346, 0.0007963267107332633, 0, 0)" but got "matrix(0.0007963267107334854, 0.9999996829318346, -0.9999996829318346, 0.0007963267107334854, 0, 0)"
19
FAIL min(1.57rad, 95deg) should be used-value-equivalent to 1.57rad assert_equals: rotate(min(1.57rad, 95deg)) and rotate(1.57rad) serialize to the same thing in used values. expected "matrix(0.0007963267107332633, 0.9999996829318346, -0.9999996829318346, 0.0007963267107332633, 0, 0)" but got "matrix(0.0007963267107334854, 0.9999996829318346, -0.9999996829318346, 0.0007963267107334854, 0, 0)"
20
PASS Property transform value 'rotate(max(91deg, 0.25turn))' 
20
PASS max(91deg, 0.25turn) should be used-value-equivalent to 91deg 
21
PASS Property transform value 'rotate(max(1.58rad, 90deg))' 
21
PASS max(1.58rad, 90deg) should be used-value-equivalent to 1.58rad 
22
FAIL Property transform value 'rotate(min(270deg, max(0.25turn, 3.14rad)))' assert_equals: expected "matrix(-0.9999987317275395, 0.0015926529164868282, -0.0015926529164868282, -0.9999987317275395, 0, 0)" but got "matrix(-0.9999987317275395, 0.0015926529164872723, -0.0015926529164872723, -0.9999987317275395, 0, 0)"
22
FAIL min(270deg, max(0.25turn, 3.14rad)) should be used-value-equivalent to 3.14rad assert_equals: rotate(min(270deg, max(0.25turn, 3.14rad))) and rotate(3.14rad) serialize to the same thing in used values. expected "matrix(-0.9999987317275395, 0.0015926529164868282, -0.0015926529164868282, -0.9999987317275395, 0, 0)" but got "matrix(-0.9999987317275395, 0.0015926529164872723, -0.0015926529164872723, -0.9999987317275395, 0, 0)"
23
FAIL Property transform value 'rotate(max(0.25turn, min(270deg, 3.14rad)))' assert_equals: expected "matrix(-0.9999987317275395, 0.0015926529164868282, -0.0015926529164868282, -0.9999987317275395, 0, 0)" but got "matrix(-0.9999987317275395, 0.0015926529164872723, -0.0015926529164872723, -0.9999987317275395, 0, 0)"
23
FAIL max(0.25turn, min(270deg, 3.14rad)) should be used-value-equivalent to 3.14rad assert_equals: rotate(max(0.25turn, min(270deg, 3.14rad))) and rotate(3.14rad) serialize to the same thing in used values. expected "matrix(-0.9999987317275395, 0.0015926529164868282, -0.0015926529164868282, -0.9999987317275395, 0, 0)" but got "matrix(-0.9999987317275395, 0.0015926529164872723, -0.0015926529164872723, -0.9999987317275395, 0, 0)"
24
PASS Property transform value 'rotate(calc(min(90deg, 1.58rad) + 0.25turn))' 
24
PASS calc(min(90deg, 1.58rad) + 0.25turn) should be used-value-equivalent to 180deg 
25
PASS Property transform value 'rotate(calc(min(90deg, 1.58rad) - 0.125turn))' 
25
PASS calc(min(90deg, 1.58rad) - 0.125turn) should be used-value-equivalent to 45deg 
26
PASS Property transform value 'rotate(calc(min(90deg, 1.58rad) * 2)' 
26
PASS calc(min(90deg, 1.58rad) * 2 should be used-value-equivalent to 180deg 
27
PASS Property transform value 'rotate(calc(min(90deg, 1.58rad) / 2)' 
27
PASS calc(min(90deg, 1.58rad) / 2 should be used-value-equivalent to 45deg 
28
PASS Property transform value 'rotate(calc(max(90deg, 1.56rad) + 0.25turn))' 
28
PASS calc(max(90deg, 1.56rad) + 0.25turn) should be used-value-equivalent to 180deg 
29
PASS Property transform value 'rotate(calc(max(90deg, 1.56rad) - 0.125turn))' 
29
PASS calc(max(90deg, 1.56rad) - 0.125turn) should be used-value-equivalent to 45deg 
30
PASS Property transform value 'rotate(calc(max(90deg, 1.56rad) * 2)' 
30
PASS calc(max(90deg, 1.56rad) * 2 should be used-value-equivalent to 180deg 
31
PASS Property transform value 'rotate(calc(max(90deg, 1.56rad) / 2)' 
31
PASS calc(max(90deg, 1.56rad) / 2 should be used-value-equivalent to 45deg 
32
PASS Property transform value 'rotate(calc(min(90deg, 1.58rad) + max(0.25turn, 99grad)))' 
32
PASS calc(min(90deg, 1.58rad) + max(0.25turn, 99grad)) should be used-value-equivalent to 180deg 
33
PASS Property transform value 'rotate(calc(min(90deg, 1.58rad) - max(0.25turn, 99grad)))' 
33
PASS calc(min(90deg, 1.58rad) - max(0.25turn, 99grad)) should be used-value-equivalent to 0deg 
34
34
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-values/minmax-angle-computed.html -6 / +4 lines
Lines 5-20 a/LayoutTests/imported/w3c/web-platform-tests/css/css-values/minmax-angle-computed.html_sec1
5
<link rel="author" title="Xiaocheng Hu" href="mailto:xiaochengh@chromium.org">
5
<link rel="author" title="Xiaocheng Hu" href="mailto:xiaochengh@chromium.org">
6
<script src="/resources/testharness.js"></script>
6
<script src="/resources/testharness.js"></script>
7
<script src="/resources/testharnessreport.js"></script>
7
<script src="/resources/testharnessreport.js"></script>
8
<script src="../support/computed-testcommon.js"></script>
8
<script src="../support/numeric-testcommon.js"></script>
9
<div id="target"></div>
9
<div id="target"></div>
10
<div id="reference"></div>
10
<div id="reference"></div>
11
<script>
11
<script>
12
function test_angle_equals(value, expected) {
12
function test_angle_equals(value, expected) {
13
  const reference = document.getElementById('reference');
13
  test_math_used(`rotate(${value})`, `rotate(${expected})`,
14
  reference.style.transform = '';
14
	{prop:'transform', base:'none',
15
  reference.style.transform = `rotate(${expected})`;
15
     msg: `${value} should be used-value-equivalent to ${expected}`});
16
  const computed = getComputedStyle(reference).transform;
17
  test_computed_value('transform', `rotate(${value})`, computed);
18
}
16
}
19
17
20
// Identity tests
18
// Identity tests
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-values/minmax-angle-serialize-expected.txt -22 / +38 lines
Lines 1-24 a/LayoutTests/imported/w3c/web-platform-tests/css/css-values/minmax-angle-serialize-expected.txt_sec1
1
1
2
PASS e.style['transform'] = "rotate(min(1deg))" should set the property value 
2
FAIL 'rotate(min(90deg))' as a specified value should serialize as 'rotate(calc(90deg))'. assert_equals: 'rotate(min(90deg))' and 'rotate(calc(90deg))' should serialize the same in specified values. expected "rotate(calc(90deg))" but got "rotate(min(90deg))"
3
FAIL e.style['transform'] = "rotate(min(1rad))" should set the property value assert_equals: serialization should be canonical expected "rotate(min(1rad))" but got "rotate(min(57.29577951308232deg))"
3
PASS 'rotate(min(90deg))' as a computed value should serialize as 'matrix(6.123233995736766e-17, 1, -1, 6.123233995736766e-17, 0, 0)'. 
4
FAIL e.style['transform'] = "rotate(min(1turn))" should set the property value assert_equals: serialization should be canonical expected "rotate(min(1turn))" but got "rotate(min(360deg))"
4
FAIL 'rotate(min(.25turn))' as a specified value should serialize as 'rotate(calc(90deg))'. assert_equals: 'rotate(min(.25turn))' and 'rotate(calc(90deg))' should serialize the same in specified values. expected "rotate(calc(90deg))" but got "rotate(min(90deg))"
5
FAIL e.style['transform'] = "rotate(min(1grad))" should set the property value assert_equals: serialization should be canonical expected "rotate(min(1grad))" but got "rotate(min(0.9deg))"
5
PASS 'rotate(min(.25turn))' as a computed value should serialize as 'matrix(6.123233995736766e-17, 1, -1, 6.123233995736766e-17, 0, 0)'. 
6
PASS e.style['transform'] = "rotate(max(1deg))" should set the property value 
6
FAIL 'rotate(min(100grad))' as a specified value should serialize as 'rotate(calc(90deg))'. assert_equals: 'rotate(min(100grad))' and 'rotate(calc(90deg))' should serialize the same in specified values. expected "rotate(calc(90deg))" but got "rotate(min(90deg))"
7
FAIL e.style['transform'] = "rotate(max(1rad))" should set the property value assert_equals: serialization should be canonical expected "rotate(max(1rad))" but got "rotate(max(57.29577951308232deg))"
7
PASS 'rotate(min(100grad))' as a computed value should serialize as 'matrix(6.123233995736766e-17, 1, -1, 6.123233995736766e-17, 0, 0)'. 
8
FAIL e.style['transform'] = "rotate(max(1turn))" should set the property value assert_equals: serialization should be canonical expected "rotate(max(1turn))" but got "rotate(max(360deg))"
8
FAIL 'rotate(max(90deg))' as a specified value should serialize as 'rotate(calc(90deg))'. assert_equals: 'rotate(max(90deg))' and 'rotate(calc(90deg))' should serialize the same in specified values. expected "rotate(calc(90deg))" but got "rotate(max(90deg))"
9
FAIL e.style['transform'] = "rotate(max(1grad))" should set the property value assert_equals: serialization should be canonical expected "rotate(max(1grad))" but got "rotate(max(0.9deg))"
9
PASS 'rotate(max(90deg))' as a computed value should serialize as 'matrix(6.123233995736766e-17, 1, -1, 6.123233995736766e-17, 0, 0)'. 
10
FAIL e.style['transform'] = "rotate(min(1deg, 2deg, 3deg))" should set the property value assert_equals: serialization should be canonical expected "rotate(min(1deg, 2deg, 3deg))" but got "rotate(min(1deg))"
10
FAIL 'rotate(max(.25turn))' as a specified value should serialize as 'rotate(calc(90deg))'. assert_equals: 'rotate(max(.25turn))' and 'rotate(calc(90deg))' should serialize the same in specified values. expected "rotate(calc(90deg))" but got "rotate(max(90deg))"
11
FAIL e.style['transform'] = "rotate(min(3deg, 2deg, 1deg))" should set the property value assert_equals: serialization should be canonical expected "rotate(min(3deg, 2deg, 1deg))" but got "rotate(min(1deg))"
11
PASS 'rotate(max(.25turn))' as a computed value should serialize as 'matrix(6.123233995736766e-17, 1, -1, 6.123233995736766e-17, 0, 0)'. 
12
FAIL e.style['transform'] = "rotate(min(90deg, 1.57rad, 0.25turn))" should set the property value assert_equals: serialization should be canonical expected "rotate(min(90deg, 1.57rad, 0.25turn))" but got "rotate(min(89.95437383553924deg))"
12
FAIL 'rotate(max(100grad))' as a specified value should serialize as 'rotate(calc(90deg))'. assert_equals: 'rotate(max(100grad))' and 'rotate(calc(90deg))' should serialize the same in specified values. expected "rotate(calc(90deg))" but got "rotate(max(90deg))"
13
FAIL e.style['transform'] = "rotate(min(0.25turn, 1.57rad, 90deg))" should set the property value assert_equals: serialization should be canonical expected "rotate(min(0.25turn, 1.57rad, 90deg))" but got "rotate(min(89.95437383553924deg))"
13
PASS 'rotate(max(100grad))' as a computed value should serialize as 'matrix(6.123233995736766e-17, 1, -1, 6.123233995736766e-17, 0, 0)'. 
14
FAIL e.style['transform'] = "rotate(max(1deg, 2deg, 3deg))" should set the property value assert_equals: serialization should be canonical expected "rotate(max(1deg, 2deg, 3deg))" but got "rotate(max(3deg))"
14
FAIL 'rotate(min(90deg, 92deg, 93deg))' as a specified value should serialize as 'rotate(calc(90deg))'. assert_equals: 'rotate(min(90deg, 92deg, 93deg))' and 'rotate(calc(90deg))' should serialize the same in specified values. expected "rotate(calc(90deg))" but got "rotate(min(90deg))"
15
FAIL e.style['transform'] = "rotate(max(3deg, 2deg, 1deg))" should set the property value assert_equals: serialization should be canonical expected "rotate(max(3deg, 2deg, 1deg))" but got "rotate(max(3deg))"
15
PASS 'rotate(min(90deg, 92deg, 93deg))' as a computed value should serialize as 'matrix(6.123233995736766e-17, 1, -1, 6.123233995736766e-17, 0, 0)'. 
16
FAIL e.style['transform'] = "rotate(max(90deg, 1.57rad, 0.25turn))" should set the property value assert_equals: serialization should be canonical expected "rotate(max(90deg, 1.57rad, 0.25turn))" but got "rotate(max(90deg))"
16
FAIL 'rotate(min(93deg, 92deg, 90deg))' as a specified value should serialize as 'rotate(calc(90deg))'. assert_equals: 'rotate(min(93deg, 92deg, 90deg))' and 'rotate(calc(90deg))' should serialize the same in specified values. expected "rotate(calc(90deg))" but got "rotate(min(90deg))"
17
FAIL e.style['transform'] = "rotate(max(0.25turn, 1.57rad, 90deg))" should set the property value assert_equals: serialization should be canonical expected "rotate(max(0.25turn, 1.57rad, 90deg))" but got "rotate(max(90deg))"
17
PASS 'rotate(min(93deg, 92deg, 90deg))' as a computed value should serialize as 'matrix(6.123233995736766e-17, 1, -1, 6.123233995736766e-17, 0, 0)'. 
18
FAIL e.style['transform'] = "rotate(calc(min(1deg) + min(2deg)))" should set the property value assert_equals: serialization should be canonical expected "rotate(calc(min(1deg) + min(2deg)))" but got "rotate(calc(3deg))"
18
FAIL 'rotate(min(90deg, 1.58rad, 0.25turn))' as a specified value should serialize as 'rotate(calc(90deg))'. assert_equals: 'rotate(min(90deg, 1.58rad, 0.25turn))' and 'rotate(calc(90deg))' should serialize the same in specified values. expected "rotate(calc(90deg))" but got "rotate(min(90deg))"
19
FAIL e.style['transform'] = "rotate(calc(max(1deg) + max(2deg)))" should set the property value assert_equals: serialization should be canonical expected "rotate(calc(max(1deg) + max(2deg)))" but got "rotate(calc(3deg))"
19
PASS 'rotate(min(90deg, 1.58rad, 0.25turn))' as a computed value should serialize as 'matrix(6.123233995736766e-17, 1, -1, 6.123233995736766e-17, 0, 0)'. 
20
FAIL e.style['transform'] = "rotate(calc(1rad + min(1deg)))" should set the property value assert_equals: serialization should be canonical expected "rotate(calc(1rad + min(1deg)))" but got "rotate(calc(58.29577951308232deg))"
20
FAIL 'rotate(min(0.25turn, 1.58rad, 90deg))' as a specified value should serialize as 'rotate(calc(90deg))'. assert_equals: 'rotate(min(0.25turn, 1.58rad, 90deg))' and 'rotate(calc(90deg))' should serialize the same in specified values. expected "rotate(calc(90deg))" but got "rotate(min(90deg))"
21
FAIL e.style['transform'] = "rotate(calc(min(1deg) + 1rad))" should set the property value assert_equals: serialization should be canonical expected "rotate(calc(1rad + min(1deg)))" but got "rotate(calc(58.29577951308232deg))"
21
PASS 'rotate(min(0.25turn, 1.58rad, 90deg))' as a computed value should serialize as 'matrix(6.123233995736766e-17, 1, -1, 6.123233995736766e-17, 0, 0)'. 
22
FAIL e.style['transform'] = "rotate(calc(1rad + max(1deg)))" should set the property value assert_equals: serialization should be canonical expected "rotate(calc(1rad + max(1deg)))" but got "rotate(calc(58.29577951308232deg))"
22
FAIL 'rotate(max(81deg, 82deg, 90deg))' as a specified value should serialize as 'rotate(calc(90deg))'. assert_equals: 'rotate(max(81deg, 82deg, 90deg))' and 'rotate(calc(90deg))' should serialize the same in specified values. expected "rotate(calc(90deg))" but got "rotate(max(90deg))"
23
FAIL e.style['transform'] = "rotate(calc(max(1deg) + 1rad))" should set the property value assert_equals: serialization should be canonical expected "rotate(calc(1rad + max(1deg)))" but got "rotate(calc(58.29577951308232deg))"
23
PASS 'rotate(max(81deg, 82deg, 90deg))' as a computed value should serialize as 'matrix(6.123233995736766e-17, 1, -1, 6.123233995736766e-17, 0, 0)'. 
24
FAIL 'rotate(max(83deg, 82deg, 90deg))' as a specified value should serialize as 'rotate(calc(90deg))'. assert_equals: 'rotate(max(83deg, 82deg, 90deg))' and 'rotate(calc(90deg))' should serialize the same in specified values. expected "rotate(calc(90deg))" but got "rotate(max(90deg))"
25
PASS 'rotate(max(83deg, 82deg, 90deg))' as a computed value should serialize as 'matrix(6.123233995736766e-17, 1, -1, 6.123233995736766e-17, 0, 0)'. 
26
FAIL 'rotate(max(90deg, 1.57rad, 0.25turn))' as a specified value should serialize as 'rotate(calc(90deg))'. assert_equals: 'rotate(max(90deg, 1.57rad, 0.25turn))' and 'rotate(calc(90deg))' should serialize the same in specified values. expected "rotate(calc(90deg))" but got "rotate(max(90deg))"
27
PASS 'rotate(max(90deg, 1.57rad, 0.25turn))' as a computed value should serialize as 'matrix(6.123233995736766e-17, 1, -1, 6.123233995736766e-17, 0, 0)'. 
28
FAIL 'rotate(max(0.25turn, 1.57rad, 90deg))' as a specified value should serialize as 'rotate(calc(90deg))'. assert_equals: 'rotate(max(0.25turn, 1.57rad, 90deg))' and 'rotate(calc(90deg))' should serialize the same in specified values. expected "rotate(calc(90deg))" but got "rotate(max(90deg))"
29
PASS 'rotate(max(0.25turn, 1.57rad, 90deg))' as a computed value should serialize as 'matrix(6.123233995736766e-17, 1, -1, 6.123233995736766e-17, 0, 0)'. 
30
PASS 'rotate(calc(min(30deg) + max(60deg)))' as a specified value should serialize as 'rotate(calc(90deg))'. 
31
PASS 'rotate(calc(min(30deg) + max(60deg)))' as a computed value should serialize as 'matrix(6.123233995736766e-17, 1, -1, 6.123233995736766e-17, 0, 0)'. 
32
PASS 'rotate(calc(50grad + min(45deg)))' as a specified value should serialize as 'rotate(calc(90deg))'. 
33
PASS 'rotate(calc(50grad + min(45deg)))' as a computed value should serialize as 'matrix(6.123233995736766e-17, 1, -1, 6.123233995736766e-17, 0, 0)'. 
34
PASS 'rotate(calc(min(45deg) + 50grad))' as a specified value should serialize as 'rotate(calc(90deg))'. 
35
PASS 'rotate(calc(min(45deg) + 50grad))' as a computed value should serialize as 'matrix(6.123233995736766e-17, 1, -1, 6.123233995736766e-17, 0, 0)'. 
36
PASS 'rotate(calc(50grad + max(45deg)))' as a specified value should serialize as 'rotate(calc(90deg))'. 
37
PASS 'rotate(calc(50grad + max(45deg)))' as a computed value should serialize as 'matrix(6.123233995736766e-17, 1, -1, 6.123233995736766e-17, 0, 0)'. 
38
PASS 'rotate(calc(max(45deg) + 50grad))' as a specified value should serialize as 'rotate(calc(90deg))'. 
39
PASS 'rotate(calc(max(45deg) + 50grad))' as a computed value should serialize as 'matrix(6.123233995736766e-17, 1, -1, 6.123233995736766e-17, 0, 0)'. 
24
40
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-values/minmax-angle-serialize.html -25 / +97 lines
Lines 3-39 a/LayoutTests/imported/w3c/web-platform-tests/css/css-values/minmax-angle-serialize.html_sec1
3
<link rel="help" href="https://drafts.csswg.org/css-values-4/#angles">
3
<link rel="help" href="https://drafts.csswg.org/css-values-4/#angles">
4
<link rel="help" href="https://drafts.csswg.org/css-values-4/#calc-serialize">
4
<link rel="help" href="https://drafts.csswg.org/css-values-4/#calc-serialize">
5
<link rel="author" title="Xiaocheng Hu" href="mailto:xiaochengh@chromium.org">
5
<link rel="author" title="Xiaocheng Hu" href="mailto:xiaochengh@chromium.org">
6
<link rel="author" title="Tab Atkins-Bittner" href="https://xanthir.com/contact">
6
<script src="/resources/testharness.js"></script>
7
<script src="/resources/testharness.js"></script>
7
<script src="/resources/testharnessreport.js"></script>
8
<script src="/resources/testharnessreport.js"></script>
8
<script src="../support/parsing-testcommon.js"></script>
9
<script src="../support/serialize-testcommon.js"></script>
10
<div id=target></div>
9
<script>
11
<script>
10
function test_valid_angle(value, expected) {
12
function test_serialization(t,s,c,u, {prop="transform"}={}) {
11
  test_valid_value('transform', `rotate(${value})`, `rotate(${expected})`);
13
	t = `rotate(${t})`;
14
    test_specified_serialization(prop, t, `rotate(${s})`);
15
    test_computed_serialization(prop, t, c);
16
    if(u) test_used_serialization(prop, t, u);
12
}
17
}
13
18
14
test_valid_angle('min(1deg)', 'min(1deg)');
19
// Browsers aren't perfectly interoperable about how a 90deg rotation is serialized,
15
test_valid_angle('min(1rad)', 'min(1rad)');
20
// but that's not the focus of this test,
16
test_valid_angle('min(1turn)', 'min(1turn)');
21
// so just capture *whatever* the browser does and expect that.
17
test_valid_angle('min(1grad)', 'min(1grad)');
22
const rotateMatrix = (()=>{
18
test_valid_angle('max(1deg)', 'max(1deg)');
23
    const el = document.querySelector("#target");
19
test_valid_angle('max(1rad)', 'max(1rad)');
24
    el.style.transform = "rotate(90deg)";
20
test_valid_angle('max(1turn)', 'max(1turn)');
25
    const ret = getComputedStyle(el).transform;
21
test_valid_angle('max(1grad)', 'max(1grad)');
26
    el.removeAttribute('style');
27
    return ret;
28
})();
22
29
23
test_valid_angle('min(1deg, 2deg, 3deg)', 'min(1deg, 2deg, 3deg)');
30
test_serialization(
24
test_valid_angle('min(3deg, 2deg, 1deg)', 'min(3deg, 2deg, 1deg)');
31
    'min(90deg)',
25
test_valid_angle('min(90deg, 1.57rad, 0.25turn)', 'min(90deg, 1.57rad, 0.25turn)');
32
    'calc(90deg)',
26
test_valid_angle('min(0.25turn, 1.57rad, 90deg)', 'min(0.25turn, 1.57rad, 90deg)');
33
    rotateMatrix);
27
test_valid_angle('max(1deg, 2deg, 3deg)', 'max(1deg, 2deg, 3deg)');
34
test_serialization(
28
test_valid_angle('max(3deg, 2deg, 1deg)', 'max(3deg, 2deg, 1deg)');
35
    'min(.25turn)',
29
test_valid_angle('max(90deg, 1.57rad, 0.25turn)', 'max(90deg, 1.57rad, 0.25turn)');
36
    'calc(90deg)',
30
test_valid_angle('max(0.25turn, 1.57rad, 90deg)', 'max(0.25turn, 1.57rad, 90deg)');
37
    rotateMatrix);
38
test_serialization(
39
    'min(100grad)',
40
    'calc(90deg)',
41
    rotateMatrix);
42
test_serialization(
43
    'max(90deg)',
44
    'calc(90deg)',
45
    rotateMatrix);
46
test_serialization(
47
    'max(.25turn)',
48
    'calc(90deg)',
49
    rotateMatrix);
50
test_serialization(
51
    'max(100grad)',
52
    'calc(90deg)',
53
    rotateMatrix);
54
// No way to test 'rad' serialization without depending heavily on numeric serialization
55
// and the precision used for radians...
31
56
32
test_valid_angle('calc(min(1deg) + min(2deg))', 'calc(min(1deg) + min(2deg))');
57
test_serialization(
33
test_valid_angle('calc(max(1deg) + max(2deg))', 'calc(max(1deg) + max(2deg))');
58
    'min(90deg, 92deg, 93deg)',
34
test_valid_angle('calc(1rad + min(1deg))', 'calc(1rad + min(1deg))');
59
    'calc(90deg)',
35
test_valid_angle('calc(min(1deg) + 1rad)', 'calc(1rad + min(1deg))');
60
    rotateMatrix);
36
test_valid_angle('calc(1rad + max(1deg))', 'calc(1rad + max(1deg))');
61
test_serialization(
37
test_valid_angle('calc(max(1deg) + 1rad)', 'calc(1rad + max(1deg))');
62
    'min(93deg, 92deg, 90deg)',
63
    'calc(90deg)',
64
    rotateMatrix);
65
test_serialization(
66
    'min(90deg, 1.58rad, 0.25turn)',
67
    'calc(90deg)',
68
    rotateMatrix);
69
test_serialization(
70
    'min(0.25turn, 1.58rad, 90deg)',
71
    'calc(90deg)',
72
    rotateMatrix);
73
test_serialization(
74
    'max(81deg, 82deg, 90deg)',
75
    'calc(90deg)',
76
    rotateMatrix);
77
test_serialization(
78
    'max(83deg, 82deg, 90deg)',
79
    'calc(90deg)',
80
    rotateMatrix);
81
test_serialization(
82
    'max(90deg, 1.57rad, 0.25turn)',
83
    'calc(90deg)',
84
    rotateMatrix);
85
test_serialization(
86
    'max(0.25turn, 1.57rad, 90deg)',
87
    'calc(90deg)',
88
    rotateMatrix);
89
90
test_serialization(
91
    'calc(min(30deg) + max(60deg))',
92
    'calc(90deg)',
93
    rotateMatrix);
94
test_serialization(
95
    'calc(50grad + min(45deg))',
96
    'calc(90deg)',
97
    rotateMatrix);
98
test_serialization(
99
    'calc(min(45deg) + 50grad)',
100
    'calc(90deg)',
101
    rotateMatrix);
102
test_serialization(
103
    'calc(50grad + max(45deg))',
104
    'calc(90deg)',
105
    rotateMatrix);
106
test_serialization(
107
    'calc(max(45deg) + 50grad)',
108
    'calc(90deg)',
109
    rotateMatrix);
38
110
39
</script>
111
</script>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-values/minmax-integer-computed-expected.txt -10 / +10 lines
Lines 1-12 a/LayoutTests/imported/w3c/web-platform-tests/css/css-values/minmax-integer-computed-expected.txt_sec1
1
1
2
PASS Property z-index value 'min(1)' 
2
PASS min(1) should be used-value-equivalent to 1 
3
PASS Property z-index value 'max(1)' 
3
PASS max(1) should be used-value-equivalent to 1 
4
PASS Property z-index value 'min(0.4)' 
4
PASS min(0.4) should be used-value-equivalent to 0 
5
PASS Property z-index value 'min(0.6)' 
5
PASS min(0.6) should be used-value-equivalent to 1 
6
PASS Property z-index value 'max(0.4)' 
6
PASS max(0.4) should be used-value-equivalent to 0 
7
PASS Property z-index value 'max(0.6)' 
7
PASS max(0.6) should be used-value-equivalent to 1 
8
PASS Property z-index value 'min(1.1, max(0.4, 0.6))' 
8
PASS min(1.1, max(0.4, 0.6)) should be used-value-equivalent to 1 
9
PASS Property z-index value 'max(0.3, min(1.1, 0.4))' 
9
PASS max(0.3, min(1.1, 0.4)) should be used-value-equivalent to 0 
10
PASS Property z-index value 'calc(min(0.3, 0.6) * 2)' 
10
PASS calc(min(0.3, 0.6) * 2) should be used-value-equivalent to 1 
11
PASS Property z-index value 'calc(max(0.3, 0.6) / 2)' 
11
PASS calc(max(0.3, 0.6) / 2) should be used-value-equivalent to 0 
12
12
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-values/minmax-integer-computed.html -9 / +5 lines
Lines 5-22 a/LayoutTests/imported/w3c/web-platform-tests/css/css-values/minmax-integer-computed.html_sec1
5
<link rel="author" title="Xiaocheng Hu" href="mailto:xiaochengh@chromium.org">
5
<link rel="author" title="Xiaocheng Hu" href="mailto:xiaochengh@chromium.org">
6
<script src="/resources/testharness.js"></script>
6
<script src="/resources/testharness.js"></script>
7
<script src="/resources/testharnessreport.js"></script>
7
<script src="/resources/testharnessreport.js"></script>
8
<script src="../support/computed-testcommon.js"></script>
8
<script src="../support/numeric-testcommon.js"></script>
9
<div id="target"></div>
9
<div id="target"></div>
10
<div id="reference"></div>
11
<script>
10
<script>
12
const property = 'z-index';
13
14
function test_integer_equals(value, expected) {
11
function test_integer_equals(value, expected) {
15
  const reference = document.getElementById('reference');
12
  test_math_used(value, expected,
16
  reference.style[property] = '';
13
    {base: '123',
17
  reference.style[property] = expected;
14
     prop: 'z-index'}
18
  const computed = getComputedStyle(reference)[property];
15
  );
19
  test_computed_value(property, value, computed);
20
}
16
}
21
17
22
// Identity tests
18
// Identity tests
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-values/minmax-length-computed-expected.txt -82 / +80 lines
Lines 1-84 a/LayoutTests/imported/w3c/web-platform-tests/css/css-values/minmax-length-computed-expected.txt_sec1
1
1
2
Harness Error (FAIL), message = 1 duplicate test name: "Property letter-spacing value 'min(15px, 1em)'"
2
PASS min(1px) should be used-value-equivalent to 1px 
3
3
PASS min(1cm) should be used-value-equivalent to 1cm 
4
PASS Property letter-spacing value 'min(1px)' 
4
PASS min(1mm) should be used-value-equivalent to 1mm 
5
PASS Property letter-spacing value 'min(1cm)' 
5
PASS min(1Q) should be used-value-equivalent to 1Q 
6
PASS Property letter-spacing value 'min(1mm)' 
6
PASS min(1in) should be used-value-equivalent to 1in 
7
PASS Property letter-spacing value 'min(1Q)' 
7
PASS min(1pc) should be used-value-equivalent to 1pc 
8
PASS Property letter-spacing value 'min(1in)' 
8
PASS min(1pt) should be used-value-equivalent to 1pt 
9
PASS Property letter-spacing value 'min(1pc)' 
9
PASS min(1em) should be used-value-equivalent to 1em 
10
PASS Property letter-spacing value 'min(1pt)' 
10
PASS min(1ex) should be used-value-equivalent to 1ex 
11
PASS Property letter-spacing value 'min(1em)' 
11
PASS min(1ch) should be used-value-equivalent to 1ch 
12
PASS Property letter-spacing value 'min(1ex)' 
12
PASS min(1rem) should be used-value-equivalent to 1rem 
13
PASS Property letter-spacing value 'min(1ch)' 
13
PASS min(1vh) should be used-value-equivalent to 1vh 
14
PASS Property letter-spacing value 'min(1rem)' 
14
PASS min(1vw) should be used-value-equivalent to 1vw 
15
PASS Property letter-spacing value 'min(1vh)' 
15
PASS min(1vmin) should be used-value-equivalent to 1vmin 
16
PASS Property letter-spacing value 'min(1vw)' 
16
PASS min(1vmax) should be used-value-equivalent to 1vmax 
17
PASS Property letter-spacing value 'min(1vmin)' 
17
PASS max(1px) should be used-value-equivalent to 1px 
18
PASS Property letter-spacing value 'min(1vmax)' 
18
PASS max(1cm) should be used-value-equivalent to 1cm 
19
PASS Property letter-spacing value 'max(1px)' 
19
PASS max(1mm) should be used-value-equivalent to 1mm 
20
PASS Property letter-spacing value 'max(1cm)' 
20
PASS max(1Q) should be used-value-equivalent to 1Q 
21
PASS Property letter-spacing value 'max(1mm)' 
21
PASS max(1in) should be used-value-equivalent to 1in 
22
PASS Property letter-spacing value 'max(1Q)' 
22
PASS max(1pc) should be used-value-equivalent to 1pc 
23
PASS Property letter-spacing value 'max(1in)' 
23
PASS max(1pt) should be used-value-equivalent to 1pt 
24
PASS Property letter-spacing value 'max(1pc)' 
24
PASS max(1em) should be used-value-equivalent to 1em 
25
PASS Property letter-spacing value 'max(1pt)' 
25
PASS max(1ex) should be used-value-equivalent to 1ex 
26
PASS Property letter-spacing value 'max(1em)' 
26
PASS max(1ch) should be used-value-equivalent to 1ch 
27
PASS Property letter-spacing value 'max(1ex)' 
27
PASS max(1rem) should be used-value-equivalent to 1rem 
28
PASS Property letter-spacing value 'max(1ch)' 
28
PASS max(1vh) should be used-value-equivalent to 1vh 
29
PASS Property letter-spacing value 'max(1rem)' 
29
PASS max(1vw) should be used-value-equivalent to 1vw 
30
PASS Property letter-spacing value 'max(1vh)' 
30
PASS max(1vmin) should be used-value-equivalent to 1vmin 
31
PASS Property letter-spacing value 'max(1vw)' 
31
PASS max(1vmax) should be used-value-equivalent to 1vmax 
32
PASS Property letter-spacing value 'max(1vmin)' 
32
PASS min(1px, 2px) should be used-value-equivalent to 1px 
33
PASS Property letter-spacing value 'max(1vmax)' 
33
PASS min(1cm, 2cm) should be used-value-equivalent to 1cm 
34
PASS Property letter-spacing value 'min(1px, 2px)' 
34
PASS min(1mm, 2mm) should be used-value-equivalent to 1mm 
35
PASS Property letter-spacing value 'min(1cm, 2cm)' 
35
PASS min(1Q, 2Q) should be used-value-equivalent to 1Q 
36
PASS Property letter-spacing value 'min(1mm, 2mm)' 
36
PASS min(1in, 2in) should be used-value-equivalent to 1in 
37
PASS Property letter-spacing value 'min(1Q, 2Q)' 
37
PASS min(1pc, 2pc) should be used-value-equivalent to 1pc 
38
PASS Property letter-spacing value 'min(1in, 2in)' 
38
PASS min(1pt, 2pt) should be used-value-equivalent to 1pt 
39
PASS Property letter-spacing value 'min(1pc, 2pc)' 
39
PASS min(1em, 2em) should be used-value-equivalent to 1em 
40
PASS Property letter-spacing value 'min(1pt, 2pt)' 
40
PASS min(1ex, 2ex) should be used-value-equivalent to 1ex 
41
PASS Property letter-spacing value 'min(1em, 2em)' 
41
PASS min(1ch, 2ch) should be used-value-equivalent to 1ch 
42
PASS Property letter-spacing value 'min(1ex, 2ex)' 
42
PASS min(1rem, 2rem) should be used-value-equivalent to 1rem 
43
PASS Property letter-spacing value 'min(1ch, 2ch)' 
43
PASS min(1vh, 2vh) should be used-value-equivalent to 1vh 
44
PASS Property letter-spacing value 'min(1rem, 2rem)' 
44
PASS min(1vw, 2vw) should be used-value-equivalent to 1vw 
45
PASS Property letter-spacing value 'min(1vh, 2vh)' 
45
PASS min(1vmin, 2vmin) should be used-value-equivalent to 1vmin 
46
PASS Property letter-spacing value 'min(1vw, 2vw)' 
46
PASS min(1vmax, 2vmax) should be used-value-equivalent to 1vmax 
47
PASS Property letter-spacing value 'min(1vmin, 2vmin)' 
47
PASS max(1px, 2px) should be used-value-equivalent to 2px 
48
PASS Property letter-spacing value 'min(1vmax, 2vmax)' 
48
PASS max(1cm, 2cm) should be used-value-equivalent to 2cm 
49
PASS Property letter-spacing value 'max(1px, 2px)' 
49
PASS max(1mm, 2mm) should be used-value-equivalent to 2mm 
50
PASS Property letter-spacing value 'max(1cm, 2cm)' 
50
PASS max(1Q, 2Q) should be used-value-equivalent to 2Q 
51
PASS Property letter-spacing value 'max(1mm, 2mm)' 
51
PASS max(1in, 2in) should be used-value-equivalent to 2in 
52
PASS Property letter-spacing value 'max(1Q, 2Q)' 
52
PASS max(1pc, 2pc) should be used-value-equivalent to 2pc 
53
PASS Property letter-spacing value 'max(1in, 2in)' 
53
PASS max(1pt, 2pt) should be used-value-equivalent to 2pt 
54
PASS Property letter-spacing value 'max(1pc, 2pc)' 
54
PASS max(1em, 2em) should be used-value-equivalent to 2em 
55
PASS Property letter-spacing value 'max(1pt, 2pt)' 
55
PASS max(1ex, 2ex) should be used-value-equivalent to 2ex 
56
PASS Property letter-spacing value 'max(1em, 2em)' 
56
PASS max(1ch, 2ch) should be used-value-equivalent to 2ch 
57
PASS Property letter-spacing value 'max(1ex, 2ex)' 
57
PASS max(1rem, 2rem) should be used-value-equivalent to 2rem 
58
PASS Property letter-spacing value 'max(1ch, 2ch)' 
58
PASS max(1vh, 2vh) should be used-value-equivalent to 2vh 
59
PASS Property letter-spacing value 'max(1rem, 2rem)' 
59
PASS max(1vw, 2vw) should be used-value-equivalent to 2vw 
60
PASS Property letter-spacing value 'max(1vh, 2vh)' 
60
PASS max(1vmin, 2vmin) should be used-value-equivalent to 2vmin 
61
PASS Property letter-spacing value 'max(1vw, 2vw)' 
61
PASS max(1vmax, 2vmax) should be used-value-equivalent to 2vmax 
62
PASS Property letter-spacing value 'max(1vmin, 2vmin)' 
62
PASS min(95px, 1in) should be used-value-equivalent to 95px 
63
PASS Property letter-spacing value 'max(1vmax, 2vmax)' 
63
PASS max(95px, 1in) should be used-value-equivalent to 1in 
64
PASS Property letter-spacing value 'min(95px, 1in)' 
64
PASS min(15px, 1em) should be used-value-equivalent to 15px 
65
PASS Property letter-spacing value 'max(95px, 1in)' 
65
PASS min(25px, 1em) should be used-value-equivalent to 20px 
66
PASS Property letter-spacing value 'min(15px, 1em)' 
66
PASS max(15px, 1em) should be used-value-equivalent to 20px 
67
PASS Property letter-spacing value 'min(25px, 1em)' 
67
PASS max(25px, 1em) should be used-value-equivalent to 25px 
68
PASS Property letter-spacing value 'max(15px, 1em)' 
68
PASS min(15px, 1em) should be used-value-equivalent to 10px; fontSize=10px 
69
PASS Property letter-spacing value 'max(25px, 1em)' 
69
PASS max(15px, 2em) should be used-value-equivalent to 20px; fontSize=10px 
70
PASS Property letter-spacing value 'min(15px, 1em)' 
70
PASS min(25px, max(15px, 1em)) should be used-value-equivalent to 20px 
71
PASS Property letter-spacing value 'max(15px, 2em)' 
71
PASS max(15px, min(25px, 1em)) should be used-value-equivalent to 20px 
72
PASS Property letter-spacing value 'min(25px, max(15px, 1em))' 
72
PASS calc(min(1em, 21px) + 10px) should be used-value-equivalent to 30px 
73
PASS Property letter-spacing value 'max(15px, min(25px, 1em))' 
73
PASS calc(min(1em, 21px) - 10px) should be used-value-equivalent to 10px 
74
PASS Property letter-spacing value 'calc(min(1em, 21px) + 10px)' 
74
PASS calc(min(1em, 21px) * 2 should be used-value-equivalent to 40px 
75
PASS Property letter-spacing value 'calc(min(1em, 21px) - 10px)' 
75
PASS calc(min(1em, 21px) / 2 should be used-value-equivalent to 10px 
76
PASS Property letter-spacing value 'calc(min(1em, 21px) * 2' 
76
PASS calc(max(1em, 19px) + 10px) should be used-value-equivalent to 30px 
77
PASS Property letter-spacing value 'calc(min(1em, 21px) / 2' 
77
PASS calc(max(1em, 19px) - 10px) should be used-value-equivalent to 10px 
78
PASS Property letter-spacing value 'calc(max(1em, 19px) + 10px)' 
78
PASS calc(max(1em, 19px) * 2 should be used-value-equivalent to 40px 
79
PASS Property letter-spacing value 'calc(max(1em, 19px) - 10px)' 
79
PASS calc(max(1em, 19px) / 2 should be used-value-equivalent to 10px 
80
PASS Property letter-spacing value 'calc(max(1em, 19px) * 2' 
80
PASS calc(min(1em, 21px) + max(0.9em, 20px)) should be used-value-equivalent to 40px 
81
PASS Property letter-spacing value 'calc(max(1em, 19px) / 2' 
81
PASS calc(min(1em, 21px) - max(0.9em, 20px)) should be used-value-equivalent to 0px 
82
PASS Property letter-spacing value 'calc(min(1em, 21px) + max(0.9em, 20px))' 
83
PASS Property letter-spacing value 'calc(min(1em, 21px) - max(0.9em, 20px))' 
84
82
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-values/minmax-length-computed.html -10 / +5 lines
Lines 5-24 a/LayoutTests/imported/w3c/web-platform-tests/css/css-values/minmax-length-computed.html_sec1
5
<link rel="author" title="Xiaocheng Hu" href="mailto:xiaochengh@chromium.org">
5
<link rel="author" title="Xiaocheng Hu" href="mailto:xiaochengh@chromium.org">
6
<script src="/resources/testharness.js"></script>
6
<script src="/resources/testharness.js"></script>
7
<script src="/resources/testharnessreport.js"></script>
7
<script src="/resources/testharnessreport.js"></script>
8
<script src="../support/computed-testcommon.js"></script>
8
<script src="../support/numeric-testcommon.js"></script>
9
<div id="container" style="font-size: 20px">
9
<div id="container" style="font-size: 20px">
10
  <div id="target"></div>
10
  <div id="target"></div>
11
  <div id="reference"></div>
12
</div>
11
</div>
13
<script>
12
<script>
14
const property = 'letter-spacing';
13
const property = 'letter-spacing';
15
14
16
function test_length_equals(value, expected) {
15
function test_length_equals(value, expected, msgExtra) {
17
  const reference = document.getElementById('reference');
16
  test_math_used(value, expected, {msgExtra});
18
  reference.style[property] = '';
19
  reference.style[property] = expected;
20
  const computed = getComputedStyle(reference)[property];
21
  test_computed_value(property, value, computed);
22
}
17
}
23
18
24
// Identity tests
19
// Identity tests
Lines 96-103 test_length_equals('max(15px, 1em)', '20px'); a/LayoutTests/imported/w3c/web-platform-tests/css/css-values/minmax-length-computed.html_sec2
96
test_length_equals('max(25px, 1em)', '25px');
91
test_length_equals('max(25px, 1em)', '25px');
97
92
98
document.getElementById('container').style.fontSize = '10px';
93
document.getElementById('container').style.fontSize = '10px';
99
test_length_equals('min(15px, 1em)', '10px');
94
test_length_equals('min(15px, 1em)', '10px', 'fontSize=10px');
100
test_length_equals('max(15px, 2em)', '20px');
95
test_length_equals('max(15px, 2em)', '20px', 'fontSize=10px');
101
96
102
document.getElementById('container').style.fontSize = '20px';
97
document.getElementById('container').style.fontSize = '20px';
103
98
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-values/minmax-length-percent-computed-expected.txt -52 / +50 lines
Lines 1-54 a/LayoutTests/imported/w3c/web-platform-tests/css/css-values/minmax-length-percent-computed-expected.txt_sec1
1
1
2
Harness Error (FAIL), message = 4 duplicate test names: "Property margin-left value 'min(20px, 10%)'", "Property margin-left value 'min(1em, 10%)'", "Property margin-left value 'max(20px, 10%)'", "Property margin-left value 'max(1em, 10%)'"
2
PASS min(1px + 1%) should be used-value-equivalent to calc(1px + 1%) 
3
3
PASS min(1cm + 1%) should be used-value-equivalent to calc(1cm + 1%) 
4
PASS Property margin-left value 'min(1px + 1%)' 
4
PASS min(1mm + 1%) should be used-value-equivalent to calc(1mm + 1%) 
5
PASS Property margin-left value 'min(1cm + 1%)' 
5
PASS min(1Q + 1%) should be used-value-equivalent to calc(1Q + 1%) 
6
PASS Property margin-left value 'min(1mm + 1%)' 
6
PASS min(1in + 1%) should be used-value-equivalent to calc(1in + 1%) 
7
PASS Property margin-left value 'min(1Q + 1%)' 
7
PASS min(1pc + 1%) should be used-value-equivalent to calc(1pc + 1%) 
8
PASS Property margin-left value 'min(1in + 1%)' 
8
PASS min(1pt + 1%) should be used-value-equivalent to calc(1pt + 1%) 
9
PASS Property margin-left value 'min(1pc + 1%)' 
9
PASS min(1em + 1%) should be used-value-equivalent to calc(1em + 1%) 
10
PASS Property margin-left value 'min(1pt + 1%)' 
10
PASS min(1ex + 1%) should be used-value-equivalent to calc(1ex + 1%) 
11
PASS Property margin-left value 'min(1em + 1%)' 
11
PASS min(1ch + 1%) should be used-value-equivalent to calc(1ch + 1%) 
12
PASS Property margin-left value 'min(1ex + 1%)' 
12
PASS min(1rem + 1%) should be used-value-equivalent to calc(1rem + 1%) 
13
PASS Property margin-left value 'min(1ch + 1%)' 
13
PASS min(1vh + 1%) should be used-value-equivalent to calc(1vh + 1%) 
14
PASS Property margin-left value 'min(1rem + 1%)' 
14
PASS min(1vw + 1%) should be used-value-equivalent to calc(1vw + 1%) 
15
PASS Property margin-left value 'min(1vh + 1%)' 
15
PASS min(1vmin + 1%) should be used-value-equivalent to calc(1vmin + 1%) 
16
PASS Property margin-left value 'min(1vw + 1%)' 
16
PASS min(1vmax + 1%) should be used-value-equivalent to calc(1vmax + 1%) 
17
PASS Property margin-left value 'min(1vmin + 1%)' 
17
PASS max(1px + 1%) should be used-value-equivalent to calc(1px + 1%) 
18
PASS Property margin-left value 'min(1vmax + 1%)' 
18
PASS max(1cm + 1%) should be used-value-equivalent to calc(1cm + 1%) 
19
PASS Property margin-left value 'max(1px + 1%)' 
19
PASS max(1mm + 1%) should be used-value-equivalent to calc(1mm + 1%) 
20
PASS Property margin-left value 'max(1cm + 1%)' 
20
PASS max(1Q + 1%) should be used-value-equivalent to calc(1Q + 1%) 
21
PASS Property margin-left value 'max(1mm + 1%)' 
21
PASS max(1in + 1%) should be used-value-equivalent to calc(1in + 1%) 
22
PASS Property margin-left value 'max(1Q + 1%)' 
22
PASS max(1pc + 1%) should be used-value-equivalent to calc(1pc + 1%) 
23
PASS Property margin-left value 'max(1in + 1%)' 
23
PASS max(1pt + 1%) should be used-value-equivalent to calc(1pt + 1%) 
24
PASS Property margin-left value 'max(1pc + 1%)' 
24
PASS max(1em + 1%) should be used-value-equivalent to calc(1em + 1%) 
25
PASS Property margin-left value 'max(1pt + 1%)' 
25
PASS max(1ex + 1%) should be used-value-equivalent to calc(1ex + 1%) 
26
PASS Property margin-left value 'max(1em + 1%)' 
26
PASS max(1ch + 1%) should be used-value-equivalent to calc(1ch + 1%) 
27
PASS Property margin-left value 'max(1ex + 1%)' 
27
PASS max(1rem + 1%) should be used-value-equivalent to calc(1rem + 1%) 
28
PASS Property margin-left value 'max(1ch + 1%)' 
28
PASS max(1vh + 1%) should be used-value-equivalent to calc(1vh + 1%) 
29
PASS Property margin-left value 'max(1rem + 1%)' 
29
PASS max(1vw + 1%) should be used-value-equivalent to calc(1vw + 1%) 
30
PASS Property margin-left value 'max(1vh + 1%)' 
30
PASS max(1vmin + 1%) should be used-value-equivalent to calc(1vmin + 1%) 
31
PASS Property margin-left value 'max(1vw + 1%)' 
31
PASS max(1vmax + 1%) should be used-value-equivalent to calc(1vmax + 1%) 
32
PASS Property margin-left value 'max(1vmin + 1%)' 
32
PASS min(20px, 10%) should be used-value-equivalent to 20px 
33
PASS Property margin-left value 'max(1vmax + 1%)' 
33
PASS min(1em, 10%) should be used-value-equivalent to 20px 
34
PASS Property margin-left value 'min(20px, 10%)' 
34
PASS max(20px, 10%) should be used-value-equivalent to 40px 
35
PASS Property margin-left value 'min(1em, 10%)' 
35
PASS max(1em, 10%) should be used-value-equivalent to 40px 
36
PASS Property margin-left value 'max(20px, 10%)' 
36
PASS min(20px, 10%) should be used-value-equivalent to 10px; width=100px 
37
PASS Property margin-left value 'max(1em, 10%)' 
37
PASS min(1em, 10%) should be used-value-equivalent to 10px; width=100px 
38
PASS Property margin-left value 'min(20px, 10%)' 
38
PASS max(20px, 10%) should be used-value-equivalent to 20px; width=100px 
39
PASS Property margin-left value 'min(1em, 10%)' 
39
PASS max(1em, 10%) should be used-value-equivalent to 20px; width=100px 
40
PASS Property margin-left value 'max(20px, 10%)' 
40
PASS min(30px + 10%, 60px + 5%) should be used-value-equivalent to 70px 
41
PASS Property margin-left value 'max(1em, 10%)' 
41
PASS max(2em + 10%, 1em + 20%) should be used-value-equivalent to 100px 
42
PASS Property margin-left value 'min(30px + 10%, 60px + 5%)' 
42
PASS calc(min(1.5em, 10%) + 10px) should be used-value-equivalent to 40px 
43
PASS Property margin-left value 'max(2em + 10%, 1em + 20%)' 
43
PASS calc(min(1.5em, 10%) - 10px) should be used-value-equivalent to 20px 
44
PASS Property margin-left value 'calc(min(1.5em, 10%) + 10px)' 
44
PASS calc(min(1.5em, 10%) * 2) should be used-value-equivalent to 60px 
45
PASS Property margin-left value 'calc(min(1.5em, 10%) - 10px)' 
45
PASS calc(min(1.5em, 10%) / 2) should be used-value-equivalent to 15px 
46
PASS Property margin-left value 'calc(min(1.5em, 10%) * 2)' 
46
PASS calc(max(1em, 15%) + 10px) should be used-value-equivalent to 70px 
47
PASS Property margin-left value 'calc(min(1.5em, 10%) / 2)' 
47
PASS calc(max(1em, 15%) - 10px) should be used-value-equivalent to 50px 
48
PASS Property margin-left value 'calc(max(1em, 15%) + 10px)' 
48
PASS calc(max(1em, 15%) * 2) should be used-value-equivalent to 120px 
49
PASS Property margin-left value 'calc(max(1em, 15%) - 10px)' 
49
PASS calc(max(1em, 15%) / 2) should be used-value-equivalent to 30px 
50
PASS Property margin-left value 'calc(max(1em, 15%) * 2)' 
50
PASS calc(min(1.5em, 10%) + max(1em, 15%)) should be used-value-equivalent to 90px 
51
PASS Property margin-left value 'calc(max(1em, 15%) / 2)' 
51
PASS calc(min(1.5em, 10%) - max(1em, 15%)) should be used-value-equivalent to -30px 
52
PASS Property margin-left value 'calc(min(1.5em, 10%) + max(1em, 15%))' 
53
PASS Property margin-left value 'calc(min(1.5em, 10%) - max(1em, 15%))' 
54
52
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-values/minmax-length-percent-computed.html -61 / +51 lines
Lines 5-84 a/LayoutTests/imported/w3c/web-platform-tests/css/css-values/minmax-length-percent-computed.html_sec1
5
<link rel="author" title="Xiaocheng Hu" href="mailto:xiaochengh@chromium.org">
5
<link rel="author" title="Xiaocheng Hu" href="mailto:xiaochengh@chromium.org">
6
<script src="/resources/testharness.js"></script>
6
<script src="/resources/testharness.js"></script>
7
<script src="/resources/testharnessreport.js"></script>
7
<script src="/resources/testharnessreport.js"></script>
8
<script src="../support/computed-testcommon.js"></script>
8
<script src="../support/numeric-testcommon.js"></script>
9
<div id="container" style="font-size: 20px; width: 400px">
9
<div id="container" style="font-size: 20px; width: 400px">
10
  <div id="target"></div>
10
  <div id="target"></div>
11
  <div id="reference"></div>
12
</div>
11
</div>
13
<script>
12
<script>
14
const property = 'margin-left';
15
16
function test_length_percent_equals(value, expected) {
17
  const reference = document.getElementById('reference');
18
  reference.style[property] = '';
19
  reference.style[property] = expected;
20
  const computed = getComputedStyle(reference)[property];
21
  test_computed_value(property, value, computed);
22
}
23
13
24
// Identity tests
14
// Identity tests
25
test_length_percent_equals('min(1px + 1%)', 'calc(1px + 1%)');
15
test_math_used('min(1px + 1%)', 'calc(1px + 1%)', {prop:'margin-left'});
26
test_length_percent_equals('min(1cm + 1%)', 'calc(1cm + 1%)');
16
test_math_used('min(1cm + 1%)', 'calc(1cm + 1%)');
27
test_length_percent_equals('min(1mm + 1%)', 'calc(1mm + 1%)');
17
test_math_used('min(1mm + 1%)', 'calc(1mm + 1%)');
28
test_length_percent_equals('min(1Q + 1%)', 'calc(1Q + 1%)');
18
test_math_used('min(1Q + 1%)', 'calc(1Q + 1%)');
29
test_length_percent_equals('min(1in + 1%)', 'calc(1in + 1%)');
19
test_math_used('min(1in + 1%)', 'calc(1in + 1%)');
30
test_length_percent_equals('min(1pc + 1%)', 'calc(1pc + 1%)');
20
test_math_used('min(1pc + 1%)', 'calc(1pc + 1%)');
31
test_length_percent_equals('min(1pt + 1%)', 'calc(1pt + 1%)');
21
test_math_used('min(1pt + 1%)', 'calc(1pt + 1%)');
32
test_length_percent_equals('min(1em + 1%)', 'calc(1em + 1%)');
22
test_math_used('min(1em + 1%)', 'calc(1em + 1%)');
33
test_length_percent_equals('min(1ex + 1%)', 'calc(1ex + 1%)');
23
test_math_used('min(1ex + 1%)', 'calc(1ex + 1%)');
34
test_length_percent_equals('min(1ch + 1%)', 'calc(1ch + 1%)');
24
test_math_used('min(1ch + 1%)', 'calc(1ch + 1%)');
35
test_length_percent_equals('min(1rem + 1%)', 'calc(1rem + 1%)');
25
test_math_used('min(1rem + 1%)', 'calc(1rem + 1%)');
36
test_length_percent_equals('min(1vh + 1%)', 'calc(1vh + 1%)');
26
test_math_used('min(1vh + 1%)', 'calc(1vh + 1%)');
37
test_length_percent_equals('min(1vw + 1%)', 'calc(1vw + 1%)');
27
test_math_used('min(1vw + 1%)', 'calc(1vw + 1%)');
38
test_length_percent_equals('min(1vmin + 1%)', 'calc(1vmin + 1%)');
28
test_math_used('min(1vmin + 1%)', 'calc(1vmin + 1%)');
39
test_length_percent_equals('min(1vmax + 1%)', 'calc(1vmax + 1%)');
29
test_math_used('min(1vmax + 1%)', 'calc(1vmax + 1%)');
40
test_length_percent_equals('max(1px + 1%)', 'calc(1px + 1%)');
30
test_math_used('max(1px + 1%)', 'calc(1px + 1%)');
41
test_length_percent_equals('max(1cm + 1%)', 'calc(1cm + 1%)');
31
test_math_used('max(1cm + 1%)', 'calc(1cm + 1%)');
42
test_length_percent_equals('max(1mm + 1%)', 'calc(1mm + 1%)');
32
test_math_used('max(1mm + 1%)', 'calc(1mm + 1%)');
43
test_length_percent_equals('max(1Q + 1%)', 'calc(1Q + 1%)');
33
test_math_used('max(1Q + 1%)', 'calc(1Q + 1%)');
44
test_length_percent_equals('max(1in + 1%)', 'calc(1in + 1%)');
34
test_math_used('max(1in + 1%)', 'calc(1in + 1%)');
45
test_length_percent_equals('max(1pc + 1%)', 'calc(1pc + 1%)');
35
test_math_used('max(1pc + 1%)', 'calc(1pc + 1%)');
46
test_length_percent_equals('max(1pt + 1%)', 'calc(1pt + 1%)');
36
test_math_used('max(1pt + 1%)', 'calc(1pt + 1%)');
47
test_length_percent_equals('max(1em + 1%)', 'calc(1em + 1%)');
37
test_math_used('max(1em + 1%)', 'calc(1em + 1%)');
48
test_length_percent_equals('max(1ex + 1%)', 'calc(1ex + 1%)');
38
test_math_used('max(1ex + 1%)', 'calc(1ex + 1%)');
49
test_length_percent_equals('max(1ch + 1%)', 'calc(1ch + 1%)');
39
test_math_used('max(1ch + 1%)', 'calc(1ch + 1%)');
50
test_length_percent_equals('max(1rem + 1%)', 'calc(1rem + 1%)');
40
test_math_used('max(1rem + 1%)', 'calc(1rem + 1%)');
51
test_length_percent_equals('max(1vh + 1%)', 'calc(1vh + 1%)');
41
test_math_used('max(1vh + 1%)', 'calc(1vh + 1%)');
52
test_length_percent_equals('max(1vw + 1%)', 'calc(1vw + 1%)');
42
test_math_used('max(1vw + 1%)', 'calc(1vw + 1%)');
53
test_length_percent_equals('max(1vmin + 1%)', 'calc(1vmin + 1%)');
43
test_math_used('max(1vmin + 1%)', 'calc(1vmin + 1%)');
54
test_length_percent_equals('max(1vmax + 1%)', 'calc(1vmax + 1%)');
44
test_math_used('max(1vmax + 1%)', 'calc(1vmax + 1%)');
55
45
56
// Comparisons between lengths and percentages
46
// Comparisons between lengths and percentages
57
test_length_percent_equals('min(20px, 10%)', '20px');
47
test_math_used('min(20px, 10%)', '20px');
58
test_length_percent_equals('min(1em, 10%)', '20px');
48
test_math_used('min(1em, 10%)', '20px');
59
test_length_percent_equals('max(20px, 10%)', '40px');
49
test_math_used('max(20px, 10%)', '40px');
60
test_length_percent_equals('max(1em, 10%)', '40px');
50
test_math_used('max(1em, 10%)', '40px');
61
51
62
document.getElementById('container').style.width = '100px';
52
document.getElementById('container').style.width = '100px';
63
test_length_percent_equals('min(20px, 10%)', '10px');
53
test_math_used('min(20px, 10%)', '10px', {msgExtra:'width=100px'});
64
test_length_percent_equals('min(1em, 10%)', '10px');
54
test_math_used('min(1em, 10%)', '10px', {msgExtra:'width=100px'});
65
test_length_percent_equals('max(20px, 10%)', '20px');
55
test_math_used('max(20px, 10%)', '20px', {msgExtra:'width=100px'});
66
test_length_percent_equals('max(1em, 10%)', '20px');
56
test_math_used('max(1em, 10%)', '20px', {msgExtra:'width=100px'});
67
document.getElementById('container').style.width = '400px';
57
document.getElementById('container').style.width = '400px';
68
58
69
// Comparisons between different mixings
59
// Comparisons between different mixings
70
test_length_percent_equals('min(30px + 10%, 60px + 5%)', '70px');
60
test_math_used('min(30px + 10%, 60px + 5%)', '70px');
71
test_length_percent_equals('max(2em + 10%, 1em + 20%)', '100px');
61
test_math_used('max(2em + 10%, 1em + 20%)', '100px');
72
62
73
// General calculations
63
// General calculations
74
test_length_percent_equals('calc(min(1.5em, 10%) + 10px)', '40px');
64
test_math_used('calc(min(1.5em, 10%) + 10px)', '40px');
75
test_length_percent_equals('calc(min(1.5em, 10%) - 10px)', '20px');
65
test_math_used('calc(min(1.5em, 10%) - 10px)', '20px');
76
test_length_percent_equals('calc(min(1.5em, 10%) * 2)', '60px');
66
test_math_used('calc(min(1.5em, 10%) * 2)', '60px');
77
test_length_percent_equals('calc(min(1.5em, 10%) / 2)', '15px');
67
test_math_used('calc(min(1.5em, 10%) / 2)', '15px');
78
test_length_percent_equals('calc(max(1em, 15%) + 10px)', '70px');
68
test_math_used('calc(max(1em, 15%) + 10px)', '70px');
79
test_length_percent_equals('calc(max(1em, 15%) - 10px)', '50px');
69
test_math_used('calc(max(1em, 15%) - 10px)', '50px');
80
test_length_percent_equals('calc(max(1em, 15%) * 2)', '120px');
70
test_math_used('calc(max(1em, 15%) * 2)', '120px');
81
test_length_percent_equals('calc(max(1em, 15%) / 2)', '30px');
71
test_math_used('calc(max(1em, 15%) / 2)', '30px');
82
test_length_percent_equals('calc(min(1.5em, 10%) + max(1em, 15%))', '90px');
72
test_math_used('calc(min(1.5em, 10%) + max(1em, 15%))', '90px');
83
test_length_percent_equals('calc(min(1.5em, 10%) - max(1em, 15%))', '-30px');
73
test_math_used('calc(min(1.5em, 10%) - max(1em, 15%))', '-30px');
84
</script>
74
</script>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-values/minmax-length-percent-serialize-expected.txt -60 / +51 lines
Lines 1-62 a/LayoutTests/imported/w3c/web-platform-tests/css/css-values/minmax-length-percent-serialize-expected.txt_sec1
1
1
2
PASS e.style['margin-left'] = "min(1px + 1%)" should set the property value 
2
FAIL 'min(1px)' as a specified value should serialize as 'calc(1px)'. assert_equals: 'min(1px)' and 'calc(1px)' should serialize the same in specified values. expected "calc(1px)" but got "min(1px)"
3
FAIL e.style['margin-left'] = "min(1cm + 1%)" should set the property value assert_equals: serialization should be canonical expected "min(1% + 1cm)" but got "min(1% + 37.79527559055118px)"
3
PASS 'min(1px)' as a computed value should serialize as '1px'. 
4
FAIL e.style['margin-left'] = "min(1mm + 1%)" should set the property value assert_equals: serialization should be canonical expected "min(1% + 1mm)" but got "min(1% + 3.7795275590551185px)"
4
PASS 'min(1px)' as a used value should serialize as '1px'. 
5
FAIL e.style['margin-left'] = "min(1Q + 1%)" should set the property value assert_equals: serialization should be canonical expected "min(1% + 1q)" but got "min(1% + 0.9448818897637796px)"
5
FAIL 'max(1px)' as a specified value should serialize as 'calc(1px)'. assert_equals: 'max(1px)' and 'calc(1px)' should serialize the same in specified values. expected "calc(1px)" but got "max(1px)"
6
FAIL e.style['margin-left'] = "min(1in + 1%)" should set the property value assert_equals: serialization should be canonical expected "min(1% + 1in)" but got "min(1% + 96px)"
6
PASS 'max(1px)' as a computed value should serialize as '1px'. 
7
FAIL e.style['margin-left'] = "min(1pc + 1%)" should set the property value assert_equals: serialization should be canonical expected "min(1% + 1pc)" but got "min(1% + 16px)"
7
PASS 'max(1px)' as a used value should serialize as '1px'. 
8
FAIL e.style['margin-left'] = "min(1pt + 1%)" should set the property value assert_equals: serialization should be canonical expected "min(1% + 1pt)" but got "min(1% + 1.3333333333333333px)"
8
PASS 'min(1% + 1px)' as a specified value should serialize as 'min(1% + 1px)'. 
9
PASS e.style['margin-left'] = "min(1em + 1%)" should set the property value 
9
PASS 'min(1% + 1px)' as a computed value should serialize as 'min(1% + 1px)'. 
10
PASS e.style['margin-left'] = "min(1ex + 1%)" should set the property value 
10
PASS 'min(1% + 1px)' as a used value should serialize as '2px'. 
11
PASS e.style['margin-left'] = "min(1ch + 1%)" should set the property value 
11
PASS 'min(1px + 1%)' as a specified value should serialize as 'min(1% + 1px)'. 
12
PASS e.style['margin-left'] = "min(1rem + 1%)" should set the property value 
12
PASS 'min(1px + 1%)' as a computed value should serialize as 'min(1% + 1px)'. 
13
PASS e.style['margin-left'] = "min(1vh + 1%)" should set the property value 
13
PASS 'min(1px + 1%)' as a used value should serialize as '2px'. 
14
PASS e.style['margin-left'] = "min(1vw + 1%)" should set the property value 
14
PASS 'max(1px + 1%)' as a specified value should serialize as 'max(1% + 1px)'. 
15
PASS e.style['margin-left'] = "min(1vmin + 1%)" should set the property value 
15
PASS 'max(1px + 1%)' as a computed value should serialize as 'max(1% + 1px)'. 
16
PASS e.style['margin-left'] = "min(1vmax + 1%)" should set the property value 
16
PASS 'max(1px + 1%)' as a used value should serialize as '2px'. 
17
PASS e.style['margin-left'] = "max(1px + 1%)" should set the property value 
17
PASS 'min(20px, 10%)' as a specified value should serialize as 'min(20px, 10%)'. 
18
FAIL e.style['margin-left'] = "max(1cm + 1%)" should set the property value assert_equals: serialization should be canonical expected "max(1% + 1cm)" but got "max(1% + 37.79527559055118px)"
18
FAIL 'min(20px, 10%)' as a computed value should serialize as 'min(20px, 10%)'. assert_not_equals: 'min(20px, 10%)' should be valid in text-indent. got disallowed value ""
19
FAIL e.style['margin-left'] = "max(1mm + 1%)" should set the property value assert_equals: serialization should be canonical expected "max(1% + 1mm)" but got "max(1% + 3.7795275590551185px)"
19
PASS 'min(20px, 10%)' as a used value should serialize as '10px'. 
20
FAIL e.style['margin-left'] = "max(1Q + 1%)" should set the property value assert_equals: serialization should be canonical expected "max(1% + 1q)" but got "max(1% + 0.9448818897637796px)"
20
PASS 'min(1em, 10%)' as a specified value should serialize as 'min(1em, 10%)'. 
21
FAIL e.style['margin-left'] = "max(1in + 1%)" should set the property value assert_equals: serialization should be canonical expected "max(1% + 1in)" but got "max(1% + 96px)"
21
FAIL 'min(1em, 10%)' as a computed value should serialize as 'min(16px, 10%)'. assert_not_equals: 'min(1em, 10%)' should be valid in text-indent. got disallowed value ""
22
FAIL e.style['margin-left'] = "max(1pc + 1%)" should set the property value assert_equals: serialization should be canonical expected "max(1% + 1pc)" but got "max(1% + 16px)"
22
PASS 'min(1em, 10%)' as a used value should serialize as '10px'. 
23
FAIL e.style['margin-left'] = "max(1pt + 1%)" should set the property value assert_equals: serialization should be canonical expected "max(1% + 1pt)" but got "max(1% + 1.3333333333333333px)"
23
PASS 'min(10%, 20px)' as a specified value should serialize as 'min(10%, 20px)'. 
24
PASS e.style['margin-left'] = "max(1em + 1%)" should set the property value 
24
FAIL 'min(10%, 20px)' as a computed value should serialize as 'min(10%, 20px)'. assert_not_equals: 'min(10%, 20px)' should be valid in text-indent. got disallowed value ""
25
PASS e.style['margin-left'] = "max(1ex + 1%)" should set the property value 
25
PASS 'min(10%, 20px)' as a used value should serialize as '10px'. 
26
PASS e.style['margin-left'] = "max(1ch + 1%)" should set the property value 
26
PASS 'min(10%, 1em)' as a specified value should serialize as 'min(10%, 1em)'. 
27
PASS e.style['margin-left'] = "max(1rem + 1%)" should set the property value 
27
FAIL 'min(10%, 1em)' as a computed value should serialize as 'min(10%, 16px)'. assert_not_equals: 'min(10%, 1em)' should be valid in text-indent. got disallowed value ""
28
PASS e.style['margin-left'] = "max(1vh + 1%)" should set the property value 
28
PASS 'min(10%, 1em)' as a used value should serialize as '10px'. 
29
PASS e.style['margin-left'] = "max(1vw + 1%)" should set the property value 
29
PASS 'max(20px, 10%)' as a specified value should serialize as 'max(20px, 10%)'. 
30
PASS e.style['margin-left'] = "max(1vmin + 1%)" should set the property value 
30
FAIL 'max(20px, 10%)' as a computed value should serialize as 'max(20px, 10%)'. assert_not_equals: 'max(20px, 10%)' should be valid in text-indent. got disallowed value ""
31
PASS e.style['margin-left'] = "max(1vmax + 1%)" should set the property value 
31
PASS 'max(20px, 10%)' as a used value should serialize as '20px'. 
32
PASS e.style['margin-left'] = "min(20px, 10%)" should set the property value 
32
PASS 'max(1em, 10%)' as a specified value should serialize as 'max(1em, 10%)'. 
33
PASS e.style['margin-left'] = "min(1em, 10%)" should set the property value 
33
FAIL 'max(1em, 10%)' as a computed value should serialize as 'max(16px, 10%)'. assert_not_equals: 'max(1em, 10%)' should be valid in text-indent. got disallowed value ""
34
PASS e.style['margin-left'] = "max(20px, 10%)" should set the property value 
34
PASS 'max(1em, 10%)' as a used value should serialize as '16px'. 
35
PASS e.style['margin-left'] = "max(1em, 10%)" should set the property value 
35
PASS 'max(10%, 20px)' as a specified value should serialize as 'max(10%, 20px)'. 
36
PASS e.style['margin-left'] = "min(10%, 20px)" should set the property value 
36
FAIL 'max(10%, 20px)' as a computed value should serialize as 'max(10%, 20px)'. assert_not_equals: 'max(10%, 20px)' should be valid in text-indent. got disallowed value ""
37
PASS e.style['margin-left'] = "min(10%, 1em)" should set the property value 
37
PASS 'max(10%, 20px)' as a used value should serialize as '20px'. 
38
PASS e.style['margin-left'] = "max(10%, 20px)" should set the property value 
38
PASS 'max(10%, 1em)' as a specified value should serialize as 'max(10%, 1em)'. 
39
PASS e.style['margin-left'] = "max(10%, 1em)" should set the property value 
39
FAIL 'max(10%, 1em)' as a computed value should serialize as 'max(10%, 16px)'. assert_not_equals: 'max(10%, 1em)' should be valid in text-indent. got disallowed value ""
40
PASS e.style['margin-left'] = "min(10% + 30px, 5% + 60px)" should set the property value 
40
PASS 'max(10%, 1em)' as a used value should serialize as '16px'. 
41
PASS e.style['margin-left'] = "max(10% + 2em, 5% + 1em)" should set the property value 
41
PASS 'min(10% + 30px, 5em + 5%)' as a specified value should serialize as 'min(10% + 30px, 5% + 5em)'. 
42
FAIL e.style['margin-left'] = "calc(min(10%) + max(1em) + min(20px))" should set the property value assert_equals: serialization should be canonical expected "calc(min(10%) + max(1em) + min(20px))" but got "calc(10% + 1em + 20px)"
42
PASS 'min(10% + 30px, 5em + 5%)' as a computed value should serialize as 'min(10% + 30px, 5% + 80px)'. 
43
FAIL e.style['margin-left'] = "calc(max(20px) + min(1em) + max(10%))" should set the property value assert_equals: serialization should be canonical expected "calc(max(20px) + min(1em) + max(10%))" but got "calc(10% + 1em + 20px)"
43
PASS 'min(10% + 30px, 5em + 5%)' as a used value should serialize as '40px'. 
44
FAIL e.style['margin-left'] = "calc(max(10%) + min(1em) + max(20px))" should set the property value assert_equals: serialization should be canonical expected "calc(max(10%) + min(1em) + max(20px))" but got "calc(10% + 1em + 20px)"
44
PASS 'max(10% + 30px, 5em + 5%)' as a specified value should serialize as 'max(10% + 30px, 5% + 5em)'. 
45
FAIL e.style['margin-left'] = "calc(min(20px) + max(1em) + min(10%))" should set the property value assert_equals: serialization should be canonical expected "calc(min(20px) + max(1em) + min(10%))" but got "calc(10% + 1em + 20px)"
45
PASS 'max(10% + 30px, 5em + 5%)' as a computed value should serialize as 'max(10% + 30px, 5% + 80px)'. 
46
FAIL e.style['margin-left'] = "calc(20px + min(10%))" should set the property value assert_equals: serialization should be canonical expected "calc(20px + min(10%))" but got "calc(10% + 20px)"
46
PASS 'max(10% + 30px, 5em + 5%)' as a used value should serialize as '85px'. 
47
FAIL e.style['margin-left'] = "calc(10% + min(20px))" should set the property value assert_equals: serialization should be canonical expected "calc(10% + min(20px))" but got "calc(10% + 20px)"
47
FAIL 'calc(min(10% + 1px) + max(1em + 10%) + min(10% + 20px))' as a specified value should serialize as 'calc(min(10% + 1px) + max(10% + 1em) + min(10% + 20px))'. assert_equals: 'calc(min(10% + 1px) + max(10% + 1em) + min(10% + 20px))' should round-trip exactly in specified values. expected "calc(min(10% + 1px) + max(10% + 1em) + min(10% + 20px))" but got "calc(30% + 1em + 21px)"
48
FAIL e.style['margin-left'] = "calc(1em + min(10%))" should set the property value assert_equals: serialization should be canonical expected "calc(1em + min(10%))" but got "calc(10% + 1em)"
48
FAIL 'calc(min(10% + 1px) + max(1em + 10%) + min(10% + 20px))' as a computed value should serialize as 'calc(min(10% + 1px) + max(10% + 16px) + min(10% + 20px))'. assert_equals: 'calc(min(10% + 1px) + max(10% + 16px) + min(10% + 20px))' should round-trip exactly in computed values. expected "calc(min(10% + 1px) + max(10% + 16px) + min(10% + 20px))" but got "calc(30% + 37px)"
49
FAIL e.style['margin-left'] = "calc(10% + min(1em))" should set the property value assert_equals: serialization should be canonical expected "calc(10% + min(1em))" but got "calc(10% + 1em)"
49
PASS 'calc(min(10% + 1px) + max(1em + 10%) + min(10% + 20px))' as a used value should serialize as '67px'. 
50
FAIL e.style['margin-left'] = "calc(min(10%) + 20px)" should set the property value assert_equals: serialization should be canonical expected "calc(20px + min(10%))" but got "calc(10% + 20px)"
50
FAIL 'calc(1em + max(10% + 20px) + 5% + min(1em + 10%) + 10px)' as a specified value should serialize as 'calc(5% + 1em + 10px + max(10% + 20px) + min(10% + 1em))'. assert_equals: 'calc(5% + 1em + 10px + max(10% + 20px) + min(10% + 1em))' should round-trip exactly in specified values. expected "calc(5% + 1em + 10px + max(10% + 20px) + min(10% + 1em))" but got "calc(25% + 2em + 30px)"
51
FAIL e.style['margin-left'] = "calc(min(20px) + 10%)" should set the property value assert_equals: serialization should be canonical expected "calc(10% + min(20px))" but got "calc(10% + 20px)"
51
FAIL 'calc(1em + max(10% + 20px) + 5% + min(1em + 10%) + 10px)' as a computed value should serialize as 'calc(5% + 26px + max(10% + 20px) + min(10% + 16px))'. assert_equals: 'calc(5% + 26px + max(10% + 20px) + min(10% + 16px))' should round-trip exactly in computed values. expected "calc(5% + 26px + max(10% + 20px) + min(10% + 16px))" but got "calc(25% + 62px)"
52
FAIL e.style['margin-left'] = "calc(min(10%) + 1em)" should set the property value assert_equals: serialization should be canonical expected "calc(1em + min(10%))" but got "calc(10% + 1em)"
52
PASS 'calc(1em + max(10% + 20px) + 5% + min(1em + 10%) + 10px)' as a used value should serialize as '87px'. 
53
FAIL e.style['margin-left'] = "calc(min(1em) + 10%)" should set the property value assert_equals: serialization should be canonical expected "calc(10% + min(1em))" but got "calc(10% + 1em)"
54
FAIL e.style['margin-left'] = "calc(20px + max(10%))" should set the property value assert_equals: serialization should be canonical expected "calc(20px + max(10%))" but got "calc(10% + 20px)"
55
FAIL e.style['margin-left'] = "calc(10% + max(20px))" should set the property value assert_equals: serialization should be canonical expected "calc(10% + max(20px))" but got "calc(10% + 20px)"
56
FAIL e.style['margin-left'] = "calc(1em + max(10%))" should set the property value assert_equals: serialization should be canonical expected "calc(1em + max(10%))" but got "calc(10% + 1em)"
57
FAIL e.style['margin-left'] = "calc(10% + max(1em))" should set the property value assert_equals: serialization should be canonical expected "calc(10% + max(1em))" but got "calc(10% + 1em)"
58
FAIL e.style['margin-left'] = "calc(max(10%) + 20px)" should set the property value assert_equals: serialization should be canonical expected "calc(20px + max(10%))" but got "calc(10% + 20px)"
59
FAIL e.style['margin-left'] = "calc(max(20px) + 10%)" should set the property value assert_equals: serialization should be canonical expected "calc(10% + max(20px))" but got "calc(10% + 20px)"
60
FAIL e.style['margin-left'] = "calc(max(10%) + 1em)" should set the property value assert_equals: serialization should be canonical expected "calc(1em + max(10%))" but got "calc(10% + 1em)"
61
FAIL e.style['margin-left'] = "calc(max(1em) + 10%)" should set the property value assert_equals: serialization should be canonical expected "calc(10% + max(1em))" but got "calc(10% + 1em)"
62
53
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-values/minmax-length-percent-serialize.html -65 / +103 lines
Lines 3-81 a/LayoutTests/imported/w3c/web-platform-tests/css/css-values/minmax-length-percent-serialize.html_sec1
3
<link rel="help" href="https://drafts.csswg.org/css-values-4/#mixed-percentages">
3
<link rel="help" href="https://drafts.csswg.org/css-values-4/#mixed-percentages">
4
<link rel="help" href="https://drafts.csswg.org/css-values-4/#calc-serialize">
4
<link rel="help" href="https://drafts.csswg.org/css-values-4/#calc-serialize">
5
<link rel="author" title="Xiaocheng Hu" href="mailto:xiaochengh@chromium.org">
5
<link rel="author" title="Xiaocheng Hu" href="mailto:xiaochengh@chromium.org">
6
<link rel="author" title="Tab Atkins-Bittner" href="https://xanthir.com/contact">
6
<script src="/resources/testharness.js"></script>
7
<script src="/resources/testharness.js"></script>
7
<script src="/resources/testharnessreport.js"></script>
8
<script src="/resources/testharnessreport.js"></script>
8
<script src="../support/parsing-testcommon.js"></script>
9
<script src="../support/serialize-testcommon.js"></script>
10
<div style="width: 100px;">
11
    <div id=target></div>
12
</div>
9
<script>
13
<script>
10
const property = 'margin-left';
14
function test_serialization(t,s,c,u, {prop}={}) {
11
15
    test_specified_serialization(prop || 'text-indent', t, s);
12
function test_valid_length_percent(value, expected) {
16
    test_computed_serialization(prop || 'text-indent', t, c);
13
  test_valid_value(property, value, expected);
17
    if(u) test_used_serialization(prop || 'margin-left', t, u);
14
}
18
}
15
19
16
test_valid_length_percent('min(1px + 1%)', 'min(1% + 1px)');
20
// If fully resolvable to a number, serialize to a calc() or all the way to a number.
17
test_valid_length_percent('min(1cm + 1%)', 'min(1% + 1cm)');
21
test_serialization(
18
test_valid_length_percent('min(1mm + 1%)', 'min(1% + 1mm)');
22
    'min(1px)',
19
test_valid_length_percent('min(1Q + 1%)', 'min(1% + 1q)');
23
    'calc(1px)',
20
test_valid_length_percent('min(1in + 1%)', 'min(1% + 1in)');
24
    '1px',
21
test_valid_length_percent('min(1pc + 1%)', 'min(1% + 1pc)');
25
    '1px');
22
test_valid_length_percent('min(1pt + 1%)', 'min(1% + 1pt)');
26
test_serialization(
23
test_valid_length_percent('min(1em + 1%)', 'min(1% + 1em)');
27
    'max(1px)',
24
test_valid_length_percent('min(1ex + 1%)', 'min(1% + 1ex)');
28
    'calc(1px)',
25
test_valid_length_percent('min(1ch + 1%)', 'min(1% + 1ch)');
29
    '1px',
26
test_valid_length_percent('min(1rem + 1%)', 'min(1% + 1rem)');
30
    '1px');
27
test_valid_length_percent('min(1vh + 1%)', 'min(1% + 1vh)');
28
test_valid_length_percent('min(1vw + 1%)', 'min(1% + 1vw)');
29
test_valid_length_percent('min(1vmin + 1%)', 'min(1% + 1vmin)');
30
test_valid_length_percent('min(1vmax + 1%)', 'min(1% + 1vmax)');
31
test_valid_length_percent('max(1px + 1%)', 'max(1% + 1px)');
32
test_valid_length_percent('max(1cm + 1%)', 'max(1% + 1cm)');
33
test_valid_length_percent('max(1mm + 1%)', 'max(1% + 1mm)');
34
test_valid_length_percent('max(1Q + 1%)', 'max(1% + 1q)');
35
test_valid_length_percent('max(1in + 1%)', 'max(1% + 1in)');
36
test_valid_length_percent('max(1pc + 1%)', 'max(1% + 1pc)');
37
test_valid_length_percent('max(1pt + 1%)', 'max(1% + 1pt)');
38
test_valid_length_percent('max(1em + 1%)', 'max(1% + 1em)');
39
test_valid_length_percent('max(1ex + 1%)', 'max(1% + 1ex)');
40
test_valid_length_percent('max(1ch + 1%)', 'max(1% + 1ch)');
41
test_valid_length_percent('max(1rem + 1%)', 'max(1% + 1rem)');
42
test_valid_length_percent('max(1vh + 1%)', 'max(1% + 1vh)');
43
test_valid_length_percent('max(1vw + 1%)', 'max(1% + 1vw)');
44
test_valid_length_percent('max(1vmin + 1%)', 'max(1% + 1vmin)');
45
test_valid_length_percent('max(1vmax + 1%)', 'max(1% + 1vmax)');
46
31
47
test_valid_length_percent('min(20px, 10%)', 'min(20px, 10%)');
32
// If not, keep as the function.
48
test_valid_length_percent('min(1em, 10%)', 'min(1em, 10%)');
33
test_serialization(
49
test_valid_length_percent('max(20px, 10%)', 'max(20px, 10%)');
34
    'min(1% + 1px)',
50
test_valid_length_percent('max(1em, 10%)', 'max(1em, 10%)');
35
    'min(1% + 1px)',
51
test_valid_length_percent('min(10%, 20px)', 'min(10%, 20px)');
36
    'min(1% + 1px)',
52
test_valid_length_percent('min(10%, 1em)', 'min(10%, 1em)');
37
    '2px');
53
test_valid_length_percent('max(10%, 20px)', 'max(10%, 20px)');
38
test_serialization(
54
test_valid_length_percent('max(10%, 1em)', 'max(10%, 1em)');
39
    'min(1px + 1%)',
40
    'min(1% + 1px)',
41
    'min(1% + 1px)',
42
    '2px');
43
test_serialization(
44
    'max(1px + 1%)',
45
    'max(1% + 1px)',
46
    'max(1% + 1px)',
47
    '2px');
55
48
56
test_valid_length_percent('min(10% + 30px, 5% + 60px)', 'min(10% + 30px, 5% + 60px)')
49
// Arguments are simplified, but not reordered.
57
test_valid_length_percent('max(10% + 2em, 5% + 1em)', 'max(10% + 2em, 5% + 1em)')
50
test_serialization(
51
    'min(20px, 10%)',
52
    'min(20px, 10%)',
53
    'min(20px, 10%)',
54
    '10px');
55
test_serialization(
56
    'min(1em, 10%)',
57
    'min(1em, 10%)',
58
    'min(16px, 10%)',
59
    '10px');
60
test_serialization(
61
    'min(10%, 20px)',
62
    'min(10%, 20px)',
63
    'min(10%, 20px)',
64
    '10px');
65
test_serialization(
66
    'min(10%, 1em)',
67
    'min(10%, 1em)',
68
    'min(10%, 16px)',
69
    '10px');
70
test_serialization(
71
    'max(20px, 10%)',
72
    'max(20px, 10%)',
73
    'max(20px, 10%)',
74
    '20px');
75
test_serialization(
76
    'max(1em, 10%)',
77
    'max(1em, 10%)',
78
    'max(16px, 10%)',
79
    '16px');
80
test_serialization(
81
    'max(10%, 20px)',
82
    'max(10%, 20px)',
83
    'max(10%, 20px)',
84
    '20px');
85
test_serialization(
86
    'max(10%, 1em)',
87
    'max(10%, 1em)',
88
    'max(10%, 16px)',
89
    '16px');
58
90
59
test_valid_length_percent('calc(min(10%) + max(1em) + min(20px))', 'calc(min(10%) + max(1em) + min(20px))');
91
// Within an argument, normal sorting occurs
60
test_valid_length_percent('calc(max(20px) + min(1em) + max(10%))', 'calc(max(20px) + min(1em) + max(10%))');
92
test_serialization(
61
test_valid_length_percent('calc(max(10%) + min(1em) + max(20px))', 'calc(max(10%) + min(1em) + max(20px))');
93
    'min(10% + 30px, 5em + 5%)',
62
test_valid_length_percent('calc(min(20px) + max(1em) + min(10%))', 'calc(min(20px) + max(1em) + min(10%))');
94
    'min(10% + 30px, 5% + 5em)',
95
    'min(10% + 30px, 5% + 80px)',
96
    '40px');
97
test_serialization(
98
    'max(10% + 30px, 5em + 5%)',
99
    'max(10% + 30px, 5% + 5em)',
100
    'max(10% + 30px, 5% + 80px)',
101
    '85px');
63
102
64
test_valid_length_percent('calc(20px + min(10%))', 'calc(20px + min(10%))');
103
// min()/max() are valid inside a calc(),
65
test_valid_length_percent('calc(10% + min(20px))', 'calc(10% + min(20px))');
104
// and retain their relative order
66
test_valid_length_percent('calc(1em + min(10%))', 'calc(1em + min(10%))');
105
test_serialization(
67
test_valid_length_percent('calc(10% + min(1em))', 'calc(10% + min(1em))');
106
    'calc(min(10% + 1px) + max(1em + 10%) + min(10% + 20px))',
68
test_valid_length_percent('calc(min(10%) + 20px)', 'calc(20px + min(10%))');
107
    'calc(min(10% + 1px) + max(10% + 1em) + min(10% + 20px))',
69
test_valid_length_percent('calc(min(20px) + 10%)', 'calc(10% + min(20px))');
108
    'calc(min(10% + 1px) + max(10% + 16px) + min(10% + 20px))',
70
test_valid_length_percent('calc(min(10%) + 1em)', 'calc(1em + min(10%))');
109
    '67px');
71
test_valid_length_percent('calc(min(1em) + 10%)', 'calc(10% + min(1em))');
72
test_valid_length_percent('calc(20px + max(10%))', 'calc(20px + max(10%))');
73
test_valid_length_percent('calc(10% + max(20px))', 'calc(10% + max(20px))');
74
test_valid_length_percent('calc(1em + max(10%))', 'calc(1em + max(10%))');
75
test_valid_length_percent('calc(10% + max(1em))', 'calc(10% + max(1em))');
76
test_valid_length_percent('calc(max(10%) + 20px)', 'calc(20px + max(10%))');
77
test_valid_length_percent('calc(max(20px) + 10%)', 'calc(10% + max(20px))');
78
test_valid_length_percent('calc(max(10%) + 1em)', 'calc(1em + max(10%))');
79
test_valid_length_percent('calc(max(1em) + 10%)', 'calc(10% + max(1em))');
80
110
111
// min()/max() can be combined with plain units as well.
112
// While min()/max() maintain their own ordering,
113
// ordinary units will re-sort around them.
114
test_serialization(
115
    'calc(1em + max(10% + 20px) + 5% + min(1em + 10%) + 10px)',
116
    'calc(5% + 1em + 10px + max(10% + 20px) + min(10% + 1em))',
117
    'calc(5% + 26px + max(10% + 20px) + min(10% + 16px))',
118
    '87px');
81
</script>
119
</script>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-values/minmax-length-serialize-expected.txt -44 / +22 lines
Lines 1-46 a/LayoutTests/imported/w3c/web-platform-tests/css/css-values/minmax-length-serialize-expected.txt_sec1
1
1
2
PASS e.style['letter-spacing'] = "min(1px)" should set the property value 
2
FAIL 'min(1px)' as a specified value should serialize as 'calc(1px)'. assert_equals: 'min(1px)' and 'calc(1px)' should serialize the same in specified values. expected "calc(1px)" but got "min(1px)"
3
FAIL e.style['letter-spacing'] = "min(1cm)" should set the property value assert_equals: serialization should be canonical expected "min(1cm)" but got "min(37.79527559055118px)"
3
PASS 'min(1px)' as a computed value should serialize as '1px'. 
4
FAIL e.style['letter-spacing'] = "min(1mm)" should set the property value assert_equals: serialization should be canonical expected "min(1mm)" but got "min(3.7795275590551185px)"
4
FAIL 'min(1in)' as a specified value should serialize as 'calc(96px)'. assert_equals: 'min(1in)' and 'calc(96px)' should serialize the same in specified values. expected "calc(96px)" but got "min(96px)"
5
FAIL e.style['letter-spacing'] = "min(1Q)" should set the property value assert_equals: serialization should be canonical expected "min(1q)" but got "min(0.9448818897637796px)"
5
PASS 'min(1in)' as a computed value should serialize as '96px'. 
6
FAIL e.style['letter-spacing'] = "min(1in)" should set the property value assert_equals: serialization should be canonical expected "min(1in)" but got "min(96px)"
6
FAIL 'max(1px)' as a specified value should serialize as 'calc(1px)'. assert_equals: 'max(1px)' and 'calc(1px)' should serialize the same in specified values. expected "calc(1px)" but got "max(1px)"
7
FAIL e.style['letter-spacing'] = "min(1pc)" should set the property value assert_equals: serialization should be canonical expected "min(1pc)" but got "min(16px)"
7
PASS 'max(1px)' as a computed value should serialize as '1px'. 
8
FAIL e.style['letter-spacing'] = "min(1pt)" should set the property value assert_equals: serialization should be canonical expected "min(1pt)" but got "min(1.3333333333333333px)"
8
FAIL 'max(1in)' as a specified value should serialize as 'calc(96px)'. assert_equals: 'max(1in)' and 'calc(96px)' should serialize the same in specified values. expected "calc(96px)" but got "max(96px)"
9
PASS e.style['letter-spacing'] = "min(1em)" should set the property value 
9
PASS 'max(1in)' as a computed value should serialize as '96px'. 
10
PASS e.style['letter-spacing'] = "min(1ex)" should set the property value 
10
FAIL 'min(1PX)' as a specified value should serialize as 'calc(1px)'. assert_equals: 'min(1PX)' and 'calc(1px)' should serialize the same in specified values. expected "calc(1px)" but got "min(1px)"
11
PASS e.style['letter-spacing'] = "min(1ch)" should set the property value 
11
PASS 'min(1PX)' as a computed value should serialize as '1px'. 
12
PASS e.style['letter-spacing'] = "min(1rem)" should set the property value 
12
FAIL 'min(50px, 1in + 1px)' as a specified value should serialize as 'calc(50px)'. assert_equals: 'min(50px, 1in + 1px)' and 'calc(50px)' should serialize the same in specified values. expected "calc(50px)" but got "min(50px)"
13
PASS e.style['letter-spacing'] = "min(1vh)" should set the property value 
13
PASS 'min(50px, 1in + 1px)' as a computed value should serialize as '50px'. 
14
PASS e.style['letter-spacing'] = "min(1vw)" should set the property value 
14
FAIL 'max(50px, 1in + 1px)' as a specified value should serialize as 'calc(97px)'. assert_equals: 'max(50px, 1in + 1px)' and 'calc(97px)' should serialize the same in specified values. expected "calc(97px)" but got "max(97px)"
15
PASS e.style['letter-spacing'] = "min(1vmin)" should set the property value 
15
PASS 'max(50px, 1in + 1px)' as a computed value should serialize as '97px'. 
16
PASS e.style['letter-spacing'] = "min(1vmax)" should set the property value 
16
PASS 'calc(1px + min(1in, 100px))' as a specified value should serialize as 'calc(97px)'. 
17
PASS e.style['letter-spacing'] = "max(1px)" should set the property value 
17
PASS 'calc(1px + min(1in, 100px))' as a computed value should serialize as '97px'. 
18
FAIL e.style['letter-spacing'] = "max(1cm)" should set the property value assert_equals: serialization should be canonical expected "max(1cm)" but got "max(37.79527559055118px)"
18
PASS 'calc(1px + max(1in, 100px))' as a specified value should serialize as 'calc(101px)'. 
19
FAIL e.style['letter-spacing'] = "max(1mm)" should set the property value assert_equals: serialization should be canonical expected "max(1mm)" but got "max(3.7795275590551185px)"
19
PASS 'calc(1px + max(1in, 100px))' as a computed value should serialize as '101px'. 
20
FAIL e.style['letter-spacing'] = "max(1Q)" should set the property value assert_equals: serialization should be canonical expected "max(1q)" but got "max(0.9448818897637796px)"
20
PASS 'min(1px, 1em)' as a specified value should serialize as 'min(1px, 1em)'. 
21
FAIL e.style['letter-spacing'] = "max(1in)" should set the property value assert_equals: serialization should be canonical expected "max(1in)" but got "max(96px)"
21
PASS 'min(1px, 1em)' as a computed value should serialize as '1px'. 
22
FAIL e.style['letter-spacing'] = "max(1pc)" should set the property value assert_equals: serialization should be canonical expected "max(1pc)" but got "max(16px)"
22
PASS 'calc(min(1px, 1in) + max(100px + 1em, 10px + 1in) + 1px)' as a specified value should serialize as 'calc(2px + max(1em + 100px, 106px))'. 
23
FAIL e.style['letter-spacing'] = "max(1pt)" should set the property value assert_equals: serialization should be canonical expected "max(1pt)" but got "max(1.3333333333333333px)"
23
PASS 'calc(min(1px, 1in) + max(100px + 1em, 10px + 1in) + 1px)' as a computed value should serialize as '118px'. 
24
PASS e.style['letter-spacing'] = "max(1em)" should set the property value 
25
PASS e.style['letter-spacing'] = "max(1ex)" should set the property value 
26
PASS e.style['letter-spacing'] = "max(1ch)" should set the property value 
27
PASS e.style['letter-spacing'] = "max(1rem)" should set the property value 
28
PASS e.style['letter-spacing'] = "max(1vh)" should set the property value 
29
PASS e.style['letter-spacing'] = "max(1vw)" should set the property value 
30
PASS e.style['letter-spacing'] = "max(1vmin)" should set the property value 
31
PASS e.style['letter-spacing'] = "max(1vmax)" should set the property value 
32
FAIL e.style['letter-spacing'] = "min(10px, 20px, 30px)" should set the property value assert_equals: serialization should be canonical expected "min(10px, 20px, 30px)" but got "min(10px)"
33
FAIL e.style['letter-spacing'] = "min(30px, 20px, 10px)" should set the property value assert_equals: serialization should be canonical expected "min(30px, 20px, 10px)" but got "min(10px)"
34
PASS e.style['letter-spacing'] = "min(20px, 1em, 10vw)" should set the property value 
35
PASS e.style['letter-spacing'] = "min(10vw, 1em, 20px)" should set the property value 
36
FAIL e.style['letter-spacing'] = "max(10px, 20px, 30px)" should set the property value assert_equals: serialization should be canonical expected "max(10px, 20px, 30px)" but got "max(30px)"
37
FAIL e.style['letter-spacing'] = "max(30px, 20px, 10px)" should set the property value assert_equals: serialization should be canonical expected "max(30px, 20px, 10px)" but got "max(30px)"
38
PASS e.style['letter-spacing'] = "max(20px, 1em, 10vw)" should set the property value 
39
PASS e.style['letter-spacing'] = "max(10vw, 1em, 20px)" should set the property value 
40
FAIL e.style['letter-spacing'] = "calc(min(10px) + max(1em) + min(10vw))" should set the property value assert_equals: serialization should be canonical expected "calc(min(10px) + max(1em) + min(10vw))" but got "calc(1em + 10px + 10vw)"
41
FAIL e.style['letter-spacing'] = "calc(max(1em) + min(10vw) + max(10px))" should set the property value assert_equals: serialization should be canonical expected "calc(max(1em) + min(10vw) + max(10px))" but got "calc(1em + 10px + 10vw)"
42
FAIL e.style['letter-spacing'] = "calc(10px + min(1em))" should set the property value assert_equals: serialization should be canonical expected "calc(10px + min(1em))" but got "calc(1em + 10px)"
43
FAIL e.style['letter-spacing'] = "calc(min(1em) + 10px)" should set the property value assert_equals: serialization should be canonical expected "calc(10px + min(1em))" but got "calc(1em + 10px)"
44
FAIL e.style['letter-spacing'] = "calc(10px + max(1em))" should set the property value assert_equals: serialization should be canonical expected "calc(10px + max(1em))" but got "calc(1em + 10px)"
45
FAIL e.style['letter-spacing'] = "calc(max(1em) + 10px)" should set the property value assert_equals: serialization should be canonical expected "calc(10px + max(1em))" but got "calc(1em + 10px)"
46
24
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-values/minmax-length-serialize.html -49 / +59 lines
Lines 5-65 a/LayoutTests/imported/w3c/web-platform-tests/css/css-values/minmax-length-serialize.html_sec1
5
<link rel="author" title="Xiaocheng Hu" href="mailto:xiaochengh@chromium.org">
5
<link rel="author" title="Xiaocheng Hu" href="mailto:xiaochengh@chromium.org">
6
<script src="/resources/testharness.js"></script>
6
<script src="/resources/testharness.js"></script>
7
<script src="/resources/testharnessreport.js"></script>
7
<script src="/resources/testharnessreport.js"></script>
8
<script src="../support/parsing-testcommon.js"></script>
8
<script src="../support/serialize-testcommon.js"></script>
9
<div style="width: 100px;">
10
    <div id=target></div>
11
</div>
9
<script>
12
<script>
10
const property = 'letter-spacing';
13
function test_serialization(t,s,c,u, {prop}={}) {
11
14
    test_specified_serialization(prop || 'text-indent', t, s);
12
function test_valid_length(value, expected) {
15
    test_computed_serialization(prop || 'text-indent', t, c);
13
  test_valid_value(property, value, expected);
16
    if(u) test_used_serialization(prop || 'margin-left', t, u);
14
}
17
}
15
18
16
test_valid_length('min(1px)', 'min(1px)');
19
test_serialization(
17
test_valid_length('min(1cm)', 'min(1cm)');
20
	'min(1px)',
18
test_valid_length('min(1mm)', 'min(1mm)');
21
	'calc(1px)',
22
	'1px');
23
test_serialization(
24
	'min(1in)',
25
	'calc(96px)',
26
	'96px');
27
test_serialization(
28
	'max(1px)',
29
	'calc(1px)',
30
	'1px');
31
test_serialization(
32
	'max(1in)',
33
	'calc(96px)',
34
	'96px');
35
19
// Values are case-insensitive and serialize as lower case, for example 1Q
36
// Values are case-insensitive and serialize as lower case, for example 1Q
20
// serializes as 1q.
37
// serializes as 1q.
21
test_valid_length('min(1Q)', 'min(1q)');
38
test_serialization(
22
test_valid_length('min(1in)', 'min(1in)');
39
	'min(1PX)',
23
test_valid_length('min(1pc)', 'min(1pc)');
40
	'calc(1px)',
24
test_valid_length('min(1pt)', 'min(1pt)');
41
	'1px');
25
test_valid_length('min(1em)', 'min(1em)');
42
26
test_valid_length('min(1ex)', 'min(1ex)');
43
// Arguments simplify down eagerly
27
test_valid_length('min(1ch)', 'min(1ch)');
44
test_serialization(
28
test_valid_length('min(1rem)', 'min(1rem)');
45
	'min(50px, 1in + 1px)',
29
test_valid_length('min(1vh)', 'min(1vh)');
46
	'calc(50px)',
30
test_valid_length('min(1vw)', 'min(1vw)');
47
	'50px');
31
test_valid_length('min(1vmin)', 'min(1vmin)');
48
test_serialization(
32
test_valid_length('min(1vmax)', 'min(1vmax)');
49
	'max(50px, 1in + 1px)',
33
test_valid_length('max(1px)', 'max(1px)');
50
	'calc(97px)',
34
test_valid_length('max(1cm)', 'max(1cm)');
51
	'97px');
35
test_valid_length('max(1mm)', 'max(1mm)');
36
test_valid_length('max(1Q)', 'max(1q)');
37
test_valid_length('max(1in)', 'max(1in)');
38
test_valid_length('max(1pc)', 'max(1pc)');
39
test_valid_length('max(1pt)', 'max(1pt)');
40
test_valid_length('max(1em)', 'max(1em)');
41
test_valid_length('max(1ex)', 'max(1ex)');
42
test_valid_length('max(1ch)', 'max(1ch)');
43
test_valid_length('max(1rem)', 'max(1rem)');
44
test_valid_length('max(1vh)', 'max(1vh)');
45
test_valid_length('max(1vw)', 'max(1vw)');
46
test_valid_length('max(1vmin)', 'max(1vmin)');
47
test_valid_length('max(1vmax)', 'max(1vmax)');
48
52
49
test_valid_length('min(10px, 20px, 30px)', 'min(10px, 20px, 30px)');
53
// And the entire function simplifies eagerly if possible
50
test_valid_length('min(30px, 20px, 10px)', 'min(30px, 20px, 10px)');
54
test_serialization(
51
test_valid_length('min(20px, 1em, 10vw)', 'min(20px, 1em, 10vw)');
55
	'calc(1px + min(1in, 100px))',
52
test_valid_length('min(10vw, 1em, 20px)', 'min(10vw, 1em, 20px)');
56
	'calc(97px)',
53
test_valid_length('max(10px, 20px, 30px)', 'max(10px, 20px, 30px)');
57
	'97px');
54
test_valid_length('max(30px, 20px, 10px)', 'max(30px, 20px, 10px)');
58
test_serialization(
55
test_valid_length('max(20px, 1em, 10vw)', 'max(20px, 1em, 10vw)');
59
	'calc(1px + max(1in, 100px))',
56
test_valid_length('max(10vw, 1em, 20px)', 'max(10vw, 1em, 20px)');
60
	'calc(101px)',
61
	'101px');
57
62
58
test_valid_length('calc(min(10px) + max(1em) + min(10vw))', 'calc(min(10px) + max(1em) + min(10vw))');
63
// Computed-value units preserve min()/max() in specified values
59
test_valid_length('calc(max(1em) + min(10vw) + max(10px))', 'calc(max(1em) + min(10vw) + max(10px))');
64
test_serialization(
60
test_valid_length('calc(10px + min(1em))', 'calc(10px + min(1em))');
65
	'min(1px, 1em)',
61
test_valid_length('calc(min(1em) + 10px)', 'calc(10px + min(1em))');
66
	'min(1px, 1em)',
62
test_valid_length('calc(10px + max(1em))', 'calc(10px + max(1em))');
67
	'1px');
63
test_valid_length('calc(max(1em) + 10px)', 'calc(10px + max(1em))');
68
test_serialization(
69
	'calc(min(1px, 1in) + max(100px + 1em, 10px + 1in) + 1px)',
70
	'calc(2px + max(1em + 100px, 106px))',
71
	'118px');
64
72
73
// Can't test that min()/max() are preserved in computed values with just lengths;
74
// see minmax-length-percentage-serialize for tests of that.
65
</script>
75
</script>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-values/minmax-number-computed-expected.txt -14 / +14 lines
Lines 1-16 a/LayoutTests/imported/w3c/web-platform-tests/css/css-values/minmax-number-computed-expected.txt_sec1
1
1
2
PASS Property opacity value 'min(1)' 
2
PASS min(1) should be used-value-equivalent to 1 
3
PASS Property opacity value 'max(1)' 
3
PASS max(1) should be used-value-equivalent to 1 
4
PASS Property opacity value 'min(0.2, max(0.1, 0.15))' 
4
PASS min(0.2, max(0.1, 0.15)) should be used-value-equivalent to 0.15 
5
PASS Property opacity value 'max(0.1, min(0.2, 0.15))' 
5
PASS max(0.1, min(0.2, 0.15)) should be used-value-equivalent to 0.15 
6
PASS Property opacity value 'calc(min(0.1, 0.2) + 0.05)' 
6
FAIL calc(min(0.1, 0.2) + 0.05) should be used-value-equivalent to 0.15 assert_equals: calc(min(0.1, 0.2) + 0.05) and 0.15 serialize to the same thing in used values. expected "matrix(0.15, 0, 0, 0.15, 0, 0)" but got "matrix(0.15000000000000002, 0, 0, 0.15000000000000002, 0, 0)"
7
PASS Property opacity value 'calc(min(0.1, 0.2) - 0.05)' 
7
PASS calc(min(0.1, 0.2) - 0.05) should be used-value-equivalent to 0.05 
8
PASS Property opacity value 'calc(min(0.1, 0.2) * 2)' 
8
PASS calc(min(0.1, 0.2) * 2) should be used-value-equivalent to 0.2 
9
PASS Property opacity value 'calc(min(0.1, 0.2) / 2)' 
9
PASS calc(min(0.1, 0.2) / 2) should be used-value-equivalent to 0.05 
10
PASS Property opacity value 'calc(max(0.1, 0.2) + 0.05)' 
10
PASS calc(max(0.1, 0.2) + 0.05) should be used-value-equivalent to 0.25 
11
PASS Property opacity value 'calc(max(0.1, 0.2) - 0.05)' 
11
FAIL calc(max(0.1, 0.2) - 0.05) should be used-value-equivalent to 0.15 assert_equals: calc(max(0.1, 0.2) - 0.05) and 0.15 serialize to the same thing in used values. expected "matrix(0.15, 0, 0, 0.15, 0, 0)" but got "matrix(0.15000000000000002, 0, 0, 0.15000000000000002, 0, 0)"
12
PASS Property opacity value 'calc(max(0.1, 0.2) * 2)' 
12
PASS calc(max(0.1, 0.2) * 2) should be used-value-equivalent to 0.4 
13
PASS Property opacity value 'calc(max(0.1, 0.2) / 2)' 
13
PASS calc(max(0.1, 0.2) / 2) should be used-value-equivalent to 0.1 
14
PASS Property opacity value 'calc(min(0.1, 0.2) + max(0.1, 0.05))' 
14
PASS calc(min(0.1, 0.2) + max(0.1, 0.05)) should be used-value-equivalent to 0.2 
15
PASS Property opacity value 'calc(min(0.1, 0.2) - max(0.1, 0.05))' 
15
PASS calc(min(0.1, 0.2) - max(0.1, 0.05)) should be used-value-equivalent to 0 
16
16
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-values/minmax-number-computed.html -26 / +15 lines
Lines 5-41 a/LayoutTests/imported/w3c/web-platform-tests/css/css-values/minmax-number-computed.html_sec1
5
<link rel="author" title="Xiaocheng Hu" href="mailto:xiaochengh@chromium.org">
5
<link rel="author" title="Xiaocheng Hu" href="mailto:xiaochengh@chromium.org">
6
<script src="/resources/testharness.js"></script>
6
<script src="/resources/testharness.js"></script>
7
<script src="/resources/testharnessreport.js"></script>
7
<script src="/resources/testharnessreport.js"></script>
8
<script src="../support/computed-testcommon.js"></script>
8
<script src="../support/numeric-testcommon.js"></script>
9
<div id="target"></div>
9
<div id="target"></div>
10
<div id="reference"></div>
11
<script>
10
<script>
12
const property = 'opacity';
13
14
function test_number_equals(value, expected) {
15
  const reference = document.getElementById('reference');
16
  reference.style[property] = '';
17
  reference.style[property] = expected;
18
  const computed = getComputedStyle(reference)[property];
19
  test_computed_value(property, value, computed);
20
}
21
22
// Identity tests
11
// Identity tests
23
test_number_equals('min(1)', '1');
12
test_math_used('min(1)', '1', {type:'number'});
24
test_number_equals('max(1)', '1');
13
test_math_used('max(1)', '1', {type:'number'});
25
14
26
// Nestings
15
// Nestings
27
test_number_equals('min(0.2, max(0.1, 0.15))', '0.15');
16
test_math_used('min(0.2, max(0.1, 0.15))', '0.15', {type:'number'});
28
test_number_equals('max(0.1, min(0.2, 0.15))', '0.15');
17
test_math_used('max(0.1, min(0.2, 0.15))', '0.15', {type:'number'});
29
18
30
// General calculations
19
// General calculations
31
test_number_equals('calc(min(0.1, 0.2) + 0.05)', '0.15');
20
test_math_used('calc(min(0.1, 0.2) + 0.05)', '0.15', {type:'number'});
32
test_number_equals('calc(min(0.1, 0.2) - 0.05)', '0.05');
21
test_math_used('calc(min(0.1, 0.2) - 0.05)', '0.05', {type:'number'});
33
test_number_equals('calc(min(0.1, 0.2) * 2)', '0.2');
22
test_math_used('calc(min(0.1, 0.2) * 2)', '0.2', {type:'number'});
34
test_number_equals('calc(min(0.1, 0.2) / 2)', '0.05');
23
test_math_used('calc(min(0.1, 0.2) / 2)', '0.05', {type:'number'});
35
test_number_equals('calc(max(0.1, 0.2) + 0.05)', '0.25');
24
test_math_used('calc(max(0.1, 0.2) + 0.05)', '0.25', {type:'number'});
36
test_number_equals('calc(max(0.1, 0.2) - 0.05)', '0.15');
25
test_math_used('calc(max(0.1, 0.2) - 0.05)', '0.15', {type:'number'});
37
test_number_equals('calc(max(0.1, 0.2) * 2)', '0.4');
26
test_math_used('calc(max(0.1, 0.2) * 2)', '0.4', {type:'number'});
38
test_number_equals('calc(max(0.1, 0.2) / 2)', '0.1');
27
test_math_used('calc(max(0.1, 0.2) / 2)', '0.1', {type:'number'});
39
test_number_equals('calc(min(0.1, 0.2) + max(0.1, 0.05))', '0.2');
28
test_math_used('calc(min(0.1, 0.2) + max(0.1, 0.05))', '0.2', {type:'number'});
40
test_number_equals('calc(min(0.1, 0.2) - max(0.1, 0.05))', '0');
29
test_math_used('calc(min(0.1, 0.2) - max(0.1, 0.05))', '0', {type:'number'});
41
</script>
30
</script>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-values/minmax-number-serialize-expected.txt -12 / +40 lines
Lines 1-14 a/LayoutTests/imported/w3c/web-platform-tests/css/css-values/minmax-number-serialize-expected.txt_sec1
1
1
2
PASS e.style['opacity'] = "min(1)" should set the property value 
2
FAIL 'min(.1)' as a specified value should serialize as 'calc(0.1)'. assert_equals: 'min(.1)' and 'calc(0.1)' should serialize the same in specified values. expected "calc(0.1)" but got "min(0.1)"
3
PASS e.style['opacity'] = "max(1)" should set the property value 
3
FAIL 'scale(min(.1))' as a specified value should serialize as 'scale(calc(0.1))'. assert_equals: 'scale(min(.1))' and 'scale(calc(0.1))' should serialize the same in specified values. expected "scale(calc(0.1))" but got "scale(min(0.1))"
4
FAIL e.style['opacity'] = "min(1, 2, 3)" should set the property value assert_equals: serialization should be canonical expected "min(1, 2, 3)" but got "min(1)"
4
FAIL 'min(.1)' as a computed value should serialize as '0.1'. assert_equals: '0.1' should round-trip exactly in computed values. expected "0.1" but got "0.10000000149011612"
5
FAIL e.style['opacity'] = "min(3, 2, 1)" should set the property value assert_equals: serialization should be canonical expected "min(3, 2, 1)" but got "min(1)"
5
PASS 'scale(min(.1))' as a computed value should serialize as 'matrix(0.1, 0, 0, 0.1, 0, 0)'. 
6
FAIL e.style['opacity'] = "max(1, 2, 3)" should set the property value assert_equals: serialization should be canonical expected "max(1, 2, 3)" but got "max(3)"
6
FAIL 'max(.1)' as a specified value should serialize as 'calc(0.1)'. assert_equals: 'max(.1)' and 'calc(0.1)' should serialize the same in specified values. expected "calc(0.1)" but got "max(0.1)"
7
FAIL e.style['opacity'] = "max(3, 2, 1)" should set the property value assert_equals: serialization should be canonical expected "max(3, 2, 1)" but got "max(3)"
7
FAIL 'scale(max(.1))' as a specified value should serialize as 'scale(calc(0.1))'. assert_equals: 'scale(max(.1))' and 'scale(calc(0.1))' should serialize the same in specified values. expected "scale(calc(0.1))" but got "scale(max(0.1))"
8
FAIL e.style['opacity'] = "calc(min(1) + min(2))" should set the property value assert_equals: serialization should be canonical expected "calc(min(1) + min(2))" but got "calc(3)"
8
FAIL 'max(.1)' as a computed value should serialize as '0.1'. assert_equals: '0.1' should round-trip exactly in computed values. expected "0.1" but got "0.10000000149011612"
9
FAIL e.style['opacity'] = "calc(max(1) + max(2))" should set the property value assert_equals: serialization should be canonical expected "calc(max(1) + max(2))" but got "calc(3)"
9
PASS 'scale(max(.1))' as a computed value should serialize as 'matrix(0.1, 0, 0, 0.1, 0, 0)'. 
10
FAIL e.style['opacity'] = "calc(1 + min(1))" should set the property value assert_equals: serialization should be canonical expected "calc(1 + min(1))" but got "calc(2)"
10
FAIL 'min(.1, .2, .3)' as a specified value should serialize as 'calc(0.1)'. assert_equals: 'min(.1, .2, .3)' and 'calc(0.1)' should serialize the same in specified values. expected "calc(0.1)" but got "min(0.1)"
11
FAIL e.style['opacity'] = "calc(min(1) + 1)" should set the property value assert_equals: serialization should be canonical expected "calc(1 + min(1))" but got "calc(2)"
11
FAIL 'scale(min(.1, .2, .3))' as a specified value should serialize as 'scale(calc(0.1))'. assert_equals: 'scale(min(.1, .2, .3))' and 'scale(calc(0.1))' should serialize the same in specified values. expected "scale(calc(0.1))" but got "scale(min(0.1))"
12
FAIL e.style['opacity'] = "calc(1 + max(1))" should set the property value assert_equals: serialization should be canonical expected "calc(1 + max(1))" but got "calc(2)"
12
FAIL 'min(.1, .2, .3)' as a computed value should serialize as '0.1'. assert_equals: '0.1' should round-trip exactly in computed values. expected "0.1" but got "0.10000000149011612"
13
FAIL e.style['opacity'] = "calc(max(1) + 1)" should set the property value assert_equals: serialization should be canonical expected "calc(1 + max(1))" but got "calc(2)"
13
PASS 'scale(min(.1, .2, .3))' as a computed value should serialize as 'matrix(0.1, 0, 0, 0.1, 0, 0)'. 
14
FAIL 'max(.1, .2, .3)' as a specified value should serialize as 'calc(0.3)'. assert_equals: 'max(.1, .2, .3)' and 'calc(0.3)' should serialize the same in specified values. expected "calc(0.3)" but got "max(0.3)"
15
FAIL 'scale(max(.1, .2, .3))' as a specified value should serialize as 'scale(calc(0.3))'. assert_equals: 'scale(max(.1, .2, .3))' and 'scale(calc(0.3))' should serialize the same in specified values. expected "scale(calc(0.3))" but got "scale(max(0.3))"
16
FAIL 'max(.1, .2, .3)' as a computed value should serialize as '0.3'. assert_equals: '0.3' should round-trip exactly in computed values. expected "0.3" but got "0.30000001192092896"
17
PASS 'scale(max(.1, .2, .3))' as a computed value should serialize as 'matrix(0.3, 0, 0, 0.3, 0, 0)'. 
18
FAIL 'min(.3, .2, .1)' as a specified value should serialize as 'calc(0.1)'. assert_equals: 'min(.3, .2, .1)' and 'calc(0.1)' should serialize the same in specified values. expected "calc(0.1)" but got "min(0.1)"
19
FAIL 'scale(min(.3, .2, .1))' as a specified value should serialize as 'scale(calc(0.1))'. assert_equals: 'scale(min(.3, .2, .1))' and 'scale(calc(0.1))' should serialize the same in specified values. expected "scale(calc(0.1))" but got "scale(min(0.1))"
20
FAIL 'min(.3, .2, .1)' as a computed value should serialize as '0.1'. assert_equals: '0.1' should round-trip exactly in computed values. expected "0.1" but got "0.10000000149011612"
21
PASS 'scale(min(.3, .2, .1))' as a computed value should serialize as 'matrix(0.1, 0, 0, 0.1, 0, 0)'. 
22
FAIL 'max(.3, .2, .1)' as a specified value should serialize as 'calc(0.3)'. assert_equals: 'max(.3, .2, .1)' and 'calc(0.3)' should serialize the same in specified values. expected "calc(0.3)" but got "max(0.3)"
23
FAIL 'scale(max(.3, .2, .1))' as a specified value should serialize as 'scale(calc(0.3))'. assert_equals: 'scale(max(.3, .2, .1))' and 'scale(calc(0.3))' should serialize the same in specified values. expected "scale(calc(0.3))" but got "scale(max(0.3))"
24
FAIL 'max(.3, .2, .1)' as a computed value should serialize as '0.3'. assert_equals: '0.3' should round-trip exactly in computed values. expected "0.3" but got "0.30000001192092896"
25
PASS 'scale(max(.3, .2, .1))' as a computed value should serialize as 'matrix(0.3, 0, 0, 0.3, 0, 0)'. 
26
FAIL 'calc(min(.1) + min(.2))' as a specified value should serialize as 'calc(0.3)'. assert_equals: 'calc(min(.1) + min(.2))' and 'calc(0.3)' should serialize the same in specified values. expected "calc(0.3)" but got "calc(0.30000000000000004)"
27
FAIL 'scale(calc(min(.1) + min(.2)))' as a specified value should serialize as 'scale(calc(0.3))'. assert_equals: 'scale(calc(min(.1) + min(.2)))' and 'scale(calc(0.3))' should serialize the same in specified values. expected "scale(calc(0.3))" but got "scale(calc(0.30000000000000004))"
28
FAIL 'calc(min(.1) + min(.2))' as a computed value should serialize as '0.3'. assert_equals: '0.3' should round-trip exactly in computed values. expected "0.3" but got "0.30000001192092896"
29
FAIL 'scale(calc(min(.1) + min(.2)))' as a computed value should serialize as 'matrix(0.3, 0, 0, 0.3, 0, 0)'. assert_equals: 'scale(calc(min(.1) + min(.2)))' and 'matrix(0.3, 0, 0, 0.3, 0, 0)' should serialize the same in computed values. expected "matrix(0.3, 0, 0, 0.3, 0, 0)" but got "matrix(0.30000000000000004, 0, 0, 0.30000000000000004, 0, 0)"
30
FAIL 'calc(max(.1) + max(.2))' as a specified value should serialize as 'calc(0.3)'. assert_equals: 'calc(max(.1) + max(.2))' and 'calc(0.3)' should serialize the same in specified values. expected "calc(0.3)" but got "calc(0.30000000000000004)"
31
FAIL 'scale(calc(max(.1) + max(.2)))' as a specified value should serialize as 'scale(calc(0.3))'. assert_equals: 'scale(calc(max(.1) + max(.2)))' and 'scale(calc(0.3))' should serialize the same in specified values. expected "scale(calc(0.3))" but got "scale(calc(0.30000000000000004))"
32
FAIL 'calc(max(.1) + max(.2))' as a computed value should serialize as '0.3'. assert_equals: '0.3' should round-trip exactly in computed values. expected "0.3" but got "0.30000001192092896"
33
FAIL 'scale(calc(max(.1) + max(.2)))' as a computed value should serialize as 'matrix(0.3, 0, 0, 0.3, 0, 0)'. assert_equals: 'scale(calc(max(.1) + max(.2)))' and 'matrix(0.3, 0, 0, 0.3, 0, 0)' should serialize the same in computed values. expected "matrix(0.3, 0, 0, 0.3, 0, 0)" but got "matrix(0.30000000000000004, 0, 0, 0.30000000000000004, 0, 0)"
34
PASS 'calc(.1 + min(.1))' as a specified value should serialize as 'calc(0.2)'. 
35
PASS 'scale(calc(.1 + min(.1)))' as a specified value should serialize as 'scale(calc(0.2))'. 
36
FAIL 'calc(.1 + min(.1))' as a computed value should serialize as '0.2'. assert_equals: '0.2' should round-trip exactly in computed values. expected "0.2" but got "0.20000000298023224"
37
PASS 'scale(calc(.1 + min(.1)))' as a computed value should serialize as 'matrix(0.2, 0, 0, 0.2, 0, 0)'. 
38
PASS 'calc(max(.1) + .1)' as a specified value should serialize as 'calc(0.2)'. 
39
PASS 'scale(calc(max(.1) + .1))' as a specified value should serialize as 'scale(calc(0.2))'. 
40
FAIL 'calc(max(.1) + .1)' as a computed value should serialize as '0.2'. assert_equals: '0.2' should round-trip exactly in computed values. expected "0.2" but got "0.20000000298023224"
41
PASS 'scale(calc(max(.1) + .1))' as a computed value should serialize as 'matrix(0.2, 0, 0, 0.2, 0, 0)'. 
14
42
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-values/minmax-number-serialize.html -15 / +49 lines
Lines 3-29 a/LayoutTests/imported/w3c/web-platform-tests/css/css-values/minmax-number-serialize.html_sec1
3
<link rel="help" href="https://drafts.csswg.org/css-values-4/#numbers">
3
<link rel="help" href="https://drafts.csswg.org/css-values-4/#numbers">
4
<link rel="help" href="https://drafts.csswg.org/css-values-4/#calc-serialize">
4
<link rel="help" href="https://drafts.csswg.org/css-values-4/#calc-serialize">
5
<link rel="author" title="Xiaocheng Hu" href="mailto:xiaochengh@chromium.org">
5
<link rel="author" title="Xiaocheng Hu" href="mailto:xiaochengh@chromium.org">
6
<link rel="author" title="Tab Atkins-Bittner" href="https://xanthir.com/contact">
6
<script src="/resources/testharness.js"></script>
7
<script src="/resources/testharness.js"></script>
7
<script src="/resources/testharnessreport.js"></script>
8
<script src="/resources/testharnessreport.js"></script>
8
<script src="../support/parsing-testcommon.js"></script>
9
<script src="../support/serialize-testcommon.js"></script>
10
<div id=target></div>
9
<script>
11
<script>
10
function test_valid_number(value, expected) {
12
function test_serialization(t,s,c) {
11
  test_valid_value('opacity', value, expected);
13
    test_specified_serialization('opacity', t, s);
14
    test_specified_serialization('transform', `scale(${t})`, `scale(calc(${c}))`);
15
    test_computed_serialization('opacity', t, c);
16
    test_computed_serialization('transform', `scale(${t})`, `matrix(${c}, 0, 0, ${c}, 0, 0)`);
12
}
17
}
13
18
14
test_valid_number('min(1)', 'min(1)');
19
test_serialization(
15
test_valid_number('max(1)', 'max(1)');
20
    'min(.1)',
21
    'calc(0.1)',
22
    '0.1');
23
test_serialization(
24
    'max(.1)',
25
    'calc(0.1)',
26
    '0.1');
16
27
17
test_valid_number('min(1, 2, 3)', 'min(1, 2, 3)');
28
test_serialization(
18
test_valid_number('min(3, 2, 1)', 'min(3, 2, 1)');
29
    'min(.1, .2, .3)',
19
test_valid_number('max(1, 2, 3)', 'max(1, 2, 3)');
30
    'calc(0.1)',
20
test_valid_number('max(3, 2, 1)', 'max(3, 2, 1)');
31
    '0.1');
32
test_serialization(
33
    'max(.1, .2, .3)',
34
    'calc(0.3)',
35
    '0.3');
21
36
22
test_valid_number('calc(min(1) + min(2))', 'calc(min(1) + min(2))');
37
test_serialization(
23
test_valid_number('calc(max(1) + max(2))', 'calc(max(1) + max(2))');
38
    'min(.3, .2, .1)',
24
test_valid_number('calc(1 + min(1))', 'calc(1 + min(1))');
39
    'calc(0.1)',
25
test_valid_number('calc(min(1) + 1)', 'calc(1 + min(1))');
40
    '0.1');
26
test_valid_number('calc(1 + max(1))', 'calc(1 + max(1))');
41
test_serialization(
27
test_valid_number('calc(max(1) + 1)', 'calc(1 + max(1))');
42
    'max(.3, .2, .1)',
43
    'calc(0.3)',
44
    '0.3');
28
45
46
test_serialization(
47
    'calc(min(.1) + min(.2))',
48
    'calc(0.3)',
49
    '0.3');
50
test_serialization(
51
    'calc(max(.1) + max(.2))',
52
    'calc(0.3)',
53
    '0.3');
54
55
test_serialization(
56
    'calc(.1 + min(.1))',
57
    'calc(0.2)',
58
    '0.2');
59
test_serialization(
60
    'calc(max(.1) + .1)',
61
    'calc(0.2)',
62
    '0.2');
29
</script>
63
</script>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-values/minmax-percentage-computed-expected.txt -14 / +14 lines
Lines 1-16 a/LayoutTests/imported/w3c/web-platform-tests/css/css-values/minmax-percentage-computed-expected.txt_sec1
1
1
2
PASS Property margin-left value 'min(1%)' 
2
PASS min(1%) should be used-value-equivalent to 1% 
3
PASS Property margin-left value 'max(1%)' 
3
PASS max(1%) should be used-value-equivalent to 1% 
4
PASS Property margin-left value 'min(20%, max(10%, 15%))' 
4
PASS min(20%, max(10%, 15%)) should be used-value-equivalent to 15% 
5
PASS Property margin-left value 'max(10%, min(20%, 15%))' 
5
PASS max(10%, min(20%, 15%)) should be used-value-equivalent to 15% 
6
PASS Property margin-left value 'calc(min(10%, 20%) + 5%)' 
6
PASS calc(min(10%, 20%) + 5%) should be used-value-equivalent to 15% 
7
PASS Property margin-left value 'calc(min(10%, 20%) - 5%)' 
7
PASS calc(min(10%, 20%) - 5%) should be used-value-equivalent to 5% 
8
PASS Property margin-left value 'calc(min(10%, 20%) * 2)' 
8
PASS calc(min(10%, 20%) * 2) should be used-value-equivalent to 20% 
9
PASS Property margin-left value 'calc(min(10%, 20%) / 2)' 
9
PASS calc(min(10%, 20%) / 2) should be used-value-equivalent to 5% 
10
PASS Property margin-left value 'calc(max(10%, 20%) + 5%)' 
10
PASS calc(max(10%, 20%) + 5%) should be used-value-equivalent to 25% 
11
PASS Property margin-left value 'calc(max(10%, 20%) - 5%)' 
11
PASS calc(max(10%, 20%) - 5%) should be used-value-equivalent to 15% 
12
PASS Property margin-left value 'calc(max(10%, 20%) * 2)' 
12
PASS calc(max(10%, 20%) * 2) should be used-value-equivalent to 40% 
13
PASS Property margin-left value 'calc(max(10%, 20%) / 2)' 
13
PASS calc(max(10%, 20%) / 2) should be used-value-equivalent to 10% 
14
PASS Property margin-left value 'calc(min(10%, 20%) + max(10%, 5%))' 
14
PASS calc(min(10%, 20%) + max(10%, 5%)) should be used-value-equivalent to 20% 
15
PASS Property margin-left value 'calc(min(10%, 20%) - max(10%, 5%))' 
15
PASS calc(min(10%, 20%) - max(10%, 5%)) should be used-value-equivalent to 0% 
16
16
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-values/minmax-percentage-computed.html -25 / +15 lines
Lines 5-43 a/LayoutTests/imported/w3c/web-platform-tests/css/css-values/minmax-percentage-computed.html_sec1
5
<link rel="author" title="Xiaocheng Hu" href="mailto:xiaochengh@chromium.org">
5
<link rel="author" title="Xiaocheng Hu" href="mailto:xiaochengh@chromium.org">
6
<script src="/resources/testharness.js"></script>
6
<script src="/resources/testharness.js"></script>
7
<script src="/resources/testharnessreport.js"></script>
7
<script src="/resources/testharnessreport.js"></script>
8
<script src="../support/computed-testcommon.js"></script>
8
<script src="../support/numeric-testcommon.js"></script>
9
<div id="container" style="width: 400px">
9
<div id="container" style="width: 400px">
10
  <div id="target"></div>
10
  <div id="target"></div>
11
  <div id="reference"></div>
12
</div>
11
</div>
13
<script>
12
<script>
14
const property = 'margin-left';
15
16
function test_percentage_equals(value, expected) {
17
  const reference = document.getElementById('reference');
18
  reference.style[property] = '';
19
  reference.style[property] = expected;
20
  const computed = getComputedStyle(reference)[property];
21
  test_computed_value(property, value, computed);
22
}
23
13
24
// Identity tests
14
// Identity tests
25
test_percentage_equals('min(1%)', '1%');
15
test_math_used('min(1%)', '1%');
26
test_percentage_equals('max(1%)', '1%');
16
test_math_used('max(1%)', '1%');
27
17
28
// Nestings
18
// Nestings
29
test_percentage_equals('min(20%, max(10%, 15%))', '15%');
19
test_math_used('min(20%, max(10%, 15%))', '15%');
30
test_percentage_equals('max(10%, min(20%, 15%))', '15%');
20
test_math_used('max(10%, min(20%, 15%))', '15%');
31
21
32
// General calculations
22
// General calculations
33
test_percentage_equals('calc(min(10%, 20%) + 5%)', '15%');
23
test_math_used('calc(min(10%, 20%) + 5%)', '15%');
34
test_percentage_equals('calc(min(10%, 20%) - 5%)', '5%');
24
test_math_used('calc(min(10%, 20%) - 5%)', '5%');
35
test_percentage_equals('calc(min(10%, 20%) * 2)', '20%');
25
test_math_used('calc(min(10%, 20%) * 2)', '20%');
36
test_percentage_equals('calc(min(10%, 20%) / 2)', '5%');
26
test_math_used('calc(min(10%, 20%) / 2)', '5%');
37
test_percentage_equals('calc(max(10%, 20%) + 5%)', '25%');
27
test_math_used('calc(max(10%, 20%) + 5%)', '25%');
38
test_percentage_equals('calc(max(10%, 20%) - 5%)', '15%');
28
test_math_used('calc(max(10%, 20%) - 5%)', '15%');
39
test_percentage_equals('calc(max(10%, 20%) * 2)', '40%');
29
test_math_used('calc(max(10%, 20%) * 2)', '40%');
40
test_percentage_equals('calc(max(10%, 20%) / 2)', '10%');
30
test_math_used('calc(max(10%, 20%) / 2)', '10%');
41
test_percentage_equals('calc(min(10%, 20%) + max(10%, 5%))', '20%');
31
test_math_used('calc(min(10%, 20%) + max(10%, 5%))', '20%');
42
test_percentage_equals('calc(min(10%, 20%) - max(10%, 5%))', '0%');
32
test_math_used('calc(min(10%, 20%) - max(10%, 5%))', '0%');
43
</script>
33
</script>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-values/minmax-percentage-serialize-expected.txt -12 / +23 lines
Lines 1-14 a/LayoutTests/imported/w3c/web-platform-tests/css/css-values/minmax-percentage-serialize-expected.txt_sec1
1
1
2
PASS e.style['margin-left'] = "min(1%)" should set the property value 
2
FAIL 'min(1%)' as a specified value should serialize as 'calc(1%)'. assert_equals: 'min(1%)' and 'calc(1%)' should serialize the same in specified values. expected "calc(1%)" but got "min(1%)"
3
PASS e.style['margin-left'] = "max(1%)" should set the property value 
3
FAIL 'min(1%)' as a computed value should serialize as '1%'. assert_equals: 'min(1%)' and '1%' should serialize the same in computed values. expected "1%" but got "min(1%)"
4
FAIL e.style['margin-left'] = "min(1%, 2%, 3%)" should set the property value assert_equals: serialization should be canonical expected "min(1%, 2%, 3%)" but got "min(1%)"
4
PASS 'min(1%)' as a used value should serialize as '1px'. 
5
FAIL e.style['margin-left'] = "min(3%, 2%, 1%)" should set the property value assert_equals: serialization should be canonical expected "min(3%, 2%, 1%)" but got "min(1%)"
5
FAIL 'max(1%)' as a specified value should serialize as 'calc(1%)'. assert_equals: 'max(1%)' and 'calc(1%)' should serialize the same in specified values. expected "calc(1%)" but got "max(1%)"
6
FAIL e.style['margin-left'] = "max(1%, 2%, 3%)" should set the property value assert_equals: serialization should be canonical expected "max(1%, 2%, 3%)" but got "max(3%)"
6
FAIL 'max(1%)' as a computed value should serialize as '1%'. assert_equals: 'max(1%)' and '1%' should serialize the same in computed values. expected "1%" but got "max(1%)"
7
FAIL e.style['margin-left'] = "max(3%, 2%, 1%)" should set the property value assert_equals: serialization should be canonical expected "max(3%, 2%, 1%)" but got "max(3%)"
7
PASS 'max(1%)' as a used value should serialize as '1px'. 
8
FAIL e.style['margin-left'] = "calc(min(1%) + min(2%))" should set the property value assert_equals: serialization should be canonical expected "calc(min(1%) + min(2%))" but got "calc(3%)"
8
FAIL 'min(1%, 2%, 3%)' as a specified value should serialize as 'min(1%, 2%, 3%)'. assert_equals: 'min(1%, 2%, 3%)' should round-trip exactly in specified values. expected "min(1%, 2%, 3%)" but got "min(1%)"
9
FAIL e.style['margin-left'] = "calc(max(1%) + max(2%))" should set the property value assert_equals: serialization should be canonical expected "calc(max(1%) + max(2%))" but got "calc(3%)"
9
FAIL 'min(1%, 2%, 3%)' as a computed value should serialize as 'min(1%, 2%, 3%)'. assert_equals: 'min(1%, 2%, 3%)' should round-trip exactly in computed values. expected "min(1%, 2%, 3%)" but got "min(1%)"
10
FAIL e.style['margin-left'] = "calc(1% + min(1%))" should set the property value assert_equals: serialization should be canonical expected "calc(1% + min(1%))" but got "calc(2%)"
10
PASS 'min(1%, 2%, 3%)' as a used value should serialize as '1px'. 
11
FAIL e.style['margin-left'] = "calc(min(1%) + 1%)" should set the property value assert_equals: serialization should be canonical expected "calc(1% + min(1%))" but got "calc(2%)"
11
FAIL 'min(3%, 2%, 1%)' as a specified value should serialize as 'min(3%, 2%, 1%)'. assert_equals: 'min(3%, 2%, 1%)' should round-trip exactly in specified values. expected "min(3%, 2%, 1%)" but got "min(1%)"
12
FAIL e.style['margin-left'] = "calc(1% + max(1%))" should set the property value assert_equals: serialization should be canonical expected "calc(1% + max(1%))" but got "calc(2%)"
12
FAIL 'min(3%, 2%, 1%)' as a computed value should serialize as 'min(3%, 2%, 1%)'. assert_equals: 'min(3%, 2%, 1%)' should round-trip exactly in computed values. expected "min(3%, 2%, 1%)" but got "min(1%)"
13
FAIL e.style['margin-left'] = "calc(max(1%) + 1%)" should set the property value assert_equals: serialization should be canonical expected "calc(1% + max(1%))" but got "calc(2%)"
13
PASS 'min(3%, 2%, 1%)' as a used value should serialize as '1px'. 
14
FAIL 'max(1%, 2%, 3%)' as a specified value should serialize as 'max(1%, 2%, 3%)'. assert_equals: 'max(1%, 2%, 3%)' should round-trip exactly in specified values. expected "max(1%, 2%, 3%)" but got "max(3%)"
15
FAIL 'max(1%, 2%, 3%)' as a computed value should serialize as 'max(1%, 2%, 3%)'. assert_equals: 'max(1%, 2%, 3%)' should round-trip exactly in computed values. expected "max(1%, 2%, 3%)" but got "max(3%)"
16
PASS 'max(1%, 2%, 3%)' as a used value should serialize as '3px'. 
17
FAIL 'max(3%, 2%, 1%)' as a specified value should serialize as 'max(3%, 2%, 1%)'. assert_equals: 'max(3%, 2%, 1%)' should round-trip exactly in specified values. expected "max(3%, 2%, 1%)" but got "max(3%)"
18
FAIL 'max(3%, 2%, 1%)' as a computed value should serialize as 'max(3%, 2%, 1%)'. assert_equals: 'max(3%, 2%, 1%)' should round-trip exactly in computed values. expected "max(3%, 2%, 1%)" but got "max(3%)"
19
PASS 'max(3%, 2%, 1%)' as a used value should serialize as '3px'. 
20
FAIL 'min(1%, 2%, 3%) 0px' as a specified value should serialize as 'min(1%, 2%, 3%) 0px'. assert_equals: 'min(1%, 2%, 3%) 0px' should round-trip exactly in specified values. expected "min(1%, 2%, 3%) 0px" but got "min(1%) 0px"
21
FAIL 'min(1%, 2%, 3%) 0px' as a computed value should serialize as 'min(1%, 2%, 3%) 0px'. assert_equals: 'min(1%, 2%, 3%) 0px' should round-trip exactly in computed values. expected "min(1%, 2%, 3%) 0px" but got "min(1%) 0px"
22
PASS 'calc(min(1%, 2%) + max(3%, 4%) + 10%)' as a specified value should serialize as 'calc(15%)'. 
23
FAIL 'calc(min(1%, 2%) + max(3%, 4%) + 10%)' as a computed value should serialize as '15%'. assert_equals: 'calc(min(1%, 2%) + max(3%, 4%) + 10%)' and '15%' should serialize the same in computed values. expected "15%" but got "calc(15%)"
24
PASS 'calc(min(1%, 2%) + max(3%, 4%) + 10%)' as a used value should serialize as '15px'. 
14
25
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-values/minmax-percentage-serialize.html -15 / +58 lines
Lines 3-29 a/LayoutTests/imported/w3c/web-platform-tests/css/css-values/minmax-percentage-serialize.html_sec1
3
<link rel="help" href="https://drafts.csswg.org/css-values-4/#percentages">
3
<link rel="help" href="https://drafts.csswg.org/css-values-4/#percentages">
4
<link rel="help" href="https://drafts.csswg.org/css-values-4/#calc-serialize">
4
<link rel="help" href="https://drafts.csswg.org/css-values-4/#calc-serialize">
5
<link rel="author" title="Xiaocheng Hu" href="mailto:xiaochengh@chromium.org">
5
<link rel="author" title="Xiaocheng Hu" href="mailto:xiaochengh@chromium.org">
6
<link rel="author" title="Tab Atkins-Bittner" href="https://xanthir.com/contact">
6
<script src="/resources/testharness.js"></script>
7
<script src="/resources/testharness.js"></script>
7
<script src="/resources/testharnessreport.js"></script>
8
<script src="/resources/testharnessreport.js"></script>
8
<script src="../support/parsing-testcommon.js"></script>
9
<script src="../support/serialize-testcommon.js"></script>
10
<div style="width: 100px;">
11
    <div id=target></div>
12
</div>
9
<script>
13
<script>
10
function test_valid_percentage(value, expected) {
14
function test_serialization(t,s,c,u, {prop}={}) {
11
  test_valid_value('margin-left', value, expected);
15
    test_specified_serialization(prop || 'text-indent', t,s);
16
    test_computed_serialization(prop || 'text-indent', t,c);
17
    if(u) test_used_serialization(prop || 'margin-left', t,u);
12
}
18
}
13
19
14
test_valid_percentage('min(1%)', 'min(1%)');
20
test_serialization(
15
test_valid_percentage('max(1%)', 'max(1%)');
21
    'min(1%)',
22
    'calc(1%)',
23
    '1%',
24
    '1px');
25
test_serialization(
26
    'max(1%)',
27
    'calc(1%)',
28
    '1%',
29
    '1px');
16
30
17
test_valid_percentage('min(1%, 2%, 3%)', 'min(1%, 2%, 3%)');
18
test_valid_percentage('min(3%, 2%, 1%)', 'min(3%, 2%, 1%)');
19
test_valid_percentage('max(1%, 2%, 3%)', 'max(1%, 2%, 3%)');
20
test_valid_percentage('max(3%, 2%, 1%)', 'max(3%, 2%, 1%)');
21
31
22
test_valid_percentage('calc(min(1%) + min(2%))', 'calc(min(1%) + min(2%))');
32
// %s can't be simplified until we resolve them,
23
test_valid_percentage('calc(max(1%) + max(2%))', 'calc(max(1%) + max(2%))');
33
// since in some cases they can resolve against a negative value
24
test_valid_percentage('calc(1% + min(1%))', 'calc(1% + min(1%))');
34
// (so that 20% is less than 10%),
25
test_valid_percentage('calc(min(1%) + 1%)', 'calc(1% + min(1%))');
35
// and we don't want to try and distinguish between the properties
26
test_valid_percentage('calc(1% + max(1%))', 'calc(1% + max(1%))');
36
// where the resolving value is possibly-negative or always non-negative.
27
test_valid_percentage('calc(max(1%) + 1%)', 'calc(1% + max(1%))');
37
test_serialization(
38
    'min(1%, 2%, 3%)',
39
    'min(1%, 2%, 3%)',
40
    'min(1%, 2%, 3%)',
41
    '1px');
42
test_serialization(
43
    'min(3%, 2%, 1%)',
44
    'min(3%, 2%, 1%)',
45
    'min(3%, 2%, 1%)',
46
    '1px');
47
test_serialization(
48
    'max(1%, 2%, 3%)',
49
    'max(1%, 2%, 3%)',
50
    'max(1%, 2%, 3%)',
51
    '3px');
52
test_serialization(
53
    'max(3%, 2%, 1%)',
54
    'max(3%, 2%, 1%)',
55
    'max(3%, 2%, 1%)',
56
    '3px');
57
58
// Also ensure that this works against a possibly-negative resolving value...
59
test_serialization(
60
    'min(1%, 2%, 3%) 0px',
61
    'min(1%, 2%, 3%) 0px',
62
    'min(1%, 2%, 3%) 0px',
63
    '',
64
    {prop:'background-position'});
65
66
test_serialization(
67
    'calc(min(1%, 2%) + max(3%, 4%) + 10%)',
68
    'calc(15%)',
69
    '15%',
70
    '15px');
28
71
29
</script>
72
</script>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-values/minmax-time-computed-expected.txt -22 / +24 lines
Lines 1-24 a/LayoutTests/imported/w3c/web-platform-tests/css/css-values/minmax-time-computed-expected.txt_sec1
1
1
2
PASS Property transition-delay value 'min(1s)' 
2
PASS min(1s) should be used-value-equivalent to 1s 
3
PASS Property transition-delay value 'min(1ms)' 
3
PASS min(1ms) should be used-value-equivalent to 1ms 
4
PASS Property transition-delay value 'max(1s)' 
4
PASS max(1s) should be used-value-equivalent to 1s 
5
PASS Property transition-delay value 'max(1ms)' 
5
PASS max(1ms) should be used-value-equivalent to 1ms 
6
PASS Property transition-delay value 'min(1s, 2s)' 
6
PASS min(1s, 2s) should be used-value-equivalent to 1s 
7
PASS Property transition-delay value 'min(1ms, 2ms)' 
7
PASS min(1ms, 2ms) should be used-value-equivalent to 1ms 
8
PASS Property transition-delay value 'max(1s, 2s)' 
8
PASS max(1s, 2s) should be used-value-equivalent to 2s 
9
PASS Property transition-delay value 'max(1ms, 2ms)' 
9
PASS max(1ms, 2ms) should be used-value-equivalent to 2ms 
10
PASS Property transition-delay value 'min(1s, 1100ms)' 
10
PASS min(1s, 1100ms) should be used-value-equivalent to 1s 
11
PASS Property transition-delay value 'max(0.9s, 1000ms)' 
11
PASS max(0.9s, 1000ms) should be used-value-equivalent to 1000ms 
12
PASS Property transition-delay value 'min(2s, max(1s, 1500ms))' 
12
PASS min(2s, max(1s, 1500ms)) should be used-value-equivalent to 1500ms 
13
PASS Property transition-delay value 'max(1000ms, min(2000ms, 1.5s))' 
13
PASS max(1000ms, min(2000ms, 1.5s)) should be used-value-equivalent to 1.5s 
14
PASS Property transition-delay value 'calc(min(0.5s, 600ms) + 500ms)' 
14
PASS calc(min(0.5s, 600ms) + 500ms) should be used-value-equivalent to 1s 
15
PASS Property transition-delay value 'calc(min(0.5s, 600ms) - 500ms)' 
15
PASS calc(min(0.5s, 600ms) - 500ms) should be used-value-equivalent to 0s 
16
PASS Property transition-delay value 'calc(min(0.5s, 600ms) * 2)' 
16
PASS calc(min(0.5s, 600ms) * 2) should be used-value-equivalent to 1s 
17
PASS Property transition-delay value 'calc(min(0.5s, 600ms) / 2)' 
17
PASS calc(min(0.5s, 600ms) / 2) should be used-value-equivalent to 0.25s 
18
PASS Property transition-delay value 'calc(max(0.5s, 400ms) + 500ms)' 
18
PASS calc(max(0.5s, 400ms) + 500ms) should be used-value-equivalent to 1s 
19
PASS Property transition-delay value 'calc(max(0.5s, 400ms) - 500ms)' 
19
PASS calc(max(0.5s, 400ms) - 500ms) should be used-value-equivalent to 0s 
20
PASS Property transition-delay value 'calc(max(0.5s, 400ms) * 2)' 
20
PASS calc(max(0.5s, 400ms) * 2) should be used-value-equivalent to 1s 
21
PASS Property transition-delay value 'calc(max(0.5s, 400ms) / 2)' 
21
PASS calc(max(0.5s, 400ms) / 2) should be used-value-equivalent to 0.25s 
22
PASS Property transition-delay value 'calc(min(0.5s, 600ms) + max(500ms, 0.4s))' 
22
PASS calc(min(0.5s, 600ms) + max(500ms, 0.4s)) should be used-value-equivalent to 1s 
23
PASS Property transition-delay value 'calc(min(0.5s, 600ms) - max(500ms, 0.4s))' 
23
PASS calc(min(0.5s, 600ms) - max(500ms, 0.4s)) should be used-value-equivalent to 0s 
24
PASS min(1s + 100ms, 500ms * 3) should be used-value-equivalent to 1.1s 
25
PASS calc(min(1s, 2s) + max(3s, 4s) + 10s) should be used-value-equivalent to 15s 
24
26
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-values/minmax-time-computed.html -10 / +5 lines
Lines 5-22 a/LayoutTests/imported/w3c/web-platform-tests/css/css-values/minmax-time-computed.html_sec1
5
<link rel="author" title="Xiaocheng Hu" href="mailto:xiaochengh@chromium.org">
5
<link rel="author" title="Xiaocheng Hu" href="mailto:xiaochengh@chromium.org">
6
<script src="/resources/testharness.js"></script>
6
<script src="/resources/testharness.js"></script>
7
<script src="/resources/testharnessreport.js"></script>
7
<script src="/resources/testharnessreport.js"></script>
8
<script src="../support/computed-testcommon.js"></script>
8
<script src="../support/numeric-testcommon.js"></script>
9
<div id="target"></div>
9
<div id="target"></div>
10
<div id="reference"></div>
11
<script>
10
<script>
12
const property = 'transition-delay';
11
function test_time_equals(t,e) {
13
12
	test_math_used(t, e, {type:"time"});
14
function test_time_equals(value, expected) {
15
  const reference = document.getElementById('reference');
16
  reference.style[property] = '';
17
  reference.style[property] = expected;
18
  const computed = getComputedStyle(reference)[property];
19
  test_computed_value(property, value, computed);
20
}
13
}
21
14
22
// Identity tests
15
// Identity tests
Lines 50-53 test_time_equals('calc(max(0.5s, 400ms) * 2)', '1s'); a/LayoutTests/imported/w3c/web-platform-tests/css/css-values/minmax-time-computed.html_sec2
50
test_time_equals('calc(max(0.5s, 400ms) / 2)', '0.25s');
43
test_time_equals('calc(max(0.5s, 400ms) / 2)', '0.25s');
51
test_time_equals('calc(min(0.5s, 600ms) + max(500ms, 0.4s))', '1s');
44
test_time_equals('calc(min(0.5s, 600ms) + max(500ms, 0.4s))', '1s');
52
test_time_equals('calc(min(0.5s, 600ms) - max(500ms, 0.4s))', '0s');
45
test_time_equals('calc(min(0.5s, 600ms) - max(500ms, 0.4s))', '0s');
46
test_time_equals('min(1s + 100ms, 500ms * 3)', '1.1s');
47
test_time_equals('calc(min(1s, 2s) + max(3s, 4s) + 10s)', '15s');
53
</script>
48
</script>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-values/minmax-time-serialize-expected.txt -20 / +22 lines
Lines 1-22 a/LayoutTests/imported/w3c/web-platform-tests/css/css-values/minmax-time-serialize-expected.txt_sec1
1
1
2
PASS e.style['transition-delay'] = "min(1ms)" should set the property value 
2
FAIL 'min(1ms)' as a specified value should serialize as 'calc(0.001s)'. assert_equals: 'calc(0.001s)' should round-trip exactly in specified values. expected "calc(0.001s)" but got "calc(1ms)"
3
FAIL e.style['transition-delay'] = "min(1s)" should set the property value assert_equals: serialization should be canonical expected "min(1s)" but got "min(1000ms)"
3
PASS 'min(1ms)' as a computed value should serialize as '0.001s'. 
4
PASS e.style['transition-delay'] = "max(1ms)" should set the property value 
4
FAIL 'min(1s)' as a specified value should serialize as 'calc(1s)'. assert_equals: 'calc(1s)' should round-trip exactly in specified values. expected "calc(1s)" but got "calc(1000ms)"
5
FAIL e.style['transition-delay'] = "max(1s)" should set the property value assert_equals: serialization should be canonical expected "max(1s)" but got "max(1000ms)"
5
PASS 'min(1s)' as a computed value should serialize as '1s'. 
6
FAIL e.style['transition-delay'] = "min(1ms, 2ms, 3ms)" should set the property value assert_equals: serialization should be canonical expected "min(1ms, 2ms, 3ms)" but got "min(1ms)"
6
FAIL 'max(1ms)' as a specified value should serialize as 'calc(0.001s)'. assert_equals: 'calc(0.001s)' should round-trip exactly in specified values. expected "calc(0.001s)" but got "calc(1ms)"
7
FAIL e.style['transition-delay'] = "min(3ms, 2ms, 1ms)" should set the property value assert_equals: serialization should be canonical expected "min(3ms, 2ms, 1ms)" but got "min(1ms)"
7
PASS 'max(1ms)' as a computed value should serialize as '0.001s'. 
8
FAIL e.style['transition-delay'] = "max(1ms, 2ms, 3ms)" should set the property value assert_equals: serialization should be canonical expected "max(1ms, 2ms, 3ms)" but got "max(3ms)"
8
FAIL 'max(1s)' as a specified value should serialize as 'calc(1s)'. assert_equals: 'calc(1s)' should round-trip exactly in specified values. expected "calc(1s)" but got "calc(1000ms)"
9
FAIL e.style['transition-delay'] = "max(3ms, 2ms, 1ms)" should set the property value assert_equals: serialization should be canonical expected "max(3ms, 2ms, 1ms)" but got "max(3ms)"
9
PASS 'max(1s)' as a computed value should serialize as '1s'. 
10
FAIL e.style['transition-delay'] = "min(1000ms, 1s)" should set the property value assert_equals: serialization should be canonical expected "min(1000ms, 1s)" but got "min(1000ms)"
10
FAIL 'min(1s, 2s, 3s)' as a specified value should serialize as 'calc(1s)'. assert_equals: 'calc(1s)' should round-trip exactly in specified values. expected "calc(1s)" but got "calc(1000ms)"
11
FAIL e.style['transition-delay'] = "min(1s, 1000ms)" should set the property value assert_equals: serialization should be canonical expected "min(1s, 1000ms)" but got "min(1000ms)"
11
PASS 'min(1s, 2s, 3s)' as a computed value should serialize as '1s'. 
12
FAIL e.style['transition-delay'] = "max(1000ms, 1s)" should set the property value assert_equals: serialization should be canonical expected "max(1000ms, 1s)" but got "max(1000ms)"
12
FAIL 'min(3s, 2s, 1s)' as a specified value should serialize as 'calc(1s)'. assert_equals: 'calc(1s)' should round-trip exactly in specified values. expected "calc(1s)" but got "calc(1000ms)"
13
FAIL e.style['transition-delay'] = "max(1s, 1000ms)" should set the property value assert_equals: serialization should be canonical expected "max(1s, 1000ms)" but got "max(1000ms)"
13
PASS 'min(3s, 2s, 1s)' as a computed value should serialize as '1s'. 
14
FAIL e.style['transition-delay'] = "calc(min(1s) + min(2s))" should set the property value assert_equals: serialization should be canonical expected "calc(min(1s) + min(2s))" but got "calc(3000ms)"
14
FAIL 'max(1s, 2s, 3s)' as a specified value should serialize as 'calc(3s)'. assert_equals: 'calc(3s)' should round-trip exactly in specified values. expected "calc(3s)" but got "calc(3000ms)"
15
FAIL e.style['transition-delay'] = "calc(min(2s) + min(1s))" should set the property value assert_equals: serialization should be canonical expected "calc(min(2s) + min(1s))" but got "calc(3000ms)"
15
PASS 'max(1s, 2s, 3s)' as a computed value should serialize as '3s'. 
16
FAIL e.style['transition-delay'] = "calc(max(1s) + max(2s))" should set the property value assert_equals: serialization should be canonical expected "calc(max(1s) + max(2s))" but got "calc(3000ms)"
16
FAIL 'max(3s, 2s, 1s)' as a specified value should serialize as 'calc(3s)'. assert_equals: 'calc(3s)' should round-trip exactly in specified values. expected "calc(3s)" but got "calc(3000ms)"
17
FAIL e.style['transition-delay'] = "calc(max(2s) + max(1s))" should set the property value assert_equals: serialization should be canonical expected "calc(max(2s) + max(1s))" but got "calc(3000ms)"
17
PASS 'max(3s, 2s, 1s)' as a computed value should serialize as '3s'. 
18
FAIL e.style['transition-delay'] = "calc(1s + min(2s))" should set the property value assert_equals: serialization should be canonical expected "calc(1s + min(2s))" but got "calc(3000ms)"
18
FAIL 'min(900ms, 1s)' as a specified value should serialize as 'calc(0.9s)'. assert_equals: 'calc(0.9s)' should round-trip exactly in specified values. expected "calc(0.9s)" but got "calc(900ms)"
19
FAIL e.style['transition-delay'] = "calc(min(2s) + 1s)" should set the property value assert_equals: serialization should be canonical expected "calc(1s + min(2s))" but got "calc(3000ms)"
19
PASS 'min(900ms, 1s)' as a computed value should serialize as '0.9s'. 
20
FAIL e.style['transition-delay'] = "calc(1s + max(2s))" should set the property value assert_equals: serialization should be canonical expected "calc(1s + max(2s))" but got "calc(3000ms)"
20
FAIL 'max(1100ms, 1s)' as a specified value should serialize as 'calc(1.1s)'. assert_equals: 'calc(1.1s)' should round-trip exactly in specified values. expected "calc(1.1s)" but got "calc(1100ms)"
21
FAIL e.style['transition-delay'] = "calc(max(2s) + 1s)" should set the property value assert_equals: serialization should be canonical expected "calc(1s + max(2s))" but got "calc(3000ms)"
21
PASS 'max(1100ms, 1s)' as a computed value should serialize as '1.1s'. 
22
FAIL 'calc(min(1s, 2s) + max(3s, 4s) + 10s)' as a specified value should serialize as 'calc(15s)'. assert_equals: 'calc(15s)' should round-trip exactly in specified values. expected "calc(15s)" but got "calc(15000ms)"
23
PASS 'calc(min(1s, 2s) + max(3s, 4s) + 10s)' as a computed value should serialize as '15s'. 
22
24
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-values/minmax-time-serialize.html -25 / +51 lines
Lines 3-38 a/LayoutTests/imported/w3c/web-platform-tests/css/css-values/minmax-time-serialize.html_sec1
3
<link rel="help" href="https://drafts.csswg.org/css-values-4/#time">
3
<link rel="help" href="https://drafts.csswg.org/css-values-4/#time">
4
<link rel="help" href="https://drafts.csswg.org/css-values-4/#calc-serialize">
4
<link rel="help" href="https://drafts.csswg.org/css-values-4/#calc-serialize">
5
<link rel="author" title="Xiaocheng Hu" href="mailto:xiaochengh@chromium.org">
5
<link rel="author" title="Xiaocheng Hu" href="mailto:xiaochengh@chromium.org">
6
<link rel="author" title="Tab Atkins-Bittner" href="https://xanthir.com/contact">
6
<script src="/resources/testharness.js"></script>
7
<script src="/resources/testharness.js"></script>
7
<script src="/resources/testharnessreport.js"></script>
8
<script src="/resources/testharnessreport.js"></script>
8
<script src="../support/parsing-testcommon.js"></script>
9
<script src="../support/serialize-testcommon.js"></script>
10
<div id=target></div>
9
<script>
11
<script>
10
function test_valid_time(value, expected) {
12
function test_serialization(t,s,c,u, {prop="transition-delay"}={}) {
11
  test_valid_value('transition-delay', value, expected);
13
    test_specified_serialization(prop, t, s);
14
    test_computed_serialization(prop, t, c);
15
    if(u) test_used_serialization(prop, t, u);
12
}
16
}
13
17
14
test_valid_time('min(1ms)', 'min(1ms)');
18
test_serialization(
15
test_valid_time('min(1s)', 'min(1s)');
19
    'min(1ms)',
16
test_valid_time('max(1ms)', 'max(1ms)');
20
    'calc(0.001s)',
17
test_valid_time('max(1s)', 'max(1s)');
21
    '0.001s');
22
test_serialization(
23
    'min(1s)',
24
    'calc(1s)',
25
    '1s');
26
test_serialization(
27
    'max(1ms)',
28
    'calc(0.001s)',
29
    '0.001s');
30
test_serialization(
31
    'max(1s)',
32
    'calc(1s)',
33
    '1s');
18
34
19
test_valid_time('min(1ms, 2ms, 3ms)', 'min(1ms, 2ms, 3ms)');
35
test_serialization(
20
test_valid_time('min(3ms, 2ms, 1ms)', 'min(3ms, 2ms, 1ms)');
36
    'min(1s, 2s, 3s)',
21
test_valid_time('max(1ms, 2ms, 3ms)', 'max(1ms, 2ms, 3ms)');
37
    'calc(1s)',
22
test_valid_time('max(3ms, 2ms, 1ms)', 'max(3ms, 2ms, 1ms)');
38
    '1s');
23
test_valid_time('min(1000ms, 1s)', 'min(1000ms, 1s)');
39
test_serialization(
24
test_valid_time('min(1s, 1000ms)', 'min(1s, 1000ms)');
40
    'min(3s, 2s, 1s)',
25
test_valid_time('max(1000ms, 1s)', 'max(1000ms, 1s)');
41
    'calc(1s)',
26
test_valid_time('max(1s, 1000ms)', 'max(1s, 1000ms)');
42
    '1s');
27
43
test_serialization(
28
test_valid_time('calc(min(1s) + min(2s))', 'calc(min(1s) + min(2s))');
44
    'max(1s, 2s, 3s)',
29
test_valid_time('calc(min(2s) + min(1s))', 'calc(min(2s) + min(1s))');
45
    'calc(3s)',
30
test_valid_time('calc(max(1s) + max(2s))', 'calc(max(1s) + max(2s))');
46
    '3s');
31
test_valid_time('calc(max(2s) + max(1s))', 'calc(max(2s) + max(1s))');
47
test_serialization(
32
48
    'max(3s, 2s, 1s)',
33
test_valid_time('calc(1s + min(2s))', 'calc(1s + min(2s))');
49
    'calc(3s)',
34
test_valid_time('calc(min(2s) + 1s)', 'calc(1s + min(2s))');
50
    '3s');
35
test_valid_time('calc(1s + max(2s))', 'calc(1s + max(2s))');
51
test_serialization(
36
test_valid_time('calc(max(2s) + 1s)', 'calc(1s + max(2s))');
52
    'min(900ms, 1s)',
53
    'calc(0.9s)',
54
    '0.9s');
55
test_serialization(
56
    'max(1100ms, 1s)',
57
    'calc(1.1s)',
58
    '1.1s');
37
59
60
test_serialization(
61
    'calc(min(1s, 2s) + max(3s, 4s) + 10s)',
62
    'calc(15s)',
63
    '15s');
38
</script>
64
</script>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-values/rem-unit-root-element-expected.txt +6 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-values/rem-unit-root-element-expected.txt_sec1
1
2
FAIL rem based margin. assert_equals: expected "100px" but got "32px"
3
FAIL rem based padding. assert_equals: expected "100px" but got "32px"
4
FAIL rem based line-height. assert_equals: expected "100px" but got "32px"
5
PASS Check that rem font-size is based on the initial font-size. 
6
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-values/rem-unit-root-element.html +26 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-values/rem-unit-root-element.html_sec1
1
<!doctype html>
2
<title>CSS Values and Units Test: rem units on the root element</title>
3
<link rel="help" href="https://drafts.csswg.org/css-values/#rem">
4
<script src="/resources/testharness.js"></script>
5
<script src="/resources/testharnessreport.js"></script>
6
<style>
7
  :root {
8
    font-size: 50px;
9
    margin-left: 2rem;
10
    padding-top: 2rem;
11
    line-height: 2rem;
12
  }
13
</style>
14
<script>
15
  let rootStyle = getComputedStyle(document.documentElement);
16
  test(() => assert_equals(rootStyle.marginLeft, "100px"), "rem based margin.");
17
  test(() => assert_equals(rootStyle.paddingTop, "100px"), "rem based padding.");
18
  test(() => assert_equals(rootStyle.lineHeight, "100px"), "rem based line-height.");
19
20
  test(() => {
21
    document.documentElement.style.fontSize = "initial";
22
    let initialFontSize = parseInt(getComputedStyle(document.documentElement).fontSize);
23
    document.documentElement.style.fontSize = "3rem";
24
    assert_equals(getComputedStyle(document.documentElement).fontSize, 3*initialFontSize + "px");
25
  }, "Check that rem font-size is based on the initial font-size.");
26
</script>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-values/resources/w3c-import.log -1 / +1 lines
Lines 14-20 Property values requiring vendor prefixes: a/LayoutTests/imported/w3c/web-platform-tests/css/css-values/resources/w3c-import.log_sec1
14
None
14
None
15
------------------------------------------------------------------------
15
------------------------------------------------------------------------
16
List of files:
16
List of files:
17
/LayoutTests/imported/w3c/web-platform-tests/css/css-values/resources/ChTestNoZero.woff
18
/LayoutTests/imported/w3c/web-platform-tests/css/css-values/resources/ChTestShortZero.woff
17
/LayoutTests/imported/w3c/web-platform-tests/css/css-values/resources/ChTestShortZero.woff
19
/LayoutTests/imported/w3c/web-platform-tests/css/css-values/resources/ChTestZeroWidthZero.woff
18
/LayoutTests/imported/w3c/web-platform-tests/css/css-values/resources/ChTestZeroWidthZero.woff
19
/LayoutTests/imported/w3c/web-platform-tests/css/css-values/resources/ExTest-NoSpace.woff
20
/LayoutTests/imported/w3c/web-platform-tests/css/css-values/resources/ExTest.woff
20
/LayoutTests/imported/w3c/web-platform-tests/css/css-values/resources/ExTest.woff
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-values/round-function-expected.txt +68 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-values/round-function-expected.txt_sec1
1
2
FAIL round(23px, 10px) should be used-value-equivalent to 20px assert_equals: round(23px, 10px) and 20px serialize to the same thing in used values. expected "20px" but got "0px"
3
FAIL round(18px, 10px) should be used-value-equivalent to 20px assert_equals: round(18px, 10px) and 20px serialize to the same thing in used values. expected "20px" but got "0px"
4
FAIL round(15px, 10px) should be used-value-equivalent to 20px assert_equals: round(15px, 10px) and 20px serialize to the same thing in used values. expected "20px" but got "0px"
5
FAIL round(13px, 10px) should be used-value-equivalent to 10px assert_equals: round(13px, 10px) and 10px serialize to the same thing in used values. expected "10px" but got "0px"
6
FAIL round(-13px, 10px) should be used-value-equivalent to -10px assert_equals: round(-13px, 10px) and -10px serialize to the same thing in used values. expected "-10px" but got "0px"
7
FAIL round(-18px, 10px) should be used-value-equivalent to -20px assert_equals: round(-18px, 10px) and -20px serialize to the same thing in used values. expected "-20px" but got "0px"
8
FAIL round(nearest, 23px, 10px) should be used-value-equivalent to 20px assert_equals: round(nearest, 23px, 10px) and 20px serialize to the same thing in used values. expected "20px" but got "0px"
9
FAIL round(nearest, 18px, 10px) should be used-value-equivalent to 20px assert_equals: round(nearest, 18px, 10px) and 20px serialize to the same thing in used values. expected "20px" but got "0px"
10
FAIL round(nearest, 15px, 10px) should be used-value-equivalent to 20px assert_equals: round(nearest, 15px, 10px) and 20px serialize to the same thing in used values. expected "20px" but got "0px"
11
FAIL round(nearest, 13px, 10px) should be used-value-equivalent to 10px assert_equals: round(nearest, 13px, 10px) and 10px serialize to the same thing in used values. expected "10px" but got "0px"
12
FAIL round(nearest, -13px, 10px) should be used-value-equivalent to -10px assert_equals: round(nearest, -13px, 10px) and -10px serialize to the same thing in used values. expected "-10px" but got "0px"
13
FAIL round(nearest, -18px, 10px) should be used-value-equivalent to -20px assert_equals: round(nearest, -18px, 10px) and -20px serialize to the same thing in used values. expected "-20px" but got "0px"
14
FAIL round(down, 23px, 10px) should be used-value-equivalent to 20px assert_equals: round(down, 23px, 10px) and 20px serialize to the same thing in used values. expected "20px" but got "0px"
15
FAIL round(down, 18px, 10px) should be used-value-equivalent to 10px assert_equals: round(down, 18px, 10px) and 10px serialize to the same thing in used values. expected "10px" but got "0px"
16
FAIL round(down, 15px, 10px) should be used-value-equivalent to 10px assert_equals: round(down, 15px, 10px) and 10px serialize to the same thing in used values. expected "10px" but got "0px"
17
FAIL round(down, 13px, 10px) should be used-value-equivalent to 10px assert_equals: round(down, 13px, 10px) and 10px serialize to the same thing in used values. expected "10px" but got "0px"
18
FAIL round(down, -13px, 10px) should be used-value-equivalent to -20px assert_equals: round(down, -13px, 10px) and -20px serialize to the same thing in used values. expected "-20px" but got "0px"
19
FAIL round(down, -18px, 10px) should be used-value-equivalent to -20px assert_equals: round(down, -18px, 10px) and -20px serialize to the same thing in used values. expected "-20px" but got "0px"
20
FAIL round(up, 23px, 10px) should be used-value-equivalent to 30px assert_equals: round(up, 23px, 10px) and 30px serialize to the same thing in used values. expected "30px" but got "0px"
21
FAIL round(up, 18px, 10px) should be used-value-equivalent to 20px assert_equals: round(up, 18px, 10px) and 20px serialize to the same thing in used values. expected "20px" but got "0px"
22
FAIL round(up, 15px, 10px) should be used-value-equivalent to 20px assert_equals: round(up, 15px, 10px) and 20px serialize to the same thing in used values. expected "20px" but got "0px"
23
FAIL round(up, 13px, 10px) should be used-value-equivalent to 20px assert_equals: round(up, 13px, 10px) and 20px serialize to the same thing in used values. expected "20px" but got "0px"
24
FAIL round(up, -13px, 10px) should be used-value-equivalent to -10px assert_equals: round(up, -13px, 10px) and -10px serialize to the same thing in used values. expected "-10px" but got "0px"
25
FAIL round(up, -18px, 10px) should be used-value-equivalent to -10px assert_equals: round(up, -18px, 10px) and -10px serialize to the same thing in used values. expected "-10px" but got "0px"
26
FAIL round(to-zero, 23px, 10px) should be used-value-equivalent to 20px assert_equals: round(to-zero, 23px, 10px) and 20px serialize to the same thing in used values. expected "20px" but got "0px"
27
FAIL round(to-zero, 18px, 10px) should be used-value-equivalent to 10px assert_equals: round(to-zero, 18px, 10px) and 10px serialize to the same thing in used values. expected "10px" but got "0px"
28
FAIL round(to-zero, 15px, 10px) should be used-value-equivalent to 10px assert_equals: round(to-zero, 15px, 10px) and 10px serialize to the same thing in used values. expected "10px" but got "0px"
29
FAIL round(to-zero, 13px, 10px) should be used-value-equivalent to 10px assert_equals: round(to-zero, 13px, 10px) and 10px serialize to the same thing in used values. expected "10px" but got "0px"
30
FAIL round(to-zero, -13px, 10px) should be used-value-equivalent to -10px assert_equals: round(to-zero, -13px, 10px) and -10px serialize to the same thing in used values. expected "-10px" but got "0px"
31
FAIL round(to-zero, -18px, 10px) should be used-value-equivalent to -10px assert_equals: round(to-zero, -18px, 10px) and -10px serialize to the same thing in used values. expected "-10px" but got "0px"
32
FAIL round(23px, -10px) should be used-value-equivalent to 20px assert_equals: round(23px, -10px) and 20px serialize to the same thing in used values. expected "20px" but got "0px"
33
FAIL round(18px, -10px) should be used-value-equivalent to 20px assert_equals: round(18px, -10px) and 20px serialize to the same thing in used values. expected "20px" but got "0px"
34
FAIL round(15px, -10px) should be used-value-equivalent to 20px assert_equals: round(15px, -10px) and 20px serialize to the same thing in used values. expected "20px" but got "0px"
35
FAIL round(13px, -10px) should be used-value-equivalent to 10px assert_equals: round(13px, -10px) and 10px serialize to the same thing in used values. expected "10px" but got "0px"
36
FAIL round(-13px, -10px) should be used-value-equivalent to -10px assert_equals: round(-13px, -10px) and -10px serialize to the same thing in used values. expected "-10px" but got "0px"
37
FAIL round(-18px, -10px) should be used-value-equivalent to -20px assert_equals: round(-18px, -10px) and -20px serialize to the same thing in used values. expected "-20px" but got "0px"
38
PASS round(5, 0) should be used-value-equivalent to calc(NaN) 
39
PASS calc(-1 * round(5, 0)) should be used-value-equivalent to calc(NaN) 
40
PASS round(infinity, infinity) should be used-value-equivalent to calc(NaN) 
41
PASS calc(-1 * round(infinity, infinity)) should be used-value-equivalent to calc(NaN) 
42
PASS round(infinity, -infinity) should be used-value-equivalent to calc(NaN) 
43
PASS calc(-1 * round(infinity, -infinity)) should be used-value-equivalent to calc(NaN) 
44
PASS round(-infinity, infinity) should be used-value-equivalent to calc(NaN) 
45
PASS calc(-1 * round(-infinity, infinity)) should be used-value-equivalent to calc(NaN) 
46
PASS round(-infinity, -infinity) should be used-value-equivalent to calc(NaN) 
47
PASS calc(-1 * round(-infinity, -infinity)) should be used-value-equivalent to calc(NaN) 
48
PASS round(infinity, 5) should be used-value-equivalent to calc(infinity) 
49
PASS round(infinity, -5) should be used-value-equivalent to calc(infinity) 
50
PASS round(-infinity, 5) should be used-value-equivalent to calc(-infinity) 
51
PASS round(-infinity, -5) should be used-value-equivalent to calc(-infinity) 
52
PASS calc(1 / round(5, infinity)) should be used-value-equivalent to calc(infinity) 
53
PASS calc(1 / round(5, -infinity)) should be used-value-equivalent to calc(infinity) 
54
PASS calc(1 / round(-5, infinity)) should be used-value-equivalent to calc(-infinity) 
55
PASS calc(1 / round(-5, -infinity)) should be used-value-equivalent to calc(-infinity) 
56
PASS calc(1 / round(to-zero, 5, infinity)) should be used-value-equivalent to calc(infinity) 
57
PASS calc(1 / round(to-zero, 5, -infinity)) should be used-value-equivalent to calc(infinity) 
58
PASS calc(1 / round(to-zero, -5, infinity)) should be used-value-equivalent to calc(-infinity) 
59
PASS calc(1 / round(to-zero, -5, -infinity)) should be used-value-equivalent to calc(-infinity) 
60
PASS round(up, 1, infinity) should be used-value-equivalent to calc(infinity) 
61
PASS calc(1 / round(up, 0, infinity)) should be used-value-equivalent to calc(infinity) 
62
PASS calc(1 / round(up, -1 * 0, infinity) should be used-value-equivalent to calc(-infinity) 
63
PASS calc(1 / round(up, -1, infinity) should be used-value-equivalent to calc(-infinity) 
64
PASS round(down, -1, infinity) should be used-value-equivalent to calc(-infinity) 
65
PASS calc(1 / round(down, -1 * 0, infinity)) should be used-value-equivalent to calc(-infinity) 
66
PASS calc(1 / round(down, 0, infinity)) should be used-value-equivalent to calc(infinity) 
67
PASS calc(1 / round(down, 1, infinity)) should be used-value-equivalent to calc(infinity) 
68
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-values/round-function.html +97 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-values/round-function.html_sec1
1
<!doctype html>
2
<title>round() function</title>
3
<meta charset=utf-8>
4
<script src="/resources/testharness.js"></script>
5
<script src="/resources/testharnessreport.js"></script>
6
<script src="../support/numeric-testcommon.js"></script>
7
8
<meta name=author content="Tab Atkins-Bittner">
9
<link rel=help href="https://drafts.csswg.org/css-values-4/#round-func">
10
11
<div id=target></div>
12
<script>
13
// No-op round should be same as nearest
14
test_math_used("round(23px, 10px)", "20px");
15
test_math_used("round(18px, 10px)", "20px");
16
test_math_used("round(15px, 10px)", "20px");
17
test_math_used("round(13px, 10px)", "10px");
18
test_math_used("round(-13px, 10px)", "-10px");
19
test_math_used("round(-18px, 10px)", "-20px");
20
21
// Test nearest
22
test_math_used("round(nearest, 23px, 10px)", "20px");
23
test_math_used("round(nearest, 18px, 10px)", "20px");
24
test_math_used("round(nearest, 15px, 10px)", "20px");
25
test_math_used("round(nearest, 13px, 10px)", "10px");
26
test_math_used("round(nearest, -13px, 10px)", "-10px");
27
test_math_used("round(nearest, -18px, 10px)", "-20px");
28
29
// Test down
30
test_math_used("round(down, 23px, 10px)", "20px");
31
test_math_used("round(down, 18px, 10px)", "10px");
32
test_math_used("round(down, 15px, 10px)", "10px");
33
test_math_used("round(down, 13px, 10px)", "10px");
34
test_math_used("round(down, -13px, 10px)", "-20px");
35
test_math_used("round(down, -18px, 10px)", "-20px");
36
37
// Test up
38
test_math_used("round(up, 23px, 10px)", "30px");
39
test_math_used("round(up, 18px, 10px)", "20px");
40
test_math_used("round(up, 15px, 10px)", "20px");
41
test_math_used("round(up, 13px, 10px)", "20px");
42
test_math_used("round(up, -13px, 10px)", "-10px");
43
test_math_used("round(up, -18px, 10px)", "-10px");
44
45
// Test to-zero
46
test_math_used("round(to-zero, 23px, 10px)", "20px");
47
test_math_used("round(to-zero, 18px, 10px)", "10px");
48
test_math_used("round(to-zero, 15px, 10px)", "10px");
49
test_math_used("round(to-zero, 13px, 10px)", "10px");
50
test_math_used("round(to-zero, -13px, 10px)", "-10px");
51
test_math_used("round(to-zero, -18px, 10px)", "-10px");
52
53
// Test a negative step
54
test_math_used("round(23px, -10px)", "20px");
55
test_math_used("round(18px, -10px)", "20px");
56
test_math_used("round(15px, -10px)", "20px");
57
test_math_used("round(13px, -10px)", "10px");
58
test_math_used("round(-13px, -10px)", "-10px");
59
test_math_used("round(-18px, -10px)", "-20px");
60
61
// Extreme cases:
62
63
// 0 step is NaN
64
test_nan("round(5, 0)");
65
// both infinite is NaN
66
test_nan("round(infinity, infinity)");
67
test_nan("round(infinity, -infinity)");
68
test_nan("round(-infinity, infinity)");
69
test_nan("round(-infinity, -infinity)");
70
71
// infinite value with finite step is the same infinity
72
test_plus_infinity("round(infinity, 5)");
73
test_plus_infinity("round(infinity, -5)");
74
test_minus_infinity("round(-infinity, 5)");
75
test_minus_infinity("round(-infinity, -5)");
76
77
// Finite value with infinite step depends on rounding strategy.
78
// 'nearest' and 'to-zero': pos and +0 go to +0, neg and -0 go to -0
79
test_plus_zero("round(5, infinity)");
80
test_plus_zero("round(5, -infinity)");
81
test_minus_zero("round(-5, infinity)");
82
test_minus_zero("round(-5, -infinity)");
83
test_plus_zero("round(to-zero, 5, infinity)");
84
test_plus_zero("round(to-zero, 5, -infinity)");
85
test_minus_zero("round(to-zero, -5, infinity)");
86
test_minus_zero("round(to-zero, -5, -infinity)");
87
// 'up': pos goes to +inf, 0+ goes to 0+, else 0-
88
test_plus_infinity("round(up, 1, infinity)");
89
test_plus_zero("round(up, 0, infinity)");
90
test_minus_zero("round(up, -1 * 0, infinity");
91
test_minus_zero("round(up, -1, infinity");
92
// 'down': neg goes to -inf, -0 goes to -0, else 0+
93
test_minus_infinity("round(down, -1, infinity)");
94
test_minus_zero("round(down, -1 * 0, infinity)");
95
test_plus_zero("round(down, 0, infinity)");
96
test_plus_zero("round(down, 1, infinity)");
97
</script>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-values/support/w3c-import.log -1 lines
Lines 22-28 List of files: a/LayoutTests/imported/w3c/web-platform-tests/css/css-values/support/w3c-import.log_sec1
22
/LayoutTests/imported/w3c/web-platform-tests/css/css-values/support/1x1-white.png
22
/LayoutTests/imported/w3c/web-platform-tests/css/css-values/support/1x1-white.png
23
/LayoutTests/imported/w3c/web-platform-tests/css/css-values/support/60x60-gg-rr.png
23
/LayoutTests/imported/w3c/web-platform-tests/css/css-values/support/60x60-gg-rr.png
24
/LayoutTests/imported/w3c/web-platform-tests/css/css-values/support/60x60-green.png
24
/LayoutTests/imported/w3c/web-platform-tests/css/css-values/support/60x60-green.png
25
/LayoutTests/imported/w3c/web-platform-tests/css/css-values/support/60x60-red.png
26
/LayoutTests/imported/w3c/web-platform-tests/css/css-values/support/README
25
/LayoutTests/imported/w3c/web-platform-tests/css/css-values/support/README
27
/LayoutTests/imported/w3c/web-platform-tests/css/css-values/support/a-green.css
26
/LayoutTests/imported/w3c/web-platform-tests/css/css-values/support/a-green.css
28
/LayoutTests/imported/w3c/web-platform-tests/css/css-values/support/b-green.css
27
/LayoutTests/imported/w3c/web-platform-tests/css/css-values/support/b-green.css
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-values/update-subpixel-rem-unit-expected.txt +3 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-values/update-subpixel-rem-unit-expected.txt_sec1
1
2
FAIL Check that a 0.1px change in root font-size affect rem units. assert_equals: expected "161px" but got "160px"
3
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-values/update-subpixel-rem-unit.html +21 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-values/update-subpixel-rem-unit.html_sec1
1
<!doctype html>
2
<html style="font-size:16px">
3
<head>
4
  <title>CSS Values and Units Test: rem subpixel change</title>
5
  <link rel="help" href="https://drafts.csswg.org/css-values/#rem">
6
  <script src="/resources/testharness.js"></script>
7
  <script src="/resources/testharnessreport.js"></script>
8
</head>
9
<body>
10
  <div style="font-size:16px">
11
  <div id="remElement" style="width: 10rem"></div>
12
  </div>
13
  <script>
14
    test(() => {
15
      assert_equals(getComputedStyle(remElement).width, "160px");
16
      document.documentElement.style.fontSize = "16.1px";
17
      assert_equals(getComputedStyle(remElement).width, "161px");
18
    }, "Check that a 0.1px change in root font-size affect rem units.");
19
  </script>
20
<body>
21
</html>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-values/vh-support-atviewport-expected.htm -22 lines
Lines 1-22 a/LayoutTests/imported/w3c/web-platform-tests/css/css-values/vh-support-atviewport-expected.htm_sec1
1
<!DOCTYPE html>
2
<html><head>
3
	<meta charset="utf-8">
4
	<title>
5
		CSS Reftest Reference
6
	</title>
7
8
	<link href="mailto:fremycompany.developer@yahoo.fr" rel="author" title="François REMY">
9
10
	<style type="text/css">
11
			html
12
				{
13
					background-color: yellow;
14
					border-left: blue solid 50vw;
15
					height: 100vh;
16
				}
17
	</style>
18
19
</head>
20
<body>
21
22
</body></html>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-values/vh-support-atviewport.html -41 lines
Lines 1-41 a/LayoutTests/imported/w3c/web-platform-tests/css/css-values/vh-support-atviewport.html_sec1
1
<!DOCTYPE html>
2
<html><head>
3
	<meta charset="utf-8">
4
	<title>
5
		CSS Values and Units Test:
6
		Viewports units are supported in @viewport rules
7
	</title>
8
	<meta content="
9
		Viewports units are supported in @viewport rules
10
	" name="assert">
11
12
	<link href="mailto:fremycompany.developer@yahoo.fr" rel="author" title="François REMY">
13
14
	<link href="http://www.w3.org/TR/css3-values/#viewport-relative-lengths" rel="help">
15
	<link href="https://drafts.csswg.org/css-device-adapt-1/#atviewport-rule" rel="help">
16
17
	<link href="reference/vh-support-atviewport-ref.htm" rel="match">
18
19
	<style type="text/css">
20
			html
21
				{
22
					background-color: yellow;
23
				}
24
25
			body
26
				{
27
					background-color: blue;
28
					height: 100vh;
29
					margin: 0;
30
				}
31
32
			@viewport
33
				{
34
					width: 50vw;
35
				}
36
	</style>
37
38
</head>
39
<body>
40
41
</body></html>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-values/viewport-units-after-font-load-expected.txt +4 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-values/viewport-units-after-font-load-expected.txt_sec1
1
2
3
PASS Viewport units are correctly updated after resize even if a font load has happened before 
4
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-values/viewport-units-after-font-load.html +43 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/css-values/viewport-units-after-font-load.html_sec1
1
<!DOCTYPE html>
2
<meta charset="utf-8">
3
<title>CSS Values: Viewport units are computed correctly after font load.</title>
4
<link rel="author"  title="Emilio Cobos Álvarez" href="mailto:emilio@crisal.io">
5
<link rel="author"  title="Mozilla" href="https://mozilla.org">
6
<link rel="help" href="https://drafts.csswg.org/css-values-4/#viewport-relative-lengths">
7
<link rel="help" href="https://bugzilla.mozilla.org/show_bug.cgi?id=1620359">
8
<script src="/resources/testharness.js"></script>
9
<script src="/resources/testharnessreport.js"></script>
10
<iframe width=300 height=300 scrolling=no srcdoc=""></iframe>
11
<script>
12
let t = async_test("Viewport units are correctly updated after resize even if a font load has happened before");
13
let iframe = document.querySelector("iframe");
14
onload = t.step_func(function() {
15
  let doc = iframe.contentDocument;
16
  let win = iframe.contentWindow;
17
  doc.body.innerHTML = `
18
    <div style="width: 100vw; height: 100vh; background: green"></div>
19
  `;
20
  let div = doc.querySelector("div");
21
  let oldWidth = win.getComputedStyle(div).width;
22
  let oldHeight = win.getComputedStyle(div).height;
23
  assert_equals(oldWidth, win.innerWidth + "px", "Should fill the viewport");
24
  assert_equals(oldHeight, win.innerHeight + "px", "Should fill the viewport");
25
  let link = doc.createElement("link");
26
  link.rel = "stylesheet";
27
  link.href = "/fonts/ahem.css";
28
  link.onload = t.step_func(function() {
29
    iframe.width = 400;
30
    win.requestAnimationFrame(t.step_func(function() {
31
      win.requestAnimationFrame(t.step_func_done(function() {
32
        let newWidth = win.getComputedStyle(div).width;
33
        let newHeight = win.getComputedStyle(div).height;
34
        assert_equals(newWidth, win.innerWidth + "px", "Should fill the viewport");
35
        assert_equals(newHeight, win.innerHeight + "px", "Should fill the viewport");
36
        assert_equals(newHeight, oldHeight, "Height shouldn't have changed");
37
        assert_not_equals(newWidth, oldWidth, "Width should have changed");
38
      }));
39
    }));
40
  });
41
  doc.body.appendChild(link);
42
});
43
</script>
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-values/w3c-import.log -10 / +9 lines
Lines 98-103 List of files: a/LayoutTests/imported/w3c/web-platform-tests/css/css-values/w3c-import.log_sec1
98
/LayoutTests/imported/w3c/web-platform-tests/css/css-values/calc-z-index-fractions-001.html
98
/LayoutTests/imported/w3c/web-platform-tests/css/css-values/calc-z-index-fractions-001.html
99
/LayoutTests/imported/w3c/web-platform-tests/css/css-values/calc-zero-percent-height-expected.html
99
/LayoutTests/imported/w3c/web-platform-tests/css/css-values/calc-zero-percent-height-expected.html
100
/LayoutTests/imported/w3c/web-platform-tests/css/css-values/calc-zero-percent-height.html
100
/LayoutTests/imported/w3c/web-platform-tests/css/css-values/calc-zero-percent-height.html
101
/LayoutTests/imported/w3c/web-platform-tests/css/css-values/ch-empty-pseudo-recalc-on-font-load.html
102
/LayoutTests/imported/w3c/web-platform-tests/css/css-values/ch-pseudo-recalc-on-font-load.html
103
/LayoutTests/imported/w3c/web-platform-tests/css/css-values/ch-recalc-on-font-load.html
101
/LayoutTests/imported/w3c/web-platform-tests/css/css-values/ch-unit-001-expected.html
104
/LayoutTests/imported/w3c/web-platform-tests/css/css-values/ch-unit-001-expected.html
102
/LayoutTests/imported/w3c/web-platform-tests/css/css-values/ch-unit-001.html
105
/LayoutTests/imported/w3c/web-platform-tests/css/css-values/ch-unit-001.html
103
/LayoutTests/imported/w3c/web-platform-tests/css/css-values/ch-unit-002-expected.html
106
/LayoutTests/imported/w3c/web-platform-tests/css/css-values/ch-unit-002-expected.html
Lines 116-133 List of files: a/LayoutTests/imported/w3c/web-platform-tests/css/css-values/w3c-import.log_sec2
116
/LayoutTests/imported/w3c/web-platform-tests/css/css-values/ch-unit-011.html
119
/LayoutTests/imported/w3c/web-platform-tests/css/css-values/ch-unit-011.html
117
/LayoutTests/imported/w3c/web-platform-tests/css/css-values/ch-unit-012-expected.html
120
/LayoutTests/imported/w3c/web-platform-tests/css/css-values/ch-unit-012-expected.html
118
/LayoutTests/imported/w3c/web-platform-tests/css/css-values/ch-unit-012.html
121
/LayoutTests/imported/w3c/web-platform-tests/css/css-values/ch-unit-012.html
119
/LayoutTests/imported/w3c/web-platform-tests/css/css-values/ch-unit-013-expected.html
120
/LayoutTests/imported/w3c/web-platform-tests/css/css-values/ch-unit-013.html
121
/LayoutTests/imported/w3c/web-platform-tests/css/css-values/ch-unit-014-expected.html
122
/LayoutTests/imported/w3c/web-platform-tests/css/css-values/ch-unit-014.html
123
/LayoutTests/imported/w3c/web-platform-tests/css/css-values/ch-unit-015-expected.html
124
/LayoutTests/imported/w3c/web-platform-tests/css/css-values/ch-unit-015.html
125
/LayoutTests/imported/w3c/web-platform-tests/css/css-values/ch-unit-016-expected.html
122
/LayoutTests/imported/w3c/web-platform-tests/css/css-values/ch-unit-016-expected.html
126
/LayoutTests/imported/w3c/web-platform-tests/css/css-values/ch-unit-016.html
123
/LayoutTests/imported/w3c/web-platform-tests/css/css-values/ch-unit-016.html
127
/LayoutTests/imported/w3c/web-platform-tests/css/css-values/ch-unit-017-expected.html
124
/LayoutTests/imported/w3c/web-platform-tests/css/css-values/ch-unit-017-expected.html
128
/LayoutTests/imported/w3c/web-platform-tests/css/css-values/ch-unit-017.html
125
/LayoutTests/imported/w3c/web-platform-tests/css/css-values/ch-unit-017.html
129
/LayoutTests/imported/w3c/web-platform-tests/css/css-values/ch-unit-018-expected.html
130
/LayoutTests/imported/w3c/web-platform-tests/css/css-values/ch-unit-018.html
131
/LayoutTests/imported/w3c/web-platform-tests/css/css-values/clamp-length-computed.html
126
/LayoutTests/imported/w3c/web-platform-tests/css/css-values/clamp-length-computed.html
132
/LayoutTests/imported/w3c/web-platform-tests/css/css-values/clamp-length-invalid.html
127
/LayoutTests/imported/w3c/web-platform-tests/css/css-values/clamp-length-invalid.html
133
/LayoutTests/imported/w3c/web-platform-tests/css/css-values/clamp-length-serialize.html
128
/LayoutTests/imported/w3c/web-platform-tests/css/css-values/clamp-length-serialize.html
Lines 139-144 List of files: a/LayoutTests/imported/w3c/web-platform-tests/css/css-values/w3c-import.log_sec3
139
/LayoutTests/imported/w3c/web-platform-tests/css/css-values/ex-unit-002.html
134
/LayoutTests/imported/w3c/web-platform-tests/css/css-values/ex-unit-002.html
140
/LayoutTests/imported/w3c/web-platform-tests/css/css-values/ex-unit-003-expected.html
135
/LayoutTests/imported/w3c/web-platform-tests/css/css-values/ex-unit-003-expected.html
141
/LayoutTests/imported/w3c/web-platform-tests/css/css-values/ex-unit-003.html
136
/LayoutTests/imported/w3c/web-platform-tests/css/css-values/ex-unit-003.html
137
/LayoutTests/imported/w3c/web-platform-tests/css/css-values/ex-unit-004-expected.html
138
/LayoutTests/imported/w3c/web-platform-tests/css/css-values/ex-unit-004.html
142
/LayoutTests/imported/w3c/web-platform-tests/css/css-values/getComputedStyle-border-radius-001.html
139
/LayoutTests/imported/w3c/web-platform-tests/css/css-values/getComputedStyle-border-radius-001.html
143
/LayoutTests/imported/w3c/web-platform-tests/css/css-values/getComputedStyle-border-radius-002.html
140
/LayoutTests/imported/w3c/web-platform-tests/css/css-values/getComputedStyle-border-radius-002.html
144
/LayoutTests/imported/w3c/web-platform-tests/css/css-values/getComputedStyle-border-radius-003.html
141
/LayoutTests/imported/w3c/web-platform-tests/css/css-values/getComputedStyle-border-radius-003.html
Lines 203-210 List of files: a/LayoutTests/imported/w3c/web-platform-tests/css/css-values/w3c-import.log_sec4
203
/LayoutTests/imported/w3c/web-platform-tests/css/css-values/q-unit-case-insensitivity-001.html
200
/LayoutTests/imported/w3c/web-platform-tests/css/css-values/q-unit-case-insensitivity-001.html
204
/LayoutTests/imported/w3c/web-platform-tests/css/css-values/q-unit-case-insensitivity-002-expected.xht
201
/LayoutTests/imported/w3c/web-platform-tests/css/css-values/q-unit-case-insensitivity-002-expected.xht
205
/LayoutTests/imported/w3c/web-platform-tests/css/css-values/q-unit-case-insensitivity-002.html
202
/LayoutTests/imported/w3c/web-platform-tests/css/css-values/q-unit-case-insensitivity-002.html
203
/LayoutTests/imported/w3c/web-platform-tests/css/css-values/rem-unit-root-element.html
206
/LayoutTests/imported/w3c/web-platform-tests/css/css-values/rgba-011.html
204
/LayoutTests/imported/w3c/web-platform-tests/css/css-values/rgba-011.html
205
/LayoutTests/imported/w3c/web-platform-tests/css/css-values/round-function.html
207
/LayoutTests/imported/w3c/web-platform-tests/css/css-values/unset-value-storage.html
206
/LayoutTests/imported/w3c/web-platform-tests/css/css-values/unset-value-storage.html
207
/LayoutTests/imported/w3c/web-platform-tests/css/css-values/update-subpixel-rem-unit.html
208
/LayoutTests/imported/w3c/web-platform-tests/css/css-values/vh-calc-support-expected.html
208
/LayoutTests/imported/w3c/web-platform-tests/css/css-values/vh-calc-support-expected.html
209
/LayoutTests/imported/w3c/web-platform-tests/css/css-values/vh-calc-support-pct-expected.html
209
/LayoutTests/imported/w3c/web-platform-tests/css/css-values/vh-calc-support-pct-expected.html
210
/LayoutTests/imported/w3c/web-platform-tests/css/css-values/vh-calc-support-pct.html
210
/LayoutTests/imported/w3c/web-platform-tests/css/css-values/vh-calc-support-pct.html
Lines 219-226 List of files: a/LayoutTests/imported/w3c/web-platform-tests/css/css-values/w3c-import.log_sec5
219
/LayoutTests/imported/w3c/web-platform-tests/css/css-values/vh-interpolate-px.html
219
/LayoutTests/imported/w3c/web-platform-tests/css/css-values/vh-interpolate-px.html
220
/LayoutTests/imported/w3c/web-platform-tests/css/css-values/vh-interpolate-vh-expected.html
220
/LayoutTests/imported/w3c/web-platform-tests/css/css-values/vh-interpolate-vh-expected.html
221
/LayoutTests/imported/w3c/web-platform-tests/css/css-values/vh-interpolate-vh.html
221
/LayoutTests/imported/w3c/web-platform-tests/css/css-values/vh-interpolate-vh.html
222
/LayoutTests/imported/w3c/web-platform-tests/css/css-values/vh-support-atviewport-expected.htm
223
/LayoutTests/imported/w3c/web-platform-tests/css/css-values/vh-support-atviewport.html
224
/LayoutTests/imported/w3c/web-platform-tests/css/css-values/vh-support-expected.html
222
/LayoutTests/imported/w3c/web-platform-tests/css/css-values/vh-support-expected.html
225
/LayoutTests/imported/w3c/web-platform-tests/css/css-values/vh-support-margin-expected.html
223
/LayoutTests/imported/w3c/web-platform-tests/css/css-values/vh-support-margin-expected.html
226
/LayoutTests/imported/w3c/web-platform-tests/css/css-values/vh-support-margin.html
224
/LayoutTests/imported/w3c/web-platform-tests/css/css-values/vh-support-margin.html
Lines 236-239 List of files: a/LayoutTests/imported/w3c/web-platform-tests/css/css-values/w3c-import.log_sec6
236
/LayoutTests/imported/w3c/web-platform-tests/css/css-values/viewport-relative-lengths-scaled-viewport.html
234
/LayoutTests/imported/w3c/web-platform-tests/css/css-values/viewport-relative-lengths-scaled-viewport.html
237
/LayoutTests/imported/w3c/web-platform-tests/css/css-values/viewport-unit-011-expected.html
235
/LayoutTests/imported/w3c/web-platform-tests/css/css-values/viewport-unit-011-expected.html
238
/LayoutTests/imported/w3c/web-platform-tests/css/css-values/viewport-unit-011.html
236
/LayoutTests/imported/w3c/web-platform-tests/css/css-values/viewport-unit-011.html
237
/LayoutTests/imported/w3c/web-platform-tests/css/css-values/viewport-units-after-font-load.html
239
/LayoutTests/imported/w3c/web-platform-tests/css/css-values/viewport-units-css2-001.html
238
/LayoutTests/imported/w3c/web-platform-tests/css/css-values/viewport-units-css2-001.html
- a/LayoutTests/imported/w3c/web-platform-tests/css/cssom-view/elementFromPoint-float-in-table-expected.txt +4 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/cssom-view/elementFromPoint-float-in-table-expected.txt_sec1
1
2
PASS float-in-div 
3
PASS float-in-table 
4
- a/LayoutTests/imported/w3c/web-platform-tests/css/cssom-view/elementFromPoint-float-in-table.html +60 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/cssom-view/elementFromPoint-float-in-table.html_sec1
1
<!DOCTYPE html>
2
<link rel="help" href="http://www.w3.org/TR/CSS21/visuren.html#floats" />
3
<link rel="help" href="https://drafts.csswg.org/cssom-view/#dom-document-elementfrompoint" />
4
<link rel="author" title="Koji Ishii" href="mailto:kojii@chromium.org">
5
<script src="/resources/testharness.js"></script>
6
<script src="/resources/testharnessreport.js"></script>
7
<style>
8
.outer {
9
  width: 100px;
10
  height: 100px;
11
  background: green;
12
}
13
.inner {
14
  float: left;
15
  width: 50px;
16
  height: 50px;
17
  background: blue;
18
}
19
</style>
20
<body>
21
<div id="log"></div>
22
23
<div class="outer" onclick="clicked('outer')">
24
  <div id="float-in-div" class="inner" onclick="clicked('inner')">
25
  </div>
26
</div>
27
28
<table>
29
  <tr>
30
    <td>
31
      <div class="outer" onclick="clicked('outer')">
32
        <div id='float-in-table' class="inner" onclick="clicked('inner')">
33
        </div>
34
      </div>
35
    </td>
36
  </tr>
37
</table>
38
39
<pre id="output"></pre>
40
<script>
41
function clicked(p) {
42
  output.textContent += 'clicked ' + p + '\n';
43
}
44
45
function testElementFromPoint(element) {
46
  let bounds = element.getBoundingClientRect();
47
  let result = document.elementFromPoint(bounds.x + 1, bounds.y + 1);
48
  assert_equals(result, element);
49
}
50
51
let targets = [
52
  'float-in-div',
53
  'float-in-table',
54
];
55
for (let target of targets) {
56
  let element = document.getElementById(target);
57
  test(() => { testElementFromPoint(element); }, target);
58
}
59
</script>
60
</body>
- a/LayoutTests/imported/w3c/web-platform-tests/css/cssom-view/idlharness.html +1 lines
Lines 2-7 a/LayoutTests/imported/w3c/web-platform-tests/css/cssom-view/idlharness.html_sec1
2
<meta charset=utf-8>
2
<meta charset=utf-8>
3
<!-- WARNING: These tests are preliminary and probably partly incorrect.  -->
3
<!-- WARNING: These tests are preliminary and probably partly incorrect.  -->
4
<title>CSSOM View automated IDL tests</title>
4
<title>CSSOM View automated IDL tests</title>
5
<meta name="timeout" content="long">
5
<link rel="author" title="Ms2ger" href="mailto:Ms2ger@gmail.com">
6
<link rel="author" title="Ms2ger" href="mailto:Ms2ger@gmail.com">
6
<link rel="help" href="https://drafts.csswg.org/cssom-view-1/#idl-index">
7
<link rel="help" href="https://drafts.csswg.org/cssom-view-1/#idl-index">
7
<script src=/resources/testharness.js></script>
8
<script src=/resources/testharness.js></script>
- a/LayoutTests/imported/w3c/web-platform-tests/css/cssom-view/scrollIntoView-shadow.html +1 lines
Lines 1-4 a/LayoutTests/imported/w3c/web-platform-tests/css/cssom-view/scrollIntoView-shadow.html_sec1
1
<!DOCTYPE HTML>
1
<!DOCTYPE HTML>
2
<meta name="viewport" content="user-scalable=no">
2
<script src="/resources/testharness.js"></script>
3
<script src="/resources/testharness.js"></script>
3
<script src="/resources/testharnessreport.js"></script>
4
<script src="/resources/testharnessreport.js"></script>
4
<title>Check End Position of scrollIntoView of shadow elements</title>
5
<title>Check End Position of scrollIntoView of shadow elements</title>
- a/LayoutTests/imported/w3c/web-platform-tests/css/cssom-view/scrollIntoView-svg-shape.html +1 lines
Lines 1-6 a/LayoutTests/imported/w3c/web-platform-tests/css/cssom-view/scrollIntoView-svg-shape.html_sec1
1
<!DOCTYPE HTML>
1
<!DOCTYPE HTML>
2
<title>scrollIntoView on an SVG shape element</title>
2
<title>scrollIntoView on an SVG shape element</title>
3
<link rel="help" href="https://drafts.csswg.org/cssom-view/#dom-element-scrollintoview">
3
<link rel="help" href="https://drafts.csswg.org/cssom-view/#dom-element-scrollintoview">
4
<meta name="viewport" content="user-scalable=no">
4
<script src="/resources/testharness.js"></script>
5
<script src="/resources/testharness.js"></script>
5
<script src="/resources/testharnessreport.js"></script>
6
<script src="/resources/testharnessreport.js"></script>
6
<svg width="8000" height="8000">
7
<svg width="8000" height="8000">
- a/LayoutTests/imported/w3c/web-platform-tests/css/cssom-view/support/w3c-import.log -1 lines
Lines 22-28 List of files: a/LayoutTests/imported/w3c/web-platform-tests/css/cssom-view/support/w3c-import.log_sec1
22
/LayoutTests/imported/w3c/web-platform-tests/css/cssom-view/support/1x1-white.png
22
/LayoutTests/imported/w3c/web-platform-tests/css/cssom-view/support/1x1-white.png
23
/LayoutTests/imported/w3c/web-platform-tests/css/cssom-view/support/60x60-gg-rr.png
23
/LayoutTests/imported/w3c/web-platform-tests/css/cssom-view/support/60x60-gg-rr.png
24
/LayoutTests/imported/w3c/web-platform-tests/css/cssom-view/support/60x60-green.png
24
/LayoutTests/imported/w3c/web-platform-tests/css/cssom-view/support/60x60-green.png
25
/LayoutTests/imported/w3c/web-platform-tests/css/cssom-view/support/60x60-red.png
26
/LayoutTests/imported/w3c/web-platform-tests/css/cssom-view/support/README
25
/LayoutTests/imported/w3c/web-platform-tests/css/cssom-view/support/README
27
/LayoutTests/imported/w3c/web-platform-tests/css/cssom-view/support/a-green.css
26
/LayoutTests/imported/w3c/web-platform-tests/css/cssom-view/support/a-green.css
28
/LayoutTests/imported/w3c/web-platform-tests/css/cssom-view/support/b-green.css
27
/LayoutTests/imported/w3c/web-platform-tests/css/cssom-view/support/b-green.css
- a/LayoutTests/imported/w3c/web-platform-tests/css/cssom-view/w3c-import.log +1 lines
Lines 41-46 List of files: a/LayoutTests/imported/w3c/web-platform-tests/css/cssom-view/w3c-import.log_sec1
41
/LayoutTests/imported/w3c/web-platform-tests/css/cssom-view/elementFromPoint-002.html
41
/LayoutTests/imported/w3c/web-platform-tests/css/cssom-view/elementFromPoint-002.html
42
/LayoutTests/imported/w3c/web-platform-tests/css/cssom-view/elementFromPoint-003.html
42
/LayoutTests/imported/w3c/web-platform-tests/css/cssom-view/elementFromPoint-003.html
43
/LayoutTests/imported/w3c/web-platform-tests/css/cssom-view/elementFromPoint-dynamic-anon-box.html
43
/LayoutTests/imported/w3c/web-platform-tests/css/cssom-view/elementFromPoint-dynamic-anon-box.html
44
/LayoutTests/imported/w3c/web-platform-tests/css/cssom-view/elementFromPoint-float-in-table.html
44
/LayoutTests/imported/w3c/web-platform-tests/css/cssom-view/elementFromPoint-list-001.html
45
/LayoutTests/imported/w3c/web-platform-tests/css/cssom-view/elementFromPoint-list-001.html
45
/LayoutTests/imported/w3c/web-platform-tests/css/cssom-view/elementFromPoint-mixed-font-sizes.html
46
/LayoutTests/imported/w3c/web-platform-tests/css/cssom-view/elementFromPoint-mixed-font-sizes.html
46
/LayoutTests/imported/w3c/web-platform-tests/css/cssom-view/elementFromPoint-parameters.html
47
/LayoutTests/imported/w3c/web-platform-tests/css/cssom-view/elementFromPoint-parameters.html
- a/LayoutTests/imported/w3c/web-platform-tests/css/cssom/CSS-expected.txt +1 lines
Lines 2-5 a/LayoutTests/imported/w3c/web-platform-tests/css/cssom/CSS-expected.txt_sec1
2
PASS CSS.escape 
2
PASS CSS.escape 
3
PASS CSS.supports, one argument form 
3
PASS CSS.supports, one argument form 
4
FAIL CSS.supports, two argument form assert_equals: CSS.supports: two argument form succeeds for custom property expected true but got false
4
FAIL CSS.supports, two argument form assert_equals: CSS.supports: two argument form succeeds for custom property expected true but got false
5
FAIL CSS.supports, selector function assert_equals: CSS.supports: selector() function accepts a selector expected true but got false
5
6
- a/LayoutTests/imported/w3c/web-platform-tests/css/cssom/CSS.html +10 lines
Lines 26-31 a/LayoutTests/imported/w3c/web-platform-tests/css/cssom/CSS.html_sec1
26
        assert_equals(CSS.supports("color: red"), true, "CSS.supports: Single-argument form allows for declarations without enclosing parentheses");
26
        assert_equals(CSS.supports("color: red"), true, "CSS.supports: Single-argument form allows for declarations without enclosing parentheses");
27
        assert_equals(CSS.supports("(color: red) and (color: blue)"), true, "CSS.supports: Complex conditions allowed");
27
        assert_equals(CSS.supports("(color: red) and (color: blue)"), true, "CSS.supports: Complex conditions allowed");
28
        assert_equals(CSS.supports("not (foobar)"), true, "CSS.supports: general_enclosed still parses");
28
        assert_equals(CSS.supports("not (foobar)"), true, "CSS.supports: general_enclosed still parses");
29
        assert_equals(CSS.supports("color: something-pointless var(--foo)"), true, "Variable references always parse");
30
        assert_equals(CSS.supports("color: something-pointless(var(--foo))"), true, "Variable references in an unknown function always parse");
29
    }, "CSS.supports, one argument form");
31
    }, "CSS.supports, one argument form");
30
    test(function () {
32
    test(function () {
31
        // https://drafts.csswg.org/css-conditional/#dom-css-supports
33
        // https://drafts.csswg.org/css-conditional/#dom-css-supports
Lines 35-38 a/LayoutTests/imported/w3c/web-platform-tests/css/cssom/CSS.html_sec2
35
        assert_equals(CSS.supports("width", "blah"), false, "CSS.supports: two argument form fails for invalid value");
37
        assert_equals(CSS.supports("width", "blah"), false, "CSS.supports: two argument form fails for invalid value");
36
        assert_equals(CSS.supports("--foo", "blah"), true, "CSS.supports: two argument form succeeds for custom property");
38
        assert_equals(CSS.supports("--foo", "blah"), true, "CSS.supports: two argument form succeeds for custom property");
37
    }, "CSS.supports, two argument form");
39
    }, "CSS.supports, two argument form");
40
    test(function () {
41
        assert_equals(CSS.supports("selector(div)"), true, "CSS.supports: selector() function accepts a selector");
42
        assert_equals(CSS.supports("selector(div, div)"), false, "CSS.supports: selector() function doesn't accept a selector list");
43
        assert_equals(CSS.supports("selector(::-webkit-unknown-pseudo-element)"), false, "CSS.supports: selector() function rejects unknown webkit pseudo-elements.");
44
        assert_equals(CSS.supports("selector(::before)"), true, "CSS.supports: selector() function accepts known pseudo-elements");
45
        assert_equals(CSS.supports("selector(div + .c)"), true, "CSS.supports: selector() with simple combinators");
46
        assert_equals(CSS.supports("selector(div | .c)"), false, "CSS.supports: selector() with unknown combinators");
47
    }, "CSS.supports, selector function");
38
</script>
48
</script>
- a/LayoutTests/imported/w3c/web-platform-tests/css/cssom/CSSGroupingRule-cssRules-expected.txt +3 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/cssom/CSSGroupingRule-cssRules-expected.txt_sec1
1
2
PASS [SameObject] is honored 
3
- a/LayoutTests/imported/w3c/web-platform-tests/css/cssom/CSSGroupingRule-cssRules.html +54 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/cssom/CSSGroupingRule-cssRules.html_sec1
1
<!doctype html>
2
<html>
3
<head>
4
    <meta charset="utf-8">
5
    <title>CSSOM - CSSGroupingRule - cssRules</title>
6
    <link rel="help" href="https://drafts.csswg.org/cssom/#the-cssgroupingrule-interface">
7
    <script src="/resources/testharness.js"></script>
8
    <script src="/resources/testharnessreport.js"></script>
9
    <script>
10
    function create(t) {
11
        var style = document.createElement('style');
12
        style.appendChild(document.createTextNode('@media all { * {} }'));
13
        document.head.appendChild(style);
14
        t.add_cleanup(function() {
15
            document.head.removeChild(style);
16
        });
17
18
        assert_true(!!style.sheet, 'setup - sheet defined');
19
        assert_equals(
20
            style.sheet.cssRules.length, 1, 'setup - grouping rule created'
21
        );
22
        assert_equals(
23
            style.sheet.cssRules[0].cssRules.length, 1, 'setup - rule created'
24
        );
25
        return style.sheet.cssRules[0];
26
    }
27
28
    test(function (t) {
29
        var groupingRule = create(t);
30
        groupingRule.cssRules.wptMarker = 'wpt';
31
32
        // `insertRule` is used to prompt non-conforming implementations to
33
        // create a new CSSRuleList object. Its behavior is verified by a
34
        // dedicated test and should not influence the result of this
35
        // particular test.
36
        try {
37
            groupingRule.insertRule('.foo {}', 0);
38
            groupingRule.insertRule('.bar {}', 0);
39
            groupingRule.insertRule('.baz {}', 0);
40
        } catch (err) {}
41
42
        assert_equals(groupingRule.cssRules.wptMarker, 'wpt');
43
44
        try {
45
            groupingRule.deleteRule('.foo {}', 0);
46
            groupingRule.deleteRule('.bar {}', 0);
47
            groupingRule.deleteRule('.baz {}', 0);
48
        } catch (err) {}
49
50
        assert_equals(groupingRule.cssRules.wptMarker, 'wpt');
51
    }, '[SameObject] is honored');
52
    </script>
53
</head>
54
</html>
- a/LayoutTests/imported/w3c/web-platform-tests/css/cssom/CSSGroupingRule-insertRule-expected.txt +9 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/cssom/CSSGroupingRule-insertRule-expected.txt_sec1
1
2
PASS index before first 
3
PASS index after final 
4
PASS index not specified 
5
PASS index exceeds length 
6
PASS CSS parsing error 
7
PASS constraint violation 
8
PASS disallowed namespace rule 
9
- a/LayoutTests/imported/w3c/web-platform-tests/css/cssom/CSSGroupingRule-insertRule.html +118 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/cssom/CSSGroupingRule-insertRule.html_sec1
1
<!doctype html>
2
<html>
3
<head>
4
    <meta charset="utf-8">
5
    <title>CSSOM - CSSGroupingRule - insertRule</title>
6
    <link rel="help" href="https://drafts.csswg.org/cssom/#the-cssgroupingrule-interface">
7
    <script src="/resources/testharness.js"></script>
8
    <script src="/resources/testharnessreport.js"></script>
9
    <script>
10
    function create(t) {
11
        var style = document.createElement('style');
12
        style.appendChild(document.createTextNode('@media all { * {} }'));
13
        document.head.appendChild(style);
14
        t.add_cleanup(function() {
15
            document.head.removeChild(style);
16
        });
17
18
        assert_true(!!style.sheet, 'setup - sheet defined');
19
        assert_equals(
20
            style.sheet.cssRules.length, 1, 'setup - grouping rule created'
21
        );
22
        assert_equals(
23
            style.sheet.cssRules[0].cssRules.length, 1, 'setup - rule created'
24
        );
25
        return style.sheet.cssRules[0];
26
    }
27
28
    test(function (t) {
29
        var groupingRule = create(t);
30
        var first = groupingRule.cssRules[0].cssText;
31
        var result;
32
33
        result = groupingRule.insertRule('.foo {}', 0);
34
35
        assert_equals(groupingRule.cssRules.length, 2);
36
        assert_not_equals(groupingRule.cssRules[0].cssText, first);
37
        assert_equals(groupingRule.cssRules[1].cssText, first);
38
        assert_equals(result, 0, 'result');
39
    }, 'index before first');
40
41
    test(function (t) {
42
        var groupingRule = create(t);
43
        var first = groupingRule.cssRules[0].cssText;
44
        var result;
45
46
        result = groupingRule.insertRule('.foo {}', 1);
47
48
        assert_equals(groupingRule.cssRules.length, 2);
49
        assert_equals(groupingRule.cssRules[0].cssText, first);
50
        assert_not_equals(groupingRule.cssRules[1].cssText, first);
51
        assert_equals(result, 1);
52
    }, 'index after final');
53
54
    test(function (t) {
55
        var groupingRule = create(t);
56
        var first = groupingRule.cssRules[0].cssText;
57
        var result;
58
59
        result = groupingRule.insertRule('.foo {}');
60
61
        assert_equals(groupingRule.cssRules.length, 2);
62
        assert_not_equals(groupingRule.cssRules[0].cssText, first);
63
        assert_equals(groupingRule.cssRules[1].cssText, first);
64
        assert_equals(result, 0);
65
    }, 'index not specified');
66
67
    test(function (t) {
68
        var groupingRule = create(t);
69
        var first = groupingRule.cssRules[0].cssText;
70
71
        assert_throws_dom('IndexSizeError', function() {
72
            // The syntax error is intentional; it verifies that the insertion
73
            // index is validated prior to the CSS text.
74
            groupingRule.insertRule('???', 2);
75
        });
76
77
        assert_equals(groupingRule.cssRules.length, 1);
78
        assert_equals(groupingRule.cssRules[0].cssText, first);
79
    }, 'index exceeds length');
80
81
    test(function (t) {
82
        var groupingRule = create(t);
83
        var first = groupingRule.cssRules[0].cssText;
84
85
        assert_throws_dom('SyntaxError', function() {
86
            groupingRule.insertRule('???', 0);
87
        });
88
89
        assert_equals(groupingRule.cssRules.length, 1);
90
        assert_equals(groupingRule.cssRules[0].cssText, first);
91
    }, 'CSS parsing error');
92
93
    test(function (t) {
94
        var groupingRule = create(t);
95
        var first = groupingRule.cssRules[0].cssText;
96
97
        assert_throws_dom('HierarchyRequestError', function() {
98
            groupingRule.insertRule('@import url("foo.css");', 0);
99
        });
100
101
        assert_equals(groupingRule.cssRules.length, 1);
102
        assert_equals(groupingRule.cssRules[0].cssText, first);
103
    }, 'constraint violation');
104
105
    test(function (t) {
106
        var groupingRule = create(t);
107
        var first = groupingRule.cssRules[0].cssText;
108
109
        assert_throws_dom('HierarchyRequestError', function() {
110
            groupingRule.insertRule('@namespace url(http://www.w3.org/1999/xhtml);', 0);
111
        });
112
113
        assert_equals(groupingRule.cssRules.length, 1);
114
        assert_equals(groupingRule.cssRules[0].cssText, first);
115
    }, 'disallowed namespace rule');
116
    </script>
117
</head>
118
</html>
- a/LayoutTests/imported/w3c/web-platform-tests/css/cssom/CSSStyleSheet-constructable-baseURL.tentative-expected.txt +5 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/cssom/CSSStyleSheet-constructable-baseURL.tentative-expected.txt_sec1
1
2
FAIL Constructing sheet with custom base URL ueses that URL for CSS rules function is not a constructor (evaluating 'new CSSStyleSheet({ baseURL })')
3
FAIL Constructing sheet with relative URL adds to the constructor document's base URL function is not a constructor (evaluating 'new CSSStyleSheet({ baseURL })')
4
FAIL Constructing sheet with invalid base URL throws a NotAllowedError assert_throws_dom: function "() => { new CSSStyleSheet({ baseURL: "chrome://"}) }" threw object "TypeError: function is not a constructor (evaluating 'new CSSStyleSheet({ baseURL: "chrome://"})')" that is not a DOMException NotAllowedError: property "code" is equal to undefined, expected 0
5
- a/LayoutTests/imported/w3c/web-platform-tests/css/cssom/CSSStyleSheet-constructable-baseURL.tentative.html +66 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/cssom/CSSStyleSheet-constructable-baseURL.tentative.html_sec1
1
<!DOCTYPE html>
2
<title>CSSStyleSheet baseURL</title>
3
<link rel="author" title="Erik Nordin" href="mailto:enordin@mozilla.com">
4
<link rel="help" href="https://github.com/WICG/construct-stylesheets/issues/95#issuecomment-593545252">
5
<div id="target"></div>
6
<script src='/resources/testharness.js'></script>
7
<script src='/resources/testharnessreport.js'></script>
8
<script>
9
10
function currentLocation() {
11
  const sections = location.href.split("/")
12
  sections.pop();
13
  return sections.join("/");
14
}
15
16
test(() => {
17
  const span = document.createElement("span");
18
  target.appendChild(span);
19
  span.attachShadow({ mode: "open" })
20
  const shadowDiv = document.createElement("div");
21
  span.shadowRoot.appendChild(shadowDiv);
22
23
  const fileName = "example.png"
24
  const baseURL = `${location.origin}/custom/path/`;
25
  const fullURL = `${baseURL}${fileName}`;
26
27
  const sheet = new CSSStyleSheet({ baseURL });
28
  span.shadowRoot.adoptedStyleSheets = [sheet];
29
30
  sheet.replaceSync(`* { background-image: url("${fileName}"); }`);
31
  const styleFromRelative = getComputedStyle(shadowDiv).backgroundImage;
32
33
  sheet.replaceSync(`* { background-image: url("${fullURL}"); }`);
34
  const styleFromFull = getComputedStyle(shadowDiv).backgroundImage;
35
36
  assert_equals(styleFromRelative, styleFromFull);
37
}, "Constructing sheet with custom base URL ueses that URL for CSS rules");
38
39
test(() => {
40
  const span = document.createElement("span");
41
  target.appendChild(span);
42
  span.attachShadow({ mode: "open" })
43
  const shadowDiv = document.createElement("div");
44
  span.shadowRoot.appendChild(shadowDiv);
45
46
  const fileName = "example.png"
47
  const baseURL = "custom/path/";
48
  const fullURL = `${currentLocation()}/${baseURL}${fileName}`;
49
50
  const sheet = new CSSStyleSheet({ baseURL });
51
  span.shadowRoot.adoptedStyleSheets = [sheet];
52
53
  sheet.replaceSync(`* { background-image: url("${fileName}"); }`);
54
  const styleFromRelative = getComputedStyle(shadowDiv).backgroundImage;
55
56
  sheet.replaceSync(`* { background-image: url("${fullURL}"); }`);
57
  const styleFromFull = getComputedStyle(shadowDiv).backgroundImage;
58
59
  assert_equals(styleFromRelative, styleFromFull);
60
}, "Constructing sheet with relative URL adds to the constructor document's base URL");
61
62
test(() => {
63
  assert_throws_dom("NotAllowedError", () => { new CSSStyleSheet({ baseURL: "chrome://"}) });
64
}, "Constructing sheet with invalid base URL throws a NotAllowedError");
65
66
</script>
- a/LayoutTests/imported/w3c/web-platform-tests/css/cssom/CSSStyleSheet-constructable-disabled-regular-sheet-insertion-expected.txt +3 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/cssom/CSSStyleSheet-constructable-disabled-regular-sheet-insertion-expected.txt_sec1
1
2
FAIL Shouldn't crash / assert when inserting a stylesheet after there are disabled constructable sheets function is not a constructor (evaluating 'new CSSStyleSheet({ disabled: true })')
3
- a/LayoutTests/imported/w3c/web-platform-tests/css/cssom/CSSStyleSheet-constructable-disabled-regular-sheet-insertion.html +22 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/cssom/CSSStyleSheet-constructable-disabled-regular-sheet-insertion.html_sec1
1
<!doctype html>
2
<title>Shouldn't crash / assert when inserting a stylesheet after there are disabled constructable sheets</title>
3
<link rel="author" title="Emilio Cobos Álvarez" href="mailto:emilio@crisal.io">
4
<link rel="help" href="https://wicg.github.io/construct-stylesheets/">
5
<script src = '/resources/testharness.js'></script>
6
<script src = '/resources/testharnessreport.js'></script>
7
<div id="host"></div>
8
<script>
9
test(function() {
10
  let sheet = new CSSStyleSheet({ disabled: true });
11
  sheet.replaceSync("div { color: red }");
12
13
  let root = document.getElementById("host").attachShadow({ mode: "open" });
14
  root.adoptedStyleSheets = [sheet];
15
  let style = document.createElement("style");
16
  root.innerHTML = `
17
    <style>div { color: green }</style>
18
    <div>Should be green</div>
19
  `;
20
  assert_equals(getComputedStyle(root.querySelector("div")).color, "rgb(0, 128, 0)", "Should insert the sheet at the right position and not crash");
21
});
22
</script>
- a/LayoutTests/imported/w3c/web-platform-tests/css/cssom/CSSStyleSheet-constructable-disallow-import.tentative-expected.txt +16 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/cssom/CSSStyleSheet-constructable-disallow-import.tentative-expected.txt_sec1
1
CONSOLE MESSAGE: Unhandled Promise Rejection: TypeError: function is not a constructor (evaluating 'new CSSStyleSheet()')
2
3
Harness Error (FAIL), message = Unhandled rejection: function is not a constructor (evaluating 'new CSSStyleSheet()')
4
5
FAIL Inserting an @import rule through insertRule on a constructed stylesheet throws an exception assert_throws_dom: function "() => { (new CSSStyleSheet).insertRule(import_text) }" threw object "TypeError: function is not a constructor (evaluating 'new CSSStyleSheet')" that is not a DOMException SyntaxError: property "code" is equal to undefined, expected 12
6
TIMEOUT @import rules should not trigger any loads. Test timed out
7
FAIL @import rules are not parsed in CSSStyleSheet.replace function is not a constructor (evaluating 'new CSSStyleSheet()')
8
FAIL @import rules are not parsed in CSSStyleSheet.replaceSync function is not a constructor (evaluating 'new CSSStyleSheet()')
9
10
Harness Error (FAIL), message = Unhandled rejection: function is not a constructor (evaluating 'new CSSStyleSheet()')
11
12
FAIL Inserting an @import rule through insertRule on a constructed stylesheet throws an exception assert_throws_dom: function "() => { (new CSSStyleSheet).insertRule(import_text) }" threw object "TypeError: function is not a constructor (evaluating 'new CSSStyleSheet')" that is not a DOMException SyntaxError: property "code" is equal to undefined, expected 12
13
TIMEOUT @import rules should not trigger any loads. Test timed out
14
FAIL @import rules are not parsed in CSSStyleSheet.replace function is not a constructor (evaluating 'new CSSStyleSheet()')
15
FAIL @import rules are not parsed in CSSStyleSheet.replaceSync function is not a constructor (evaluating 'new CSSStyleSheet()')
16
- a/LayoutTests/imported/w3c/web-platform-tests/css/cssom/CSSStyleSheet-constructable-disallow-import.tentative.html +81 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/cssom/CSSStyleSheet-constructable-disallow-import.tentative.html_sec1
1
<!DOCTYPE html>
2
<title>CSSStyleSheet Disallow Import Rules</title>
3
<link rel="author" title="Erik Nordin" href="mailto:enordin@mozilla.com">
4
<link rel="help" href="https://github.com/WICG/construct-stylesheets/issues/119#issuecomment-597733392">
5
<div id="target"></div>
6
<script src='/resources/testharness.js'></script>
7
<script src='/resources/testharnessreport.js'></script>
8
<script>
9
10
const greenStyleText = ".green { color: green; }";
11
const import_text = '@import url("support/constructable-import.css");';
12
13
function attachShadowDiv(host) {
14
  const shadowRoot = host.attachShadow({mode: 'open'});
15
  const shadowDiv = document.createElement("div");
16
  shadowRoot.appendChild(shadowDiv);
17
  return shadowDiv;
18
}
19
20
test(() => {
21
  assert_throws_dom("SyntaxError", () => { (new CSSStyleSheet).insertRule(import_text) });
22
}, 'Inserting an @import rule through insertRule on a constructed stylesheet throws an exception');
23
24
async_test(async t => {
25
    const importUrl = "support/constructable-import.css";
26
    const sheet = new CSSStyleSheet();
27
28
    sheet.replaceSync(import_text);
29
    await sheet.replace(import_text);
30
    assert_throws_dom("SyntaxError", () => { sheet.insertRule(import_text) });
31
32
    const timeAfterImportsInvoked = performance.now();
33
34
    let link = document.createElement("link");
35
    link.rel = "stylesheet";
36
    link.href = importUrl;
37
38
    link.addEventListener("error", t.unreached_func("Load shouldn't fail"));
39
    link.addEventListener("load", t.step_func_done(event => {
40
      let entries = window.performance.getEntriesByType('resource').filter(entry => entry.name.includes(importUrl));
41
      assert_equals(entries.length, 1, "There should be only one entry for the import URL");
42
      assert_greater_than_equal(entries[0].startTime, timeAfterImportsInvoked, "The entry's start time should be after all throws");
43
      link.remove();
44
    }));
45
    document.body.appendChild(link);
46
}, "@import rules should not trigger any loads.")
47
48
promise_test(() => {
49
  const span = document.createElement("span");
50
  target.appendChild(span);
51
  const shadowDiv = attachShadowDiv(span);
52
  shadowDiv.classList.add("green");
53
  const sheet = new CSSStyleSheet();
54
  span.shadowRoot.adoptedStyleSheets = [sheet];
55
  assert_equals(getComputedStyle(shadowDiv).color, "rgb(0, 0, 0)");
56
  const sheet_promise = sheet.replace(`${import_text} ${greenStyleText}`);
57
  return sheet_promise.then((sheet) => {
58
    assert_equals(sheet.cssRules.length, 1);
59
    assert_equals(sheet.cssRules[0].cssText, greenStyleText);
60
    assert_equals(getComputedStyle(shadowDiv).color, "rgb(0, 128, 0)");
61
  }).catch((reason) => {
62
    assert_unreached(`Promise was rejected (${reason}) when it should have been resolved`);
63
  });
64
}, '@import rules are not parsed in CSSStyleSheet.replace');
65
66
test(() => {
67
  const span = document.createElement("span");
68
  target.appendChild(span);
69
  const shadowDiv = attachShadowDiv(span);
70
  shadowDiv.classList.add("green");
71
  const sheet = new CSSStyleSheet();
72
  span.shadowRoot.adoptedStyleSheets = [sheet];
73
  assert_equals(getComputedStyle(shadowDiv).color, "rgb(0, 0, 0)");
74
  // Replace and assert that the imported rule is applied.
75
  const sheet_promise = sheet.replaceSync(`${import_text} ${greenStyleText}`);
76
  assert_equals(sheet.cssRules.length, 1);
77
  assert_equals(sheet.cssRules[0].cssText, greenStyleText);
78
  assert_equals(getComputedStyle(shadowDiv).color, "rgb(0, 128, 0)");
79
}, '@import rules are not parsed in CSSStyleSheet.replaceSync');
80
81
</script>
- a/LayoutTests/imported/w3c/web-platform-tests/css/cssom/CSSStyleSheet-constructable-duplicate-expected.txt +6 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/cssom/CSSStyleSheet-constructable-duplicate-expected.txt_sec1
1
2
FAIL Duplicate stylesheets have the right cascade position in the Document function is not a constructor (evaluating 'new CSSStyleSheet()')
3
FAIL Appending duplicate stylesheets yields the correct cascade position in the Document function is not a constructor (evaluating 'new CSSStyleSheet()')
4
FAIL Duplicate stylesheets have the right cascade position in the ShadowRoot function is not a constructor (evaluating 'new CSSStyleSheet()')
5
FAIL Appending duplicate stylesheets yields the correct cascade position in the ShadowRoot function is not a constructor (evaluating 'new CSSStyleSheet()')
6
- a/LayoutTests/imported/w3c/web-platform-tests/css/cssom/CSSStyleSheet-constructable-duplicate.html +84 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/cssom/CSSStyleSheet-constructable-duplicate.html_sec1
1
<!doctype html>
2
<title>Cascade order of a stylesheet for duplicate sheets.</title>
3
<link rel="author" title="Emilio Cobos Álvarez" href="mailto:emilio@crisal.io">
4
<link rel="help" href="https://wicg.github.io/construct-stylesheets/">
5
<script src = '/resources/testharness.js'></script>
6
<script src = '/resources/testharnessreport.js'></script>
7
<div id="target"></div>
8
<script>
9
10
function attachShadowDiv(host) {
11
  const shadowRoot = host.attachShadow({mode: 'open'});
12
  const shadowDiv = document.createElement("div");
13
  shadowRoot.appendChild(shadowDiv);
14
  return shadowDiv;
15
}
16
17
function blueSheetsWithIncreasingZIndex(n) {
18
  let sheets = [];
19
  for (let i = 0; i < n; ++i) {
20
    sheets.push(new CSSStyleSheet());
21
    sheets[i].replaceSync("div { z-index: " + i + "; color: blue; }");
22
  }
23
  return sheets;
24
}
25
26
let sheets = [];
27
28
test(function() {
29
  sheets = blueSheetsWithIncreasingZIndex(2);
30
31
  document.adoptedStyleSheets = [sheets[1], sheets[0], sheets[1]];
32
  assert_equals(getComputedStyle(document.querySelector("div")).zIndex, "1", "duplicate stylesheet should take right position in the cascade");
33
34
  document.adoptedStyleSheets = [];
35
}, "Duplicate stylesheets have the right cascade position in the Document");
36
37
test(function() {
38
  sheets = blueSheetsWithIncreasingZIndex(2);
39
40
  const sheet = new CSSStyleSheet();
41
  sheet.replaceSync("div { color: red; }");
42
43
  document.adoptedStyleSheets = [sheets[1], sheets[0]];
44
  assert_equals(getComputedStyle(document.querySelector("div")).zIndex, "0", "backmost stylesheet should take precedence");
45
  assert_equals(getComputedStyle(document.querySelector("div")).color, "rgb(0, 0, 255)", "backmost stylesheet should take precedence");
46
47
  document.adoptedStyleSheets = [sheets[1], sheets[0], sheets[1], sheet];
48
  assert_equals(getComputedStyle(document.querySelector("div")).zIndex, "1", "duplicate stylesheet should take the right position in the cascade");
49
  assert_equals(getComputedStyle(document.querySelector("div")).color, "rgb(255, 0, 0)", "backmost stylesheet should take precedence");
50
51
  document.adoptedStyleSheets = [];
52
}, "Appending duplicate stylesheets yields the correct cascade position in the Document");
53
54
test(function() {
55
  sheets = blueSheetsWithIncreasingZIndex(2);
56
57
  const span = document.createElement("span");
58
  target.appendChild(span);
59
  attachShadowDiv(span);
60
61
  span.shadowRoot.adoptedStyleSheets = [sheets[1], sheets[0], sheets[1]];
62
  assert_equals(getComputedStyle(span.shadowRoot.querySelector("div")).zIndex, "1", "duplicate stylesheet should take right position in the cascade");
63
}, "Duplicate stylesheets have the right cascade position in the ShadowRoot");
64
65
test(function() {
66
  sheets = blueSheetsWithIncreasingZIndex(2);
67
68
  const sheet = new CSSStyleSheet();
69
  sheet.replaceSync("div { color: red; }");
70
71
  const span = document.createElement("span");
72
  target.appendChild(span);
73
  attachShadowDiv(span);
74
75
  span.shadowRoot.adoptedStyleSheets = [sheets[1], sheets[0]];
76
  assert_equals(getComputedStyle(span.shadowRoot.querySelector("div")).zIndex, "0", "backmost stylesheet should take precedence");
77
  assert_equals(getComputedStyle(span.shadowRoot.querySelector("div")).color, "rgb(0, 0, 255)", "backmost stylesheet should take precedence");
78
79
  span.shadowRoot.adoptedStyleSheets = [sheets[1], sheets[0], sheets[1], sheet];
80
  assert_equals(getComputedStyle(span.shadowRoot.querySelector("div")).zIndex, "1", "duplicate stylesheet should take right position in the cascade");
81
  assert_equals(getComputedStyle(span.shadowRoot.querySelector("div")).color, "rgb(255, 0, 0)", "backmost stylesheet should take precedence");
82
}, "Appending duplicate stylesheets yields the correct cascade position in the ShadowRoot");
83
84
</script>
- a/LayoutTests/imported/w3c/web-platform-tests/css/cssom/CSSStyleSheet-constructable-expected.txt +38 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/cssom/CSSStyleSheet-constructable-expected.txt_sec1
1
 
2
3
4
FAIL document.adoptedStyleSheets should initially have length 0. undefined is not an object (evaluating 'document.adoptedStyleSheets.length')
5
FAIL new CSSStyleSheet produces empty CSSStyleSheet function is not a constructor (evaluating 'new CSSStyleSheet({disabled: true, media: "screen, print"})')
6
FAIL title can be set in the CSSStyleSheet constructor function is not a constructor (evaluating 'new CSSStyleSheet({title: "something"})')
7
FAIL CSSStyleSheet.replace produces Promise<CSSStyleSheet> function is not a constructor (evaluating 'new CSSStyleSheet({disabled: true, media: "screen, print"})')
8
FAIL Constructed style sheets can be applied on document function is not a constructor (evaluating 'new CSSStyleSheet()')
9
FAIL Constructed style sheets can be applied on shadow root function is not a constructor (evaluating 'new CSSStyleSheet()')
10
FAIL Re-attaching shadow host with adopted stylesheets work function is not a constructor (evaluating 'new CSSStyleSheet()')
11
FAIL Attaching a shadow root that already has adopted stylesheets work function is not a constructor (evaluating 'new CSSStyleSheet()')
12
FAIL Re-attaching shadow host and updating attributes work function is not a constructor (evaluating 'new CSSStyleSheet()')
13
FAIL Changes to constructed stylesheets through CSSOM is reflected function is not a constructor (evaluating 'new CSSStyleSheet()')
14
FAIL Constructed stylesheet can be used and modified in multiple TreeScopes function is not a constructor (evaluating 'new CSSStyleSheet()')
15
FAIL Stylesheets constructed on the main Document cannot be used in iframes function is not a constructor (evaluating 'new CSSStyleSheet()')
16
FAIL Stylesheet constructed on iframe cannot be used in the main Document promise_test: Unhandled rejection with value: object "TypeError: function is not a constructor (evaluating 'new CSSStyleSheet()')"
17
FAIL Adding non-constructed stylesheet to AdoptedStyleSheets is not allowed when the owner document of the stylesheet is in the same document tree as the AdoptedStyleSheets assert_throws_dom: function "() => { document.adoptedStyleSheets = [nonConstructedStyleSheet]; }" did not throw
18
FAIL Adding non-constructed stylesheet to AdoptedStyleSheets is not allowed when the owner document of the stylesheet and the AdoptedStyleSheets are in different document trees assert_throws_dom: function "() => {
19
    iframe.contentDocument.adoptedStyleSheets = [nonConstructedStyleSheet];
20
  }" did not throw
21
FAIL CSSStyleSheet.replaceSync replaces stylesheet text synchronously function is not a constructor (evaluating 'new CSSStyleSheet()')
22
FAIL CSSStyleSheet.replaceSync correctly updates the style of its adopters synchronously function is not a constructor (evaluating 'new CSSStyleSheet()')
23
FAIL Adopted sheets are ordered after non-adopted sheets in the shadow root function is not a constructor (evaluating 'new CSSStyleSheet()')
24
FAIL Adopted sheets are ordered after non-adopted sheets in the document function is not a constructor (evaluating 'new CSSStyleSheet()')
25
FAIL Inserting an @import rule through insertRule on a constructed stylesheet throws an exception assert_throws_dom: function "() => { (new CSSStyleSheet).insertRule(import_text) }" threw object "TypeError: function is not a constructor (evaluating 'new CSSStyleSheet')" that is not a DOMException SyntaxError: property "code" is equal to undefined, expected 12
26
FAIL CSSStyleSheet.replaceSync should not trigger any loads from @import rules function is not a constructor (evaluating 'new CSSStyleSheet()')
27
FAIL CSSStyleSheet.replace allows, but ignores, import rule inside function is not a constructor (evaluating 'new CSSStyleSheet()')
28
FAIL CSSStyleSheet.replace ignores @import rule but still loads other rules function is not a constructor (evaluating 'new CSSStyleSheet()')
29
FAIL CSSStyleSheet.replaceSync allows, but ignores, import rule inside function is not a constructor (evaluating 'new CSSStyleSheet()')
30
FAIL CSSStyleSheet.replace does not reject on failed imports function is not a constructor (evaluating 'new CSSStyleSheet()')
31
FAIL Cloning a shadow host will not clone shadow root, and also adoptedStyleSheets function is not a constructor (evaluating 'new CSSStyleSheet()')
32
FAIL Importing a shadow host will not copy shadow root, and also adoptedStyleSheets function is not a constructor (evaluating 'new CSSStyleSheet()')
33
FAIL Adopting a shadow host will empty adoptedStyleSheets if adopting to a different document function is not a constructor (evaluating 'new CSSStyleSheet()')
34
FAIL Adopting a shadow host's ancestor will empty adoptedStyleSheets if adopting to a different document function is not a constructor (evaluating 'new CSSStyleSheet()')
35
FAIL Forcing a style update after adding an adopted stylesheet on a disconnected shadow root should not crash. function is not a constructor (evaluating 'new CSSStyleSheet()')
36
FAIL Modifying an adopted stylesheet on a disconnected shadow root should not crash. function is not a constructor (evaluating 'new CSSStyleSheet()')
37
FAIL Constructing a sheet with the default base URL uses the constructor document's base URL for CSS rules function is not a constructor (evaluating 'new CSSStyleSheet()')
38
- a/LayoutTests/imported/w3c/web-platform-tests/css/cssom/CSSStyleSheet-constructable-replace-on-regular-sheet-expected.txt +5 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/cssom/CSSStyleSheet-constructable-replace-on-regular-sheet-expected.txt_sec1
1
2
FAIL CSSStyleSheet.replaceSync throws NotAllowedError for non-constructed sheets assert_throws_dom: replaceSync on non-constructed sheet should throw function "() => sheet.replaceSync(":root { background-color: red }")" threw object "TypeError: sheet.replaceSync is not a function. (In 'sheet.replaceSync(":root { background-color: red }")', 'sheet.replaceSync' is undefined)" that is not a DOMException NotAllowedError: property "code" is equal to undefined, expected 0
3
FAIL CSSStyleSheet.replace returns a rejected promise for non-constructed sheets promise_test: Unhandled rejection with value: object "TypeError: sheet.replace is not a function. (In 'sheet.replace(":root { background-color: red }")', 'sheet.replace' is undefined)"
4
FAIL CSSStyleSheet.replace returns a rejected promise for non-constructed sheets that have no associated document promise_test: Unhandled rejection with value: object "TypeError: sheet.replace is not a function. (In 'sheet.replace(":root { background-color: red }")', 'sheet.replace' is undefined)"
5
- a/LayoutTests/imported/w3c/web-platform-tests/css/cssom/CSSStyleSheet-constructable-replace-on-regular-sheet.html +42 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/cssom/CSSStyleSheet-constructable-replace-on-regular-sheet.html_sec1
1
<!doctype html>
2
<title>replace / replaceSync on non-constructed stylesheet</title>
3
<link rel="author" title="Emilio Cobos Álvarez" href="mailto:emilio@crisal.io">
4
<link rel="help" href="https://wicg.github.io/construct-stylesheets/">
5
<script src = '/resources/testharness.js'></script>
6
<script src = '/resources/testharnessreport.js'></script>
7
<style id="style">
8
  @import url("support/constructable-import.css");
9
  :root { background-color: lime }
10
</style>
11
<script>
12
13
promise_test(async () => {
14
  await new Promise(resolve => window.addEventListener("load", resolve));
15
  assert_equals(getComputedStyle(document.documentElement).backgroundColor, "rgb(0, 255, 0)", "precondition")
16
  let sheet = document.styleSheets[0];
17
  let childSheet = sheet.cssRules[0].styleSheet;
18
  assert_throws_dom("NotAllowedError", () => sheet.replaceSync(":root { background-color: red }"), "replaceSync on non-constructed sheet should throw");
19
  assert_throws_dom("NotAllowedError", () => childSheet.replaceSync(":root { background-color: red }"), "replaceSync on non-constructed sheet should throw");
20
  assert_equals(getComputedStyle(document.documentElement).backgroundColor, "rgb(0, 255, 0)", "old sheet should still apply after replace");
21
}, "CSSStyleSheet.replaceSync throws NotAllowedError for non-constructed sheets")
22
23
promise_test(async function(t) {
24
  assert_equals(getComputedStyle(document.documentElement).backgroundColor, "rgb(0, 255, 0)", "precondition")
25
  let sheet = document.styleSheets[0];
26
  let childSheet = sheet.cssRules[0].styleSheet;
27
  await promise_rejects_dom(t, "NotAllowedError", sheet.replace(":root { background-color: red }"), "replace on non-constructed sheet should return a rejected promise");
28
  await promise_rejects_dom(t, "NotAllowedError", childSheet.replace(":root { background-color: red }"), "replace on non-constructed sheet should return a rejected promise");
29
  assert_equals(getComputedStyle(document.documentElement).backgroundColor, "rgb(0, 255, 0)", "old sheet should still apply after replace");
30
}, "CSSStyleSheet.replace returns a rejected promise for non-constructed sheets")
31
32
promise_test(async function(t) {
33
  assert_equals(getComputedStyle(document.documentElement).backgroundColor, "rgb(0, 255, 0)", "precondition")
34
  let sheet = document.styleSheets[0];
35
  let childSheet = sheet.cssRules[0].styleSheet;
36
  style.remove() // sheet's associated document becomes null.
37
  await promise_rejects_dom(t, "NotAllowedError", sheet.replace(":root { background-color: red }"), "replace on non-constructed sheet should return a rejected promise");
38
  await promise_rejects_dom(t, "NotAllowedError", childSheet.replace(":root { background-color: red }"), "replace on non-constructed sheet should return a rejected promise");
39
  assert_equals(getComputedStyle(document.documentElement).backgroundColor, "rgba(0, 0, 0, 0)", "old sheet was removed, so the default color should apply");
40
}, "CSSStyleSheet.replace returns a rejected promise for non-constructed sheets that have no associated document")
41
42
</script>
- a/LayoutTests/imported/w3c/web-platform-tests/css/cssom/CSSStyleSheet-constructable.html +801 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/cssom/CSSStyleSheet-constructable.html_sec1
1
<!DOCTYPE html>
2
<title>CSSStyleSheet constructor and adoptedStyleSheets</title>
3
<link rel="author" title="Rakina Zata Amni" href="mailto:rakina@chromium.org">
4
<link rel="help" href="https://wicg.github.io/construct-stylesheets/">
5
<script src = '/resources/testharness.js'></script>
6
<script src = '/resources/testharnessreport.js'></script>
7
8
<section id="firstSection">
9
  <div>
10
    <span class="green"></span>
11
    <span class="red"></span>
12
    <span class="blue"></span>
13
    <span class="white"></span>
14
    <span class="yellow"></span>
15
  </div>
16
</section>
17
<section id="shadowHost"></section>
18
<section id="thirdSection"></section>
19
20
<script>
21
'use strict';
22
const greenStyleText = ".green { color: green; }";
23
const redStyleTexts = [".red { color: red; }", ".red + span + span { color: red; }"];
24
const blueStyleTexts = [".blue { color: blue; }", ".blue + span + span { color: blue; }"];
25
const whiteStyleText = "* { color: white; }";
26
const yellowStyleText = ".yellow { color: yellow; }";
27
28
const firstDiv = document.querySelector('#firstSection > div');
29
const secondDiv = firstDiv.cloneNode(true);
30
const shadowHost = document.querySelector('#shadowHost');
31
const shadowRoot = shadowHost.attachShadow({mode: 'open'});
32
shadowRoot.appendChild(secondDiv);
33
34
const greenSpan = firstDiv.children[0];
35
const redSpan = firstDiv.children[1];
36
const blueSpan = firstDiv.children[2];
37
const whiteSpan = firstDiv.children[3];
38
const yellowSpan = firstDiv.children[4];
39
const greenShadowSpan = secondDiv.children[0];
40
const redShadowSpan = secondDiv.children[1];
41
const blueShadowSpan = secondDiv.children[2];
42
const whiteShadowSpan = secondDiv.children[3];
43
const yellowShadowSpan = secondDiv.children[4];
44
45
test(() => {
46
  assert_equals(document.adoptedStyleSheets.length, 0);
47
}, "document.adoptedStyleSheets should initially have length 0.");
48
49
test(() => {
50
  const sheet = new CSSStyleSheet({disabled: true, media: "screen, print"});
51
  assert_equals(sheet.title, null, "The title attribute must return the title or null if title is the empty string");
52
  assert_equals(sheet.ownerNode, null);
53
  assert_equals(sheet.ownerRule, null);
54
  assert_equals(sheet.media.length, 2);
55
  assert_equals(sheet.media.item(0), "screen");
56
  assert_equals(sheet.media.item(1), "print");
57
  assert_true(sheet.disabled);
58
  assert_equals(sheet.cssRules.length, 0);
59
60
  sheet.insertRule(redStyleTexts[0]);
61
  assert_equals(sheet.cssRules.length, 1);
62
  assert_equals(sheet.cssRules[0].cssText, redStyleTexts[0]);
63
64
  sheet.insertRule(redStyleTexts[1]);
65
  assert_equals(sheet.cssRules.length, 2);
66
  assert_equals(sheet.cssRules[0].cssText, redStyleTexts[1]);
67
68
  const sheet2 = new CSSStyleSheet({});
69
  assert_equals(sheet2.title, null, "The title attribute must return the title or null if title is the empty string");
70
  assert_equals(sheet2.ownerNode, null);
71
  assert_equals(sheet2.ownerRule, null);
72
  assert_equals(sheet2.media.length, 0);
73
  assert_false(sheet2.disabled);
74
  assert_equals(sheet2.cssRules.length, 0);
75
76
  sheet2.insertRule(redStyleTexts[1]);
77
  assert_equals(sheet2.cssRules.length, 1);
78
  assert_equals(sheet2.cssRules[0].cssText, redStyleTexts[1]);
79
80
  sheet2.deleteRule(0);
81
  assert_equals(sheet2.cssRules.length, 0);
82
83
  const sheet3 = new CSSStyleSheet();
84
  assert_equals(sheet3.title, null, "The title attribute must return the title or null if title is the empty string");
85
  assert_equals(sheet3.ownerNode, null);
86
  assert_equals(sheet3.ownerRule, null);
87
  assert_equals(sheet3.media.length, 0);
88
  assert_false(sheet3.disabled);
89
  assert_equals(sheet3.cssRules.length, 0);
90
91
  sheet3.insertRule(redStyleTexts[1]);
92
  assert_equals(sheet3.cssRules.length, 1);
93
  assert_equals(sheet3.cssRules[0].cssText, redStyleTexts[1]);
94
95
  sheet3.deleteRule(0);
96
  assert_equals(sheet3.cssRules.length, 0);
97
}, 'new CSSStyleSheet produces empty CSSStyleSheet');
98
99
test(() => {
100
  const sheet = new CSSStyleSheet({title: "something"});
101
  assert_equals(sheet.title, null, "title and alternate are not supported by the constructor. https://github.com/WICG/construct-stylesheets/issues/105");
102
}, "title can be set in the CSSStyleSheet constructor");
103
104
promise_test(() => {
105
  const sheet = new CSSStyleSheet({disabled: true, media: "screen, print"});
106
  const promise_sheet = sheet.replace(redStyleTexts[0]);
107
  return promise_sheet.then(function(sheet) {
108
    assert_equals(sheet.title, null, "The title attribute must return the title or null if title is the empty string");
109
    assert_equals(sheet.ownerNode, null);
110
    assert_equals(sheet.ownerRule, null);
111
    assert_equals(sheet.media.length, 2);
112
    assert_equals(sheet.media.item(0), "screen");
113
    assert_equals(sheet.media.item(1), "print");
114
    assert_true(sheet.disabled);
115
    assert_equals(sheet.cssRules.length, 1);
116
    assert_equals(sheet.cssRules[0].cssText, redStyleTexts[0]);
117
118
    sheet.insertRule(redStyleTexts[1]);
119
    assert_equals(sheet.cssRules.length, 2);
120
    assert_equals(sheet.cssRules[0].cssText, redStyleTexts[1]);
121
  });
122
}, 'CSSStyleSheet.replace produces Promise<CSSStyleSheet>');
123
124
function createAllSheetsPromise() {
125
  const greenSheet = new CSSStyleSheet();
126
  const redSheet = new CSSStyleSheet({media: "screen, print"});
127
  const blueSheet = new CSSStyleSheet({disabled: true});
128
  const whiteSheet = new CSSStyleSheet({disabled: true});
129
  const yellowSheet = new CSSStyleSheet({disabled: false});
130
131
  const greenPromise = greenSheet.replace(greenStyleText);
132
  const redPromise = redSheet.replace(redStyleTexts[0] + redStyleTexts[1]);
133
  const bluePromise = blueSheet.replace(blueStyleTexts[0] + blueStyleTexts[1]);
134
  const whitePromise = whiteSheet.replace(whiteStyleText);
135
  const yellowPromise = yellowSheet.replace(yellowStyleText);
136
  return [greenPromise, redPromise, bluePromise, whitePromise, yellowPromise];
137
}
138
139
promise_test(() => {
140
  return Promise.all(createAllSheetsPromise()).then(values => {
141
    const greenStyleSheet = values[0];
142
    const redStyleSheet = values[1];
143
    const blueStyleSheet = values[2];
144
    const whiteStyleSheet = values[3];
145
    const yellowStyleSheet = values[4];
146
147
    // Lists of style sheets can be created, assigned and read.
148
149
    // disabled stylesheets aren't applied
150
    document.adoptedStyleSheets = [whiteStyleSheet];
151
    assert_equals(getComputedStyle(greenSpan).color, "rgb(0, 0, 0)");
152
    assert_equals(getComputedStyle(redSpan).color, "rgb(0, 0, 0)");
153
    assert_equals(getComputedStyle(blueSpan).color, "rgb(0, 0, 0)");
154
    assert_equals(getComputedStyle(whiteSpan).color, "rgb(0, 0, 0)");
155
    assert_equals(getComputedStyle(yellowSpan).color, "rgb(0, 0, 0)");
156
157
    // disable dsheets don't block other styles from applying
158
    document.adoptedStyleSheets = [greenStyleSheet, blueStyleSheet];
159
    assert_equals(getComputedStyle(greenSpan).color, "rgb(0, 128, 0)");
160
    assert_equals(getComputedStyle(redSpan).color, "rgb(0, 0, 0)");
161
    assert_equals(getComputedStyle(blueSpan).color, "rgb(0, 0, 0)");
162
    assert_equals(getComputedStyle(whiteSpan).color, "rgb(0, 0, 0)");
163
    assert_equals(getComputedStyle(yellowSpan).color, "rgb(0, 0, 0)");
164
165
    document.adoptedStyleSheets = [redStyleSheet, yellowStyleSheet];
166
167
    assert_equals(getComputedStyle(greenSpan).color, "rgb(0, 0, 0)");
168
    assert_equals(getComputedStyle(redSpan).color, "rgb(255, 0, 0)");
169
    assert_equals(getComputedStyle(blueSpan).color, "rgb(0, 0, 0)");
170
    assert_equals(getComputedStyle(whiteSpan).color, "rgb(255, 0, 0)");
171
    assert_equals(getComputedStyle(yellowSpan).color, "rgb(255, 255, 0)");
172
173
    document.adoptedStyleSheets = [redStyleSheet, yellowStyleSheet, greenStyleSheet, blueStyleSheet];
174
    assert_equals(getComputedStyle(greenSpan).color, "rgb(0, 128, 0)");
175
    assert_equals(getComputedStyle(redSpan).color, "rgb(255, 0, 0)");
176
    assert_equals(getComputedStyle(blueSpan).color, "rgb(0, 0, 0)");
177
    assert_equals(getComputedStyle(whiteSpan).color, "rgb(255, 0, 0)");
178
    assert_equals(getComputedStyle(yellowSpan).color, "rgb(255, 255, 0)");
179
    document.adoptedStyleSheets = [];
180
  });
181
}, 'Constructed style sheets can be applied on document');
182
183
promise_test(() => {
184
  return Promise.all(createAllSheetsPromise()).then(values => {
185
    const greenStyleSheet = values[0];
186
    const redStyleSheet = values[1];
187
    const blueStyleSheet = values[2];
188
    const whiteStyleSheet = values[3];
189
    const yellowStyleSheet = values[4];
190
    shadowRoot.adoptedStyleSheets = [whiteStyleSheet];
191
    assert_equals(getComputedStyle(greenShadowSpan).color, "rgb(0, 0, 0)");
192
    assert_equals(getComputedStyle(redShadowSpan).color, "rgb(0, 0, 0)");
193
    assert_equals(getComputedStyle(blueShadowSpan).color, "rgb(0, 0, 0)");
194
    assert_equals(getComputedStyle(whiteShadowSpan).color, "rgb(0, 0, 0)");
195
    assert_equals(getComputedStyle(yellowShadowSpan).color, "rgb(0, 0, 0)");
196
197
    shadowRoot.adoptedStyleSheets = [greenStyleSheet, blueStyleSheet];
198
    assert_equals(getComputedStyle(greenShadowSpan).color, "rgb(0, 128, 0)");
199
    assert_equals(getComputedStyle(redShadowSpan).color, "rgb(0, 0, 0)");
200
    assert_equals(getComputedStyle(blueShadowSpan).color, "rgb(0, 0, 0)");
201
    assert_equals(getComputedStyle(whiteShadowSpan).color, "rgb(0, 0, 0)");
202
    assert_equals(getComputedStyle(yellowShadowSpan).color, "rgb(0, 0, 0)");
203
204
    shadowRoot.adoptedStyleSheets = [redStyleSheet, yellowStyleSheet];
205
    assert_equals(getComputedStyle(greenShadowSpan).color, "rgb(0, 0, 0)");
206
    assert_equals(getComputedStyle(redShadowSpan).color, "rgb(255, 0, 0)");
207
    assert_equals(getComputedStyle(blueShadowSpan).color, "rgb(0, 0, 0)");
208
    assert_equals(getComputedStyle(whiteShadowSpan).color, "rgb(255, 0, 0)");
209
    assert_equals(getComputedStyle(yellowShadowSpan).color, "rgb(255, 255, 0)");
210
211
    shadowRoot.adoptedStyleSheets = [redStyleSheet, yellowStyleSheet, greenStyleSheet, blueStyleSheet];
212
    assert_equals(getComputedStyle(greenShadowSpan).color, "rgb(0, 128, 0)");
213
    assert_equals(getComputedStyle(redShadowSpan).color, "rgb(255, 0, 0)");
214
    assert_equals(getComputedStyle(blueShadowSpan).color, "rgb(0, 0, 0)");
215
    assert_equals(getComputedStyle(whiteShadowSpan).color, "rgb(255, 0, 0)");
216
    assert_equals(getComputedStyle(yellowShadowSpan).color, "rgb(255, 255, 0)");
217
  });
218
}, 'Constructed style sheets can be applied on shadow root');
219
220
promise_test(() => {
221
  return Promise.all(createAllSheetsPromise()).then(values => {
222
    const greenStyleSheet = values[0];
223
    const redStyleSheet = values[1];
224
    shadowRoot.adoptedStyleSheets = [greenStyleSheet];
225
    assert_equals(getComputedStyle(greenShadowSpan).color, "rgb(0, 128, 0)", "Style applies connected");
226
    assert_equals(getComputedStyle(redShadowSpan).color, "rgb(0, 0, 0)", "Style applies when connected");
227
    let hostParent = shadowHost.parentNode;
228
    hostParent.removeChild(shadowHost);
229
    assert_equals(getComputedStyle(greenShadowSpan).color, "", "Style doesn't apply when detached");
230
    assert_equals(getComputedStyle(redShadowSpan).color, "", "Style doesn't apply when detached");
231
    shadowRoot.adoptedStyleSheets = [redStyleSheet, greenStyleSheet];
232
    hostParent.appendChild(shadowHost);
233
    assert_equals(getComputedStyle(greenShadowSpan).color, "rgb(0, 128, 0)", "Style applies after reattach");
234
    assert_equals(getComputedStyle(redShadowSpan).color, "rgb(255, 0, 0)", "Style applies after reattach");
235
  });
236
}, 'Re-attaching shadow host with adopted stylesheets work');
237
238
test(() => {
239
  const sheet = new CSSStyleSheet();
240
  sheet.replaceSync(":host { color: red; }");
241
  const host = document.createElement("div");
242
  let sr = host.attachShadow({mode: "open"});
243
  sr.adoptedStyleSheets = [sheet];
244
  document.body.appendChild(host);
245
  assert_equals(getComputedStyle(host).color, "rgb(255, 0, 0)", "Style applies when connected");
246
  sheet.replaceSync(":host { color: blue; }");
247
  assert_equals(getComputedStyle(host).color, "rgb(0, 0, 255)", "Style update applies when connected");
248
}, 'Attaching a shadow root that already has adopted stylesheets work');
249
250
test(() => {
251
  const sheet = new CSSStyleSheet();
252
  sheet.replaceSync(":host([red]) { color: red; } :host(.blue) { color: blue; }");
253
  const host = document.createElement("div");
254
  host.toggleAttribute("red");
255
  document.body.appendChild(host);
256
  assert_equals(getComputedStyle(host).color, "rgb(0, 0, 0)", "No style applies yet");
257
258
  let sr = host.attachShadow({mode: "open"});
259
  sr.adoptedStyleSheets = [sheet];
260
261
  assert_equals(getComputedStyle(host).color, "rgb(255, 0, 0)", "Style applies after adding style");
262
  document.body.removeChild(host);
263
  document.body.appendChild(host);
264
  assert_equals(getComputedStyle(host).color, "rgb(255, 0, 0)", "Style applies after reattachment");
265
  host.toggleAttribute("red");
266
  assert_equals(getComputedStyle(host).color, "rgb(0, 0, 0)", "Attribute updates to the element after reattachment apply");
267
  host.classList.toggle("blue");
268
  assert_equals(getComputedStyle(host).color, "rgb(0, 0, 255)", "Class updates to the element after reattachment apply");
269
270
}, "Re-attaching shadow host and updating attributes work");
271
272
promise_test(() => {
273
  const plainSheet = new CSSStyleSheet();
274
  const redStyleSheetPromise = plainSheet.replace(redStyleTexts[0]);
275
  return redStyleSheetPromise.then(function(redStyleSheet) {
276
    document.adoptedStyleSheets = [redStyleSheet];
277
    assert_equals(getComputedStyle(greenSpan).color, "rgb(0, 0, 0)");
278
    assert_equals(getComputedStyle(redSpan).color, "rgb(255, 0, 0)");
279
    assert_equals(getComputedStyle(blueSpan).color, "rgb(0, 0, 0)");
280
    assert_equals(getComputedStyle(whiteSpan).color, "rgb(0, 0, 0)");
281
    assert_equals(getComputedStyle(yellowSpan).color, "rgb(0, 0, 0)");
282
283
    redStyleSheet.insertRule(redStyleTexts[1]);
284
    assert_equals(getComputedStyle(greenSpan).color, "rgb(0, 0, 0)");
285
    assert_equals(getComputedStyle(redSpan).color, "rgb(255, 0, 0)");
286
    assert_equals(getComputedStyle(blueSpan).color, "rgb(0, 0, 0)");
287
    assert_equals(getComputedStyle(whiteSpan).color, "rgb(255, 0, 0)");
288
    assert_equals(getComputedStyle(yellowSpan).color, "rgb(0, 0, 0)");
289
290
    redStyleSheet.deleteRule(1);
291
    assert_equals(getComputedStyle(greenSpan).color, "rgb(0, 0, 0)");
292
    assert_equals(getComputedStyle(redSpan).color, "rgb(0, 0, 0)");
293
    assert_equals(getComputedStyle(blueSpan).color, "rgb(0, 0, 0)");
294
    assert_equals(getComputedStyle(whiteSpan).color, "rgb(255, 0, 0)");
295
    assert_equals(getComputedStyle(yellowSpan).color, "rgb(0, 0, 0)");
296
297
    redStyleSheet.cssRules[0].style.color = "white";
298
    assert_equals(getComputedStyle(greenSpan).color, "rgb(0, 0, 0)");
299
    assert_equals(getComputedStyle(redSpan).color, "rgb(0, 0, 0)");
300
    assert_equals(getComputedStyle(blueSpan).color, "rgb(0, 0, 0)");
301
    assert_equals(getComputedStyle(whiteSpan).color, "rgb(255, 255, 255)");
302
    assert_equals(getComputedStyle(yellowSpan).color, "rgb(0, 0, 0)");
303
});
304
}, 'Changes to constructed stylesheets through CSSOM is reflected');
305
306
promise_test(() => {
307
  const plainSheet = new CSSStyleSheet();
308
  const redStyleSheetPromise = plainSheet.replace(redStyleTexts[0]);
309
  return redStyleSheetPromise.then(function(redStyleSheet) {
310
    document.adoptedStyleSheets = [redStyleSheet];
311
    shadowRoot.adoptedStyleSheets = [redStyleSheet];
312
    assert_equals(getComputedStyle(greenSpan).color, "rgb(0, 0, 0)");
313
    assert_equals(getComputedStyle(redSpan).color, "rgb(255, 0, 0)");
314
    assert_equals(getComputedStyle(blueSpan).color, "rgb(0, 0, 0)");
315
    assert_equals(getComputedStyle(whiteSpan).color, "rgb(0, 0, 0)");
316
    assert_equals(getComputedStyle(yellowSpan).color, "rgb(0, 0, 0)");
317
318
    assert_equals(getComputedStyle(greenShadowSpan).color, "rgb(0, 0, 0)");
319
    assert_equals(getComputedStyle(redShadowSpan).color, "rgb(255, 0, 0)");
320
    assert_equals(getComputedStyle(blueShadowSpan).color, "rgb(0, 0, 0)");
321
    assert_equals(getComputedStyle(whiteShadowSpan).color, "rgb(0, 0, 0)");
322
    assert_equals(getComputedStyle(yellowShadowSpan).color, "rgb(0, 0, 0)");
323
324
    shadowRoot.adoptedStyleSheets[0].insertRule(redStyleTexts[1]);
325
    assert_equals(getComputedStyle(greenSpan).color, "rgb(0, 0, 0)");
326
    assert_equals(getComputedStyle(redSpan).color, "rgb(255, 0, 0)");
327
    assert_equals(getComputedStyle(blueSpan).color, "rgb(0, 0, 0)");
328
    assert_equals(getComputedStyle(whiteSpan).color, "rgb(255, 0, 0)");
329
    assert_equals(getComputedStyle(yellowSpan).color, "rgb(0, 0, 0)");
330
331
    assert_equals(getComputedStyle(greenShadowSpan).color, "rgb(0, 0, 0)");
332
    assert_equals(getComputedStyle(redShadowSpan).color, "rgb(255, 0, 0)");
333
    assert_equals(getComputedStyle(blueShadowSpan).color, "rgb(0, 0, 0)");
334
    assert_equals(getComputedStyle(whiteShadowSpan).color, "rgb(255, 0, 0)");
335
    assert_equals(getComputedStyle(yellowShadowSpan).color, "rgb(0, 0, 0)");
336
    document.adoptedStyleSheets = [];
337
  });
338
}, 'Constructed stylesheet can be used and modified in multiple TreeScopes');
339
340
promise_test(() => {
341
  const iframe = document.createElement("iframe");
342
  document.body.appendChild(iframe);
343
  const thirdDiv = firstDiv.cloneNode(true);
344
  iframe.contentDocument.body.appendChild(thirdDiv);
345
  const greenIframeSpan = thirdDiv.children[0];
346
  const redIframeSpan = thirdDiv.children[1];
347
  const blueIframeSpan = thirdDiv.children[2];
348
  const whiteIframeSpan = thirdDiv.children[3];
349
  const yellowIframeSpan = thirdDiv.children[4];
350
351
  const plainSheet = new CSSStyleSheet();
352
  const redStyleSheetPromise = plainSheet.replace(redStyleTexts[0]);
353
  return redStyleSheetPromise.then(function(redStyleSheet) {
354
    assert_throws_dom(
355
      'NotAllowedError',
356
      iframe.contentWindow.DOMException,
357
      () => { iframe.contentDocument.adoptedStyleSheets = [redStyleSheet]; }
358
    );
359
    assert_equals(getComputedStyle(greenIframeSpan).color, "rgb(0, 0, 0)");
360
    assert_equals(getComputedStyle(redIframeSpan).color, "rgb(0, 0, 0)");
361
    assert_equals(getComputedStyle(blueIframeSpan).color, "rgb(0, 0, 0)");
362
    assert_equals(getComputedStyle(whiteIframeSpan).color, "rgb(0, 0, 0)");
363
    assert_equals(getComputedStyle(yellowIframeSpan).color, "rgb(0, 0, 0)");
364
365
    document.adoptedStyleSheets = [redStyleSheet];
366
    assert_equals(getComputedStyle(greenSpan).color, "rgb(0, 0, 0)");
367
    assert_equals(getComputedStyle(redSpan).color, "rgb(255, 0, 0)");
368
    assert_equals(getComputedStyle(blueSpan).color, "rgb(0, 0, 0)");
369
    assert_equals(getComputedStyle(whiteSpan).color, "rgb(0, 0, 0)");
370
    assert_equals(getComputedStyle(yellowSpan).color, "rgb(0, 0, 0)");
371
372
    document.adoptedStyleSheets[0].insertRule(redStyleTexts[1]);
373
    assert_equals(getComputedStyle(greenSpan).color, "rgb(0, 0, 0)");
374
    assert_equals(getComputedStyle(redSpan).color, "rgb(255, 0, 0)");
375
    assert_equals(getComputedStyle(blueSpan).color, "rgb(0, 0, 0)");
376
    assert_equals(getComputedStyle(whiteSpan).color, "rgb(255, 0, 0)");
377
    assert_equals(getComputedStyle(yellowSpan).color, "rgb(0, 0, 0)");
378
  });
379
}, 'Stylesheets constructed on the main Document cannot be used in iframes');
380
381
promise_test(async () => {
382
  const iframe = document.createElement("iframe");
383
  const iframeLoaded = new Promise(resolve => iframe.addEventListener("load", resolve));
384
  document.body.appendChild(iframe);
385
  await iframeLoaded;
386
  const thirdDiv = firstDiv.cloneNode(true);
387
  iframe.contentDocument.body.appendChild(thirdDiv);
388
  const greenIframeSpan = thirdDiv.children[0];
389
  const redIframeSpan = thirdDiv.children[1];
390
  const blueIframeSpan = thirdDiv.children[2];
391
  const whiteIframeSpan = thirdDiv.children[3];
392
  const yellowIframeSpan = thirdDiv.children[4];
393
394
  // Make sure both the main Document and the iframe are not styled
395
  const emptyStyleSheet = new CSSStyleSheet();
396
  document.adoptedStyleSheets = [emptyStyleSheet];
397
  assert_equals(getComputedStyle(greenSpan).color, "rgb(0, 0, 0)");
398
  assert_equals(getComputedStyle(redSpan).color, "rgb(0, 0, 0)");
399
  assert_equals(getComputedStyle(blueSpan).color, "rgb(0, 0, 0)");
400
  assert_equals(getComputedStyle(whiteSpan).color, "rgb(0, 0, 0)");
401
  assert_equals(getComputedStyle(yellowSpan).color, "rgb(0, 0, 0)");
402
403
  assert_equals(getComputedStyle(greenIframeSpan).color, "rgb(0, 0, 0)");
404
  assert_equals(getComputedStyle(redIframeSpan).color, "rgb(0, 0, 0)");
405
  assert_equals(getComputedStyle(blueIframeSpan).color, "rgb(0, 0, 0)");
406
  assert_equals(getComputedStyle(whiteIframeSpan).color, "rgb(0, 0, 0)");
407
  assert_equals(getComputedStyle(yellowIframeSpan).color, "rgb(0, 0, 0)");
408
409
  const iframePlainSheet = new iframe.contentWindow.CSSStyleSheet();
410
  const iframeRedStyleSheetPromise = iframePlainSheet.replace(redStyleTexts[0]);
411
  return iframeRedStyleSheetPromise.then(function(iframeRedStyleSheet) {
412
    assert_throws_dom('NotAllowedError', () => { document.adoptedStyleSheets = [iframeRedStyleSheet]; });
413
    assert_equals(getComputedStyle(greenSpan).color, "rgb(0, 0, 0)");
414
    assert_equals(getComputedStyle(redSpan).color, "rgb(0, 0, 0)");
415
    assert_equals(getComputedStyle(blueSpan).color, "rgb(0, 0, 0)");
416
    assert_equals(getComputedStyle(whiteSpan).color, "rgb(0, 0, 0)");
417
    assert_equals(getComputedStyle(yellowSpan).color, "rgb(0, 0, 0)");
418
419
    iframe.contentDocument.adoptedStyleSheets = [iframeRedStyleSheet];
420
    assert_equals(getComputedStyle(greenIframeSpan).color, "rgb(0, 0, 0)");
421
    assert_equals(getComputedStyle(redIframeSpan).color, "rgb(255, 0, 0)");
422
    assert_equals(getComputedStyle(blueIframeSpan).color, "rgb(0, 0, 0)");
423
    assert_equals(getComputedStyle(whiteIframeSpan).color, "rgb(0, 0, 0)");
424
    assert_equals(getComputedStyle(yellowIframeSpan).color, "rgb(0, 0, 0)");
425
426
    iframe.contentDocument.adoptedStyleSheets[0].insertRule(redStyleTexts[1]);
427
    assert_equals(getComputedStyle(greenIframeSpan).color, "rgb(0, 0, 0)");
428
    assert_equals(getComputedStyle(redIframeSpan).color, "rgb(255, 0, 0)");
429
    assert_equals(getComputedStyle(blueIframeSpan).color, "rgb(0, 0, 0)");
430
    assert_equals(getComputedStyle(whiteIframeSpan).color, "rgb(255, 0, 0)");
431
    assert_equals(getComputedStyle(yellowIframeSpan).color, "rgb(0, 0, 0)");
432
  });
433
}, 'Stylesheet constructed on iframe cannot be used in the main Document');
434
</script>
435
436
<div id="divNonConstructed" class="nonConstructed">
437
</div>
438
439
<script>
440
`use strict`;
441
const shadowRootNonConstructed = divNonConstructed.attachShadow({mode:'open'})
442
nonConstructedStyle = document.createElement("style");
443
shadowRootNonConstructed.appendChild(nonConstructedStyle);
444
nonConstructedStyle.sheet.insertRule(".nonConstructed { color: red; }", 0);
445
const nonConstructedStyleSheet = nonConstructedStyle.sheet;
446
447
test(() => {
448
  assert_equals(getComputedStyle(divNonConstructed).color, "rgb(0, 0, 0)");
449
  assert_throws_dom('NotAllowedError', () => { document.adoptedStyleSheets = [nonConstructedStyleSheet]; });
450
}, 'Adding non-constructed stylesheet to AdoptedStyleSheets is not allowed when the owner document of the stylesheet is in the same document tree as the AdoptedStyleSheets');
451
452
test(() => {
453
  const iframe = document.createElement("iframe");
454
  document.body.appendChild(iframe);
455
  iframeDiv = iframe.contentDocument.createElement("div");
456
  iframeDiv.classList.add("nonConstructed");
457
  iframe.contentDocument.body.appendChild(iframeDiv);
458
459
  assert_equals(getComputedStyle(iframeDiv).color, "rgb(0, 0, 0)");
460
  assert_throws_dom('NotAllowedError', iframe.contentWindow.DOMException, () => {
461
    iframe.contentDocument.adoptedStyleSheets = [nonConstructedStyleSheet];
462
  });
463
  assert_equals(getComputedStyle(iframeDiv).color, "rgb(0, 0, 0)");
464
465
  iframeStyle = iframe.contentDocument.createElement("style");
466
  iframe.contentDocument.body.appendChild(iframeStyle);
467
  iframeStyle.sheet.insertRule(".nonConstructedSpan { color: red; }");
468
  const iframeStyleSheet = iframeStyle.sheet;
469
  nonConstructedSpan = document.createElement("span");
470
  nonConstructedSpan.classList.add(".nonConstructedSpan");
471
  divNonConstructed.appendChild(nonConstructedSpan);
472
473
  assert_equals(getComputedStyle(iframeDiv).color, "rgb(0, 0, 0)");
474
  assert_throws_dom('NotAllowedError', () => { document.adoptedStyleSheets = [iframeStyleSheet]; });
475
  assert_equals(getComputedStyle(iframeDiv).color, "rgb(0, 0, 0)");
476
}, 'Adding non-constructed stylesheet to AdoptedStyleSheets is not allowed when the owner document of the stylesheet and the AdoptedStyleSheets are in different document trees');
477
478
function attachShadowDiv(host) {
479
  const shadowRoot = host.attachShadow({mode: 'open'});
480
  const shadowDiv = document.createElement("div");
481
  shadowRoot.appendChild(shadowDiv);
482
  return shadowDiv;
483
}
484
485
test(() => {
486
  const sheet = new CSSStyleSheet();
487
  assert_equals(sheet.cssRules.length, 0);
488
489
  sheet.replaceSync(redStyleTexts[0])
490
  assert_equals(sheet.cssRules.length, 1);
491
  assert_equals(redStyleTexts[0], sheet.cssRules[0].cssText);
492
493
  sheet.replaceSync(redStyleTexts[1]);
494
  assert_equals(sheet.cssRules.length, 1);
495
  assert_equals(redStyleTexts[1], sheet.cssRules[0].cssText);
496
}, 'CSSStyleSheet.replaceSync replaces stylesheet text synchronously');
497
498
test(() => {
499
  // Attach a div inside a shadow root with the class ".red".
500
  const span = document.createElement("span");
501
  thirdSection.appendChild(span);
502
  const shadowDiv = attachShadowDiv(span);
503
  shadowDiv.classList.add("red");
504
  // Create empty stylesheet.
505
  const sheet = new CSSStyleSheet();
506
  span.shadowRoot.adoptedStyleSheets = [sheet];
507
  assert_equals(getComputedStyle(shadowDiv).color, "rgb(0, 0, 0)");
508
  // Replace the stylesheet text that will color it red.
509
  sheet.replaceSync(redStyleTexts[0]);
510
  assert_equals(getComputedStyle(shadowDiv).color, "rgb(255, 0, 0)");
511
  assert_equals(sheet.cssRules.length, 1);
512
  assert_equals(sheet.cssRules[0].cssText, redStyleTexts[0]);
513
  sheet.insertRule(redStyleTexts[1]);
514
  assert_equals(sheet.cssRules.length, 2);
515
  assert_equals(sheet.cssRules[0].cssText, redStyleTexts[1]);
516
}, 'CSSStyleSheet.replaceSync correctly updates the style of its adopters synchronously');
517
518
test(() => {
519
  // Attach a div inside a shadow root with the class ".red".
520
  const span = document.createElement("span");
521
  thirdSection.appendChild(span);
522
  const shadowDiv = attachShadowDiv(span);
523
  shadowDiv.classList.add("target");
524
525
  // Create empty stylesheet.
526
  const sheet = new CSSStyleSheet();
527
  span.shadowRoot.adoptedStyleSheets = [sheet];
528
  assert_equals(getComputedStyle(shadowDiv).color, "rgb(0, 0, 0)");
529
530
  // Replace the stylesheet text that will color it red.
531
  sheet.replaceSync(".target { color: red; }");
532
  assert_equals(getComputedStyle(shadowDiv).color, "rgb(255, 0, 0)");
533
534
  // Create a style element that will set colors to white.
535
  const style = document.createElement("style");
536
  style.textContent = ".target { color: white; }";
537
  span.shadowRoot.appendChild(style)
538
  assert_equals(getComputedStyle(shadowDiv).color, "rgb(255, 0, 0)", "non-adopted styles should be ordered before adopted styles");
539
540
  span.shadowRoot.adoptedStyleSheets = [];
541
  assert_equals(getComputedStyle(shadowDiv).color, "rgb(255, 255, 255)", "with no adopted styles in conflict, the non-adopted style should take effect");
542
543
  span.shadowRoot.adoptedStyleSheets = [sheet];
544
  assert_equals(getComputedStyle(shadowDiv).color, "rgb(255, 0, 0)", "the adopted style should be ordered after the non-adopted style");
545
546
  sheet.disabled = true;
547
  assert_equals(getComputedStyle(shadowDiv).color, "rgb(255, 255, 255)", "with the adopted sheet disabled, the non-adopted style should take effect");
548
549
  sheet.disabled = false;
550
  assert_equals(getComputedStyle(shadowDiv).color, "rgb(255, 0, 0)", "the adopted sheet re-enabled, it should take effect again");
551
}, 'Adopted sheets are ordered after non-adopted sheets in the shadow root')
552
553
test(() => {
554
  // Attach a div inside a shadow root with the class ".red".
555
  const span = document.createElement("span");
556
  thirdSection.appendChild(span);
557
  span.classList.add("target");
558
559
  // Create empty stylesheet.
560
  const sheet = new CSSStyleSheet();
561
  document.adoptedStyleSheets = [sheet];
562
  assert_equals(getComputedStyle(span).color, "rgb(0, 0, 0)");
563
564
  // Replace the stylesheet text that will color it red.
565
  sheet.replaceSync(".target { color: red; }");
566
  assert_equals(getComputedStyle(span).color, "rgb(255, 0, 0)");
567
568
  // Create a style element that will set colors to white.
569
  const style = document.createElement("style");
570
  style.textContent = ".target { color: white; }";
571
  span.appendChild(style)
572
  assert_equals(getComputedStyle(span).color, "rgb(255, 0, 0)", "non-adopted styles should be ordered before adopted styles");
573
574
  document.adoptedStyleSheets = [];
575
  assert_equals(getComputedStyle(span).color, "rgb(255, 255, 255)", "with no adopted styles in conflict, the non-adopted style should take effect");
576
577
  document.adoptedStyleSheets = [sheet];
578
  assert_equals(getComputedStyle(span).color, "rgb(255, 0, 0)", "the adopted style should be ordered after the non-adopted style");
579
580
  sheet.disabled = true;
581
  assert_equals(getComputedStyle(span).color, "rgb(255, 255, 255)", "with the adopted sheet disabled, the non-adopted style should take effect");
582
583
  sheet.disabled = false;
584
  assert_equals(getComputedStyle(span).color, "rgb(255, 0, 0)", "the adopted sheet re-enabled, it should take effect again")
585
}, 'Adopted sheets are ordered after non-adopted sheets in the document')
586
587
const import_text = '@import url("support/constructable-import.css");';
588
589
test(() => {
590
  assert_throws_dom("SyntaxError", () => { (new CSSStyleSheet).insertRule(import_text) });
591
}, 'Inserting an @import rule through insertRule on a constructed stylesheet throws an exception');
592
593
promise_test(t => {
594
    const importUrl = "support/constructable-import.css";
595
    const sheet = new CSSStyleSheet();
596
597
    sheet.replaceSync(`@import url("${importUrl}");`);
598
599
    const timeAfterReplaceSync = performance.now();
600
    let link = document.createElement("link");
601
    link.rel = "stylesheet";
602
    link.href = importUrl;
603
604
    return new Promise(resolve => {
605
      link.addEventListener("error", t.unreached_func("Load shouldn't fail"));
606
      link.addEventListener("load", t.step_func(() => {
607
        let entries = window.performance.getEntriesByType('resource').filter(entry => entry.name.includes(importUrl));
608
        assert_equals(entries.length, 1, "There should be only one entry for the import URL");
609
        assert_greater_than_equal(entries[0].startTime, timeAfterReplaceSync, "The entry's start time should be after replaceSync threw");
610
        link.remove();
611
        resolve();
612
      }));
613
      document.body.appendChild(link);
614
    });
615
}, "CSSStyleSheet.replaceSync should not trigger any loads from @import rules")
616
617
promise_test(() => {
618
  const span = document.createElement("span");
619
  thirdSection.appendChild(span);
620
  const shadowDiv = attachShadowDiv(span);
621
  const sheet = new CSSStyleSheet();
622
  span.shadowRoot.adoptedStyleSheets = [sheet];
623
  assert_equals(getComputedStyle(shadowDiv).color, "rgb(0, 0, 0)");
624
  // Replace and assert that the imported rule is NOT applied.
625
  const sheet_promise = sheet.replace(import_text);
626
  return sheet_promise.then((sheet) => {
627
    // replace() ignores @import rules:
628
    assert_equals(sheet.cssRules.length, 0);
629
    assert_equals(getComputedStyle(shadowDiv).color, "rgb(0, 0, 0)");
630
  }).catch((reason) => {
631
    assert_unreached(`Promise was rejected (${reason}) when it should have been resolved`);
632
  });
633
}, 'CSSStyleSheet.replace allows, but ignores, import rule inside');
634
635
promise_test(() => {
636
  const span = document.createElement("span");
637
  thirdSection.appendChild(span);
638
  const shadowDiv = attachShadowDiv(span);
639
  const targetSpan = document.createElement("span");
640
  targetSpan.classList.add("target");
641
  shadowDiv.appendChild(targetSpan);
642
  const sheet = new CSSStyleSheet();
643
  span.shadowRoot.adoptedStyleSheets = [sheet];
644
  assert_equals(getComputedStyle(shadowDiv).color, "rgb(0, 0, 0)");
645
  // Replace and assert that the imported rule is NOT applied, but regular rule does apply.
646
  const sheet_promise = sheet.replace(import_text + ".target { color: blue; }");
647
  return sheet_promise.then((sheet) => {
648
    assert_equals(sheet.cssRules.length, 1);
649
    // @import not applied:
650
    assert_equals(getComputedStyle(shadowDiv).color, "rgb(0, 0, 0)");
651
    // regular rule applied:
652
    assert_equals(getComputedStyle(targetSpan).color, "rgb(0, 0, 255)");
653
  }).catch((reason) => {
654
    assert_unreached(`Promise was rejected (${reason}) when it should have been resolved`);
655
  });
656
}, 'CSSStyleSheet.replace ignores @import rule but still loads other rules');
657
658
test(() => {
659
  const span = document.createElement("span");
660
  thirdSection.appendChild(span);
661
  const shadowDiv = attachShadowDiv(span);
662
  const sheet = new CSSStyleSheet();
663
  span.shadowRoot.adoptedStyleSheets = [sheet];
664
  assert_equals(getComputedStyle(shadowDiv).color, "rgb(0, 0, 0)");
665
  // Replace and assert that the imported rule is NOT applied.
666
  try {
667
    sheet.replaceSync(import_text);
668
    // replaceSync() ignores @import rules:
669
    assert_equals(sheet.cssRules.length, 0);
670
    assert_equals(getComputedStyle(shadowDiv).color, "rgb(0, 0, 0)");
671
  } catch(reason) {
672
    assert_unreached(`replaceSync threw an exception (${reason}) when it shouldn't have`);
673
  }
674
}, 'CSSStyleSheet.replaceSync allows, but ignores, import rule inside');
675
676
promise_test(() => {
677
  const sheet = new CSSStyleSheet();
678
  const sheet_promise = sheet.replace("@import url('not-there.css');");
679
680
  return sheet_promise.then((sheet) => {
681
    // No exception here
682
  }).catch((reason) => {
683
    assert_unreached("Promise was rejected");
684
  });
685
}, 'CSSStyleSheet.replace does not reject on failed imports');
686
687
test(() => {
688
  const span = document.createElement("span");
689
  thirdSection.appendChild(span);
690
  const shadowDiv = attachShadowDiv(span);
691
  const sheet = new CSSStyleSheet();
692
  span.shadowRoot.adoptedStyleSheets = [sheet];
693
694
  const newSpan = span.cloneNode(true);
695
  assert_equals(newSpan.shadowRoot, null);
696
}, 'Cloning a shadow host will not clone shadow root, and also adoptedStyleSheets');
697
698
test(() => {
699
  const span = document.createElement("span");
700
  thirdSection.appendChild(span);
701
  const shadowDiv = attachShadowDiv(span);
702
  const sheet = new CSSStyleSheet();
703
  span.shadowRoot.adoptedStyleSheets = [sheet];
704
705
  const iframe = document.createElement("iframe");
706
  document.body.appendChild(iframe);
707
  const newSpan = iframe.contentDocument.importNode(span, true);
708
  iframe.contentDocument.body.appendChild(newSpan);
709
  assert_equals(newSpan.shadowRoot, null);
710
}, 'Importing a shadow host will not copy shadow root, and also adoptedStyleSheets');
711
712
test(() => {
713
  const span = document.createElement("span");
714
  thirdSection.appendChild(span);
715
  const shadowDiv = attachShadowDiv(span);
716
  const sheet = new CSSStyleSheet();
717
  sheet.replaceSync("* { color: red; }");
718
  span.shadowRoot.adoptedStyleSheets = [sheet];
719
  assert_equals(getComputedStyle(shadowDiv).color, "rgb(255, 0, 0)");
720
721
  document.adoptNode(span);
722
  assert_equals(span.shadowRoot.adoptedStyleSheets.length, 1);
723
  assert_equals(span.shadowRoot.adoptedStyleSheets[0], sheet);
724
725
  const iframe = document.createElement("iframe");
726
  document.body.appendChild(iframe);
727
  iframe.contentDocument.adoptNode(span);
728
  iframe.contentDocument.body.appendChild(span);
729
  assert_not_equals(span.shadowRoot, null);
730
  assert_equals(span.shadowRoot.adoptedStyleSheets.length, 0);
731
  assert_equals(getComputedStyle(shadowDiv).color, "rgb(0, 0, 0)");
732
}, 'Adopting a shadow host will empty adoptedStyleSheets if adopting to a different document');
733
734
test(() => {
735
  const span = document.createElement("span");
736
  const div = document.createElement("div");
737
  thirdSection.appendChild(span);
738
  span.appendChild(div);
739
  const shadowDiv = attachShadowDiv(div);
740
  const sheet = new CSSStyleSheet();
741
  sheet.replaceSync("* { color: red; }");
742
  div.shadowRoot.adoptedStyleSheets = [sheet];
743
  assert_equals(getComputedStyle(shadowDiv).color, "rgb(255, 0, 0)");
744
745
  document.adoptNode(span);
746
  assert_equals(div.shadowRoot.adoptedStyleSheets.length, 1);
747
  assert_equals(div.shadowRoot.adoptedStyleSheets[0], sheet);
748
749
  const iframe = document.createElement("iframe");
750
  document.body.appendChild(iframe);
751
  iframe.contentDocument.adoptNode(span);
752
  iframe.contentDocument.body.appendChild(span);
753
  assert_not_equals(div.shadowRoot, null);
754
  assert_equals(div.shadowRoot.adoptedStyleSheets.length, 0);
755
  assert_equals(getComputedStyle(shadowDiv).color, "rgb(0, 0, 0)");
756
}, `Adopting a shadow host's ancestor will empty adoptedStyleSheets if adopting to a different document`);
757
758
test(() => {
759
  const host = document.createElement("div");
760
  const root = host.attachShadow({mode: "open"});
761
  root.adoptedStyleSheets = [new CSSStyleSheet()];
762
  document.body.offsetTop;
763
}, 'Forcing a style update after adding an adopted stylesheet on a disconnected shadow root should not crash.');
764
765
test(() => {
766
  const host = document.createElement("div");
767
  thirdSection.appendChild(host);
768
  const root = host.attachShadow({mode: "open"});
769
  const sheet = new CSSStyleSheet();
770
  root.adoptedStyleSheets = [sheet];
771
  host.remove();
772
  sheet.replaceSync('');
773
}, 'Modifying an adopted stylesheet on a disconnected shadow root should not crash.');
774
775
function currentLocation() {
776
  const sections = location.href.split("/")
777
  sections.pop();
778
  return sections.join("/");
779
}
780
781
test(() => {
782
  const span = document.createElement("span");
783
  thirdSection.appendChild(span);
784
  const shadowDiv = attachShadowDiv(span);
785
786
  const fileName = "example.png"
787
  const fullPath = `${currentLocation()}/${fileName}`
788
789
  const sheet = new CSSStyleSheet();
790
  span.shadowRoot.adoptedStyleSheets = [sheet];
791
792
  sheet.replaceSync(`* { background-image: url("${fileName}"); }`);
793
  const styleFromRelative = getComputedStyle(shadowDiv).backgroundImage;
794
795
  sheet.replaceSync(`* { background-image: url("${fullPath}"); }`);
796
  const styleFromFull = getComputedStyle(shadowDiv).backgroundImage;
797
798
  assert_equals(styleFromRelative, styleFromFull);
799
}, "Constructing a sheet with the default base URL uses the constructor document's base URL for CSS rules");
800
801
</script>
- a/LayoutTests/imported/w3c/web-platform-tests/css/cssom/CSSStyleSheet-expected.txt -1 / +17 lines
Lines 1-3 a/LayoutTests/imported/w3c/web-platform-tests/css/cssom/CSSStyleSheet-expected.txt_sec1
1
1
2
PASS CSSOM - CSSStyleSheet interface 
2
PASS preconditions 
3
PASS insertRule with #bar selector 
4
PASS insertRule with no argument throws 
5
PASS insertRule with index greater than length throws 
6
PASS deleteRule(1) 
7
PASS deleteRule with no argument throws 
8
PASS deleteRule on empty style sheet throws 
9
PASS removeRule with no argument removes first rule 
10
PASS removeRule on empty style sheet throws 
11
PASS addRule with @media rule 
12
PASS removeRule(1) 
13
PASS addRule with #foo selectors 
14
PASS addRule with no argument adds "undefined" selector 
15
PASS addRule with index greater than length throws 
16
FAIL cssRules and rules are the same object assert_equals: expected object "[object CSSRuleList]" but got object "[object CSSRuleList]"
17
PASS cssRules returns the same object twice 
18
FAIL rules returns the same object twice assert_equals: expected object "[object CSSRuleList]" but got object "[object CSSRuleList]"
3
19
- a/LayoutTests/imported/w3c/web-platform-tests/css/cssom/CSSStyleSheet.html -3 / +91 lines
Lines 4-28 a/LayoutTests/imported/w3c/web-platform-tests/css/cssom/CSSStyleSheet.html_sec1
4
    <meta charset="utf-8">
4
    <meta charset="utf-8">
5
    <title>CSSOM - CSSStyleSheet interface</title>
5
    <title>CSSOM - CSSStyleSheet interface</title>
6
    <link rel="help" href="https://drafts.csswg.org/cssom/#the-cssstylesheet-interface">
6
    <link rel="help" href="https://drafts.csswg.org/cssom/#the-cssstylesheet-interface">
7
    <link rel="help" href="https://drafts.csswg.org/cssom/#legacy-css-style-sheet-members">
7
    <script src="/resources/testharness.js"></script>
8
    <script src="/resources/testharness.js"></script>
8
    <script src="/resources/testharnessreport.js"></script>
9
    <script src="/resources/testharnessreport.js"></script>
9
    <style id="my-stylesheet">
10
    <style id="my-stylesheet">
10
        body { width: 50%; }
11
        body { width: 50%; }
11
        #foo { height: 100px; }
12
        #foo { height: 100px; }
12
    </style>
13
    </style>
14
    <style id="empty-stylesheet"></style>
13
15
14
    <script>
16
    <script>
15
    test(function () {
17
    var styleSheet, emptyStyleSheet;
16
        var styleSheet = document.styleSheets[0];
18
19
    setup(function() {
20
        styleSheet = document.styleSheets[0];
17
        styleSheet.cssRules[0].randomProperty = 1;
21
        styleSheet.cssRules[0].randomProperty = 1;
18
        styleSheet.cssRules[1].randomProperty = 2;
22
        styleSheet.cssRules[1].randomProperty = 2;
23
        emptyStyleSheet = document.styleSheets[1];
24
    });
19
25
26
    test(function() {
20
        assert_equals(styleSheet, document.getElementById("my-stylesheet").sheet, "CSSStyleSheet and LinkStyle's sheet attribute");
27
        assert_equals(styleSheet, document.getElementById("my-stylesheet").sheet, "CSSStyleSheet and LinkStyle's sheet attribute");
21
        assert_equals(styleSheet.cssRules.length, 2, "CSSStyleSheet cssRules attribute");
28
        assert_equals(styleSheet.cssRules.length, 2, "CSSStyleSheet cssRules attribute");
22
        assert_equals(styleSheet.cssRules[0].cssText, "body { width: 50%; }", "CSSStyleSheet cssRules attribute");
29
        assert_equals(styleSheet.cssRules[0].cssText, "body { width: 50%; }", "CSSStyleSheet cssRules attribute");
23
        assert_equals(styleSheet.cssRules[1].cssText, "#foo { height: 100px; }", "CSSStyleSheet cssRules attribute");
30
        assert_equals(styleSheet.cssRules[1].cssText, "#foo { height: 100px; }", "CSSStyleSheet cssRules attribute");
24
        assert_equals(styleSheet.cssRules[2], undefined, "CSSStyleSheet cssRules attribute");
31
        assert_equals(styleSheet.cssRules[2], undefined, "CSSStyleSheet cssRules attribute");
25
32
33
        assert_equals(emptyStyleSheet, document.getElementById("empty-stylesheet").sheet, "CSSStyleSheet and LinkStyle's sheet attribute");
34
        assert_equals(emptyStyleSheet.cssRules.length, 0, "CSSStyleSheet cssRules attribute");
35
    }, "preconditions");
36
37
    test(function() {
26
        styleSheet.insertRule("#bar { margin: 10px; }", 1);
38
        styleSheet.insertRule("#bar { margin: 10px; }", 1);
27
        assert_equals(styleSheet.cssRules.length, 3, "CSSStyleSheet cssRules attribute after insertRule function");
39
        assert_equals(styleSheet.cssRules.length, 3, "CSSStyleSheet cssRules attribute after insertRule function");
28
        assert_equals(styleSheet.cssRules[0].cssText, "body { width: 50%; }", "CSSStyleSheet cssRules attribute");
40
        assert_equals(styleSheet.cssRules[0].cssText, "body { width: 50%; }", "CSSStyleSheet cssRules attribute");
Lines 30-36 a/LayoutTests/imported/w3c/web-platform-tests/css/cssom/CSSStyleSheet.html_sec2
30
        assert_equals(styleSheet.cssRules[2].cssText, "#foo { height: 100px; }", "CSSStyleSheet cssRules attribute after insertRule function");
42
        assert_equals(styleSheet.cssRules[2].cssText, "#foo { height: 100px; }", "CSSStyleSheet cssRules attribute after insertRule function");
31
        assert_equals(styleSheet.cssRules[0].randomProperty, 1, "[SameObject] cssRules attribute after insertRule function");
43
        assert_equals(styleSheet.cssRules[0].randomProperty, 1, "[SameObject] cssRules attribute after insertRule function");
32
        assert_equals(styleSheet.cssRules[2].randomProperty, 2, "[SameObject] cssRules attribute after insertRule function");
44
        assert_equals(styleSheet.cssRules[2].randomProperty, 2, "[SameObject] cssRules attribute after insertRule function");
45
    }, 'insertRule with #bar selector');
46
47
    test(function() {
48
        assert_throws_js(TypeError, function() { styleSheet.insertRule() });
49
    }, 'insertRule with no argument throws');
50
51
    test(function() {
52
        assert_throws_dom("IndexSizeError", function() {
53
            styleSheet.insertRule("#bar { margin: 10px; }", styleSheet.cssRules.length + 1)
54
        });
55
    }, 'insertRule with index greater than length throws');
33
56
57
    test(function() {
34
        styleSheet.deleteRule(1);
58
        styleSheet.deleteRule(1);
35
        assert_equals(styleSheet.cssRules.length, 2, "CSSStyleSheet cssRules attribute after deleteRule function");
59
        assert_equals(styleSheet.cssRules.length, 2, "CSSStyleSheet cssRules attribute after deleteRule function");
36
        assert_equals(styleSheet.cssRules[0].cssText, "body { width: 50%; }", "CSSStyleSheet cssRules attribute after deleteRule function");
60
        assert_equals(styleSheet.cssRules[0].cssText, "body { width: 50%; }", "CSSStyleSheet cssRules attribute after deleteRule function");
Lines 38-44 a/LayoutTests/imported/w3c/web-platform-tests/css/cssom/CSSStyleSheet.html_sec3
38
        assert_equals(styleSheet.cssRules[2], undefined, "CSSStyleSheet cssRules attribute after deleteRule function");
62
        assert_equals(styleSheet.cssRules[2], undefined, "CSSStyleSheet cssRules attribute after deleteRule function");
39
        assert_equals(styleSheet.cssRules[0].randomProperty, 1, "[SameObject] cssRules attribute after deleteRule function");
63
        assert_equals(styleSheet.cssRules[0].randomProperty, 1, "[SameObject] cssRules attribute after deleteRule function");
40
        assert_equals(styleSheet.cssRules[1].randomProperty, 2, "[SameObject] cssRules attribute after deleteRule function");
64
        assert_equals(styleSheet.cssRules[1].randomProperty, 2, "[SameObject] cssRules attribute after deleteRule function");
41
    });
65
    }, 'deleteRule(1)');
66
67
    test(function() {
68
        assert_throws_js(TypeError, function() { styleSheet.deleteRule() });
69
    }, 'deleteRule with no argument throws');
70
71
    test(function() {
72
        assert_throws_dom("IndexSizeError", function() { emptyStyleSheet.deleteRule(0) });
73
    }, 'deleteRule on empty style sheet throws');
74
75
    test(function() {
76
        styleSheet.removeRule();
77
        assert_equals(styleSheet.cssRules.length, 1, "CSSStyleSheet cssRules attribute after removeRule function");
78
        assert_equals(styleSheet.cssRules[0].cssText, "#foo { height: 100px; }", "CSSStyleSheet cssRules attribute after removeRule function");
79
    }, 'removeRule with no argument removes first rule');
80
81
    test(function() {
82
        assert_throws_dom("IndexSizeError", function() { emptyStyleSheet.removeRule(0) });
83
    }, 'removeRule on empty style sheet throws');
84
85
    test(function() {
86
        assert_equals(styleSheet.addRule("@media all", "#foo { color: red }"), -1);
87
        assert_equals(styleSheet.cssRules.length, 2, "CSSStyleSheet cssRules attribute after addRule function");
88
        assert_true(styleSheet.cssRules[1] instanceof CSSMediaRule, "CSSStyleSheet addRule does some silly string concatenation");
89
    }, 'addRule with @media rule');
90
91
    test(function() {
92
        styleSheet.removeRule(1);
93
        assert_equals(styleSheet.cssRules.length, 1, "CSSStyleSheet cssRules attribute after removeRule function with index");
94
        assert_equals(styleSheet.cssRules[0].cssText, "#foo { height: 100px; }", "CSSStyleSheet cssRules attribute after deleteRule function with index");
95
    }, 'removeRule(1)');
96
97
    test(function() {
98
        assert_equals(styleSheet.addRule("#foo", "color: red"), -1);
99
        assert_equals(styleSheet.cssRules.length, 2, "CSSStyleSheet cssRules attribute after addRule function with simple selector");
100
        assert_equals(styleSheet.cssRules[1].cssText, "#foo { color: red; }", "CSSStyleSheet cssRules attribute after addRule function without index appends to the end");
101
102
        assert_equals(styleSheet.addRule("#foo", "color: blue", 0), -1);
103
        assert_equals(styleSheet.cssRules.length, 3, "CSSStyleSheet cssRules attribute after addRule function with simple selector with index");
104
        assert_equals(styleSheet.cssRules[0].cssText, "#foo { color: blue; }", "addRule function with index performs an insertion");
105
    }, 'addRule with #foo selectors');
106
107
    test(function() {
108
        assert_equals(styleSheet.addRule(), -1);
109
        assert_equals(styleSheet.cssRules.length, 4, "CSSStyleSheet cssRules attribute after addRule function without arguments");
110
        assert_equals(styleSheet.cssRules[3].cssText, "undefined { }", "addRule arguments default to undefined");
111
    }, 'addRule with no argument adds "undefined" selector');
112
113
    test(function() {
114
        assert_throws_dom("IndexSizeError", function() {
115
            styleSheet.addRule("#foo", "color: red", styleSheet.cssRules.length + 1);
116
        });
117
    }, 'addRule with index greater than length throws');
118
119
    test(function() {
120
        assert_equals(styleSheet.cssRules, styleSheet.rules);
121
    }, "cssRules and rules are the same object");
122
123
    test(function() {
124
        assert_equals(styleSheet.cssRules, styleSheet.cssRules);
125
    }, "cssRules returns the same object twice");
126
127
    test(function() {
128
        assert_equals(styleSheet.rules, styleSheet.rules);
129
    }, "rules returns the same object twice");
42
    </script>
130
    </script>
43
</head>
131
</head>
44
</html>
132
</html>
- a/LayoutTests/imported/w3c/web-platform-tests/css/cssom/HTMLLinkElement-disabled-001-expected.txt +4 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/cssom/HTMLLinkElement-disabled-001-expected.txt_sec1
1
2
PASS <link disabled> prevents the stylesheet from being in document.styleSheets (from parser) 
3
FAIL HTMLLinkElement.disabled reflects the <link disabled> attribute, and behaves consistently assert_equals: expected null but got Element node <link title="alt" rel="stylesheet" href="data:text/css,ht...
4
- a/LayoutTests/imported/w3c/web-platform-tests/css/cssom/HTMLLinkElement-disabled-001.html +44 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/cssom/HTMLLinkElement-disabled-001.html_sec1
1
<!doctype html>
2
<title>&lt;link disabled&gt;, HTMLLinkElement.disabled and CSSStyleSheet.disabled interactions</title>
3
<link rel="author" title="Emilio Cobos Álvarez" href="mailto:emilio@crisal.io">
4
<link rel="author" title="Mozilla" href="https://mozilla.org">
5
<link rel="help" href="https://html.spec.whatwg.org/#attr-link-disabled">
6
<script src="/resources/testharness.js"></script>
7
<script src="/resources/testharnessreport.js"></script>
8
<link title="alt" rel="stylesheet" disabled href="data:text/css,html { background: green }">
9
<script>
10
function assert_applies(applies) {
11
  (applies ? assert_equals : assert_not_equals)(getComputedStyle(document.documentElement).backgroundColor, "rgb(0, 128, 0)");
12
}
13
14
const link = document.querySelector("link[disabled]");
15
16
test(function() {
17
  assert_equals(document.styleSheets.length, 0);
18
  assert_applies(false);
19
}, "<link disabled> prevents the stylesheet from being in document.styleSheets (from parser)");
20
21
async_test(function(t) {
22
  assert_true(link.disabled);
23
24
  link.onload = t.step_func_done(function() {
25
    assert_equals(document.styleSheets.length, 1);
26
    let sheet = document.styleSheets[0];
27
    assert_equals(sheet.ownerNode, link);
28
    assert_applies(true);
29
30
    link.disabled = true;
31
    assert_equals(sheet.ownerNode, null);
32
    assert_false(sheet.disabled);
33
    assert_applies(false);
34
    assert_true(link.hasAttribute("disabled"));
35
36
    assert_equals(document.styleSheets.length, 0);
37
    assert_applies(false);
38
  });
39
40
  link.disabled = false;
41
  assert_true(!link.hasAttribute("disabled"));
42
  assert_false(link.disabled);
43
}, "HTMLLinkElement.disabled reflects the <link disabled> attribute, and behaves consistently");
44
</script>
- a/LayoutTests/imported/w3c/web-platform-tests/css/cssom/HTMLLinkElement-disabled-002-expected.txt +3 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/cssom/HTMLLinkElement-disabled-002-expected.txt_sec1
1
2
FAIL HTMLLinkElement.disabled reflects the <link disabled> attribute, and behaves consistently, when the sheet is an alternate assert_equals: expected null but got Element node <link title="alt" rel="alternate stylesheet" href="data:t...
3
- a/LayoutTests/imported/w3c/web-platform-tests/css/cssom/HTMLLinkElement-disabled-002.html +37 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/cssom/HTMLLinkElement-disabled-002.html_sec1
1
<!doctype html>
2
<title>&lt;link disabled&gt;, HTMLLinkElement.disabled and CSSStyleSheet.disabled interactions (alternate)</title>
3
<link rel="author" title="Emilio Cobos Álvarez" href="mailto:emilio@crisal.io">
4
<link rel="author" title="Mozilla" href="https://mozilla.org">
5
<link rel="help" href="https://html.spec.whatwg.org/#attr-link-disabled">
6
<script src="/resources/testharness.js"></script>
7
<script src="/resources/testharnessreport.js"></script>
8
<link title="alt" rel="alternate stylesheet" disabled href="data:text/css,html { background: green }">
9
<script>
10
function assert_applies(applies) {
11
  (applies ? assert_equals : assert_not_equals)(getComputedStyle(document.documentElement).backgroundColor, "rgb(0, 128, 0)");
12
}
13
14
const link = document.querySelector("link[disabled]");
15
16
async_test(function(t) {
17
  assert_true(link.disabled);
18
19
  link.onload = t.step_func_done(function() {
20
    assert_equals(document.styleSheets.length, 1);
21
    let sheet = document.styleSheets[0];
22
    assert_equals(sheet.ownerNode, link);
23
    assert_applies(true);
24
25
    link.disabled = true;
26
    assert_equals(sheet.ownerNode, null);
27
    assert_false(sheet.disabled);
28
    assert_applies(false);
29
    assert_true(link.hasAttribute("disabled"));
30
    assert_equals(document.styleSheets.length, 0);
31
  });
32
33
  link.disabled = false;
34
  assert_true(!link.hasAttribute("disabled"));
35
  assert_false(link.disabled);
36
}, "HTMLLinkElement.disabled reflects the <link disabled> attribute, and behaves consistently, when the sheet is an alternate");
37
</script>
- a/LayoutTests/imported/w3c/web-platform-tests/css/cssom/HTMLLinkElement-disabled-003-expected.txt +3 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/cssom/HTMLLinkElement-disabled-003-expected.txt_sec1
1
2
PASS HTMLLinkElement.disabled's explicitly enabled state persists when disconnected and connected again 
3
- a/LayoutTests/imported/w3c/web-platform-tests/css/cssom/HTMLLinkElement-disabled-003.html +31 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/cssom/HTMLLinkElement-disabled-003.html_sec1
1
<!doctype html>
2
<title>&lt;link disabled&gt;'s "explicitly enabled" state persists after getting disconnected from the tree</title>
3
<link rel="author" title="Emilio Cobos Álvarez" href="mailto:emilio@crisal.io">
4
<link rel="author" title="Mozilla" href="https://mozilla.org">
5
<link rel="help" href="https://html.spec.whatwg.org/#attr-link-disabled">
6
<script src="/resources/testharness.js"></script>
7
<script src="/resources/testharnessreport.js"></script>
8
<link title="alt" rel="alternate stylesheet" disabled href="data:text/css,html { background: green }">
9
<script>
10
function assert_applies(applies) {
11
  (applies ? assert_equals : assert_not_equals)(getComputedStyle(document.documentElement).backgroundColor, "rgb(0, 128, 0)");
12
}
13
14
const link = document.querySelector("link[disabled]");
15
async_test(function(t) {
16
  assert_true(link.disabled);
17
  link.disabled = false;
18
  assert_false(link.disabled);
19
  assert_true(!link.hasAttribute("disabled"));
20
  link.remove();
21
22
  link.onload = t.step_func_done(function() {
23
    assert_equals(document.styleSheets.length, 1);
24
    let sheet = document.styleSheets[0];
25
    assert_equals(sheet.ownerNode, link);
26
    assert_applies(true);
27
  });
28
29
  document.head.appendChild(link);
30
}, "HTMLLinkElement.disabled's explicitly enabled state persists when disconnected and connected again");
31
</script>
- a/LayoutTests/imported/w3c/web-platform-tests/css/cssom/HTMLLinkElement-disabled-004-expected.txt +3 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/cssom/HTMLLinkElement-disabled-004-expected.txt_sec1
1
2
PASS HTMLLinkElement.disabled's explicitly enabled state doesn't persist on clones 
3
- a/LayoutTests/imported/w3c/web-platform-tests/css/cssom/HTMLLinkElement-disabled-004.html +39 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/cssom/HTMLLinkElement-disabled-004.html_sec1
1
<!doctype html>
2
<title>&lt;link disabled&gt;'s "explicitly enabled" state doesn't persist for clones</title>
3
<link rel="author" title="Emilio Cobos Álvarez" href="mailto:emilio@crisal.io">
4
<link rel="author" title="Mozilla" href="https://mozilla.org">
5
<link rel="help" href="https://html.spec.whatwg.org/#attr-link-disabled">
6
<script src="/resources/testharness.js"></script>
7
<script src="/resources/testharnessreport.js"></script>
8
<link title="alt" rel="alternate stylesheet" disabled href="data:text/css,html { background: green }">
9
<script>
10
function assert_applies(applies) {
11
  (applies ? assert_equals : assert_not_equals)(getComputedStyle(document.documentElement).backgroundColor, "rgb(0, 128, 0)");
12
}
13
14
const link = document.querySelector("link[disabled]");
15
16
async_test(function(t) {
17
  link.remove();
18
  link.disabled = false; // `link` is explicitly enabled.
19
20
  let clonesLoaded = 0;
21
22
  for (let shallow of [true, false]) {
23
    const clone = link.cloneNode(shallow);
24
    clone.onload = t.step_func(function() {
25
      assert_false(link.disabled);
26
      // Even though it's not disabled, it still doesn't apply, since it's an alternate.
27
      assert_applies(false);
28
      if (++clonesLoaded == 2) {
29
        link.onload = t.step_func_done(function() {
30
          assert_false(link.disabled);
31
          assert_applies(true); // `link` is still explicitly enabled.
32
        });
33
        document.head.appendChild(link);
34
      }
35
    });
36
    document.head.appendChild(clone);
37
  }
38
}, "HTMLLinkElement.disabled's explicitly enabled state doesn't persist on clones");
39
</script>
- a/LayoutTests/imported/w3c/web-platform-tests/css/cssom/HTMLLinkElement-disabled-005-expected.txt +3 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/cssom/HTMLLinkElement-disabled-005-expected.txt_sec1
1
2
PASS HTMLLinkElement.disabled's explicitly enabled state persists regardless of rel 
3
- a/LayoutTests/imported/w3c/web-platform-tests/css/cssom/HTMLLinkElement-disabled-005.html +26 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/cssom/HTMLLinkElement-disabled-005.html_sec1
1
<!doctype html>
2
<title>&lt;link disabled&gt;'s "explicitly enabled" persists across rel changes</title>
3
<link rel="author" title="Emilio Cobos Álvarez" href="mailto:emilio@crisal.io">
4
<link rel="author" title="Mozilla" href="https://mozilla.org">
5
<link rel="help" href="https://html.spec.whatwg.org/#attr-link-disabled">
6
<script src="/resources/testharness.js"></script>
7
<script src="/resources/testharnessreport.js"></script>
8
<link title="alt" rel="yadayada" disabled href="data:text/css,html { background: green }">
9
<script>
10
function assert_applies(applies) {
11
  (applies ? assert_equals : assert_not_equals)(getComputedStyle(document.documentElement).backgroundColor, "rgb(0, 128, 0)");
12
}
13
14
const link = document.querySelector("link[disabled]");
15
16
async_test(function(t) {
17
  link.onload = t.step_func_done(function() {
18
    assert_applies(true);
19
    link.setAttribute("rel", "alternate stylesheet");
20
    assert_applies(true);
21
    assert_false(link.disabled);
22
  });
23
  link.disabled = false;
24
  link.setAttribute("rel", "stylesheet");
25
}, "HTMLLinkElement.disabled's explicitly enabled state persists regardless of rel");
26
</script>
- a/LayoutTests/imported/w3c/web-platform-tests/css/cssom/HTMLLinkElement-disabled-006-expected.txt +3 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/cssom/HTMLLinkElement-disabled-006-expected.txt_sec1
1
2
PASS HTMLLinkElement.disabled setter does nothing if the attribute isn't present already. 
3
- a/LayoutTests/imported/w3c/web-platform-tests/css/cssom/HTMLLinkElement-disabled-006.html +25 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/cssom/HTMLLinkElement-disabled-006.html_sec1
1
<!doctype html>
2
<title>&lt;link disabled&gt;'s "explicitly enabled" state isn't magically set from the setter</title>
3
<link rel="author" title="Emilio Cobos Álvarez" href="mailto:emilio@crisal.io">
4
<link rel="author" title="Mozilla" href="https://mozilla.org">
5
<link rel="help" href="https://html.spec.whatwg.org/#attr-link-disabled">
6
<script src="/resources/testharness.js"></script>
7
<script src="/resources/testharnessreport.js"></script>
8
<script>
9
function assert_applies(applies) {
10
  (applies ? assert_equals : assert_not_equals)(getComputedStyle(document.documentElement).backgroundColor, "rgb(0, 128, 0)");
11
}
12
13
async_test(function(t) {
14
  const link = document.createElement("link");
15
  link.setAttribute("rel", "alternate stylesheet");
16
  link.setAttribute("title", "alt");
17
  link.href = "data:text/css,html { background: green }";
18
  link.disabled = false; // This should do nothing, and is the point of this test.
19
  link.onload = t.step_func_done(function() {
20
    assert_applies(false); // Should not apply, since it's an alternate that hasn't been enabled.
21
    assert_false(link.disabled);
22
  });
23
  document.head.appendChild(link);
24
}, "HTMLLinkElement.disabled setter does nothing if the attribute isn't present already.");
25
</script>
- a/LayoutTests/imported/w3c/web-platform-tests/css/cssom/HTMLLinkElement-disabled-007-expected.txt +3 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/cssom/HTMLLinkElement-disabled-007-expected.txt_sec1
1
2
PASS HTMLLinkElement.disabled setter sets the explicitly enabled state if toggled back and forth. 
3
- a/LayoutTests/imported/w3c/web-platform-tests/css/cssom/HTMLLinkElement-disabled-007.html +26 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/cssom/HTMLLinkElement-disabled-007.html_sec1
1
<!doctype html>
2
<title>&lt;link disabled&gt;'s "explicitly enabled" state works when set explicitly back and forth</title>
3
<link rel="author" title="Emilio Cobos Álvarez" href="mailto:emilio@crisal.io">
4
<link rel="author" title="Mozilla" href="https://mozilla.org">
5
<link rel="help" href="https://html.spec.whatwg.org/#attr-link-disabled">
6
<script src="/resources/testharness.js"></script>
7
<script src="/resources/testharnessreport.js"></script>
8
<script>
9
function assert_applies(applies) {
10
  (applies ? assert_equals : assert_not_equals)(getComputedStyle(document.documentElement).backgroundColor, "rgb(0, 128, 0)");
11
}
12
13
async_test(function(t) {
14
  const link = document.createElement("link");
15
  link.setAttribute("rel", "alternate stylesheet");
16
  link.setAttribute("title", "alt");
17
  link.href = "data:text/css,html { background: green }";
18
  link.disabled = true;
19
  link.disabled = false; // This should make it "explicitly enabled".
20
  link.onload = t.step_func_done(function() {
21
    assert_applies(true); // Should apply, since it's explicitly enabled.
22
    assert_false(link.disabled);
23
  });
24
  document.head.appendChild(link);
25
}, "HTMLLinkElement.disabled setter sets the explicitly enabled state if toggled back and forth.");
26
</script>
- a/LayoutTests/imported/w3c/web-platform-tests/css/cssom/HTMLLinkElement-disabled-alternate-expected.html +7 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/cssom/HTMLLinkElement-disabled-alternate-expected.html_sec1
1
<!DOCTYPE html>
2
<title>CSS Test Reference</title>
3
<link rel="author" title="Emilio Cobos Álvarez" href="mailto:emilio@crisal.io">
4
<link rel="author" title="Mozilla" href="https://mozilla.org">
5
<style>
6
  html { background: green }
7
</style>
- a/LayoutTests/imported/w3c/web-platform-tests/css/cssom/HTMLLinkElement-disabled-alternate.html +14 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/cssom/HTMLLinkElement-disabled-alternate.html_sec1
1
<!DOCTYPE html>
2
<html class="reftest-wait">
3
<title>CSS Test: alternate stylesheets can be disabled by HTMLLinkElement.disabled if they have the disabled attribute already</title>
4
<link rel="author" title="Emilio Cobos Álvarez" href="mailto:emilio@crisal.io">
5
<link rel="author" title="Mozilla" href="https://mozilla.org">
6
<link rel="help" href="https://html.spec.whatwg.org/#attr-link-disabled">
7
<link rel="match" href="HTMLLinkElement-disabled-alternate-ref.html">
8
<link title="alt" rel="alternate stylesheet" href="data:text/css,html { background: green }" disabled onload="document.documentElement.className = ''">
9
<script>
10
  onload = function() {
11
    const link = document.querySelector("link[rel='alternate stylesheet']");
12
    link.disabled = false;
13
  }
14
</script>
- a/LayoutTests/imported/w3c/web-platform-tests/css/cssom/META.yml +5 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/cssom/META.yml_sec1
1
spec: https://drafts.csswg.org/cssom/
2
suggested_reviewers:
3
  - dbaron
4
  - plinss
5
  - lilles
- a/LayoutTests/imported/w3c/web-platform-tests/css/cssom/OWNERS -4 lines
Lines 1-4 a/LayoutTests/imported/w3c/web-platform-tests/css/cssom/OWNERS_sec1
1
@dbaron
2
@plinss
3
@lilles
4
@therealglazou
- a/LayoutTests/imported/w3c/web-platform-tests/css/cssom/at-namespace-expected.txt -1 / +1 lines
Lines 1-6 a/LayoutTests/imported/w3c/web-platform-tests/css/cssom/at-namespace-expected.txt_sec1
1
Should be green
1
Should be green
2
2
3
FAIL CSS Test: @namespace in CSSOM is not severely broken assert_throws: function "function () {
3
FAIL CSS Test: @namespace in CSSOM is not severely broken assert_throws_dom: function "function () {
4
    s.sheet.insertRule('@namespace myhtml url("http://www.w3.org/1999/xhtml")', 0);
4
    s.sheet.insertRule('@namespace myhtml url("http://www.w3.org/1999/xhtml")', 0);
5
  }" threw object "HierarchyRequestError: The operation would yield an incorrect node tree." that is not a DOMException InvalidStateError: property "code" is equal to 3, expected 11
5
  }" threw object "HierarchyRequestError: The operation would yield an incorrect node tree." that is not a DOMException InvalidStateError: property "code" is equal to 3, expected 11
6
6
- a/LayoutTests/imported/w3c/web-platform-tests/css/cssom/at-namespace.html -2 / +2 lines
Lines 11-21 a/LayoutTests/imported/w3c/web-platform-tests/css/cssom/at-namespace.html_sec1
11
<div>Should be green</div>
11
<div>Should be green</div>
12
<script>
12
<script>
13
test(function() {
13
test(function() {
14
  assert_throws("InvalidStateError", function() {
14
  assert_throws_dom("InvalidStateError", function() {
15
    s.sheet.insertRule('@namespace myhtml url("http://www.w3.org/1999/xhtml")', 0);
15
    s.sheet.insertRule('@namespace myhtml url("http://www.w3.org/1999/xhtml")', 0);
16
  });
16
  });
17
  assert_equals(s.sheet.cssRules.length, 1, "Shouldn't have been inserted");
17
  assert_equals(s.sheet.cssRules.length, 1, "Shouldn't have been inserted");
18
  assert_throws("SyntaxError", function() {
18
  assert_throws_dom("SyntaxError", function() {
19
    s.sheet.insertRule("myhtml|div { color: red !important }", 0);
19
    s.sheet.insertRule("myhtml|div { color: red !important }", 0);
20
  });
20
  });
21
  assert_equals(s.sheet.cssRules.length, 1);
21
  assert_equals(s.sheet.cssRules.length, 1);
- a/LayoutTests/imported/w3c/web-platform-tests/css/cssom/border-shorthand-serialization-expected.txt +5 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/cssom/border-shorthand-serialization-expected.txt_sec1
1
2
FAIL Declaration with border longhands is not serialized to a border shorthand declaration. assert_equals: border shorthand isn't serialized if border-image longhands are not initial expected "" but got "1px solid black"
3
FAIL Declaration with border longhands and border-image is not serialized to a border shorthand declaration. assert_equals: border shorthand isn't serialized if border-image longhands are not initial expected "" but got "1px solid black"
4
PASS Border shorthand is serialized correctly if all border-image-* are set to their initial specified values. 
5
- a/LayoutTests/imported/w3c/web-platform-tests/css/cssom/border-shorthand-serialization.html +42 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/cssom/border-shorthand-serialization.html_sec1
1
<!doctype html>
2
<html>
3
<link rel="author" title="Erik Nordin" href="mailto:enordin@mozilla.com">
4
<link rel="help" href="https://drafts.csswg.org/css-backgrounds-3/#propdef-border">
5
<link rel="help" href="https://drafts.csswg.org/cssom-1/#serialize-a-css-declaration-block">
6
<link rel="help" href="https://bugzilla.mozilla.org/show_bug.cgi?id=1594241">
7
<meta charset="utf-8">
8
<title>serialization of border shorthand</title>
9
<script src="/resources/testharness.js"></script>
10
<script src="/resources/testharnessreport.js"></script>
11
<style id="target">
12
    .a {
13
        border-width: 1px;
14
        border-style: solid;
15
        border-color: black;
16
    }
17
    .b {
18
        border-width: 1px;
19
        border-style: solid;
20
        border-color: black;
21
        border-image: linear-gradient(white,black);
22
    }
23
    .c {
24
        border: 1px solid black;
25
    }
26
</style>
27
<script>
28
    test(function() {
29
        let rule = document.getElementById('target').sheet.cssRules[0];
30
        assert_equals(rule.style.border, "", "border shorthand isn't serialized if border-image longhands are not initial");
31
    }, "Declaration with border longhands is not serialized to a border shorthand declaration.");
32
    test(function() {
33
        let rule = document.getElementById('target').sheet.cssRules[1];
34
        assert_equals(rule.style.border, "", "border shorthand isn't serialized if border-image longhands are not initial");
35
    }, "Declaration with border longhands and border-image is not serialized to a border shorthand declaration.");
36
    test(function() {
37
        let rule = document.getElementById('target').sheet.cssRules[2];
38
        assert_not_equals(rule.style.border, "", "border shorthand ");
39
        assert_equals(rule.cssText, ".c { border: 1px solid black; }");
40
    }, "Border shorthand is serialized correctly if all border-image-* are set to their initial specified values.");
41
</script>
42
</html>
- a/LayoutTests/imported/w3c/web-platform-tests/css/cssom/computed-style-001.html -15 / +11 lines
Lines 33-70 a/LayoutTests/imported/w3c/web-platform-tests/css/cssom/computed-style-001.html_sec1
33
    var inner = document.getElementById("inside");
33
    var inner = document.getElementById("inside");
34
    var innerStyle;
34
    var innerStyle;
35
35
36
    // do not allow modifications to a computed CSSStyleDeclaration
36
    test(function() {
37
    test(function() {
37
        innerStyle = window.getComputedStyle(inner);
38
        innerStyle = window.getComputedStyle(inner);
38
        assert_throws(  "NO_MODIFICATION_ALLOWED_ERR",
39
        assert_throws_dom(  "NO_MODIFICATION_ALLOWED_ERR",
39
                        function() { innerStyle.cssText = "color: blue;"; },
40
                        function() { innerStyle.cssText = "color: blue;"; },
40
                        "do not allow setting cssText on a readonly CSSStyleDeclaration");
41
                        "do not allow setting cssText on a readonly CSSStyleDeclaration");
41
        assert_throws(  "NO_MODIFICATION_ALLOWED_ERR",
42
        assert_throws_dom(  "NO_MODIFICATION_ALLOWED_ERR",
42
                        function() { innerStyle.setProperty("color", "blue"); },
43
                        function() { innerStyle.setProperty("color", "blue"); },
43
                        "do not allow calling setProperty on a readonly CSSStyleDeclaration");
44
                        "do not allow calling setProperty on a readonly CSSStyleDeclaration");
44
        assert_throws(  "NO_MODIFICATION_ALLOWED_ERR",
45
        assert_throws_dom(  "NO_MODIFICATION_ALLOWED_ERR",
45
                        function() { innerStyle.color = "blue"; },
46
                        function() { innerStyle.color = "blue"; },
46
                        "do not allow setting a property on a readonly CSSStyleDeclaration");
47
                        "do not allow setting a property on a readonly CSSStyleDeclaration");
47
    }, "read_only", {
48
    }, "read_only");
48
        assert: "do not allow modifications to a computed CSSStyleDeclaration"
49
    });
50
49
50
    // Directly set properties are resolved
51
    test(function() {
51
    test(function() {
52
        assert_equals(innerStyle.getPropertyValue("height"), "100px");
52
        assert_equals(innerStyle.getPropertyValue("height"), "100px");
53
    }, "property_values", {
53
    }, "property_values");
54
        assert: "Directly set properties are resolved"
55
    });
56
54
55
    // Inherited properties are resolved
57
    test(function() {
56
    test(function() {
58
        assert_equals(innerStyle.getPropertyValue("font-size"), "100px");
57
        assert_equals(innerStyle.getPropertyValue("font-size"), "100px");
59
    }, "inherited_property_values", {
58
    }, "inherited_property_values");
60
        assert: "Inherited properties are resolved"
61
    });
62
59
60
    // Relative properties are resolved
63
    test(function() {
61
    test(function() {
64
        assert_equals(innerStyle.getPropertyValue("width"), "100px");
62
        assert_equals(innerStyle.getPropertyValue("width"), "100px");
65
    }, "relative_property_values", {
63
    }, "relative_property_values");
66
        assert: "Relative properties are resolved"
67
    });
68
 </script>
64
 </script>
69
 </body>
65
 </body>
70
</html>
66
</html>
- a/LayoutTests/imported/w3c/web-platform-tests/css/cssom/computed-style-005-expected.txt +6 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/cssom/computed-style-005-expected.txt_sec1
1
2
PASS absolute_computed_margins 
3
PASS absolute_computed_left_and_right 
4
PASS relative_computed_margins 
5
PASS relative_computed_left_and_right 
6
- a/LayoutTests/imported/w3c/web-platform-tests/css/cssom/computed-style-005.html +64 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/cssom/computed-style-005.html_sec1
1
<!DOCTYPE html>
2
<html>
3
 <head>
4
  <title>CSS Test: getComputedStyle on blocks with auto margins</title>
5
  <link rel="author" title="Brad Werth" href="mailto:bwerth@mozilla.com">
6
  <link rel="help" href="https://drafts.csswg.org/cssom/#dom-window-getcomputedstyle" />
7
  <meta name="assert" content="getComputedStyle produces pixel values for margin: auto blocks">
8
  <script src="/resources/testharness.js" type="text/javascript"></script>
9
  <script src="/resources/testharnessreport.js" type="text/javascript"></script>
10
  <style>
11
    x {
12
      display: block;
13
      position: relative;
14
      background: grey;
15
      width: 60px;
16
      height: 10px;
17
    }
18
    y {
19
      display: block;
20
      background: blue;
21
      width: 40px;
22
      height: 10px;
23
      margin: auto;
24
    }
25
26
    #absolute {
27
      position: absolute;
28
      left: 0;
29
      right: 0;
30
    }
31
    #relative {
32
      position: relative;
33
    }
34
  </style>
35
 </head>
36
 <body>
37
 <div id="log"></div>
38
 <x><y id="absolute"></y></x>
39
 <x><y id="relative"></y></x>
40
 <script type="text/javascript">
41
   let idsToTest = [
42
     "absolute",
43
     "relative",
44
   ];
45
46
   for (let id of idsToTest) {
47
     let elem = document.getElementById(id);
48
     let elemStyle = window.getComputedStyle(elem);
49
50
     // positioned element's auto margins should be resolved to 10px.
51
     test(function() {
52
       assert_equals(elemStyle.getPropertyValue("margin-left"), "10px");
53
       assert_equals(elemStyle.getPropertyValue("margin-right"), "10px");
54
     }, id + "_computed_margins");
55
56
     // positioned element should have a left and right of 0px (as authored).
57
     test(function() {
58
       assert_equals(elemStyle.getPropertyValue("left"), "0px");
59
       assert_equals(elemStyle.getPropertyValue("right"), "0px");
60
     }, id + "_computed_left_and_right");
61
   }
62
 </script>
63
 </body>
64
</html>
- a/LayoutTests/imported/w3c/web-platform-tests/css/cssom/computed-style-set-property.html -6 / +5 lines
Lines 1-6 a/LayoutTests/imported/w3c/web-platform-tests/css/cssom/computed-style-set-property.html_sec1
1
<!DOCTYPE>
1
<!DOCTYPE html>
2
<title>NoModificationAllowedError when mutating read only properties</title>
2
<title>NoModificationAllowedError when mutating read only properties</title>
3
<link rel="author" title="Anders Hartvoll Ruud" href="andruud@chromium.org">
4
<link rel="help" href="https://www.w3.org/TR/cssom-1/#dom-cssstyledeclaration-setpropertyvalue">
3
<link rel="help" href="https://www.w3.org/TR/cssom-1/#dom-cssstyledeclaration-setpropertyvalue">
5
<meta name="assert" content="This test verifies that NoModificationAllowedError is thrown when mutating read only properties" />
4
<meta name="assert" content="This test verifies that NoModificationAllowedError is thrown when mutating read only properties" />
6
<script src="/resources/testharness.js"></script>
5
<script src="/resources/testharness.js"></script>
Lines 12-36 test(function(t) { a/LayoutTests/imported/w3c/web-platform-tests/css/cssom/computed-style-set-property.html_sec2
12
}, "Computed style parent (should be null)");
11
}, "Computed style parent (should be null)");
13
12
14
test(function(t) {
13
test(function(t) {
15
    assert_throws("NoModificationAllowedError", function() {
14
    assert_throws_dom("NoModificationAllowedError", function() {
16
        document.defaultView.getComputedStyle(document.body, null).color = "blue";
15
        document.defaultView.getComputedStyle(document.body, null).color = "blue";
17
    });
16
    });
18
}, "Exception thrown when trying to change a computed style declaration via property");
17
}, "Exception thrown when trying to change a computed style declaration via property");
19
18
20
test(function(t) {
19
test(function(t) {
21
    assert_throws("NoModificationAllowedError", function() {
20
    assert_throws_dom("NoModificationAllowedError", function() {
22
        document.defaultView.getComputedStyle(document.body, null).setProperty("color", "blue");
21
        document.defaultView.getComputedStyle(document.body, null).setProperty("color", "blue");
23
    });
22
    });
24
}, "Exception thrown when trying to change a computed style declaration via setProperty");
23
}, "Exception thrown when trying to change a computed style declaration via setProperty");
25
24
26
test(function(t) {
25
test(function(t) {
27
    assert_throws("NoModificationAllowedError", function() {
26
    assert_throws_dom("NoModificationAllowedError", function() {
28
        document.defaultView.getComputedStyle(document.body, null).webkitTransition = "";
27
        document.defaultView.getComputedStyle(document.body, null).webkitTransition = "";
29
    });
28
    });
30
}, "Exception thrown when trying to change a computed style alias via property");
29
}, "Exception thrown when trying to change a computed style alias via property");
31
30
32
test(function(t) {
31
test(function(t) {
33
    assert_throws("NoModificationAllowedError", function() {
32
    assert_throws_dom("NoModificationAllowedError", function() {
34
        document.defaultView.getComputedStyle(document.body, null).setProperty("webkitTransition", "");
33
        document.defaultView.getComputedStyle(document.body, null).setProperty("webkitTransition", "");
35
    });
34
    });
36
}, "Exception thrown when trying to change a computed style alias via setProperty");
35
}, "Exception thrown when trying to change a computed style alias via setProperty");
- a/LayoutTests/imported/w3c/web-platform-tests/css/cssom/css-style-attr-decl-block-expected.txt +1 lines
Lines 5-8 PASS Changes to CSS declaration block should reflect on style attribute a/LayoutTests/imported/w3c/web-platform-tests/css/cssom/css-style-attr-decl-block-expected.txt_sec1
5
PASS Changes to CSS declaration block should queue mutation record for style attribute 
5
PASS Changes to CSS declaration block should queue mutation record for style attribute 
6
PASS Removing non-existing property or setting invalid value on CSS declaration block shouldn't queue mutation record 
6
PASS Removing non-existing property or setting invalid value on CSS declaration block shouldn't queue mutation record 
7
PASS Changes to CSS declaration block after a base URL change 
7
PASS Changes to CSS declaration block after a base URL change 
8
FAIL Expansion of all:unset and all:revert treated identically assert_equals: expected "color: unset; color-scheme: unset; display: unset; font-family: unset; font-feature-settings: unset; font-optical-sizing: unset; font-size: unset; font-stretch: unset; font-style: unset; font-synthesis: unset; font-variant-alternates: unset; font-variant-caps: unset; font-variant-east-asian: unset; font-variant-ligatures: unset; font-variant-numeric: unset; font-variant-position: unset; font-variation-settings: unset; font-weight: unset; text-rendering: unset; writing-mode: unset; zoom: unset; -webkit-font-kerning: unset; -webkit-font-smoothing: unset; -webkit-locale: unset; -webkit-text-orientation: unset; -webkit-text-size-adjust: unset; -webkit-text-zoom: unset; align-content: unset; align-items: unset; align-self: unset; alignment-baseline: unset; alt: unset; animation: unset unset unset unset unset unset unset unset; background-attachment: unset; background-blend-mode: unset; background-clip: unset; background-color: unset; background-image: unset; background-origin: unset; background-size: unset; baseline-shift: unset; block-size: unset; border-block-end-color: unset; border-block-end-style: unset; border-block-end-width: unset; border-block-start-color: unset; border-block-start-style: unset; border-block-start-width: unset; border: unset unset unset; border-bottom-right-radius: unset; border-collapse: unset; border-image-outset: unset; border-image-repeat: unset; border-image-slice: unset; border-image-source: unset; border-image-width: unset; border-inline-end-color: unset; border-inline-end-style: unset; border-inline-end-width: unset; border-inline-start-color: unset; border-inline-start-style: unset; border-inline-start-width: unset; border-top-left-radius: unset; border-top-right-radius: unset; bottom: unset; box-shadow: unset; box-sizing: unset; break-after: unset; break-before: unset; break-inside: unset; buffered-rendering: unset; caption-side: unset; caret-color: unset; clear: unset; clip: unset; clip-path: unset; clip-rule: unset; color-interpolation: unset; color-interpolation-filters: unset; color-profile: unset; color-rendering: unset; column-count: unset; column-fill: unset; column-gap: unset; column-rule-color: unset; column-rule-style: unset; column-rule-width: unset; column-span: unset; column-width: unset; content: unset; counter-increment: unset; counter-reset: unset; cursor: unset; cx: unset; cy: unset; dominant-baseline: unset; empty-cells: unset; enable-background: unset; fill: unset; fill-opacity: unset; fill-rule: unset; filter: unset; flex: unset unset unset; flex-flow: unset unset; float: unset; flood-color: unset; flood-opacity: unset; font-display: unset; glyph-orientation-horizontal: unset; glyph-orientation-vertical: unset; grid-auto-columns: unset; grid-auto-flow: unset; grid-auto-rows: unset; grid-column-end: unset; grid-column-start: unset; grid-row-end: unset; grid-row-start: unset; grid-template-areas: unset; grid-template-columns: unset; grid-template-rows: unset; hanging-punctuation: unset; height: unset; image-orientation: unset; image-rendering: unset; inline-size: unset; isolation: unset; justify-content: unset; justify-items: unset; justify-self: unset; kerning: unset; left: unset; letter-spacing: unset; lighting-color: unset; line-break: unset; line-height: unset; list-style: unset unset unset; margin-block-end: unset; margin-block-start: unset; margin: unset; margin-inline-end: unset; margin-inline-start: unset; marker-end: unset; marker-mid: unset; marker-start: unset; mask: unset; mask-type: unset; max-block-size: unset; max-height: unset; max-inline-size: unset; max-width: unset; min-block-size: unset; min-height: unset; min-inline-size: unset; min-width: unset; mix-blend-mode: unset; object-fit: unset; object-position: unset; opacity: unset; order: unset; orphans: unset; outline: unset unset unset; outline-offset: unset; overflow-wrap: unset; overflow: unset; padding-block-end: unset; padding-block-start: unset; padding: unset; padding-inline-end: unset; padding-inline-start: unset; page: unset; paint-order: unset; perspective: unset; perspective-origin: unset unset; pointer-events: unset; position: unset; quotes: unset; r: unset; resize: unset; right: unset; row-gap: unset; rx: unset; ry: unset; scroll-behavior: unset; scroll-padding: unset; scroll-snap-align: unset; scroll-snap-margin: unset; scroll-snap-type: unset; shape-image-threshold: unset; shape-margin: unset; shape-outside: unset; shape-rendering: unset; size: unset; speak-as: unset; src: unset; stop-color: unset; stop-opacity: unset; stroke: unset; stroke-color: unset; stroke-dasharray: unset; stroke-dashoffset: unset; stroke-linecap: unset; stroke-linejoin: unset; stroke-miterlimit: unset; stroke-opacity: unset; stroke-width: unset; tab-size: unset; table-layout: unset; text-align: unset; text-anchor: unset; text-decoration: unset; text-decoration-color: unset; text-decoration-line: unset; text-decoration-skip: unset; text-decoration-style: unset; text-decoration-thickness: unset; text-indent: unset; text-overflow: unset; text-shadow: unset; text-transform: unset; text-underline-offset: unset; text-underline-position: unset; top: unset; touch-action: unset; transform: unset; transform-box: unset; transform-origin: unset unset unset; transform-style: unset; transition: unset unset unset unset; unicode-range: unset; vector-effect: unset; vertical-align: unset; visibility: unset; white-space: unset; widows: unset; width: unset; will-change: unset; word-break: unset; word-spacing: unset; word-wrap: unset; x: unset; y: unset; z-index: unset; -apple-color-filter: unset; -apple-pay-button-style: unset; -apple-pay-button-type: unset; -apple-trailing-word: unset; -internal-text-autosizing-status: unset; -webkit-appearance: unset; -webkit-aspect-ratio: unset; -webkit-backdrop-filter: unset; -webkit-backface-visibility: unset; -webkit-background-clip: unset; -webkit-background-composite: unset; -webkit-background-origin: unset; -webkit-background-size: unset; -webkit-border-fit: unset; border-spacing: unset; -webkit-border-image: unset; -webkit-box-align: unset; -webkit-box-decoration-break: unset; -webkit-box-direction: unset; -webkit-box-flex: unset; -webkit-box-flex-group: unset; -webkit-box-lines: unset; -webkit-box-ordinal-group: unset; -webkit-box-orient: unset; -webkit-box-pack: unset; -webkit-box-reflect: unset; -webkit-box-shadow: unset; -webkit-column-axis: unset; -webkit-column-progression: unset; -webkit-cursor-visibility: unset; -webkit-font-size-delta: unset; -webkit-hyphenate-character: unset; -webkit-hyphenate-limit-after: unset; -webkit-hyphenate-limit-before: unset; -webkit-hyphenate-limit-lines: unset; -webkit-hyphens: unset; -webkit-initial-letter: unset; -webkit-line-align: unset; -webkit-line-box-contain: unset; -webkit-line-clamp: unset; -webkit-line-grid: unset; -webkit-line-snap: unset; -webkit-margin-after-collapse: unset; -webkit-margin-before-collapse: unset; -webkit-margin-bottom-collapse: unset; -webkit-margin-top-collapse: unset; -webkit-marquee-direction: unset; -webkit-marquee-increment: unset; -webkit-marquee-repetition: unset; -webkit-marquee-speed: unset; -webkit-marquee-style: unset; -webkit-mask-box-image: unset; -webkit-mask-box-image-outset: unset; -webkit-mask-box-image-repeat: unset; -webkit-mask-box-image-slice: unset; -webkit-mask-box-image-source: unset; -webkit-mask-box-image-width: unset; -webkit-mask: unset unset unset unset / unset unset unset unset unset; -webkit-mask-composite: unset; -webkit-mask-size: unset; -webkit-mask-source-type: unset; -webkit-nbsp-mode: unset; -webkit-print-color-adjust: unset; -webkit-rtl-ordering: unset; -webkit-ruby-position: unset; -webkit-text-combine: unset; -webkit-text-decorations-in-effect: unset; -webkit-text-emphasis-color: unset; -webkit-text-emphasis-position: unset; -webkit-text-emphasis-style: unset; -webkit-text-fill-color: unset; -webkit-text-security: unset; -webkit-text-stroke-color: unset; -webkit-text-stroke-width: unset; -webkit-transform-style: unset; -webkit-user-drag: unset; -webkit-user-modify: unset; -webkit-user-select: unset; border-bottom-left-radius: 1px; background-position: unset unset; background-repeat: unset unset;" but got "color: Revert; color-scheme: Revert; display: Revert; font-family: Revert; font-feature-settings: Revert; font-optical-sizing: Revert; font-size: Revert; font-stretch: Revert; font-style: Revert; font-synthesis: Revert; font-variant-alternates: Revert; font-variant-caps: Revert; font-variant-east-asian: Revert; font-variant-ligatures: Revert; font-variant-numeric: Revert; font-variant-position: Revert; font-variation-settings: Revert; font-weight: Revert; text-rendering: Revert; writing-mode: Revert; zoom: Revert; -webkit-font-kerning: Revert; -webkit-font-smoothing: Revert; -webkit-locale: Revert; -webkit-text-orientation: Revert; -webkit-text-size-adjust: Revert; -webkit-text-zoom: Revert; align-content: Revert; align-items: Revert; align-self: Revert; alignment-baseline: Revert; alt: Revert; animation: Revert Revert Revert Revert Revert Revert Revert Revert; background-attachment: Revert; background-blend-mode: Revert; background-clip: Revert; background-color: Revert; background-image: Revert; background-origin: Revert; background-size: Revert; baseline-shift: Revert; block-size: Revert; border-block-end-color: Revert; border-block-end-style: Revert; border-block-end-width: Revert; border-block-start-color: Revert; border-block-start-style: Revert; border-block-start-width: Revert; border: Revert Revert Revert; border-bottom-right-radius: Revert; border-collapse: Revert; border-image-outset: Revert; border-image-repeat: Revert; border-image-slice: Revert; border-image-source: Revert; border-image-width: Revert; border-inline-end-color: Revert; border-inline-end-style: Revert; border-inline-end-width: Revert; border-inline-start-color: Revert; border-inline-start-style: Revert; border-inline-start-width: Revert; border-top-left-radius: Revert; border-top-right-radius: Revert; bottom: Revert; box-shadow: Revert; box-sizing: Revert; break-after: Revert; break-before: Revert; break-inside: Revert; buffered-rendering: Revert; caption-side: Revert; caret-color: Revert; clear: Revert; clip: Revert; clip-path: Revert; clip-rule: Revert; color-interpolation: Revert; color-interpolation-filters: Revert; color-profile: Revert; color-rendering: Revert; column-count: Revert; column-fill: Revert; column-gap: Revert; column-rule-color: Revert; column-rule-style: Revert; column-rule-width: Revert; column-span: Revert; column-width: Revert; content: Revert; counter-increment: Revert; counter-reset: Revert; cursor: Revert; cx: Revert; cy: Revert; dominant-baseline: Revert; empty-cells: Revert; enable-background: Revert; fill: Revert; fill-opacity: Revert; fill-rule: Revert; filter: Revert; flex: Revert Revert Revert; flex-flow: Revert Revert; float: Revert; flood-color: Revert; flood-opacity: Revert; font-display: Revert; glyph-orientation-horizontal: Revert; glyph-orientation-vertical: Revert; grid-auto-columns: Revert; grid-auto-flow: Revert; grid-auto-rows: Revert; grid-column-end: Revert; grid-column-start: Revert; grid-row-end: Revert; grid-row-start: Revert; grid-template-areas: Revert; grid-template-columns: Revert; grid-template-rows: Revert; hanging-punctuation: Revert; height: Revert; image-orientation: Revert; image-rendering: Revert; inline-size: Revert; isolation: Revert; justify-content: Revert; justify-items: Revert; justify-self: Revert; kerning: Revert; left: Revert; letter-spacing: Revert; lighting-color: Revert; line-break: Revert; line-height: Revert; list-style: Revert Revert Revert; margin-block-end: Revert; margin-block-start: Revert; margin: Revert; margin-inline-end: Revert; margin-inline-start: Revert; marker-end: Revert; marker-mid: Revert; marker-start: Revert; mask: Revert; mask-type: Revert; max-block-size: Revert; max-height: Revert; max-inline-size: Revert; max-width: Revert; min-block-size: Revert; min-height: Revert; min-inline-size: Revert; min-width: Revert; mix-blend-mode: Revert; object-fit: Revert; object-position: Revert; opacity: Revert; order: Revert; orphans: Revert; outline: Revert Revert Revert; outline-offset: Revert; overflow-wrap: Revert; overflow: Revert; padding-block-end: Revert; padding-block-start: Revert; padding: Revert; padding-inline-end: Revert; padding-inline-start: Revert; page: Revert; paint-order: Revert; perspective: Revert; perspective-origin: Revert Revert; pointer-events: Revert; position: Revert; quotes: Revert; r: Revert; resize: Revert; right: Revert; row-gap: Revert; rx: Revert; ry: Revert; scroll-behavior: Revert; scroll-padding: Revert; scroll-snap-align: Revert; scroll-snap-margin: Revert; scroll-snap-type: Revert; shape-image-threshold: Revert; shape-margin: Revert; shape-outside: Revert; shape-rendering: Revert; size: Revert; speak-as: Revert; src: Revert; stop-color: Revert; stop-opacity: Revert; stroke: Revert; stroke-color: Revert; stroke-dasharray: Revert; stroke-dashoffset: Revert; stroke-linecap: Revert; stroke-linejoin: Revert; stroke-miterlimit: Revert; stroke-opacity: Revert; stroke-width: Revert; tab-size: Revert; table-layout: Revert; text-align: Revert; text-anchor: Revert; text-decoration: Revert; text-decoration-color: Revert; text-decoration-line: Revert; text-decoration-skip: Revert; text-decoration-style: Revert; text-decoration-thickness: Revert; text-indent: Revert; text-overflow: Revert; text-shadow: Revert; text-transform: Revert; text-underline-offset: Revert; text-underline-position: Revert; top: Revert; touch-action: Revert; transform: Revert; transform-box: Revert; transform-origin: Revert Revert Revert; transform-style: Revert; transition: Revert Revert Revert Revert; unicode-range: Revert; vector-effect: Revert; vertical-align: Revert; visibility: Revert; white-space: Revert; widows: Revert; width: Revert; will-change: Revert; word-break: Revert; word-spacing: Revert; word-wrap: Revert; x: Revert; y: Revert; z-index: Revert; -apple-color-filter: Revert; -apple-pay-button-style: Revert; -apple-pay-button-type: Revert; -apple-trailing-word: Revert; -internal-text-autosizing-status: Revert; -webkit-appearance: Revert; -webkit-aspect-ratio: Revert; -webkit-backdrop-filter: Revert; -webkit-backface-visibility: Revert; -webkit-background-clip: Revert; -webkit-background-composite: Revert; -webkit-background-origin: Revert; -webkit-background-size: Revert; -webkit-border-fit: Revert; border-spacing: Revert; -webkit-border-image: Revert; -webkit-box-align: Revert; -webkit-box-decoration-break: Revert; -webkit-box-direction: Revert; -webkit-box-flex: Revert; -webkit-box-flex-group: Revert; -webkit-box-lines: Revert; -webkit-box-ordinal-group: Revert; -webkit-box-orient: Revert; -webkit-box-pack: Revert; -webkit-box-reflect: Revert; -webkit-box-shadow: Revert; -webkit-column-axis: Revert; -webkit-column-progression: Revert; -webkit-cursor-visibility: Revert; -webkit-font-size-delta: Revert; -webkit-hyphenate-character: Revert; -webkit-hyphenate-limit-after: Revert; -webkit-hyphenate-limit-before: Revert; -webkit-hyphenate-limit-lines: Revert; -webkit-hyphens: Revert; -webkit-initial-letter: Revert; -webkit-line-align: Revert; -webkit-line-box-contain: Revert; -webkit-line-clamp: Revert; -webkit-line-grid: Revert; -webkit-line-snap: Revert; -webkit-margin-after-collapse: Revert; -webkit-margin-before-collapse: Revert; -webkit-margin-bottom-collapse: Revert; -webkit-margin-top-collapse: Revert; -webkit-marquee-direction: Revert; -webkit-marquee-increment: Revert; -webkit-marquee-repetition: Revert; -webkit-marquee-speed: Revert; -webkit-marquee-style: Revert; -webkit-mask-box-image: Revert; -webkit-mask-box-image-outset: Revert; -webkit-mask-box-image-repeat: Revert; -webkit-mask-box-image-slice: Revert; -webkit-mask-box-image-source: Revert; -webkit-mask-box-image-width: Revert; -webkit-mask: Revert Revert Revert Revert / Revert Revert Revert Revert Revert; -webkit-mask-composite: Revert; -webkit-mask-size: Revert; -webkit-mask-source-type: Revert; -webkit-nbsp-mode: Revert; -webkit-print-color-adjust: Revert; -webkit-rtl-ordering: Revert; -webkit-ruby-position: Revert; -webkit-text-combine: Revert; -webkit-text-decorations-in-effect: Revert; -webkit-text-emphasis-color: Revert; -webkit-text-emphasis-position: Revert; -webkit-text-emphasis-style: Revert; -webkit-text-fill-color: Revert; -webkit-text-security: Revert; -webkit-text-stroke-color: Revert; -webkit-text-stroke-width: Revert; -webkit-transform-style: Revert; -webkit-user-drag: Revert; -webkit-user-modify: Revert; -webkit-user-select: Revert; border-bottom-left-radius: 1px; background-position: Revert Revert; background-repeat: Revert Revert;"
8
9
- a/LayoutTests/imported/w3c/web-platform-tests/css/cssom/css-style-attr-decl-block.html +15 lines
Lines 130-133 test(function() { a/LayoutTests/imported/w3c/web-platform-tests/css/cssom/css-style-attr-decl-block.html_sec1
130
  assert_not_equals(getComputedStyle(elem).backgroundImage, originalComputedValue,
130
  assert_not_equals(getComputedStyle(elem).backgroundImage, originalComputedValue,
131
                    "getComputedStyle(elem).backgroundImage after setting background-image");
131
                    "getComputedStyle(elem).backgroundImage after setting background-image");
132
}, "Changes to CSS declaration block after a base URL change");
132
}, "Changes to CSS declaration block after a base URL change");
133
134
test(function() {
135
  let e1 = document.createElement('div');
136
  let e2 = document.createElement('div');
137
  document.body.append(e1, e2);
138
  this.add_cleanup(() => {
139
    e1.remove();
140
    e2.remove();
141
  });
142
  e1.style.cssText = "all:revert;border-bottom-left-radius:1px;";
143
  e2.style.cssText = "all:unset;border-bottom-left-radius:1px;";
144
  let processed = e1.style.cssText.split(';')
145
    .map(x => x.replace(/revert$/, 'unset')).join(';');
146
  assert_equals(processed, e2.style.cssText);
147
}, "Expansion of all:unset and all:revert treated identically");
133
</script>
148
</script>
- a/LayoutTests/imported/w3c/web-platform-tests/css/cssom/css-style-declaration-modifications-expected.txt +1 lines
Lines 2-5 a/LayoutTests/imported/w3c/web-platform-tests/css/cssom/css-style-declaration-modifications-expected.txt_sec1
2
PASS Reading CSSStyleDeclaration initialized from a style element 
2
PASS Reading CSSStyleDeclaration initialized from a style element 
3
PASS Setting CSSStyleDeclaration#cssText 
3
PASS Setting CSSStyleDeclaration#cssText 
4
PASS Calling CSSStyleDeclaration#setProperty 
4
PASS Calling CSSStyleDeclaration#setProperty 
5
PASS setProperty priority should be case-insensitive 
5
6
- a/LayoutTests/imported/w3c/web-platform-tests/css/cssom/css-style-declaration-modifications.html +8 lines
Lines 48-53 a/LayoutTests/imported/w3c/web-platform-tests/css/cssom/css-style-declaration-modifications.html_sec1
48
        declaration.setProperty("margin-left", "15px");
48
        declaration.setProperty("margin-left", "15px");
49
        declaration.setProperty("padding-left", "15px");
49
        declaration.setProperty("padding-left", "15px");
50
50
51
51
        assert_equals(declaration.length, 2);
52
        assert_equals(declaration.length, 2);
52
        assert_equals(declaration.item(0), "margin-left");
53
        assert_equals(declaration.item(0), "margin-left");
53
        assert_equals(declaration.item(1), "padding-left");
54
        assert_equals(declaration.item(1), "padding-left");
Lines 57-63 a/LayoutTests/imported/w3c/web-platform-tests/css/cssom/css-style-declaration-modifications.html_sec2
57
        var computedStyle = window.getComputedStyle(document.getElementById("test"));
58
        var computedStyle = window.getComputedStyle(document.getElementById("test"));
58
        assert_equals(computedStyle.getPropertyValue("margin-left"), "15px");
59
        assert_equals(computedStyle.getPropertyValue("margin-left"), "15px");
59
        assert_equals(computedStyle.getPropertyValue("padding-left"), "15px");
60
        assert_equals(computedStyle.getPropertyValue("padding-left"), "15px");
61
60
    }, "Calling CSSStyleDeclaration#setProperty");
62
    }, "Calling CSSStyleDeclaration#setProperty");
63
64
    test(function() {
65
        declaration.setProperty("background-color", "red", "ImPoRtAnt");
66
        assert_equals(declaration.getPropertyPriority("background-color"), "important");
67
    }, "setProperty priority should be case-insensitive");
68
61
 </script>
69
 </script>
62
 </body>
70
 </body>
63
</html>
71
</html>
- a/LayoutTests/imported/w3c/web-platform-tests/css/cssom/cssimportrule-parent-expected.txt +3 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/cssom/cssimportrule-parent-expected.txt_sec1
1
2
PASS @import stylesheet is properly unlinked from parent after removal 
3
- a/LayoutTests/imported/w3c/web-platform-tests/css/cssom/cssimportrule-parent.html +20 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/cssom/cssimportrule-parent.html_sec1
1
<!doctype html>
2
<title>CSSImportRule correctly unlinks its child stylesheet from its parent</title>
3
<link rel="author" title="Emilio Cobos Álvarez" href="mailto:emilio@crisal.io">
4
<script src="/resources/testharness.js"></script>
5
<script src="/resources/testharnessreport.js"></script>
6
<link rel="help" href="https://drafts.csswg.org/cssom/#the-cssimportrule-interface">
7
<style>
8
  @import "data:text/css,:root{background:red}";
9
</style>
10
<script>
11
let t = async_test("@import stylesheet is properly unlinked from parent after removal");
12
window.onload = t.step_func_done(function() {
13
  let sheet = document.styleSheets[0];
14
  let childSheet = sheet.cssRules[0].styleSheet;
15
  assert_not_equals(childSheet, null, "@import rule should have a stylesheet");
16
  assert_equals(childSheet.parentStyleSheet, sheet, "@import rule should the correct parent");
17
  sheet.deleteRule(0);
18
  assert_equals(childSheet.parentStyleSheet, null, "@import rule should be correctly unlinked");
19
});
20
</script>
- a/LayoutTests/imported/w3c/web-platform-tests/css/cssom/cssimportrule-sheet-identity-expected.txt +3 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/cssom/cssimportrule-sheet-identity-expected.txt_sec1
1
2
PASS CSSImportRule has different sheets even if referencing the same URL 
3
- a/LayoutTests/imported/w3c/web-platform-tests/css/cssom/cssimportrule-sheet-identity.html +24 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/cssom/cssimportrule-sheet-identity.html_sec1
1
<!doctype html>
2
<title>CSSImportRule has different sheets even if referencing the same URL</title>
3
<link rel="author" title="Emilio Cobos Álvarez" href="mailto:emilio@crisal.io">
4
<script src="/resources/testharness.js"></script>
5
<script src="/resources/testharnessreport.js"></script>
6
<link rel="help" href="https://drafts.csswg.org/cssom/#the-cssimportrule-interface">
7
<link rel="stylesheet" href="support/import-rule.css">
8
<link rel="stylesheet" href="support/import-rule.css">
9
<script>
10
let t = async_test("CSSImportRule has different sheets even if referencing the same URL");
11
window.onload = t.step_func_done(function() {
12
  let sheet1 = document.styleSheets[0];
13
  let sheet2 = document.styleSheets[1];
14
15
  assert_not_equals(sheet1, sheet2);
16
17
  let childSheet1 = sheet1.cssRules[0].styleSheet;
18
  let childSheet2 = sheet2.cssRules[0].styleSheet;
19
20
  assert_not_equals(childSheet1, null);
21
  assert_not_equals(childSheet2, null);
22
  assert_not_equals(childSheet1, childSheet2, "@import pointing to the same URL shouldn't point to the same StyleSheet object");
23
});
24
</script>
- a/LayoutTests/imported/w3c/web-platform-tests/css/cssom/cssom-fontfacerule-constructors.html -1 / +1 lines
Lines 3-9 a/LayoutTests/imported/w3c/web-platform-tests/css/cssom/cssom-fontfacerule-constructors.html_sec1
3
    <head>
3
    <head>
4
        <title>CSSOM Parsing Test: @font-face rules toString() as valid interfaces</title>
4
        <title>CSSOM Parsing Test: @font-face rules toString() as valid interfaces</title>
5
        <link rel="author" title="Paul Irish" href="mailto:paul.irish@gmail.com">
5
        <link rel="author" title="Paul Irish" href="mailto:paul.irish@gmail.com">
6
        <link rel="reviewer" title="Ms2ger" href="mailto:ms2ger@gmail.com"> <!--  2012-06-17  -->
6
        <link rel="reviewer" title="Ms2ger" href="mailto:ms2ger@gmail.com"> <!-- 2012-06-17 -->
7
        <link rel="help" href="https://drafts.csswg.org/css-fonts-4/#om-fontface">
7
        <link rel="help" href="https://drafts.csswg.org/css-fonts-4/#om-fontface">
8
8
9
        <meta name="flags" content="dom">
9
        <meta name="flags" content="dom">
- a/LayoutTests/imported/w3c/web-platform-tests/css/cssom/cssom-pagerule-expected.txt +8 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/cssom/cssom-pagerule-expected.txt_sec1
1
2
PASS Sanity checks 
3
FAIL Page selector is initially the empty string assert_equals: expected "" but got "@page"
4
FAIL Set selectorText to :left pseudo page assert_equals: expected ":left" but got "@page"
5
FAIL Set selectorText to named page assert_equals: expected "named" but got "@page named"
6
FAIL Set selectorText to named page with :first pseudo page assert_equals: expected "named:first" but got "@page named"
7
PASS Set selectorText to named page after rule was removed 
8
- a/LayoutTests/imported/w3c/web-platform-tests/css/cssom/cssom-pagerule.html +43 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/cssom/cssom-pagerule.html_sec1
1
<!DOCTYPE html>
2
<title>CSSOM: CSSPageRule tests</title>
3
<link rel="help" href="https://drafts.csswg.org/cssom/#the-csspagerule-interface" />
4
<script src="/resources/testharness.js"></script>
5
<script src="/resources/testharnessreport.js"></script>
6
<style>
7
  @page {}
8
</style>
9
<script>
10
  const sheet = document.styleSheets[0];
11
  const rule = sheet.cssRules[0];
12
13
  test(() => {
14
    assert_true(!!rule);
15
    assert_equals(rule.type, CSSRule.PAGE_RULE);
16
  }, "Sanity checks");
17
18
  test(() => {
19
    assert_equals(rule.selectorText, "");
20
  }, "Page selector is initially the empty string");
21
22
  test(() => {
23
    rule.selectorText = ":left";
24
    assert_equals(rule.selectorText, ":left");
25
  }, "Set selectorText to :left pseudo page");
26
27
  test(() => {
28
    rule.selectorText = "named";
29
    assert_equals(rule.selectorText, "named");
30
  }, "Set selectorText to named page");
31
32
  test(() => {
33
    rule.selectorText = "named:first";
34
    assert_equals(rule.selectorText, "named:first");
35
  }, "Set selectorText to named page with :first pseudo page");
36
37
  test(() => {
38
    assert_equals(rule.parentStyleSheet, sheet);
39
    sheet.deleteRule(0);
40
    assert_equals(rule.parentStyleSheet, null);
41
    rule.selectorText = "pagename";
42
  }, "Set selectorText to named page after rule was removed");
43
</script>
- a/LayoutTests/imported/w3c/web-platform-tests/css/cssom/cssstyledeclaration-csstext-expected.txt +1 lines
Lines 7-10 PASS cssText order a/LayoutTests/imported/w3c/web-platform-tests/css/cssom/cssstyledeclaration-csstext-expected.txt_sec1
7
PASS another cssText order (non-alphabetical order) 
7
PASS another cssText order (non-alphabetical order) 
8
PASS whitespaces in value 
8
PASS whitespaces in value 
9
PASS invalid property does not appear 
9
PASS invalid property does not appear 
10
FAIL cssText on computed style declaration returns the empty string assert_equals: cssText is empty expected "" but got "align-content: normal; align-items: normal; align-self: auto; alignment-baseline: auto; all: ; alt: \"\"; animation-delay: 0s; animation-direction: normal; animation-duration: 0s; animation-fill-mode: none; animation-iteration-count: 1; animation-name: none; animation-play-state: running; animation-timing-function: ease; background-attachment: scroll; background-blend-mode: normal; background-clip: border-box; background-color: rgba(0, 0, 0, 0); background-image: none; background-origin: padding-box; background-position-x: 0%; background-position-y: 0%; background-repeat: repeat; background-size: auto; baseline-shift: baseline; block-size: 0px; border-block-end-color: rgb(255, 0, 0); border-block-end-style: none; border-block-end-width: 0px; border-block-start-color: rgb(255, 0, 0); border-block-start-style: none; border-block-start-width: 0px; border-bottom-color: rgb(255, 0, 0); border-bottom-left-radius: 0px; border-bottom-right-radius: 0px; border-bottom-style: none; border-bottom-width: 0px; border-collapse: separate; border-image-outset: 0px; border-image-repeat: stretch; border-image-slice: 100%; border-image-source: none; border-image-width: 1; border-inline-end-color: rgb(255, 0, 0); border-inline-end-style: none; border-inline-end-width: 0px; border-inline-start-color: rgb(255, 0, 0); border-inline-start-style: none; border-inline-start-width: 0px; border-left-color: rgb(255, 0, 0); border-left-style: none; border-left-width: 0px; border-right-color: rgb(255, 0, 0); border-right-style: none; border-right-width: 0px; border-top-color: rgb(255, 0, 0); border-top-left-radius: 0px; border-top-right-radius: 0px; border-top-style: none; border-top-width: 0px; bottom: auto; box-shadow: none; box-sizing: content-box; break-after: auto; break-before: auto; break-inside: auto; buffered-rendering: auto; caption-side: top; caret-color: rgb(255, 0, 0); clear: none; clip: auto; clip-path: none; clip-rule: nonzero; color: rgb(255, 0, 0); color-interpolation: sRGB; color-interpolation-filters: linearRGB; color-rendering: auto; color-scheme: auto; column-count: auto; column-fill: balance; column-gap: normal; column-rule-color: rgb(255, 0, 0); column-rule-style: none; column-rule-width: 0px; column-span: none; column-width: auto; content: ; counter-increment: none; counter-reset: none; cursor: auto; cx: 0px; cy: 0px; direction: ltr; display: block; dominant-baseline: auto; empty-cells: show; fill: rgb(0, 0, 0); fill-opacity: 1; fill-rule: nonzero; filter: none; flex-basis: auto; flex-direction: row; flex-grow: 0; flex-shrink: 1; flex-wrap: nowrap; float: none; flood-color: rgb(0, 0, 0); flood-opacity: 1; font-family: -webkit-standard; font-feature-settings: normal; font-optical-sizing: auto; font-size: 13.333333015441895px; font-stretch: normal; font-style: normal; font-synthesis: style weight small-caps; font-variant-alternates: normal; font-variant-caps: normal; font-variant-east-asian: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-position: normal; font-variation-settings: normal; font-weight: normal; glyph-orientation-horizontal: 0deg; glyph-orientation-vertical: auto; grid-auto-columns: auto; grid-auto-flow: row; grid-auto-rows: auto; grid-column-end: auto; grid-column-start: auto; grid-row-end: auto; grid-row-start: auto; grid-template-areas: none; grid-template-columns: none; grid-template-rows: none; hanging-punctuation: none; height: 0px; image-orientation: from-image; image-rendering: auto; inline-size: 784px; inset-block-end: auto; inset-block-start: auto; inset-inline-end: auto; inset-inline-start: auto; isolation: auto; justify-content: normal; justify-items: normal; justify-self: auto; kerning: 0; left: auto; letter-spacing: normal; lighting-color: rgb(255, 255, 255); line-break: auto; line-height: normal; list-style-image: none; list-style-position: outside; list-style-type: disc; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; marker-end: none; marker-mid: none; marker-start: none; mask: none; mask-type: luminance; max-block-size: none; max-height: none; max-inline-size: none; max-width: none; min-block-size: 0px; min-height: 0px; min-inline-size: 0px; min-width: 0px; mix-blend-mode: normal; object-fit: fill; object-position: 50% 50%; opacity: 1; order: 0; orphans: auto; outline-color: rgb(255, 0, 0); outline-offset: 0px; outline-style: none; outline-width: 0px; overflow-wrap: normal; overflow-x: visible; overflow-y: visible; padding-block-end: 0px; padding-block-start: 0px; padding-bottom: 0px; padding-inline-end: 0px; padding-inline-start: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; page-break-after: auto; page-break-before: auto; page-break-inside: auto; paint-order: normal; perspective: none; perspective-origin-x: ; perspective-origin-y: ; pointer-events: auto; position: static; quotes: ; r: 0px; resize: none; right: auto; row-gap: normal; rx: auto; ry: auto; scroll-behavior: auto; scroll-padding-bottom: 0px; scroll-padding-left: 0px; scroll-padding-right: 0px; scroll-padding-top: 0px; scroll-snap-align: none none; scroll-snap-margin-bottom: 0px; scroll-snap-margin-left: 0px; scroll-snap-margin-right: 0px; scroll-snap-margin-top: 0px; scroll-snap-type: none; shape-image-threshold: 0; shape-margin: 0px; shape-outside: none; shape-rendering: auto; size: ; speak-as: normal; stop-color: rgb(0, 0, 0); stop-opacity: 1; stroke: none; stroke-color: rgba(0, 0, 0, 0); stroke-dasharray: none; stroke-dashoffset: 0px; stroke-linecap: butt; stroke-linejoin: miter; stroke-miterlimit: 4; stroke-opacity: 1; stroke-width: 1px; tab-size: 8; table-layout: auto; text-align: start; text-anchor: start; text-decoration: none; text-decoration-color: rgb(255, 0, 0); text-decoration-line: none; text-decoration-skip: auto; text-decoration-style: solid; text-decoration-thickness: auto; text-indent: 0px; text-orientation: mixed; text-overflow: clip; text-rendering: auto; text-shadow: none; text-transform: none; text-underline-offset: auto; text-underline-position: auto; top: auto; touch-action: auto; transform: none; transform-box: view-box; transform-origin-x: ; transform-origin-y: ; transform-origin-z: ; transform-style: flat; transition-delay: 0s; transition-duration: 0s; transition-property: all; transition-timing-function: ease; unicode-bidi: normal; vector-effect: none; vertical-align: baseline; visibility: visible; white-space: normal; widows: auto; width: 784px; will-change: auto; word-break: normal; word-spacing: 0px; word-wrap: normal; writing-mode: horizontal-tb; x: 0px; y: 0px; z-index: auto; zoom: 1; -apple-color-filter: none; -apple-pay-button-style: black; -apple-pay-button-type: plain; -apple-trailing-word: auto; -webkit-appearance: none; -webkit-aspect-ratio: auto; -webkit-backdrop-filter: none; -webkit-backface-visibility: visible; -webkit-background-clip: border-box; -webkit-background-composite: source-over; -webkit-background-origin: padding-box; -webkit-background-size: auto; -webkit-border-fit: border; -webkit-border-horizontal-spacing: 0px; -webkit-border-image: none; -webkit-border-vertical-spacing: 0px; -webkit-box-align: stretch; -webkit-box-decoration-break: slice; -webkit-box-direction: normal; -webkit-box-flex: 0; -webkit-box-flex-group: 1; -webkit-box-lines: single; -webkit-box-ordinal-group: 1; -webkit-box-orient: horizontal; -webkit-box-pack: start; -webkit-box-reflect: none; -webkit-box-shadow: none; -webkit-column-axis: auto; -webkit-column-break-after: auto; -webkit-column-break-before: auto; -webkit-column-break-inside: auto; -webkit-column-progression: normal; -webkit-cursor-visibility: auto; -webkit-font-kerning: auto; -webkit-font-smoothing: auto; -webkit-hyphenate-character: auto; -webkit-hyphenate-limit-after: auto; -webkit-hyphenate-limit-before: auto; -webkit-hyphenate-limit-lines: no-limit; -webkit-hyphens: manual; -webkit-initial-letter: normal; -webkit-line-align: none; -webkit-line-box-contain: block inline replaced; -webkit-line-clamp: none; -webkit-line-grid: none; -webkit-line-snap: none; -webkit-locale: auto; -webkit-margin-after-collapse: collapse; -webkit-margin-before-collapse: collapse; -webkit-margin-bottom-collapse: collapse; -webkit-margin-top-collapse: collapse; -webkit-mask-box-image: none; -webkit-mask-box-image-outset: 0px; -webkit-mask-box-image-repeat: stretch; -webkit-mask-box-image-slice: 0 fill; -webkit-mask-box-image-source: none; -webkit-mask-box-image-width: auto; -webkit-mask-clip: border-box; -webkit-mask-composite: source-over; -webkit-mask-image: none; -webkit-mask-origin: border-box; -webkit-mask-position-x: 0%; -webkit-mask-position-y: 0%; -webkit-mask-repeat: repeat; -webkit-mask-size: auto; -webkit-mask-source-type: alpha; -webkit-nbsp-mode: normal; -webkit-print-color-adjust: economy; -webkit-rtl-ordering: logical; -webkit-ruby-position: before; -webkit-text-combine: none; -webkit-text-emphasis-color: rgb(255, 0, 0); -webkit-text-emphasis-position: over right; -webkit-text-emphasis-style: none; -webkit-text-fill-color: rgb(255, 0, 0); -webkit-text-orientation: mixed; -webkit-text-security: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-color: rgb(255, 0, 0); -webkit-text-stroke-width: 0px; -webkit-text-zoom: normal; -webkit-transform-style: flat; -webkit-user-drag: auto; -webkit-user-modify: read-only; -webkit-user-select: text;"
10
11
- a/LayoutTests/imported/w3c/web-platform-tests/css/cssom/cssstyledeclaration-csstext.html -1 / +13 lines
Lines 3-9 a/LayoutTests/imported/w3c/web-platform-tests/css/cssom/cssstyledeclaration-csstext.html_sec1
3
    <head>
3
    <head>
4
        <title>CSSOM Test: CSSStyleDeclaration.cssText Test</title>
4
        <title>CSSOM Test: CSSStyleDeclaration.cssText Test</title>
5
        <link rel="author" title="kkoichi" href="mailto:coarse.ground@gmail.com">
5
        <link rel="author" title="kkoichi" href="mailto:coarse.ground@gmail.com">
6
        <link rel="reviewer" title="Simon Pieters" href="mailto:simonp@opera.com"><!--  06-27-2013  -->
6
        <link rel="reviewer" title="Simon Pieters" href="mailto:simonp@opera.com"><!-- 06-27-2013 -->
7
        <link rel="help" href="https://drafts.csswg.org/cssom-1/#dom-cssstyledeclaration-csstext">
7
        <link rel="help" href="https://drafts.csswg.org/cssom-1/#dom-cssstyledeclaration-csstext">
8
        <meta name="assert" content="CSS declarations is serialized as expected">
8
        <meta name="assert" content="CSS declarations is serialized as expected">
9
        <meta name="flags" content="dom">
9
        <meta name="flags" content="dom">
Lines 97-102 a/LayoutTests/imported/w3c/web-platform-tests/css/cssom/cssstyledeclaration-csstext.html_sec2
97
97
98
        }, 'invalid property does not appear');
98
        }, 'invalid property does not appear');
99
99
100
        // https://github.com/w3c/csswg-drafts/issues/1033
101
        test(function() {
102
            var elm = newElm();
103
            var style = elm.style;
104
105
            style.color = 'red';
106
            style.unknown = 'unknown';
107
            style.fontSize = '10pt';
108
109
            assert_not_equals(getComputedStyle(elm).length, 0, "Should have a style");
110
            assert_equals(getComputedStyle(elm).cssText, "", "cssText is empty");
111
        }, 'cssText on computed style declaration returns the empty string');
100
    </script>
112
    </script>
101
    </body>
113
    </body>
102
</html>
114
</html>
- a/LayoutTests/imported/w3c/web-platform-tests/css/cssom/cssstyledeclaration-custom-properties-expected.txt +3 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/cssom/cssstyledeclaration-custom-properties-expected.txt_sec1
1
2
PASS Custom properties are included in computed style 
3
- a/LayoutTests/imported/w3c/web-platform-tests/css/cssom/cssstyledeclaration-custom-properties.html +19 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/cssom/cssstyledeclaration-custom-properties.html_sec1
1
<!doctype html>
2
<title>CSS Test: computed style declaration includes custom properties.</title>
3
<link rel="author" href="mailto:emilio@crisal.io" title="Emilio Cobos Álvarez">
4
<link rel="author" href="https://mozilla.org" title="Mozilla">
5
<link rel="help" href="https://drafts.csswg.org/cssom/#dom-window-getcomputedstyle">
6
<link rel="help" href="https://github.com/w3c/csswg-drafts/issues/1316">
7
<script src="/resources/testharness.js"></script>
8
<script src="/resources/testharnessreport.js"></script>
9
<div style="--foo:bar"></div>
10
<div></div>
11
<script>
12
  test(function() {
13
    let withCustom = getComputedStyle(document.querySelector("div"));
14
    let withoutCustom = getComputedStyle(document.querySelector("div + div"));
15
    assert_equals(withCustom.getPropertyValue("--foo"), "bar", "Should be returned from getPropertyValue");
16
    assert_equals(withCustom.length, withoutCustom.length + 1, "Should show up in .length");
17
    assert_equals(withCustom[withCustom.length - 1], "--foo", "Should be after all the non-custom properties");
18
  }, "Custom properties are included in computed style");
19
</script>
- a/LayoutTests/imported/w3c/web-platform-tests/css/cssom/cssstyledeclaration-mutability.html -2 / +2 lines
Lines 3-9 a/LayoutTests/imported/w3c/web-platform-tests/css/cssom/cssstyledeclaration-mutability.html_sec1
3
    <head>
3
    <head>
4
        <title>CSSOM: CSSStyleDeclaration is mutable and immutable in various settings</title>
4
        <title>CSSOM: CSSStyleDeclaration is mutable and immutable in various settings</title>
5
        <link rel="author" title="Paul Irish" href="mailto:paul.irish@gmail.com">
5
        <link rel="author" title="Paul Irish" href="mailto:paul.irish@gmail.com">
6
        <link rel="reviewer" title="Ms2ger" href="mailto:ms2ger@gmail.com"> <!--  2012-06-17  -->
6
        <link rel="reviewer" title="Ms2ger" href="mailto:ms2ger@gmail.com"> <!-- 2012-06-17 -->
7
        <link rel="help" href="http://www.w3.org/TR/cssom-1/#the-cssstyledeclaration-interface">
7
        <link rel="help" href="http://www.w3.org/TR/cssom-1/#the-cssstyledeclaration-interface">
8
8
9
        <meta name="flags" content="dom">
9
        <meta name="flags" content="dom">
Lines 39-45 a/LayoutTests/imported/w3c/web-platform-tests/css/cssom/cssstyledeclaration-mutability.html_sec2
39
                var elem = document.getElementById('box');
39
                var elem = document.getElementById('box');
40
                var style = getComputedStyle(elem, 'width');
40
                var style = getComputedStyle(elem, 'width');
41
41
42
                assert_throws('NO_MODIFICATION_ALLOWED_ERR', function(){
42
                assert_throws_dom('NO_MODIFICATION_ALLOWED_ERR', function(){
43
                    style.width = '10px';
43
                    style.width = '10px';
44
                });
44
                });
45
45
- a/LayoutTests/imported/w3c/web-platform-tests/css/cssom/cssstyledeclaration-mutationrecord-001-expected.txt -3 / +1 lines
Lines 1-5 a/LayoutTests/imported/w3c/web-platform-tests/css/cssom/cssstyledeclaration-mutationrecord-001-expected.txt_sec1
1
1
2
Harness Error (TIMEOUT), message = null
2
PASS CSSStyleDeclaration.setPropertyValue queues a mutation record when serialization is changed 
3
4
NOTRUN CSSStyleDeclaration.setPropertyValue queues a mutation record, even if not mutated 
5
3
- a/LayoutTests/imported/w3c/web-platform-tests/css/cssom/cssstyledeclaration-mutationrecord-001.html -3 / +3 lines
Lines 1-6 a/LayoutTests/imported/w3c/web-platform-tests/css/cssom/cssstyledeclaration-mutationrecord-001.html_sec1
1
<!doctype html>
1
<!doctype html>
2
<meta charset="utf-8">
2
<meta charset="utf-8">
3
<title>CSSOM: CSSStyleDeclaration.setPropertyValue queues a mutation record when not actually mutated</title>
3
<title>CSSOM: CSSStyleDeclaration.setPropertyValue queues a mutation record when changed</title>
4
<link rel="help" href="https://drafts.csswg.org/cssom/#dom-cssstyledeclaration-setpropertyvalue">
4
<link rel="help" href="https://drafts.csswg.org/cssom/#dom-cssstyledeclaration-setpropertyvalue">
5
<link rel="help" href="https://drafts.csswg.org/cssom/#update-style-attribute-for">
5
<link rel="help" href="https://drafts.csswg.org/cssom/#update-style-attribute-for">
6
<link rel="author" title="Emilio Cobos Álvarez" href="mailto:emilio@crisal.io">
6
<link rel="author" title="Emilio Cobos Álvarez" href="mailto:emilio@crisal.io">
Lines 9-20 a/LayoutTests/imported/w3c/web-platform-tests/css/cssom/cssstyledeclaration-mutationrecord-001.html_sec2
9
<script>
9
<script>
10
  document.documentElement.style.top = "0px";
10
  document.documentElement.style.top = "0px";
11
11
12
  let test = async_test("CSSStyleDeclaration.setPropertyValue queues a mutation record, even if not mutated");
12
  let test = async_test("CSSStyleDeclaration.setPropertyValue queues a mutation record when serialization is changed");
13
  let m = new MutationObserver(function(r) {
13
  let m = new MutationObserver(function(r) {
14
    assert_equals(r.length, 1);
14
    assert_equals(r.length, 1);
15
    test.done();
15
    test.done();
16
  });
16
  });
17
17
18
  m.observe(document.documentElement,  { attributes: true });
18
  m.observe(document.documentElement,  { attributes: true });
19
  document.documentElement.style.top = "0px";
19
  document.documentElement.style.top = "1px";
20
</script>
20
</script>
- a/LayoutTests/imported/w3c/web-platform-tests/css/cssom/cssstyledeclaration-mutationrecord-002.html -1 / +1 lines
Lines 1-7 a/LayoutTests/imported/w3c/web-platform-tests/css/cssom/cssstyledeclaration-mutationrecord-002.html_sec1
1
<!doctype html>
1
<!doctype html>
2
<meta charset="utf-8">
2
<meta charset="utf-8">
3
<title>CSSOM: CSSStyleDeclaration.setPropertyValue doesn't queue a mutation record for invalid values</title>
3
<title>CSSOM: CSSStyleDeclaration.setPropertyValue doesn't queue a mutation record for invalid values</title>
4
<link rel="help" href="https://drafts.csswg.org/cssom/#dom-cssstyledeclaration-setpropertyvalue">
4
<link rel="help" href="https://drafts.csswg.org/cssom/#dom-cssstyledeclaration-setproperty">
5
<link rel="author" title="Emilio Cobos Álvarez" href="mailto:emilio@crisal.io">
5
<link rel="author" title="Emilio Cobos Álvarez" href="mailto:emilio@crisal.io">
6
<script src=/resources/testharness.js></script>
6
<script src=/resources/testharness.js></script>
7
<script src=/resources/testharnessreport.js></script>
7
<script src=/resources/testharnessreport.js></script>
- a/LayoutTests/imported/w3c/web-platform-tests/css/cssom/cssstyledeclaration-mutationrecord-005-expected.txt +3 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/cssom/cssstyledeclaration-mutationrecord-005-expected.txt_sec1
1
2
PASS CSSStyleDeclaration.setPropertyValue doesn't queue a mutation record when setting invalid values 
3
- a/LayoutTests/imported/w3c/web-platform-tests/css/cssom/cssstyledeclaration-mutationrecord-005.html +16 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/cssom/cssstyledeclaration-mutationrecord-005.html_sec1
1
<!doctype html>
2
<html style="color: inherit">
3
<meta charset="utf-8">
4
<title>CSSOM: CSSStyleDeclaration.setPropertyValue doesn't queue a mutation record for invalid values</title>
5
<link rel="help" href="https://drafts.csswg.org/cssom/#dom-cssstyledeclaration-setproperty">
6
<link rel="author" title="Emilio Cobos Álvarez" href="mailto:emilio@crisal.io">
7
<script src=/resources/testharness.js></script>
8
<script src=/resources/testharnessreport.js></script>
9
<script>
10
  let test = async_test("CSSStyleDeclaration.setPropertyValue doesn't queue a mutation record when setting invalid values");
11
  let m = new MutationObserver(test.unreached_func("shouldn't queue a mutation record"));
12
  m.observe(document.documentElement,  { attributes: true });
13
14
  document.documentElement.style.width = "-100px";
15
  requestAnimationFrame(() => test.done());
16
</script>
- a/LayoutTests/imported/w3c/web-platform-tests/css/cssom/cssstyledeclaration-properties-expected.txt +3 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/cssom/cssstyledeclaration-properties-expected.txt_sec1
1
2
FAIL CSS Test: CSSStyleDeclaration properties are defined as WebIDL attributes, not using getOwnPropertyNames() assert_false: shouldn't have an own property for WebIDL attributes expected false got true
3
- a/LayoutTests/imported/w3c/web-platform-tests/css/cssom/cssstyledeclaration-properties.html +15 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/cssom/cssstyledeclaration-properties.html_sec1
1
<!doctype html>
2
<title>CSS Test: CSSStyleDeclaration properties are defined as WebIDL attributes, not using getOwnPropertyNames()</title>
3
<link rel="author" href="mailto:emilio@crisal.io" title="Emilio Cobos Álvarez">
4
<link rel="author" href="https://mozilla.org" title="Mozilla">
5
<link rel="help" href="https://drafts.csswg.org/cssom/#dom-cssstyledeclaration-_camel_cased_attribute">
6
<script src="/resources/testharness.js"></script>
7
<script src="/resources/testharnessreport.js"></script>
8
<script>
9
  test(function() {
10
    let declaration = document.documentElement.style;
11
    assert_true(declaration instanceof CSSStyleDeclaration, "Should be a CSStyleDeclaration");
12
    assert_true("color" in declaration, "Should support the color property");
13
    assert_false(declaration.hasOwnProperty("color"), "shouldn't have an own property for WebIDL attributes");
14
  });
15
</script>
- a/LayoutTests/imported/w3c/web-platform-tests/css/cssom/cssstyledeclaration-setter-attr-expected.txt +4 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/cssom/cssstyledeclaration-setter-attr-expected.txt_sec1
1
2
PASS Setting an invalid property via the declaration setter doesn't create a declaration 
3
PASS Setting an invalid value via the declaration setter doesn't create a declaration 
4
- a/LayoutTests/imported/w3c/web-platform-tests/css/cssom/cssstyledeclaration-setter-attr.html +18 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/cssom/cssstyledeclaration-setter-attr.html_sec1
1
<!doctype html>
2
<title>CSSOM test: declaration block after setting via CSSOM</title>
3
<link rel="help" href="https://drafts.csswg.org/cssom/#dom-cssstyledeclaration-setproperty">
4
<script src="/resources/testharness.js"></script>
5
<script src="/resources/testharnessreport.js"></script>
6
<link rel="author" title="Emilio Cobos Álvarez" href="mailto:emilio@crisal.io">
7
<script>
8
test(function() {
9
  let element = document.createElement("div");
10
  element.style.setProperty("doesntexist", "0");
11
  assert_false(element.hasAttribute("style"));
12
}, "Setting an invalid property via the declaration setter doesn't create a declaration");
13
test(function() {
14
  let element = document.createElement("div");
15
  element.style.setProperty("width", "-100");
16
  assert_false(element.hasAttribute("style"));
17
}, "Setting an invalid value via the declaration setter doesn't create a declaration");
18
</script>
- a/LayoutTests/imported/w3c/web-platform-tests/css/cssom/cssstyledeclaration-setter-declarations-expected.txt +6 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/cssom/cssstyledeclaration-setter-declarations-expected.txt_sec1
1
2
PASS setProperty with longhand should update only the declaration being set 
3
PASS property setter should update only the declaration being set 
4
PASS setProperty with shorthand should update only the declarations being set 
5
PASS longhand property setter should update only the decoarations being set 
6
- a/LayoutTests/imported/w3c/web-platform-tests/css/cssom/cssstyledeclaration-setter-declarations.html +160 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/cssom/cssstyledeclaration-setter-declarations.html_sec1
1
<!DOCTYPE html>
2
<title>CSSOM test: declaration block after setting via CSSOM</title>
3
<link rel="help" href="https://drafts.csswg.org/cssom/#set-a-css-declaration-value">
4
<script src="/resources/testharness.js"></script>
5
<script src="/resources/testharnessreport.js"></script>
6
<div id="log"></div>
7
<script>
8
  function generateCSSDeclBlock(props) {
9
    let elem = document.createElement("div");
10
    let cssText = props.map(({name, value, priority}) => {
11
      let longhand = `${name}: ${value}`;
12
      if (priority) {
13
        longhand += "!" + priority;
14
      }
15
      return longhand + ";";
16
    }).join(" ");
17
    elem.setAttribute("style", cssText);
18
    return elem.style;
19
  }
20
  function compareByName(a, b) {
21
    if (a.name < b.name) return -1;
22
    if (a.name > b.name) return 1;
23
    return 0;
24
  }
25
  function checkDeclarationsAnyOrder(block, props, msg) {
26
    let actual = [];
27
    for (let name of block) {
28
      let value = block.getPropertyValue(name);
29
      let priority = block.getPropertyPriority(name);
30
      actual.push({name, value, priority});
31
    }
32
    actual.sort(compareByName);
33
    let expected = Array.from(props);
34
    expected.sort(compareByName);
35
    assert_object_equals(actual, expected, "Declaration block content should match " + msg);
36
  }
37
  function longhand(name, value, priority="") {
38
    return {name, value, priority};
39
  }
40
  function* shorthand(name, value, priority="") {
41
    for (let subprop of SUBPROPS[name]) {
42
      yield longhand(subprop, value, priority);
43
    }
44
  }
45
46
  const SUBPROPS = {
47
    "margin": ["margin-top", "margin-right", "margin-bottom", "margin-left"],
48
    "padding": ["padding-top", "padding-right", "padding-bottom", "padding-left"],
49
  };
50
51
  test(function() {
52
    let expectedDecls = [
53
      longhand("top", "1px"),
54
      longhand("bottom", "2px"),
55
      longhand("left", "3px", "important"),
56
      longhand("right", "4px"),
57
    ];
58
    let block = generateCSSDeclBlock(expectedDecls);
59
    checkDeclarationsAnyOrder(block, expectedDecls, "in initial block");
60
61
    block.setProperty("top", "5px", "important");
62
    expectedDecls[0] = longhand("top", "5px", "important");
63
    checkDeclarationsAnyOrder(block, expectedDecls, "after setting existing property");
64
65
    block.setProperty("bottom", "2px");
66
    checkDeclarationsAnyOrder(block, expectedDecls, "after setting existing property with identical value");
67
68
    block.setProperty("left", "3px");
69
    expectedDecls[2].priority = "";
70
    checkDeclarationsAnyOrder(block, expectedDecls, "after setting existing property with different priority");
71
72
    block.setProperty("float", "none");
73
    expectedDecls.push(longhand("float", "none"));
74
    checkDeclarationsAnyOrder(block, expectedDecls, "after setting non-existing property");
75
  }, "setProperty with longhand should update only the declaration being set");
76
77
  test(function() {
78
    let expectedDecls = [
79
      longhand("top", "1px"),
80
      longhand("bottom", "2px"),
81
      longhand("left", "3px", "important"),
82
      longhand("right", "4px"),
83
    ];
84
    let block = generateCSSDeclBlock(expectedDecls);
85
    checkDeclarationsAnyOrder(block, expectedDecls, "in initial block");
86
87
    block.top = "5px";
88
    expectedDecls[0] = longhand("top", "5px");
89
    checkDeclarationsAnyOrder(block, expectedDecls, "after setting existing property");
90
91
    block.bottom = "2px";
92
    checkDeclarationsAnyOrder(block, expectedDecls, "after setting existing property with identical value");
93
94
    block.left = "3px";
95
    expectedDecls[2].priority = "";
96
    checkDeclarationsAnyOrder(block, expectedDecls, "after setting existing property with different priority");
97
98
    block.float = "none";
99
    expectedDecls.push(longhand("float", "none"));
100
    checkDeclarationsAnyOrder(block, expectedDecls, "after setting non-existing property");
101
  }, "property setter should update only the declaration being set");
102
103
  test(function() {
104
    let expectedDecls = [
105
      ...shorthand("margin", "1px"),
106
      longhand("top", "2px"),
107
      ...shorthand("padding", "3px", "important"),
108
    ];
109
    let block = generateCSSDeclBlock(expectedDecls);
110
    checkDeclarationsAnyOrder(block, expectedDecls, "in initial block");
111
112
    block.setProperty("margin", "4px");
113
    for (let i = 0; i < 4; i++) {
114
      expectedDecls[i].value = "4px";
115
    }
116
    checkDeclarationsAnyOrder(block, expectedDecls, "after setting an existing shorthand");
117
118
    block.setProperty("margin", "4px");
119
    checkDeclarationsAnyOrder(block, expectedDecls, "after setting an existing shorthand with identical value");
120
121
    block.setProperty("padding", "3px");
122
    for (let i = 5; i < 9; i++) {
123
      expectedDecls[i].priority = "";
124
    }
125
    checkDeclarationsAnyOrder(block, expectedDecls, "after setting an existing shorthand with different priority");
126
127
    block.setProperty("margin-bottom", "5px", "important");
128
    expectedDecls[2] = longhand("margin-bottom", "5px", "important");
129
    checkDeclarationsAnyOrder(block, expectedDecls, "after setting a longhand in an existing shorthand");
130
  }, "setProperty with shorthand should update only the declarations being set");
131
132
  test(function() {
133
    let expectedDecls = [
134
      ...shorthand("margin", "1px"),
135
      longhand("top", "2px"),
136
      ...shorthand("padding", "3px", "important"),
137
    ];
138
    let block = generateCSSDeclBlock(expectedDecls);
139
    checkDeclarationsAnyOrder(block, expectedDecls, "in initial block");
140
141
    block.margin = "4px";
142
    for (let i = 0; i < 4; i++) {
143
      expectedDecls[i].value = "4px";
144
    }
145
    checkDeclarationsAnyOrder(block, expectedDecls, "after setting an existing shorthand");
146
147
    block.margin = "4px";
148
    checkDeclarationsAnyOrder(block, expectedDecls, "after setting an existing shorthand with identical value");
149
150
    block.padding = "3px";
151
    for (let i = 5; i < 9; i++) {
152
      expectedDecls[i].priority = "";
153
    }
154
    checkDeclarationsAnyOrder(block, expectedDecls, "after setting an existing shorthand with different priority");
155
156
    block.marginBottom = "5px";
157
    expectedDecls[2] = longhand("margin-bottom", "5px");
158
    checkDeclarationsAnyOrder(block, expectedDecls, "after setting a longhand in an existing shorthand");
159
  }, "longhand property setter should update only the decoarations being set");
160
</script>
- a/LayoutTests/imported/w3c/web-platform-tests/css/cssom/cssstyledeclaration-setter-form-controls-expected.txt +13 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/cssom/cssstyledeclaration-setter-form-controls-expected.txt_sec1
1
Historically, the Apple Safari web browser has added an "intrinsic margin" to form controls which do not specify a `height`. It removed this margin following modification of the `height`. This non-standard behavior was identified as a source of confusion for web developers.
2
3
4
5
FAIL text input element assert_array_equals: expected property 0 to be "2px" but got "0px" (expected array ["2px", "2px"] got ["0px", "0px"])
6
FAIL button input element assert_array_equals: expected property 0 to be "2px" but got "0px" (expected array ["2px", "2px"] got ["0px", "0px"])
7
FAIL submit input element assert_array_equals: expected property 0 to be "2px" but got "0px" (expected array ["2px", "2px"] got ["0px", "0px"])
8
PASS radio input element 
9
PASS checkbox input element 
10
FAIL textarea element assert_array_equals: expected property 0 to be "2px" but got "0px" (expected array ["2px", "2px"] got ["0px", "0px"])
11
FAIL select element assert_array_equals: expected property 0 to be "2px" but got "0px" (expected array ["2px", "2px"] got ["0px", "0px"])
12
FAIL button element assert_array_equals: expected property 0 to be "2px" but got "0px" (expected array ["2px", "2px"] got ["0px", "0px"])
13
- a/LayoutTests/imported/w3c/web-platform-tests/css/cssom/cssstyledeclaration-setter-form-controls.html +103 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/cssom/cssstyledeclaration-setter-form-controls.html_sec1
1
<!doctype html>
2
<title>CSSOM test: no side effects from setting "height"</title>
3
<link rel="help" href="https://drafts.csswg.org/cssom/#dom-cssstyledeclaration-setproperty">
4
<link rel="help" href="https://bugs.webkit.org/show_bug.cgi?id=107380">
5
<script src="/resources/testharness.js"></script>
6
<script src="/resources/testharnessreport.js"></script>
7
8
<p>
9
Historically, the Apple Safari web browser has added an "intrinsic margin" to
10
form controls which do not specify a `height`. It removed this margin following
11
modification of the `height`. <a
12
href="https://bugs.webkit.org/show_bug.cgi?id=107380">This non-standard
13
behavior was identified as a source of confusion for web developers.</a>
14
</p>
15
16
<script>
17
function makeElement(tagName) {
18
  var element = document.createElement(tagName);
19
  document.body.appendChild(element);
20
  return element;
21
}
22
function makeInputElement(type) {
23
  var element = makeElement('input');
24
  element.setAttribute('type', type);
25
  return element;
26
}
27
function measure(element) {
28
  var computed = getComputedStyle(element);
29
  return [computed.marginTop, computed.marginBottom];
30
}
31
32
test(function() {
33
  var element = makeInputElement('text');
34
  var initial = measure(element);
35
36
  element.style.setProperty('height', '12px');
37
38
  assert_array_equals(measure(element), initial);
39
}, 'text input element');
40
41
test(function() {
42
  var element = makeInputElement('button');
43
  var initial = measure(element);
44
45
  element.style.setProperty('height', '12px');
46
47
  assert_array_equals(measure(element), initial);
48
}, 'button input element');
49
50
test(function() {
51
  var element = makeInputElement('submit');
52
  var initial = measure(element);
53
54
  element.style.setProperty('height', '12px');
55
56
  assert_array_equals(measure(element), initial);
57
}, 'submit input element');
58
59
test(function() {
60
  var element = makeInputElement('radio');
61
  var initial = measure(element);
62
63
  element.style.setProperty('height', '12px');
64
65
  assert_array_equals(measure(element), initial);
66
}, 'radio input element');
67
68
test(function() {
69
  var element = makeInputElement('checkbox');
70
  var initial = measure(element);
71
72
  element.style.setProperty('height', '12px');
73
74
  assert_array_equals(measure(element), initial);
75
}, 'checkbox input element');
76
77
test(function() {
78
  var element = makeElement('textarea');
79
  var initial = measure(element);
80
81
  element.style.setProperty('height', '12px');
82
83
  assert_array_equals(measure(element), initial);
84
}, 'textarea element');
85
86
test(function() {
87
  var element = makeElement('select');
88
  var initial = measure(element);
89
90
  element.style.setProperty('height', '12px');
91
92
  assert_array_equals(measure(element), initial);
93
}, 'select element');
94
95
test(function() {
96
  var element = makeElement('button')
97
  var initial = measure(element);
98
99
  element.style.setProperty('height', '12px');
100
101
  assert_array_equals(measure(element), initial);
102
}, 'button element');
103
</script>
- a/LayoutTests/imported/w3c/web-platform-tests/css/cssom/cssstyledeclaration-setter-logical-expected.txt +3 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/cssom/cssstyledeclaration-setter-logical-expected.txt_sec1
1
2
FAIL newly set declaration should be after all declarations in the same logical property group but have different logical kind assert_less_than: padding-top should be after padding-block-start after setting padding-top expected a number less than 0 but got 4
3
- a/LayoutTests/imported/w3c/web-platform-tests/css/cssom/cssstyledeclaration-setter-logical.html +73 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/cssom/cssstyledeclaration-setter-logical.html_sec1
1
<!DOCTYPE html>
2
<title>CSSOM test: declaration block after setting via CSSOM</title>
3
<link rel="help" href="https://drafts.csswg.org/cssom/#set-a-css-declaration-value">
4
<script src="/resources/testharness.js"></script>
5
<script src="/resources/testharnessreport.js"></script>
6
<div id="log"></div>
7
<div id="test"></div>
8
<script>
9
  test(function() {
10
    const PHYSICAL_PROPS = ["padding-top", "padding-right",
11
                            "padding-bottom", "padding-left"];
12
    const LOGICAL_PROPS = ["padding-block-start", "padding-block-end",
13
                           "padding-inline-start", "padding-inline-end"];
14
    let elem = document.getElementById("test");
15
    let decls = new Map;
16
17
    {
18
      let css = []
19
      let i = 0;
20
      for (let name of [...PHYSICAL_PROPS, ...LOGICAL_PROPS]) {
21
        let value = `${i++}px`;
22
        css.push(`${name}: ${value};`);
23
        decls.set(name, value);
24
      }
25
      elem.setAttribute("style", css.join(" "));
26
    }
27
28
    let style = elem.style;
29
    function indexOfProperty(prop) {
30
      return Array.prototype.indexOf.apply(style, [prop]);
31
    }
32
    function assertPropAfterProps(prop, props, msg) {
33
      let index = indexOfProperty(prop);
34
      for (let p of props) {
35
        assert_less_than(indexOfProperty(p), index, `${prop} should be after ${p} ${msg}`);
36
      }
37
    }
38
    // We are not changing any value in this test, just order.
39
    function assertValueUnchanged() {
40
      for (let [name, value] of decls.entries()) {
41
        assert_equals(style.getPropertyValue(name), value,
42
                      `value of ${name} shouldn't be changed`);
43
      }
44
    }
45
46
    assertValueUnchanged();
47
    // Check that logical properties are all after physical properties
48
    // at the beginning.
49
    for (let p of LOGICAL_PROPS) {
50
      assertPropAfterProps(p, PHYSICAL_PROPS, "initially");
51
    }
52
53
    // Try setting a longhand.
54
    style.setProperty("padding-top", "0px");
55
    assertValueUnchanged();
56
    // Check that padding-top is after logical properties, but other
57
    // physical properties are still before logical properties.
58
    assertPropAfterProps("padding-top", LOGICAL_PROPS, "after setting padding-top");
59
    for (let p of LOGICAL_PROPS) {
60
      assertPropAfterProps(p, PHYSICAL_PROPS.filter(prop => prop != "padding-top"),
61
                           "after setting padding-top");
62
    }
63
64
    // Try setting a shorthand.
65
    style.setProperty("padding", "0px 1px 2px 3px");
66
    assertValueUnchanged();
67
    // Check that all physical properties are now after logical properties.
68
    for (let p of PHYSICAL_PROPS) {
69
      assertPropAfterProps(p, LOGICAL_PROPS, "after setting padding shorthand");
70
    }
71
  }, "newly set declaration should be after all declarations " +
72
  "in the same logical property group but have different logical kind");
73
</script>
- a/LayoutTests/imported/w3c/web-platform-tests/css/cssom/cssstyledeclaration-setter-order-expected.txt -6 lines
Lines 1-6 a/LayoutTests/imported/w3c/web-platform-tests/css/cssom/cssstyledeclaration-setter-order-expected.txt_sec1
1
2
FAIL setProperty with existing longhand should change order assert_array_equals: Property order should match after setting existing property expected property 0 to be "bottom" but got "top" (expected array ["bottom", "left", "right", "top"] got ["top", "bottom", "left", "right"])
3
FAIL invoke property setter with existing longhand should change order assert_array_equals: Property order should match after setting existing property expected property 0 to be "bottom" but got "top" (expected array ["bottom", "left", "right", "top"] got ["top", "bottom", "left", "right"])
4
FAIL setProperty with existing shorthand should change order assert_array_equals: Property order should match after setting an existing shorthand expected property 0 to be "top" but got "margin-top" (expected array ["top", "padding-top", "padding-right", "padding-bottom", "padding-left", "margin-top", "margin-right", "margin-bottom", "margin-left"] got ["margin-top", "margin-right", "margin-bottom", "margin-left", "top", "padding-top", "padding-right", "padding-bottom", "padding-left"])
5
FAIL invoke property setter with existing shorthand should change order assert_array_equals: Property order should match after setting an existing shorthand expected property 0 to be "top" but got "margin-top" (expected array ["top", "padding-top", "padding-right", "padding-bottom", "padding-left", "margin-top", "margin-right", "margin-bottom", "margin-left"] got ["margin-top", "margin-right", "margin-bottom", "margin-left", "top", "padding-top", "padding-right", "padding-bottom", "padding-left"])
6
- a/LayoutTests/imported/w3c/web-platform-tests/css/cssom/cssstyledeclaration-setter-order.html -108 lines
Lines 1-108 a/LayoutTests/imported/w3c/web-platform-tests/css/cssom/cssstyledeclaration-setter-order.html_sec1
1
<!DOCTYPE html>
2
<title>CSSOM test: order of declarations after setting via CSSOM</title>
3
<link rel="help" href="https://drafts.csswg.org/cssom/#set-a-css-declaration-value">
4
<script src="/resources/testharness.js"></script>
5
<script src="/resources/testharnessreport.js"></script>
6
<div id="log"></div>
7
<script>
8
  function generateCSSDeclBlock(props) {
9
    let elem = document.createElement("div");
10
    let cssText = props.map(([prop, value]) => `${prop}: ${value};`).join(" ");
11
    elem.setAttribute("style", cssText);
12
    return elem.style;
13
  }
14
  function checkOrder(block, props, msg) {
15
    assert_array_equals(Array.from(block), props, `Property order should match ${msg}`);
16
  }
17
  function arrayWithItemsAtEnd(array, items) {
18
    let result = array.filter(item => !items.includes(item));
19
    return result.concat(items);
20
  }
21
22
  const SUBPROPS = {
23
    "margin": ["margin-top", "margin-right", "margin-bottom", "margin-left"],
24
    "padding": ["padding-top", "padding-right", "padding-bottom", "padding-left"],
25
  };
26
27
  test(function() {
28
    let block = generateCSSDeclBlock([
29
      ["top", "1px"],
30
      ["bottom", "2px"],
31
      ["left", "3px"],
32
      ["right", "4px"],
33
    ]);
34
    let expectedOrder = ["top", "bottom", "left", "right"];
35
    checkOrder(block, expectedOrder, "in initial block");
36
37
    block.setProperty("top", "5px");
38
    expectedOrder = arrayWithItemsAtEnd(expectedOrder, ["top"]);
39
    checkOrder(block, expectedOrder, "after setting existing property");
40
41
    block.setProperty("bottom", "2px");
42
    expectedOrder = arrayWithItemsAtEnd(expectedOrder, ["bottom"]);
43
    checkOrder(block, expectedOrder, "after setting existing property with identical value");
44
  }, "setProperty with existing longhand should change order");
45
46
  test(function() {
47
    let block = generateCSSDeclBlock([
48
      ["top", "1px"],
49
      ["bottom", "2px"],
50
      ["left", "3px"],
51
      ["right", "4px"],
52
    ]);
53
    let expectedOrder = ["top", "bottom", "left", "right"];
54
    checkOrder(block, expectedOrder, "in initial block");
55
56
    block.top = "5px";
57
    expectedOrder = arrayWithItemsAtEnd(expectedOrder, ["top"]);
58
    checkOrder(block, expectedOrder, "after setting existing property");
59
60
    block.bottom = "2px";
61
    expectedOrder = arrayWithItemsAtEnd(expectedOrder, ["bottom"]);
62
    checkOrder(block, expectedOrder, "after setting existing property with identical value");
63
  }, "invoke property setter with existing longhand should change order");
64
65
  test(function() {
66
    let block = generateCSSDeclBlock([
67
      ["margin", "1px"],
68
      ["top", "2px"],
69
      ["padding", "3px"],
70
    ]);
71
    let expectedOrder = SUBPROPS["margin"].concat(["top"]).concat(SUBPROPS["padding"]);
72
    checkOrder(block, expectedOrder, "in initial block");
73
74
    block.setProperty("margin", "4px");
75
    expectedOrder = arrayWithItemsAtEnd(expectedOrder, SUBPROPS["margin"]);
76
    checkOrder(block, expectedOrder, "after setting an existing shorthand");
77
78
    block.setProperty("padding", "3px");
79
    expectedOrder = arrayWithItemsAtEnd(expectedOrder, SUBPROPS["padding"]);
80
    checkOrder(block, expectedOrder, "after setting an existing shorthand with identical value");
81
82
    block.setProperty("margin-bottom", "5px");
83
    expectedOrder = arrayWithItemsAtEnd(expectedOrder, ["margin-bottom"]);
84
    checkOrder(block, expectedOrder, "after setting a longhand in an existing shorthand");
85
  }, "setProperty with existing shorthand should change order");
86
87
  test(function() {
88
    let block = generateCSSDeclBlock([
89
      ["margin", "1px"],
90
      ["top", "2px"],
91
      ["padding", "3px"],
92
    ]);
93
    let expectedOrder = SUBPROPS["margin"].concat(["top"]).concat(SUBPROPS["padding"]);
94
    checkOrder(block, expectedOrder, "in initial block");
95
96
    block.margin = "4px";
97
    expectedOrder = arrayWithItemsAtEnd(expectedOrder, SUBPROPS["margin"]);
98
    checkOrder(block, expectedOrder, "after setting an existing shorthand");
99
100
    block.padding = "3px";
101
    expectedOrder = arrayWithItemsAtEnd(expectedOrder, SUBPROPS["padding"]);
102
    checkOrder(block, expectedOrder, "after setting an existing shorthand with identical value");
103
104
    block.marginBottom = "5px";
105
    expectedOrder = arrayWithItemsAtEnd(expectedOrder, ["margin-bottom"]);
106
    checkOrder(block, expectedOrder, "after setting a longhand in an existing shorthand");
107
  }, "invoke property setter with existing shorthand should change order");
108
</script>
- a/LayoutTests/imported/w3c/web-platform-tests/css/cssom/escape.html -1 / +1 lines
Lines 8-14 a/LayoutTests/imported/w3c/web-platform-tests/css/cssom/escape.html_sec1
8
<script>
8
<script>
9
test(function() {
9
test(function() {
10
  assert_equals(CSS.escape.length, 1);
10
  assert_equals(CSS.escape.length, 1);
11
  assert_throws(new TypeError(), function() { CSS.escape(); });
11
  assert_throws_js(TypeError, function() { CSS.escape(); });
12
}, "Number of arguments");
12
}, "Number of arguments");
13
13
14
test(function() {
14
test(function() {
- a/LayoutTests/imported/w3c/web-platform-tests/css/cssom/font-family-serialization-001-expected.txt +6 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/cssom/font-family-serialization-001-expected.txt_sec1
1
2
PASS Serialization of <generic-family> 
3
FAIL Serialization of quoted "<generic-family>" assert_equals: expected "\"serif\"" but got "serif"
4
FAIL Serialization of prefixed -webkit-<generic-family> assert_equals: expected "-webkit-serif" but got "serif"
5
FAIL Serialization of -webkit-body,-webkit-standard,-webkit-pictograph assert_equals: expected "-webkit-body" but got "Times"
6
- a/LayoutTests/imported/w3c/web-platform-tests/css/cssom/font-family-serialization-001.html +44 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/cssom/font-family-serialization-001.html_sec1
1
<!DOCTYPE HTML>
2
<html>
3
<meta charset="utf-8">
4
<title>Serialization of font-family</title>
5
<link rel="help" href="https://drafts.csswg.org/cssom/#serialize-a-css-declaration-block">
6
<link rel="help" href="https://drafts.csswg.org/css-fonts-4/#font-family-prop">
7
<script src="/resources/testharness.js"></script>
8
<script src="/resources/testharnessreport.js"></script>
9
<script src="/css/css-fonts/support/font-family-keywords.js"></script>
10
<div id="target"></div>
11
<script>
12
  function SetFontFamilyAndSerialize(fontFamilyValue) {
13
    var target = document.getElementById('target');
14
    target.setAttribute("style", `font-family: ${fontFamilyValue}`);
15
    return window.getComputedStyle(target).getPropertyValue('font-family');
16
  }
17
  test(function() {
18
    kGenericFontFamilyKeywords.forEach(keyword => {
19
      assert_equals(SetFontFamilyAndSerialize(keyword), keyword);
20
    });
21
  }, "Serialization of <generic-family>");
22
23
  test(function() {
24
    kGenericFontFamilyKeywords.forEach(keyword => {
25
      var quoted_keyword = `"${keyword}"`;
26
      assert_equals(SetFontFamilyAndSerialize(quoted_keyword), quoted_keyword);
27
    });
28
  }, "Serialization of quoted \"<generic-family>\"");
29
30
  test(function() {
31
    kGenericFontFamilyKeywords.forEach(keyword => {
32
      var prefixed_keyword = `-webkit-${keyword}`;
33
      assert_equals(SetFontFamilyAndSerialize(prefixed_keyword), prefixed_keyword);
34
    });
35
  }, "Serialization of prefixed -webkit-<generic-family>");
36
37
  test(function() {
38
    kWebKitPrefixKeywords.forEach(keyword => {
39
      assert_equals(SetFontFamilyAndSerialize(keyword), keyword);
40
    });
41
  }, `Serialization of ${kWebKitPrefixKeywords}`);
42
43
</script>
44
</html>
- a/LayoutTests/imported/w3c/web-platform-tests/css/cssom/font-shorthand-serialization-expected.txt -1 / +1 lines
Lines 1-3 a/LayoutTests/imported/w3c/web-platform-tests/css/cssom/font-shorthand-serialization-expected.txt_sec1
1
1
2
FAIL The font shorthand should be serialized just like any other shorthand. assert_equals: expected "font: 10px/1 Ahem;" but got "font-style: normal; font-variant-caps: normal; font-weight: normal; font-stretch: normal; font-size: 10px; line-height: 1; font-family: Ahem;"
2
FAIL The font shorthand should be serialized just like any other shorthand. assert_equals: expected "font: 10px / 1 Ahem;" but got "font-style: normal; font-variant-caps: normal; font-weight: normal; font-stretch: normal; font-size: 10px; line-height: 1; font-family: Ahem;"
3
3
- a/LayoutTests/imported/w3c/web-platform-tests/css/cssom/font-shorthand-serialization.html -2 / +3 lines
Lines 5-16 a/LayoutTests/imported/w3c/web-platform-tests/css/cssom/font-shorthand-serialization.html_sec1
5
<link rel="help" href="https://drafts.csswg.org/cssom-1/#serialize-a-css-declaration-block">
5
<link rel="help" href="https://drafts.csswg.org/cssom-1/#serialize-a-css-declaration-block">
6
<script src="/resources/testharness.js"></script>
6
<script src="/resources/testharness.js"></script>
7
<script src="/resources/testharnessreport.js"></script>
7
<script src="/resources/testharnessreport.js"></script>
8
<link rel="stylesheet" type="text/css" href="/fonts/ahem.css" />
8
<div id="target" style="font: 10px/1 Ahem;"></div>
9
<div id="target" style="font: 10px/1 Ahem;"></div>
9
<script>
10
<script>
10
    test(function() {
11
    test(function() {
11
        var target = document.getElementById('target');
12
        var target = document.getElementById('target');
12
        assert_equals(target.style.cssText, 'font: 10px/1 Ahem;');
13
        assert_equals(target.style.cssText, 'font: 10px / 1 Ahem;');
13
        assert_equals(target.style.font, '10px/1 Ahem');
14
        assert_equals(target.style.font, '10px / 1 Ahem');
14
    }, "The font shorthand should be serialized just like any other shorthand.");
15
    }, "The font shorthand should be serialized just like any other shorthand.");
15
</script>
16
</script>
16
</html>
17
</html>
- a/LayoutTests/imported/w3c/web-platform-tests/css/cssom/getComputedStyle-animations-replaced-into-ib-split-expected.txt +3 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/cssom/getComputedStyle-animations-replaced-into-ib-split-expected.txt_sec1
1
2
PASS getComputedStyle() should return animation styles for nodes just inserted into the document, even if they're in an IB-split 
3
- a/LayoutTests/imported/w3c/web-platform-tests/css/cssom/getComputedStyle-animations-replaced-into-ib-split.html +34 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/cssom/getComputedStyle-animations-replaced-into-ib-split.html_sec1
1
<!doctype html>
2
<title>getComputedStyle() returns the right style for animating nodes that have been just inserted into the document, and that have an ancestor whose layout tree was recreated (like an IB-split)</title>
3
<link rel="help" href="https://drafts.csswg.org/cssom/#dom-window-getcomputedstyle">
4
<link rel="help" href="https://bugzilla.mozilla.org/show_bug.cgi?id=1585882">
5
<link rel="author" title="Emilio Cobos Álvarez" href="mailto:emilio@crisal.io">
6
<link rel="author" title="Mozilla" href="https://mozilla.org">
7
<script src=/resources/testharness.js></script>
8
<script src=/resources/testharnessreport.js></script>
9
<style>
10
  @keyframes my-animation {
11
    from { color: green; }
12
    to { color: green; }
13
  }
14
  div {
15
    color: red;
16
    animation: my-animation 1s infinite linear paused;
17
  }
18
</style>
19
<span>
20
  <div></div>
21
</span>
22
<script>
23
test(() => {
24
  let oldDiv = document.querySelector("div");
25
  window.unused = oldDiv.getBoundingClientRect(); // update layout
26
27
  assert_equals(getComputedStyle(oldDiv).color, "rgb(0, 128, 0)", "Should take color from the animation");
28
29
  let newDiv = document.createElement("div");
30
  oldDiv.replaceWith(newDiv);
31
32
  assert_equals(getComputedStyle(newDiv).color, "rgb(0, 128, 0)", "Should take color from the animation (just inserted into the document)");
33
}, "getComputedStyle() should return animation styles for nodes just inserted into the document, even if they're in an IB-split");
34
</script>
- a/LayoutTests/imported/w3c/web-platform-tests/css/cssom/getComputedStyle-detached-subtree-expected.txt +1 lines
Lines 1-6 a/LayoutTests/imported/w3c/web-platform-tests/css/cssom/getComputedStyle-detached-subtree-expected.txt_sec1
1
1
2
PASS getComputedStyle returns no style for detached element 
2
PASS getComputedStyle returns no style for detached element 
3
FAIL getComputedStyle returns no style for element in non-rendered iframe (display: none) assert_true: expected true got false
3
FAIL getComputedStyle returns no style for element in non-rendered iframe (display: none) assert_true: expected true got false
4
FAIL getComputedStyle returns no style for element in non-rendered iframe (display: none) from iframe's window assert_true: expected true got false
4
FAIL getComputedStyle returns no style for element outside the flat tree assert_true: expected true got false
5
FAIL getComputedStyle returns no style for element outside the flat tree assert_true: expected true got false
5
FAIL getComputedStyle returns no style for descendant outside the flat tree assert_true: expected true got false
6
FAIL getComputedStyle returns no style for descendant outside the flat tree assert_true: expected true got false
6
PASS getComputedStyle returns no style for shadow tree outside of flattened tree 
7
PASS getComputedStyle returns no style for shadow tree outside of flattened tree 
- a/LayoutTests/imported/w3c/web-platform-tests/css/cssom/getComputedStyle-detached-subtree.html -2 / +6 lines
Lines 12-21 a/LayoutTests/imported/w3c/web-platform-tests/css/cssom/getComputedStyle-detached-subtree.html_sec1
12
</div>
12
</div>
13
<iframe srcdoc="<html></html>" style="display: none"></iframe>
13
<iframe srcdoc="<html></html>" style="display: none"></iframe>
14
<script>
14
<script>
15
function testNoComputedStyle(element, description) {
15
function testNoComputedStyle(element, description, global) {
16
  test(function() {
16
  test(function() {
17
    assert_true(!!element);
17
    assert_true(!!element);
18
    let style = getComputedStyle(element);
18
    let style = (global ? global : window).getComputedStyle(element);
19
    assert_true(!!style);
19
    assert_true(!!style);
20
    assert_true(style.length === 0);
20
    assert_true(style.length === 0);
21
    assert_equals(style.color, "");
21
    assert_equals(style.color, "");
Lines 28-33 testNoComputedStyle(detached, "detached element"); a/LayoutTests/imported/w3c/web-platform-tests/css/cssom/getComputedStyle-detached-subtree.html_sec2
28
testNoComputedStyle(document.querySelector('iframe').contentDocument.documentElement,
28
testNoComputedStyle(document.querySelector('iframe').contentDocument.documentElement,
29
                    "element in non-rendered iframe (display: none)");
29
                    "element in non-rendered iframe (display: none)");
30
30
31
testNoComputedStyle(document.querySelector('iframe').contentDocument.documentElement,
32
                    "element in non-rendered iframe (display: none) from iframe's window",
33
                    document.querySelector('iframe').contentWindow);
34
31
host.attachShadow({ mode: "open" });
35
host.attachShadow({ mode: "open" });
32
testNoComputedStyle(document.getElementById('non-slotted'),
36
testNoComputedStyle(document.getElementById('non-slotted'),
33
                    "element outside the flat tree");
37
                    "element outside the flat tree");
- a/LayoutTests/imported/w3c/web-platform-tests/css/cssom/getComputedStyle-display-none-001-expected.txt +4 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/cssom/getComputedStyle-display-none-001-expected.txt_sec1
1
2
PASS getComputedStyle gets invalidated in display: none subtrees due to inherited changes to an ancestor 
3
FAIL getComputedStyle gets invalidated in display: none subtrees due to inherited changes to an ancestor shadow host assert_equals: expected "rgb(0, 128, 0)" but got "rgb(255, 0, 0)"
4
- a/LayoutTests/imported/w3c/web-platform-tests/css/cssom/getComputedStyle-display-none-001.html +39 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/cssom/getComputedStyle-display-none-001.html_sec1
1
<!doctype html>
2
<meta charset="utf-8">
3
<title>CSSOM: getComputedStyle gets invalidated for display: none elements (inheritance)</title>
4
<link rel="help" href="https://drafts.csswg.org/cssom/#dom-window-getcomputedstyle">
5
<link rel="help" href="https://bugs.webkit.org/show_bug.cgi?id=186882">
6
<link rel="author" title="Emilio Cobos Álvarez" href="mailto:emilio@crisal.io">
7
<script src=/resources/testharness.js></script>
8
<script src=/resources/testharnessreport.js></script>
9
<style>
10
#undisplayed, #host {
11
  display: none;
12
  color: red;
13
}
14
</style>
15
<div id="undisplayed"><div id="child"></div></div>
16
<div id="host"></div>
17
<script>
18
  test(function() {
19
    let undisplayed_style = getComputedStyle(undisplayed);
20
    let undisplayed_child_style = getComputedStyle(child);
21
    assert_equals(undisplayed_style.color, "rgb(255, 0, 0)");
22
    assert_equals(undisplayed_child_style.color, "rgb(255, 0, 0)");
23
    undisplayed.style.color = "green";
24
    assert_equals(undisplayed_style.color, "rgb(0, 128, 0)");
25
    assert_equals(undisplayed_child_style.color, "rgb(0, 128, 0)");
26
  }, "getComputedStyle gets invalidated in display: none subtrees due to inherited changes to an ancestor");
27
  test(function() {
28
    host.attachShadow({ mode: 'open' }).innerHTML = `
29
      <div></div>
30
    `;
31
    let host_style = getComputedStyle(host);
32
    let shadow_style = getComputedStyle(host.shadowRoot.firstElementChild);
33
    assert_equals(host_style.color, "rgb(255, 0, 0)");
34
    assert_equals(shadow_style.color, "rgb(255, 0, 0)");
35
    host.style.color = "green";
36
    assert_equals(host_style.color, "rgb(0, 128, 0)");
37
    assert_equals(shadow_style.color, "rgb(0, 128, 0)");
38
  }, "getComputedStyle gets invalidated in display: none subtrees due to inherited changes to an ancestor shadow host");
39
</script>
- a/LayoutTests/imported/w3c/web-platform-tests/css/cssom/getComputedStyle-display-none-002-expected.txt +3 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/cssom/getComputedStyle-display-none-002-expected.txt_sec1
1
2
PASS getComputedStyle gets invalidated in display: none subtrees due to rule matching changes 
3
- a/LayoutTests/imported/w3c/web-platform-tests/css/cssom/getComputedStyle-display-none-002.html +34 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/cssom/getComputedStyle-display-none-002.html_sec1
1
<!doctype html>
2
<meta charset="utf-8">
3
<title>CSSOM: getComputedStyle gets invalidated for display: none elements (rules)</title>
4
<link rel="help" href="https://drafts.csswg.org/cssom/#dom-window-getcomputedstyle">
5
<link rel="help" href="https://bugs.webkit.org/show_bug.cgi?id=186882">
6
<link rel="author" title="Emilio Cobos Álvarez" href="mailto:emilio@crisal.io">
7
<script src=/resources/testharness.js></script>
8
<script src=/resources/testharnessreport.js></script>
9
<style>
10
#undisplayed {
11
  display: none;
12
  color: red;
13
}
14
.sibling + #undisplayed {
15
  color: green;
16
}
17
18
.sibling + #undisplayed > div {
19
  color: yellow;
20
}
21
</style>
22
<div id="helper"></div>
23
<div id="undisplayed"><div id="child"></div></div>
24
<script>
25
  test(function() {
26
    let undisplayed_style = getComputedStyle(undisplayed);
27
    let undisplayed_child_style = getComputedStyle(child);
28
    assert_equals(undisplayed_style.color, "rgb(255, 0, 0)");
29
    assert_equals(undisplayed_child_style.color, "rgb(255, 0, 0)");
30
    helper.classList.add("sibling");
31
    assert_equals(undisplayed_style.color, "rgb(0, 128, 0)");
32
    assert_equals(undisplayed_child_style.color, "rgb(255, 255, 0)");
33
  }, "getComputedStyle gets invalidated in display: none subtrees due to rule matching changes");
34
</script>
- a/LayoutTests/imported/w3c/web-platform-tests/css/cssom/getComputedStyle-layout-dependent-removed-ib-sibling-expected.txt +3 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/cssom/getComputedStyle-layout-dependent-removed-ib-sibling-expected.txt_sec1
1
2
PASS getComputedStyle() should return the correct used value for nodes that have had an IB-split sibling removed 
3
- a/LayoutTests/imported/w3c/web-platform-tests/css/cssom/getComputedStyle-layout-dependent-removed-ib-sibling.html +30 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/cssom/getComputedStyle-layout-dependent-removed-ib-sibling.html_sec1
1
<!doctype html>
2
<title>getComputedStyle() returns the right style for layout-dependent properties for nodes that have had an IB sibling removed</title>
3
<link rel="help" href="https://drafts.csswg.org/cssom/#dom-window-getcomputedstyle">
4
<link rel="help" href="https://bugzilla.mozilla.org/show_bug.cgi?id=1585882">
5
<link rel="author" title="Emilio Cobos Álvarez" href="mailto:emilio@crisal.io">
6
<link rel="author" title="Mozilla" href="https://mozilla.org">
7
<script src=/resources/testharness.js></script>
8
<script src=/resources/testharnessreport.js></script>
9
<style>
10
  div {
11
    width: 100%;
12
  }
13
</style>
14
<span>
15
  <div></div>
16
  <div></div>
17
</span>
18
<script>
19
test(() => {
20
  let first = document.querySelector("div");
21
  let second = document.querySelector("div + div");
22
23
  let oldWidth = getComputedStyle(second).width;
24
  assert_true(oldWidth.indexOf("px") !== -1, "Should return the used value for width");
25
26
  first.remove();
27
28
  assert_equals(getComputedStyle(second).width, oldWidth, "Should return the used value for width (after sibling removal)");
29
}, "getComputedStyle() should return the correct used value for nodes that have had an IB-split sibling removed");
30
</script>
- a/LayoutTests/imported/w3c/web-platform-tests/css/cssom/getComputedStyle-layout-dependent-replaced-into-ib-split-expected.txt +3 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/cssom/getComputedStyle-layout-dependent-replaced-into-ib-split-expected.txt_sec1
1
2
PASS getComputedStyle() should return used value correctly for nodes just inserted into the document, even if they're in an IB-split 
3
- a/LayoutTests/imported/w3c/web-platform-tests/css/cssom/getComputedStyle-layout-dependent-replaced-into-ib-split.html +30 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/cssom/getComputedStyle-layout-dependent-replaced-into-ib-split.html_sec1
1
<!doctype html>
2
<title>getComputedStyle() returns the right style for layout-dependent properties for nodes that have been just inserted into the document, and that have an ancestor whose layout tree was recreated (like an IB-split)</title>
3
<link rel="help" href="https://drafts.csswg.org/cssom/#dom-window-getcomputedstyle">
4
<link rel="help" href="https://bugzilla.mozilla.org/show_bug.cgi?id=1585882">
5
<link rel="author" title="Emilio Cobos Álvarez" href="mailto:emilio@crisal.io">
6
<link rel="author" title="Mozilla" href="https://mozilla.org">
7
<script src=/resources/testharness.js></script>
8
<script src=/resources/testharnessreport.js></script>
9
<style>
10
  div {
11
    width: 100%;
12
  }
13
</style>
14
<span>
15
  <div></div>
16
</span>
17
<script>
18
test(() => {
19
  let oldDiv = document.querySelector("div");
20
  window.unused = oldDiv.getBoundingClientRect(); // update layout
21
22
  let oldWidth = getComputedStyle(oldDiv).width;
23
  assert_true(oldWidth.indexOf("px") !== -1, "Should return the used value for width");
24
25
  let newDiv = document.createElement("div");
26
  oldDiv.replaceWith(newDiv);
27
28
  assert_equals(getComputedStyle(newDiv).width, oldWidth, "Should return the used value for width (just inserted into the document)");
29
}, "getComputedStyle() should return used value correctly for nodes just inserted into the document, even if they're in an IB-split");
30
</script>
- a/LayoutTests/imported/w3c/web-platform-tests/css/cssom/getComputedStyle-logical-enumeration.html -2 / +2 lines
Lines 1-6 a/LayoutTests/imported/w3c/web-platform-tests/css/cssom/getComputedStyle-logical-enumeration.html_sec1
1
<!doctype html>
1
<!doctype html>
2
<meta charset="utf-8">
2
<meta charset="utf-8">
3
<title>CSSOM: getComputedStyle returns no style for elements not in the tree</title>
3
<title>CSSOM: getComputedStyle enumeration</title>
4
<link rel="help" href="https://drafts.csswg.org/cssom/#dom-window-getcomputedstyle">
4
<link rel="help" href="https://drafts.csswg.org/cssom/#dom-window-getcomputedstyle">
5
<link rel="author" title="Emilio Cobos Álvarez" href="mailto:emilio@crisal.io">
5
<link rel="author" title="Emilio Cobos Álvarez" href="mailto:emilio@crisal.io">
6
<link rel="help" href="https://bugs.webkit.org/show_bug.cgi?id=210695">
6
<link rel="help" href="https://bugs.webkit.org/show_bug.cgi?id=210695">
Lines 22-27 a/LayoutTests/imported/w3c/web-platform-tests/css/cssom/getComputedStyle-logical-enumeration.html_sec2
22
    }
22
    }
23
    assert_true(longhand, "Logical longhands should be enumerated in computed style");
23
    assert_true(longhand, "Logical longhands should be enumerated in computed style");
24
    assert_false(shorthand, "Logical shorthands should not be enumerated in computed style");
24
    assert_false(shorthand, "Logical shorthands should not be enumerated in computed style");
25
    assert_false(env, "environment variables should not be enumerated in computed style");
25
    assert_false(env, "Environment variables should not be enumerated in computed style");
26
  }, "Logical properties in enumeration of computed style")
26
  }, "Logical properties in enumeration of computed style")
27
</script>
27
</script>
- a/LayoutTests/imported/w3c/web-platform-tests/css/cssom/getComputedStyle-property-order-expected.txt +3 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/cssom/getComputedStyle-property-order-expected.txt_sec1
1
2
PASS Computed style properties should be sorted lexicographically 
3
- a/LayoutTests/imported/w3c/web-platform-tests/css/cssom/getComputedStyle-property-order.html +26 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/cssom/getComputedStyle-property-order.html_sec1
1
<!DOCTYPE html>
2
<meta charset="utf-8">
3
<title>CSSOM: getComputedStyle property order</title>
4
<link rel="help" href="https://drafts.csswg.org/cssom/#dom-window-getcomputedstyle">
5
<link rel="author" title="Oriol Brufau" href="mailto:obrufau@igalia.com">
6
<meta name="assert" content="This test checks that in a computed style, properties are sorted in lexicographical order." />
7
<script src=/resources/testharness.js></script>
8
<script src=/resources/testharnessreport.js></script>
9
<script>
10
test(function() {
11
  const properties = [...getComputedStyle(document.documentElement)];
12
  const sorted = properties.slice().sort(function(a,b) {
13
    if (a === b) {
14
      assert_unreached("There shouldn't be repeated properties");
15
      return 0;
16
    }
17
    // Sort vendor-prefixed properties after standard ones
18
    if (a.startsWith("-") != b.startsWith("-")) {
19
      return b.startsWith("-") ? -1 : 1;
20
    }
21
    // Sort with lexicographical order
22
    return a < b ? -1 : 1;
23
  });
24
  assert_array_equals(properties, sorted);
25
}, "Computed style properties should be sorted lexicographically");
26
</script>
- a/LayoutTests/imported/w3c/web-platform-tests/css/cssom/getComputedStyle-pseudo-expected.txt -1 / +2 lines
Lines 6-10 FAIL Resolution of pseudo-element styles in display: none elements assert_equals a/LayoutTests/imported/w3c/web-platform-tests/css/cssom/getComputedStyle-pseudo-expected.txt_sec1
6
PASS Item-based blockification of pseudo-elements 
6
PASS Item-based blockification of pseudo-elements 
7
FAIL Item-based blockification of nonexistent pseudo-elements assert_equals: Pseudo-styles of display: flex elements should get blockified expected "block" but got "inline"
7
FAIL Item-based blockification of nonexistent pseudo-elements assert_equals: Pseudo-styles of display: flex elements should get blockified expected "block" but got "inline"
8
PASS display: contents on pseudo-elements 
8
PASS display: contents on pseudo-elements 
9
FAIL Unknown pseudo-elements throw assert_throws: getComputedStyle with an unknown pseudo-element throws function "() => getComputedStyle(div, "totallynotapseudo")" did not throw
9
FAIL Dynamically change to display: contents on pseudo-elements assert_equals: display: contents in :before should get reflected on CSSOM expected "contents" but got "block"
10
FAIL Unknown pseudo-elements throw assert_throws_js: getComputedStyle with an unknown pseudo-element throws function "() => getComputedStyle(div, "totallynotapseudo")" did not throw
10
11
- a/LayoutTests/imported/w3c/web-platform-tests/css/cssom/getComputedStyle-pseudo.html -2 / +29 lines
Lines 44-49 a/LayoutTests/imported/w3c/web-platform-tests/css/cssom/getComputedStyle-pseudo.html_sec1
44
  content: "foo";
44
  content: "foo";
45
  position: absolute;
45
  position: absolute;
46
}
46
}
47
#contents-pseudos-dynamic::before,
48
#contents-pseudos-dynamic::after {
49
  display: block;
50
  content: "foo";
51
  position: absolute;
52
}
53
#contents-pseudos-dynamic.contents::before,
54
#contents-pseudos-dynamic.contents::after {
55
  display: contents;
56
}
47
</style>
57
</style>
48
<div id="test">
58
<div id="test">
49
  <div id="contents"></div>
59
  <div id="contents"></div>
Lines 51-56 a/LayoutTests/imported/w3c/web-platform-tests/css/cssom/getComputedStyle-pseudo.html_sec2
51
  <div id="flex"></div>
61
  <div id="flex"></div>
52
  <div id="flex-no-pseudo"></div>
62
  <div id="flex-no-pseudo"></div>
53
  <div id="contents-pseudos"></div>
63
  <div id="contents-pseudos"></div>
64
  <div id="contents-pseudos-dynamic"></div>
54
</div>
65
</div>
55
<script>
66
<script>
56
test(function() {
67
test(function() {
Lines 109-117 test(function() { a/LayoutTests/imported/w3c/web-platform-tests/css/cssom/getComputedStyle-pseudo.html_sec3
109
                  "display: contents in " + pseudo + " should reflect other non-inherited properties in CSSOM");
120
                  "display: contents in " + pseudo + " should reflect other non-inherited properties in CSSOM");
110
  });
121
  });
111
}, "display: contents on pseudo-elements");
122
}, "display: contents on pseudo-elements");
123
test(function() {
124
  var contentsPseudosDynamic = document.getElementById('contents-pseudos-dynamic');
125
  [":before", ":after"].forEach(function(pseudo) {
126
    assert_equals(getComputedStyle(contentsPseudosDynamic, pseudo).display, "block",
127
                  "Check that display for " + pseudo + " is block before change");
128
  });
129
  contentsPseudosDynamic.className = "contents";
130
  [":before", ":after"].forEach(function(pseudo) {
131
    assert_equals(getComputedStyle(contentsPseudosDynamic, pseudo).display, "contents",
132
                  "display: contents in " + pseudo + " should get reflected on CSSOM");
133
    assert_equals(getComputedStyle(contentsPseudosDynamic, pseudo).width, "auto",
134
                  pseudo + " with display: contents should have no box");
135
    assert_equals(getComputedStyle(contentsPseudosDynamic, pseudo).position, "absolute",
136
                  "display: contents in " + pseudo + " should reflect other non-inherited properties in CSSOM");
137
  });
138
}, "Dynamically change to display: contents on pseudo-elements");
112
test(function() {
139
test(function() {
113
  var div = document.getElementById('test');
140
  var div = document.getElementById('test');
114
  assert_throws(new TypeError(), () => getComputedStyle(div, "totallynotapseudo"),
141
  assert_throws_js(TypeError, () => getComputedStyle(div, "totallynotapseudo"),
115
                "getComputedStyle with an unknown pseudo-element throws");
142
                   "getComputedStyle with an unknown pseudo-element throws");
116
}, "Unknown pseudo-elements throw");
143
}, "Unknown pseudo-elements throw");
117
</script>
144
</script>
- a/LayoutTests/imported/w3c/web-platform-tests/css/cssom/getComputedStyle-resolved-min-max-clamping-expected.txt +3 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/cssom/getComputedStyle-resolved-min-max-clamping-expected.txt_sec1
1
2
PASS Resolved value of width / height when there's no used value isn't clamped by min/max properties 
3
- a/LayoutTests/imported/w3c/web-platform-tests/css/cssom/getComputedStyle-resolved-min-max-clamping.html +38 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/cssom/getComputedStyle-resolved-min-max-clamping.html_sec1
1
<!doctype html>
2
<meta charset="utf-8">
3
<title>CSSOM: resolved values of the width and height when the element generates no box or are a non-replaced inline aren't clamped by min-width / max-width</title>
4
<link rel="help" href="https://drafts.csswg.org/cssom/#resolved-value">
5
<link rel="author" title="Emilio Cobos Álvarez" href="mailto:emilio@crisal.io">
6
<link rel="author" title="Mozilla" href="https://mozilla.org">
7
<script src=/resources/testharness.js></script>
8
<script src=/resources/testharnessreport.js></script>
9
<span id="non-replaced-inline"></span>
10
<div id="display-none" style="display: none"></div>
11
<div id="display-contents" style="display: contents"></div>
12
<script>
13
test(function() {
14
  for (const e of document.querySelectorAll("[id]")) {
15
    const cs = getComputedStyle(e);
16
    for (const prop of ["width", "height"]) {
17
      e.style.setProperty("min-" + prop, "10px");
18
      e.style.setProperty("max-" + prop, "50px");
19
20
      e.style.setProperty(prop, "10%");
21
      assert_equals(cs[prop], "10%", `${e.id}: ${prop} with percentages returns percentages`);
22
23
      e.style.setProperty(prop, "15px");
24
      assert_equals(cs[prop], "15px", `${e.id}: ${prop} with value in range returns computed value`);
25
26
      e.style.setProperty(prop, "1px");
27
      assert_equals(cs[prop], "1px", `${e.id}: ${prop} with value out of range isn't clamped by min-${prop}`);
28
29
      e.style.setProperty(prop, "60px");
30
      assert_equals(cs[prop], "60px", `${e.id}: ${prop} with value out of range isn't clamped by max-${prop}`);
31
32
      e.style.removeProperty(prop);
33
      e.style.removeProperty("min-" + prop);
34
      e.style.removeProperty("max-" + prop);
35
    }
36
  }
37
}, "Resolved value of width / height when there's no used value isn't clamped by min/max properties");
38
</script>
- a/LayoutTests/imported/w3c/web-platform-tests/css/cssom/getComputedStyle-width-scroll.tentative-expected.txt +3 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/cssom/getComputedStyle-width-scroll.tentative-expected.txt_sec1
1
2
FAIL getComputedStyle() round-trips in presence of scrollbars assert_equals: width round-trips expected "85px" but got "70px"
3
- a/LayoutTests/imported/w3c/web-platform-tests/css/cssom/getComputedStyle-width-scroll.tentative.html +26 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/cssom/getComputedStyle-width-scroll.tentative.html_sec1
1
<!doctype html>
2
<title>getComputedStyle() round-trips in presence of scrollbars.</title>
3
<link rel="author" href="mailto:emilio@crisal.io" title="Emilio Cobos Álvarez">
4
<link rel="author" href="https://mozilla.org" title="Mozilla">
5
<link rel="help" href="https://drafts.csswg.org/cssom/#resolved-value">
6
<script src=/resources/testharness.js></script>
7
<script src=/resources/testharnessreport.js></script>
8
<div style="width: 100px; height: 100px; overflow: scroll"></div>
9
<script>
10
// NOTE(emilio): This is a .tentative.html because the spec is not clear on
11
// what the used value of `width` or `height` is, but I think this behavior
12
// should be uncontroversial.
13
test(function() {
14
  let e = document.querySelector("div");
15
  let cs = getComputedStyle(e);
16
17
  let originalWidth = cs.width;
18
  let originalHeight = cs.height;
19
20
  e.style.width = originalWidth;
21
  e.style.height = originalHeight;
22
23
  assert_equals(cs.width, originalWidth, "width round-trips");
24
  assert_equals(cs.height, originalHeight, "height round-trips");
25
}, "getComputedStyle() round-trips in presence of scrollbars")
26
</script>
- a/LayoutTests/imported/w3c/web-platform-tests/css/cssom/idlharness-expected.txt +434 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/cssom/idlharness-expected.txt_sec1
1
CSSOM IDL tests
2
3
4
PASS idl_test setup 
5
PASS idl_test validation 
6
PASS Partial interface CSSStyleSheet: original interface defined 
7
PASS Partial interface CSSStyleSheet: member names are unique 
8
PASS Partial interface mixin DocumentOrShadowRoot: original interface mixin defined 
9
PASS Partial interface mixin DocumentOrShadowRoot: member names are unique 
10
PASS Partial interface Window: original interface defined 
11
PASS Partial interface Window: member names are unique 
12
PASS Partial interface mixin DocumentOrShadowRoot[2]: member names are unique 
13
PASS Partial interface HTMLLinkElement: member names are unique 
14
PASS Partial interface HTMLStyleElement: member names are unique 
15
PASS Partial interface Window[2]: member names are unique 
16
PASS ProcessingInstruction includes LinkStyle: member names are unique 
17
PASS HTMLElement includes ElementCSSInlineStyle: member names are unique 
18
PASS HTMLElement includes GlobalEventHandlers: member names are unique 
19
PASS HTMLElement includes DocumentAndElementEventHandlers: member names are unique 
20
PASS HTMLElement includes ElementContentEditable: member names are unique 
21
PASS HTMLElement includes HTMLOrSVGElement: member names are unique 
22
PASS SVGElement includes ElementCSSInlineStyle: member names are unique 
23
PASS SVGElement includes GlobalEventHandlers: member names are unique 
24
PASS SVGElement includes DocumentAndElementEventHandlers: member names are unique 
25
PASS SVGElement includes SVGElementInstance: member names are unique 
26
PASS SVGElement includes HTMLOrSVGElement: member names are unique 
27
PASS SVGStyleElement includes LinkStyle: member names are unique 
28
PASS HTMLLinkElement includes LinkStyle: member names are unique 
29
PASS HTMLStyleElement includes LinkStyle: member names are unique 
30
PASS Window includes GlobalEventHandlers: member names are unique 
31
PASS Window includes WindowEventHandlers: member names are unique 
32
PASS Window includes WindowOrWorkerGlobalScope: member names are unique 
33
PASS Window includes AnimationFrameProvider: member names are unique 
34
PASS Window includes WindowSessionStorage: member names are unique 
35
PASS Window includes WindowLocalStorage: member names are unique 
36
PASS Document includes NonElementParentNode: member names are unique 
37
PASS Document includes DocumentOrShadowRoot: member names are unique 
38
PASS Document includes ParentNode: member names are unique 
39
PASS Document includes XPathEvaluatorBase: member names are unique 
40
PASS DocumentFragment includes NonElementParentNode: member names are unique 
41
PASS DocumentFragment includes ParentNode: member names are unique 
42
PASS ShadowRoot includes DocumentOrShadowRoot: member names are unique 
43
PASS Element includes ParentNode: member names are unique 
44
PASS Element includes NonDocumentTypeChildNode: member names are unique 
45
PASS Element includes ChildNode: member names are unique 
46
PASS Element includes Slottable: member names are unique 
47
PASS CharacterData includes NonDocumentTypeChildNode: member names are unique 
48
PASS CharacterData includes ChildNode: member names are unique 
49
PASS MediaList interface: existence and properties of interface object 
50
PASS MediaList interface object length 
51
PASS MediaList interface object name 
52
PASS MediaList interface: existence and properties of interface prototype object 
53
PASS MediaList interface: existence and properties of interface prototype object's "constructor" property 
54
PASS MediaList interface: existence and properties of interface prototype object's @@unscopables property 
55
PASS MediaList interface: attribute mediaText 
56
FAIL MediaList interface: stringifier assert_own_property: interface prototype object missing non-static operation expected property "toString" missing
57
PASS MediaList interface: attribute length 
58
PASS MediaList interface: operation item(unsigned long) 
59
PASS MediaList interface: operation appendMedium(CSSOMString) 
60
PASS MediaList interface: operation deleteMedium(CSSOMString) 
61
PASS MediaList must be primary interface of sheet.media 
62
PASS Stringification of sheet.media 
63
PASS MediaList interface: sheet.media must inherit property "mediaText" with the proper type 
64
PASS MediaList interface: sheet.media must inherit property "length" with the proper type 
65
PASS MediaList interface: sheet.media must inherit property "item(unsigned long)" with the proper type 
66
PASS MediaList interface: calling item(unsigned long) on sheet.media with too few arguments must throw TypeError 
67
PASS MediaList interface: sheet.media must inherit property "appendMedium(CSSOMString)" with the proper type 
68
PASS MediaList interface: calling appendMedium(CSSOMString) on sheet.media with too few arguments must throw TypeError 
69
PASS MediaList interface: sheet.media must inherit property "deleteMedium(CSSOMString)" with the proper type 
70
PASS MediaList interface: calling deleteMedium(CSSOMString) on sheet.media with too few arguments must throw TypeError 
71
PASS StyleSheet interface: existence and properties of interface object 
72
PASS StyleSheet interface object length 
73
PASS StyleSheet interface object name 
74
PASS StyleSheet interface: existence and properties of interface prototype object 
75
PASS StyleSheet interface: existence and properties of interface prototype object's "constructor" property 
76
PASS StyleSheet interface: existence and properties of interface prototype object's @@unscopables property 
77
PASS StyleSheet interface: attribute type 
78
PASS StyleSheet interface: attribute href 
79
PASS StyleSheet interface: attribute ownerNode 
80
PASS StyleSheet interface: attribute parentStyleSheet 
81
PASS StyleSheet interface: attribute title 
82
FAIL StyleSheet interface: attribute media assert_equals: setter must be function for PutForwards, Replaceable, or non-readonly attributes expected "function" but got "undefined"
83
PASS StyleSheet interface: attribute disabled 
84
PASS CSSStyleSheet interface: existence and properties of interface object 
85
PASS CSSStyleSheet interface object length 
86
PASS CSSStyleSheet interface object name 
87
PASS CSSStyleSheet interface: existence and properties of interface prototype object 
88
PASS CSSStyleSheet interface: existence and properties of interface prototype object's "constructor" property 
89
PASS CSSStyleSheet interface: existence and properties of interface prototype object's @@unscopables property 
90
PASS CSSStyleSheet interface: attribute ownerRule 
91
PASS CSSStyleSheet interface: attribute cssRules 
92
PASS CSSStyleSheet interface: operation insertRule(CSSOMString, optional unsigned long) 
93
PASS CSSStyleSheet interface: operation deleteRule(unsigned long) 
94
PASS CSSStyleSheet interface: attribute rules 
95
PASS CSSStyleSheet interface: operation addRule(optional DOMString, optional DOMString, optional unsigned long) 
96
PASS CSSStyleSheet interface: operation removeRule(optional unsigned long) 
97
PASS CSSStyleSheet must be primary interface of sheet 
98
PASS Stringification of sheet 
99
PASS CSSStyleSheet interface: sheet must inherit property "ownerRule" with the proper type 
100
PASS CSSStyleSheet interface: sheet must inherit property "cssRules" with the proper type 
101
PASS CSSStyleSheet interface: sheet must inherit property "insertRule(CSSOMString, optional unsigned long)" with the proper type 
102
PASS CSSStyleSheet interface: calling insertRule(CSSOMString, optional unsigned long) on sheet with too few arguments must throw TypeError 
103
PASS CSSStyleSheet interface: sheet must inherit property "deleteRule(unsigned long)" with the proper type 
104
PASS CSSStyleSheet interface: calling deleteRule(unsigned long) on sheet with too few arguments must throw TypeError 
105
PASS CSSStyleSheet interface: sheet must inherit property "rules" with the proper type 
106
PASS CSSStyleSheet interface: sheet must inherit property "addRule(optional DOMString, optional DOMString, optional unsigned long)" with the proper type 
107
PASS CSSStyleSheet interface: calling addRule(optional DOMString, optional DOMString, optional unsigned long) on sheet with too few arguments must throw TypeError 
108
PASS CSSStyleSheet interface: sheet must inherit property "removeRule(optional unsigned long)" with the proper type 
109
PASS CSSStyleSheet interface: calling removeRule(optional unsigned long) on sheet with too few arguments must throw TypeError 
110
PASS StyleSheet interface: sheet must inherit property "type" with the proper type 
111
PASS StyleSheet interface: sheet must inherit property "href" with the proper type 
112
PASS StyleSheet interface: sheet must inherit property "ownerNode" with the proper type 
113
PASS StyleSheet interface: sheet must inherit property "parentStyleSheet" with the proper type 
114
PASS StyleSheet interface: sheet must inherit property "title" with the proper type 
115
PASS StyleSheet interface: sheet must inherit property "media" with the proper type 
116
PASS StyleSheet interface: sheet must inherit property "disabled" with the proper type 
117
PASS StyleSheetList interface: existence and properties of interface object 
118
PASS StyleSheetList interface object length 
119
PASS StyleSheetList interface object name 
120
PASS StyleSheetList interface: existence and properties of interface prototype object 
121
PASS StyleSheetList interface: existence and properties of interface prototype object's "constructor" property 
122
PASS StyleSheetList interface: existence and properties of interface prototype object's @@unscopables property 
123
PASS StyleSheetList interface: operation item(unsigned long) 
124
PASS StyleSheetList interface: attribute length 
125
PASS StyleSheetList must be primary interface of document.styleSheets 
126
PASS Stringification of document.styleSheets 
127
PASS StyleSheetList interface: document.styleSheets must inherit property "item(unsigned long)" with the proper type 
128
PASS StyleSheetList interface: calling item(unsigned long) on document.styleSheets with too few arguments must throw TypeError 
129
PASS StyleSheetList interface: document.styleSheets must inherit property "length" with the proper type 
130
PASS CSSRuleList interface: existence and properties of interface object 
131
PASS CSSRuleList interface object length 
132
PASS CSSRuleList interface object name 
133
PASS CSSRuleList interface: existence and properties of interface prototype object 
134
PASS CSSRuleList interface: existence and properties of interface prototype object's "constructor" property 
135
PASS CSSRuleList interface: existence and properties of interface prototype object's @@unscopables property 
136
PASS CSSRuleList interface: operation item(unsigned long) 
137
PASS CSSRuleList interface: attribute length 
138
PASS CSSRuleList must be primary interface of sheet.cssRules 
139
PASS Stringification of sheet.cssRules 
140
PASS CSSRuleList interface: sheet.cssRules must inherit property "item(unsigned long)" with the proper type 
141
PASS CSSRuleList interface: calling item(unsigned long) on sheet.cssRules with too few arguments must throw TypeError 
142
PASS CSSRuleList interface: sheet.cssRules must inherit property "length" with the proper type 
143
PASS CSSRule interface: existence and properties of interface object 
144
PASS CSSRule interface object length 
145
PASS CSSRule interface object name 
146
PASS CSSRule interface: existence and properties of interface prototype object 
147
PASS CSSRule interface: existence and properties of interface prototype object's "constructor" property 
148
PASS CSSRule interface: existence and properties of interface prototype object's @@unscopables property 
149
PASS CSSRule interface: attribute cssText 
150
PASS CSSRule interface: attribute parentRule 
151
PASS CSSRule interface: attribute parentStyleSheet 
152
PASS CSSRule interface: attribute type 
153
PASS CSSRule interface: constant STYLE_RULE on interface object 
154
PASS CSSRule interface: constant STYLE_RULE on interface prototype object 
155
PASS CSSRule interface: constant CHARSET_RULE on interface object 
156
PASS CSSRule interface: constant CHARSET_RULE on interface prototype object 
157
PASS CSSRule interface: constant IMPORT_RULE on interface object 
158
PASS CSSRule interface: constant IMPORT_RULE on interface prototype object 
159
PASS CSSRule interface: constant MEDIA_RULE on interface object 
160
PASS CSSRule interface: constant MEDIA_RULE on interface prototype object 
161
PASS CSSRule interface: constant FONT_FACE_RULE on interface object 
162
PASS CSSRule interface: constant FONT_FACE_RULE on interface prototype object 
163
PASS CSSRule interface: constant PAGE_RULE on interface object 
164
PASS CSSRule interface: constant PAGE_RULE on interface prototype object 
165
FAIL CSSRule interface: constant MARGIN_RULE on interface object assert_own_property: expected property "MARGIN_RULE" missing
166
FAIL CSSRule interface: constant MARGIN_RULE on interface prototype object assert_own_property: expected property "MARGIN_RULE" missing
167
PASS CSSRule interface: constant NAMESPACE_RULE on interface object 
168
PASS CSSRule interface: constant NAMESPACE_RULE on interface prototype object 
169
PASS CSSStyleRule interface: existence and properties of interface object 
170
PASS CSSStyleRule interface object length 
171
PASS CSSStyleRule interface object name 
172
PASS CSSStyleRule interface: existence and properties of interface prototype object 
173
PASS CSSStyleRule interface: existence and properties of interface prototype object's "constructor" property 
174
PASS CSSStyleRule interface: existence and properties of interface prototype object's @@unscopables property 
175
PASS CSSStyleRule interface: attribute selectorText 
176
PASS CSSStyleRule interface: attribute style 
177
PASS CSSStyleRule must be primary interface of sheet.cssRules[4] 
178
PASS Stringification of sheet.cssRules[4] 
179
PASS CSSStyleRule interface: sheet.cssRules[4] must inherit property "selectorText" with the proper type 
180
PASS CSSStyleRule interface: sheet.cssRules[4] must inherit property "style" with the proper type 
181
PASS CSSRule interface: sheet.cssRules[4] must inherit property "cssText" with the proper type 
182
PASS CSSRule interface: sheet.cssRules[4] must inherit property "parentRule" with the proper type 
183
PASS CSSRule interface: sheet.cssRules[4] must inherit property "parentStyleSheet" with the proper type 
184
PASS CSSRule interface: sheet.cssRules[4] must inherit property "type" with the proper type 
185
PASS CSSRule interface: sheet.cssRules[4] must inherit property "STYLE_RULE" with the proper type 
186
PASS CSSRule interface: sheet.cssRules[4] must inherit property "CHARSET_RULE" with the proper type 
187
PASS CSSRule interface: sheet.cssRules[4] must inherit property "IMPORT_RULE" with the proper type 
188
PASS CSSRule interface: sheet.cssRules[4] must inherit property "MEDIA_RULE" with the proper type 
189
PASS CSSRule interface: sheet.cssRules[4] must inherit property "FONT_FACE_RULE" with the proper type 
190
PASS CSSRule interface: sheet.cssRules[4] must inherit property "PAGE_RULE" with the proper type 
191
FAIL CSSRule interface: sheet.cssRules[4] must inherit property "MARGIN_RULE" with the proper type assert_inherits: property "MARGIN_RULE" not found in prototype chain
192
PASS CSSRule interface: sheet.cssRules[4] must inherit property "NAMESPACE_RULE" with the proper type 
193
PASS CSSImportRule interface: existence and properties of interface object 
194
PASS CSSImportRule interface object length 
195
PASS CSSImportRule interface object name 
196
PASS CSSImportRule interface: existence and properties of interface prototype object 
197
PASS CSSImportRule interface: existence and properties of interface prototype object's "constructor" property 
198
PASS CSSImportRule interface: existence and properties of interface prototype object's @@unscopables property 
199
PASS CSSImportRule interface: attribute href 
200
FAIL CSSImportRule interface: attribute media assert_equals: setter must be function for PutForwards, Replaceable, or non-readonly attributes expected "function" but got "undefined"
201
PASS CSSImportRule interface: attribute styleSheet 
202
PASS CSSImportRule must be primary interface of sheet.cssRules[0] 
203
PASS Stringification of sheet.cssRules[0] 
204
PASS CSSImportRule interface: sheet.cssRules[0] must inherit property "href" with the proper type 
205
PASS CSSImportRule interface: sheet.cssRules[0] must inherit property "media" with the proper type 
206
PASS CSSImportRule interface: sheet.cssRules[0] must inherit property "styleSheet" with the proper type 
207
PASS CSSRule interface: sheet.cssRules[0] must inherit property "cssText" with the proper type 
208
PASS CSSRule interface: sheet.cssRules[0] must inherit property "parentRule" with the proper type 
209
PASS CSSRule interface: sheet.cssRules[0] must inherit property "parentStyleSheet" with the proper type 
210
PASS CSSRule interface: sheet.cssRules[0] must inherit property "type" with the proper type 
211
PASS CSSRule interface: sheet.cssRules[0] must inherit property "STYLE_RULE" with the proper type 
212
PASS CSSRule interface: sheet.cssRules[0] must inherit property "CHARSET_RULE" with the proper type 
213
PASS CSSRule interface: sheet.cssRules[0] must inherit property "IMPORT_RULE" with the proper type 
214
PASS CSSRule interface: sheet.cssRules[0] must inherit property "MEDIA_RULE" with the proper type 
215
PASS CSSRule interface: sheet.cssRules[0] must inherit property "FONT_FACE_RULE" with the proper type 
216
PASS CSSRule interface: sheet.cssRules[0] must inherit property "PAGE_RULE" with the proper type 
217
FAIL CSSRule interface: sheet.cssRules[0] must inherit property "MARGIN_RULE" with the proper type assert_inherits: property "MARGIN_RULE" not found in prototype chain
218
PASS CSSRule interface: sheet.cssRules[0] must inherit property "NAMESPACE_RULE" with the proper type 
219
FAIL CSSGroupingRule interface: existence and properties of interface object assert_own_property: self does not have own property "CSSGroupingRule" expected property "CSSGroupingRule" missing
220
FAIL CSSGroupingRule interface object length assert_own_property: self does not have own property "CSSGroupingRule" expected property "CSSGroupingRule" missing
221
FAIL CSSGroupingRule interface object name assert_own_property: self does not have own property "CSSGroupingRule" expected property "CSSGroupingRule" missing
222
FAIL CSSGroupingRule interface: existence and properties of interface prototype object assert_own_property: self does not have own property "CSSGroupingRule" expected property "CSSGroupingRule" missing
223
FAIL CSSGroupingRule interface: existence and properties of interface prototype object's "constructor" property assert_own_property: self does not have own property "CSSGroupingRule" expected property "CSSGroupingRule" missing
224
FAIL CSSGroupingRule interface: existence and properties of interface prototype object's @@unscopables property assert_own_property: self does not have own property "CSSGroupingRule" expected property "CSSGroupingRule" missing
225
FAIL CSSGroupingRule interface: attribute cssRules assert_own_property: self does not have own property "CSSGroupingRule" expected property "CSSGroupingRule" missing
226
FAIL CSSGroupingRule interface: operation insertRule(CSSOMString, optional unsigned long) assert_own_property: self does not have own property "CSSGroupingRule" expected property "CSSGroupingRule" missing
227
FAIL CSSGroupingRule interface: operation deleteRule(unsigned long) assert_own_property: self does not have own property "CSSGroupingRule" expected property "CSSGroupingRule" missing
228
FAIL CSSPageRule interface: existence and properties of interface object assert_own_property: self does not have own property "CSSGroupingRule" expected property "CSSGroupingRule" missing
229
PASS CSSPageRule interface object length 
230
PASS CSSPageRule interface object name 
231
FAIL CSSPageRule interface: existence and properties of interface prototype object assert_own_property: self does not have own property "CSSGroupingRule" expected property "CSSGroupingRule" missing
232
PASS CSSPageRule interface: existence and properties of interface prototype object's "constructor" property 
233
PASS CSSPageRule interface: existence and properties of interface prototype object's @@unscopables property 
234
PASS CSSPageRule interface: attribute selectorText 
235
PASS CSSPageRule interface: attribute style 
236
PASS CSSPageRule must be primary interface of sheet.cssRules[2] 
237
PASS Stringification of sheet.cssRules[2] 
238
PASS CSSPageRule interface: sheet.cssRules[2] must inherit property "selectorText" with the proper type 
239
PASS CSSPageRule interface: sheet.cssRules[2] must inherit property "style" with the proper type 
240
FAIL CSSGroupingRule interface: sheet.cssRules[2] must inherit property "cssRules" with the proper type assert_inherits: property "cssRules" not found in prototype chain
241
FAIL CSSGroupingRule interface: sheet.cssRules[2] must inherit property "insertRule(CSSOMString, optional unsigned long)" with the proper type assert_inherits: property "insertRule" not found in prototype chain
242
FAIL CSSGroupingRule interface: calling insertRule(CSSOMString, optional unsigned long) on sheet.cssRules[2] with too few arguments must throw TypeError assert_inherits: property "insertRule" not found in prototype chain
243
FAIL CSSGroupingRule interface: sheet.cssRules[2] must inherit property "deleteRule(unsigned long)" with the proper type assert_inherits: property "deleteRule" not found in prototype chain
244
FAIL CSSGroupingRule interface: calling deleteRule(unsigned long) on sheet.cssRules[2] with too few arguments must throw TypeError assert_inherits: property "deleteRule" not found in prototype chain
245
PASS CSSRule interface: sheet.cssRules[2] must inherit property "cssText" with the proper type 
246
PASS CSSRule interface: sheet.cssRules[2] must inherit property "parentRule" with the proper type 
247
PASS CSSRule interface: sheet.cssRules[2] must inherit property "parentStyleSheet" with the proper type 
248
PASS CSSRule interface: sheet.cssRules[2] must inherit property "type" with the proper type 
249
PASS CSSRule interface: sheet.cssRules[2] must inherit property "STYLE_RULE" with the proper type 
250
PASS CSSRule interface: sheet.cssRules[2] must inherit property "CHARSET_RULE" with the proper type 
251
PASS CSSRule interface: sheet.cssRules[2] must inherit property "IMPORT_RULE" with the proper type 
252
PASS CSSRule interface: sheet.cssRules[2] must inherit property "MEDIA_RULE" with the proper type 
253
PASS CSSRule interface: sheet.cssRules[2] must inherit property "FONT_FACE_RULE" with the proper type 
254
PASS CSSRule interface: sheet.cssRules[2] must inherit property "PAGE_RULE" with the proper type 
255
FAIL CSSRule interface: sheet.cssRules[2] must inherit property "MARGIN_RULE" with the proper type assert_inherits: property "MARGIN_RULE" not found in prototype chain
256
PASS CSSRule interface: sheet.cssRules[2] must inherit property "NAMESPACE_RULE" with the proper type 
257
FAIL CSSMarginRule interface: existence and properties of interface object assert_own_property: self does not have own property "CSSMarginRule" expected property "CSSMarginRule" missing
258
FAIL CSSMarginRule interface object length assert_own_property: self does not have own property "CSSMarginRule" expected property "CSSMarginRule" missing
259
FAIL CSSMarginRule interface object name assert_own_property: self does not have own property "CSSMarginRule" expected property "CSSMarginRule" missing
260
FAIL CSSMarginRule interface: existence and properties of interface prototype object assert_own_property: self does not have own property "CSSMarginRule" expected property "CSSMarginRule" missing
261
FAIL CSSMarginRule interface: existence and properties of interface prototype object's "constructor" property assert_own_property: self does not have own property "CSSMarginRule" expected property "CSSMarginRule" missing
262
FAIL CSSMarginRule interface: existence and properties of interface prototype object's @@unscopables property assert_own_property: self does not have own property "CSSMarginRule" expected property "CSSMarginRule" missing
263
FAIL CSSMarginRule interface: attribute name assert_own_property: self does not have own property "CSSMarginRule" expected property "CSSMarginRule" missing
264
FAIL CSSMarginRule interface: attribute style assert_own_property: self does not have own property "CSSMarginRule" expected property "CSSMarginRule" missing
265
FAIL CSSMarginRule must be primary interface of sheet.cssRules[2].cssRules[0] assert_equals: Unexpected exception when evaluating object expected null but got object "TypeError: undefined is not an object (evaluating 'sheet.cssRules[2].cssRules[0]')"
266
FAIL Stringification of sheet.cssRules[2].cssRules[0] assert_equals: Unexpected exception when evaluating object expected null but got object "TypeError: undefined is not an object (evaluating 'sheet.cssRules[2].cssRules[0]')"
267
FAIL CSSMarginRule interface: sheet.cssRules[2].cssRules[0] must inherit property "name" with the proper type assert_equals: Unexpected exception when evaluating object expected null but got object "TypeError: undefined is not an object (evaluating 'sheet.cssRules[2].cssRules[0]')"
268
FAIL CSSMarginRule interface: sheet.cssRules[2].cssRules[0] must inherit property "style" with the proper type assert_equals: Unexpected exception when evaluating object expected null but got object "TypeError: undefined is not an object (evaluating 'sheet.cssRules[2].cssRules[0]')"
269
FAIL CSSRule interface: sheet.cssRules[2].cssRules[0] must inherit property "cssText" with the proper type assert_equals: Unexpected exception when evaluating object expected null but got object "TypeError: undefined is not an object (evaluating 'sheet.cssRules[2].cssRules[0]')"
270
FAIL CSSRule interface: sheet.cssRules[2].cssRules[0] must inherit property "parentRule" with the proper type assert_equals: Unexpected exception when evaluating object expected null but got object "TypeError: undefined is not an object (evaluating 'sheet.cssRules[2].cssRules[0]')"
271
FAIL CSSRule interface: sheet.cssRules[2].cssRules[0] must inherit property "parentStyleSheet" with the proper type assert_equals: Unexpected exception when evaluating object expected null but got object "TypeError: undefined is not an object (evaluating 'sheet.cssRules[2].cssRules[0]')"
272
FAIL CSSRule interface: sheet.cssRules[2].cssRules[0] must inherit property "type" with the proper type assert_equals: Unexpected exception when evaluating object expected null but got object "TypeError: undefined is not an object (evaluating 'sheet.cssRules[2].cssRules[0]')"
273
FAIL CSSRule interface: sheet.cssRules[2].cssRules[0] must inherit property "STYLE_RULE" with the proper type assert_equals: Unexpected exception when evaluating object expected null but got object "TypeError: undefined is not an object (evaluating 'sheet.cssRules[2].cssRules[0]')"
274
FAIL CSSRule interface: sheet.cssRules[2].cssRules[0] must inherit property "CHARSET_RULE" with the proper type assert_equals: Unexpected exception when evaluating object expected null but got object "TypeError: undefined is not an object (evaluating 'sheet.cssRules[2].cssRules[0]')"
275
FAIL CSSRule interface: sheet.cssRules[2].cssRules[0] must inherit property "IMPORT_RULE" with the proper type assert_equals: Unexpected exception when evaluating object expected null but got object "TypeError: undefined is not an object (evaluating 'sheet.cssRules[2].cssRules[0]')"
276
FAIL CSSRule interface: sheet.cssRules[2].cssRules[0] must inherit property "MEDIA_RULE" with the proper type assert_equals: Unexpected exception when evaluating object expected null but got object "TypeError: undefined is not an object (evaluating 'sheet.cssRules[2].cssRules[0]')"
277
FAIL CSSRule interface: sheet.cssRules[2].cssRules[0] must inherit property "FONT_FACE_RULE" with the proper type assert_equals: Unexpected exception when evaluating object expected null but got object "TypeError: undefined is not an object (evaluating 'sheet.cssRules[2].cssRules[0]')"
278
FAIL CSSRule interface: sheet.cssRules[2].cssRules[0] must inherit property "PAGE_RULE" with the proper type assert_equals: Unexpected exception when evaluating object expected null but got object "TypeError: undefined is not an object (evaluating 'sheet.cssRules[2].cssRules[0]')"
279
FAIL CSSRule interface: sheet.cssRules[2].cssRules[0] must inherit property "MARGIN_RULE" with the proper type assert_equals: Unexpected exception when evaluating object expected null but got object "TypeError: undefined is not an object (evaluating 'sheet.cssRules[2].cssRules[0]')"
280
FAIL CSSRule interface: sheet.cssRules[2].cssRules[0] must inherit property "NAMESPACE_RULE" with the proper type assert_equals: Unexpected exception when evaluating object expected null but got object "TypeError: undefined is not an object (evaluating 'sheet.cssRules[2].cssRules[0]')"
281
PASS CSSNamespaceRule interface: existence and properties of interface object 
282
PASS CSSNamespaceRule interface object length 
283
PASS CSSNamespaceRule interface object name 
284
PASS CSSNamespaceRule interface: existence and properties of interface prototype object 
285
PASS CSSNamespaceRule interface: existence and properties of interface prototype object's "constructor" property 
286
PASS CSSNamespaceRule interface: existence and properties of interface prototype object's @@unscopables property 
287
PASS CSSNamespaceRule interface: attribute namespaceURI 
288
PASS CSSNamespaceRule interface: attribute prefix 
289
PASS CSSNamespaceRule must be primary interface of sheet.cssRules[1] 
290
PASS Stringification of sheet.cssRules[1] 
291
PASS CSSNamespaceRule interface: sheet.cssRules[1] must inherit property "namespaceURI" with the proper type 
292
PASS CSSNamespaceRule interface: sheet.cssRules[1] must inherit property "prefix" with the proper type 
293
PASS CSSRule interface: sheet.cssRules[1] must inherit property "cssText" with the proper type 
294
PASS CSSRule interface: sheet.cssRules[1] must inherit property "parentRule" with the proper type 
295
PASS CSSRule interface: sheet.cssRules[1] must inherit property "parentStyleSheet" with the proper type 
296
PASS CSSRule interface: sheet.cssRules[1] must inherit property "type" with the proper type 
297
PASS CSSRule interface: sheet.cssRules[1] must inherit property "STYLE_RULE" with the proper type 
298
PASS CSSRule interface: sheet.cssRules[1] must inherit property "CHARSET_RULE" with the proper type 
299
PASS CSSRule interface: sheet.cssRules[1] must inherit property "IMPORT_RULE" with the proper type 
300
PASS CSSRule interface: sheet.cssRules[1] must inherit property "MEDIA_RULE" with the proper type 
301
PASS CSSRule interface: sheet.cssRules[1] must inherit property "FONT_FACE_RULE" with the proper type 
302
PASS CSSRule interface: sheet.cssRules[1] must inherit property "PAGE_RULE" with the proper type 
303
FAIL CSSRule interface: sheet.cssRules[1] must inherit property "MARGIN_RULE" with the proper type assert_inherits: property "MARGIN_RULE" not found in prototype chain
304
PASS CSSRule interface: sheet.cssRules[1] must inherit property "NAMESPACE_RULE" with the proper type 
305
PASS CSSStyleDeclaration interface: existence and properties of interface object 
306
PASS CSSStyleDeclaration interface object length 
307
PASS CSSStyleDeclaration interface object name 
308
PASS CSSStyleDeclaration interface: existence and properties of interface prototype object 
309
PASS CSSStyleDeclaration interface: existence and properties of interface prototype object's "constructor" property 
310
PASS CSSStyleDeclaration interface: existence and properties of interface prototype object's @@unscopables property 
311
PASS CSSStyleDeclaration interface: attribute cssText 
312
PASS CSSStyleDeclaration interface: attribute length 
313
PASS CSSStyleDeclaration interface: operation item(unsigned long) 
314
PASS CSSStyleDeclaration interface: operation getPropertyValue(CSSOMString) 
315
PASS CSSStyleDeclaration interface: operation getPropertyPriority(CSSOMString) 
316
PASS CSSStyleDeclaration interface: operation setProperty(CSSOMString, CSSOMString, optional CSSOMString) 
317
PASS CSSStyleDeclaration interface: operation removeProperty(CSSOMString) 
318
PASS CSSStyleDeclaration interface: attribute parentRule 
319
PASS CSSStyleDeclaration interface: attribute cssFloat 
320
PASS CSSStyleDeclaration must be primary interface of sheet.cssRules[4].style 
321
PASS Stringification of sheet.cssRules[4].style 
322
PASS CSSStyleDeclaration interface: sheet.cssRules[4].style must inherit property "cssText" with the proper type 
323
PASS CSSStyleDeclaration interface: sheet.cssRules[4].style must inherit property "length" with the proper type 
324
PASS CSSStyleDeclaration interface: sheet.cssRules[4].style must inherit property "item(unsigned long)" with the proper type 
325
PASS CSSStyleDeclaration interface: calling item(unsigned long) on sheet.cssRules[4].style with too few arguments must throw TypeError 
326
PASS CSSStyleDeclaration interface: sheet.cssRules[4].style must inherit property "getPropertyValue(CSSOMString)" with the proper type 
327
PASS CSSStyleDeclaration interface: calling getPropertyValue(CSSOMString) on sheet.cssRules[4].style with too few arguments must throw TypeError 
328
PASS CSSStyleDeclaration interface: sheet.cssRules[4].style must inherit property "getPropertyPriority(CSSOMString)" with the proper type 
329
PASS CSSStyleDeclaration interface: calling getPropertyPriority(CSSOMString) on sheet.cssRules[4].style with too few arguments must throw TypeError 
330
PASS CSSStyleDeclaration interface: sheet.cssRules[4].style must inherit property "setProperty(CSSOMString, CSSOMString, optional CSSOMString)" with the proper type 
331
PASS CSSStyleDeclaration interface: calling setProperty(CSSOMString, CSSOMString, optional CSSOMString) on sheet.cssRules[4].style with too few arguments must throw TypeError 
332
PASS CSSStyleDeclaration interface: sheet.cssRules[4].style must inherit property "removeProperty(CSSOMString)" with the proper type 
333
PASS CSSStyleDeclaration interface: calling removeProperty(CSSOMString) on sheet.cssRules[4].style with too few arguments must throw TypeError 
334
PASS CSSStyleDeclaration interface: sheet.cssRules[4].style must inherit property "parentRule" with the proper type 
335
PASS CSSStyleDeclaration interface: sheet.cssRules[4].style must inherit property "cssFloat" with the proper type 
336
PASS CSSStyleDeclaration must be primary interface of sheet.cssRules[2].style 
337
PASS Stringification of sheet.cssRules[2].style 
338
PASS CSSStyleDeclaration interface: sheet.cssRules[2].style must inherit property "cssText" with the proper type 
339
PASS CSSStyleDeclaration interface: sheet.cssRules[2].style must inherit property "length" with the proper type 
340
PASS CSSStyleDeclaration interface: sheet.cssRules[2].style must inherit property "item(unsigned long)" with the proper type 
341
PASS CSSStyleDeclaration interface: calling item(unsigned long) on sheet.cssRules[2].style with too few arguments must throw TypeError 
342
PASS CSSStyleDeclaration interface: sheet.cssRules[2].style must inherit property "getPropertyValue(CSSOMString)" with the proper type 
343
PASS CSSStyleDeclaration interface: calling getPropertyValue(CSSOMString) on sheet.cssRules[2].style with too few arguments must throw TypeError 
344
PASS CSSStyleDeclaration interface: sheet.cssRules[2].style must inherit property "getPropertyPriority(CSSOMString)" with the proper type 
345
PASS CSSStyleDeclaration interface: calling getPropertyPriority(CSSOMString) on sheet.cssRules[2].style with too few arguments must throw TypeError 
346
PASS CSSStyleDeclaration interface: sheet.cssRules[2].style must inherit property "setProperty(CSSOMString, CSSOMString, optional CSSOMString)" with the proper type 
347
PASS CSSStyleDeclaration interface: calling setProperty(CSSOMString, CSSOMString, optional CSSOMString) on sheet.cssRules[2].style with too few arguments must throw TypeError 
348
PASS CSSStyleDeclaration interface: sheet.cssRules[2].style must inherit property "removeProperty(CSSOMString)" with the proper type 
349
PASS CSSStyleDeclaration interface: calling removeProperty(CSSOMString) on sheet.cssRules[2].style with too few arguments must throw TypeError 
350
PASS CSSStyleDeclaration interface: sheet.cssRules[2].style must inherit property "parentRule" with the proper type 
351
PASS CSSStyleDeclaration interface: sheet.cssRules[2].style must inherit property "cssFloat" with the proper type 
352
FAIL CSSStyleDeclaration must be primary interface of sheet.cssRules[2].cssRules[0].style assert_equals: Unexpected exception when evaluating object expected null but got object "TypeError: undefined is not an object (evaluating 'sheet.cssRules[2].cssRules[0]')"
353
FAIL Stringification of sheet.cssRules[2].cssRules[0].style assert_equals: Unexpected exception when evaluating object expected null but got object "TypeError: undefined is not an object (evaluating 'sheet.cssRules[2].cssRules[0]')"
354
FAIL CSSStyleDeclaration interface: sheet.cssRules[2].cssRules[0].style must inherit property "cssText" with the proper type assert_equals: Unexpected exception when evaluating object expected null but got object "TypeError: undefined is not an object (evaluating 'sheet.cssRules[2].cssRules[0]')"
355
FAIL CSSStyleDeclaration interface: sheet.cssRules[2].cssRules[0].style must inherit property "length" with the proper type assert_equals: Unexpected exception when evaluating object expected null but got object "TypeError: undefined is not an object (evaluating 'sheet.cssRules[2].cssRules[0]')"
356
FAIL CSSStyleDeclaration interface: sheet.cssRules[2].cssRules[0].style must inherit property "item(unsigned long)" with the proper type assert_equals: Unexpected exception when evaluating object expected null but got object "TypeError: undefined is not an object (evaluating 'sheet.cssRules[2].cssRules[0]')"
357
FAIL CSSStyleDeclaration interface: calling item(unsigned long) on sheet.cssRules[2].cssRules[0].style with too few arguments must throw TypeError assert_equals: Unexpected exception when evaluating object expected null but got object "TypeError: undefined is not an object (evaluating 'sheet.cssRules[2].cssRules[0]')"
358
FAIL CSSStyleDeclaration interface: sheet.cssRules[2].cssRules[0].style must inherit property "getPropertyValue(CSSOMString)" with the proper type assert_equals: Unexpected exception when evaluating object expected null but got object "TypeError: undefined is not an object (evaluating 'sheet.cssRules[2].cssRules[0]')"
359
FAIL CSSStyleDeclaration interface: calling getPropertyValue(CSSOMString) on sheet.cssRules[2].cssRules[0].style with too few arguments must throw TypeError assert_equals: Unexpected exception when evaluating object expected null but got object "TypeError: undefined is not an object (evaluating 'sheet.cssRules[2].cssRules[0]')"
360
FAIL CSSStyleDeclaration interface: sheet.cssRules[2].cssRules[0].style must inherit property "getPropertyPriority(CSSOMString)" with the proper type assert_equals: Unexpected exception when evaluating object expected null but got object "TypeError: undefined is not an object (evaluating 'sheet.cssRules[2].cssRules[0]')"
361
FAIL CSSStyleDeclaration interface: calling getPropertyPriority(CSSOMString) on sheet.cssRules[2].cssRules[0].style with too few arguments must throw TypeError assert_equals: Unexpected exception when evaluating object expected null but got object "TypeError: undefined is not an object (evaluating 'sheet.cssRules[2].cssRules[0]')"
362
FAIL CSSStyleDeclaration interface: sheet.cssRules[2].cssRules[0].style must inherit property "setProperty(CSSOMString, CSSOMString, optional CSSOMString)" with the proper type assert_equals: Unexpected exception when evaluating object expected null but got object "TypeError: undefined is not an object (evaluating 'sheet.cssRules[2].cssRules[0]')"
363
FAIL CSSStyleDeclaration interface: calling setProperty(CSSOMString, CSSOMString, optional CSSOMString) on sheet.cssRules[2].cssRules[0].style with too few arguments must throw TypeError assert_equals: Unexpected exception when evaluating object expected null but got object "TypeError: undefined is not an object (evaluating 'sheet.cssRules[2].cssRules[0]')"
364
FAIL CSSStyleDeclaration interface: sheet.cssRules[2].cssRules[0].style must inherit property "removeProperty(CSSOMString)" with the proper type assert_equals: Unexpected exception when evaluating object expected null but got object "TypeError: undefined is not an object (evaluating 'sheet.cssRules[2].cssRules[0]')"
365
FAIL CSSStyleDeclaration interface: calling removeProperty(CSSOMString) on sheet.cssRules[2].cssRules[0].style with too few arguments must throw TypeError assert_equals: Unexpected exception when evaluating object expected null but got object "TypeError: undefined is not an object (evaluating 'sheet.cssRules[2].cssRules[0]')"
366
FAIL CSSStyleDeclaration interface: sheet.cssRules[2].cssRules[0].style must inherit property "parentRule" with the proper type assert_equals: Unexpected exception when evaluating object expected null but got object "TypeError: undefined is not an object (evaluating 'sheet.cssRules[2].cssRules[0]')"
367
FAIL CSSStyleDeclaration interface: sheet.cssRules[2].cssRules[0].style must inherit property "cssFloat" with the proper type assert_equals: Unexpected exception when evaluating object expected null but got object "TypeError: undefined is not an object (evaluating 'sheet.cssRules[2].cssRules[0]')"
368
PASS CSSStyleDeclaration must be primary interface of style_element.style 
369
PASS Stringification of style_element.style 
370
PASS CSSStyleDeclaration interface: style_element.style must inherit property "cssText" with the proper type 
371
PASS CSSStyleDeclaration interface: style_element.style must inherit property "length" with the proper type 
372
PASS CSSStyleDeclaration interface: style_element.style must inherit property "item(unsigned long)" with the proper type 
373
PASS CSSStyleDeclaration interface: calling item(unsigned long) on style_element.style with too few arguments must throw TypeError 
374
PASS CSSStyleDeclaration interface: style_element.style must inherit property "getPropertyValue(CSSOMString)" with the proper type 
375
PASS CSSStyleDeclaration interface: calling getPropertyValue(CSSOMString) on style_element.style with too few arguments must throw TypeError 
376
PASS CSSStyleDeclaration interface: style_element.style must inherit property "getPropertyPriority(CSSOMString)" with the proper type 
377
PASS CSSStyleDeclaration interface: calling getPropertyPriority(CSSOMString) on style_element.style with too few arguments must throw TypeError 
378
PASS CSSStyleDeclaration interface: style_element.style must inherit property "setProperty(CSSOMString, CSSOMString, optional CSSOMString)" with the proper type 
379
PASS CSSStyleDeclaration interface: calling setProperty(CSSOMString, CSSOMString, optional CSSOMString) on style_element.style with too few arguments must throw TypeError 
380
PASS CSSStyleDeclaration interface: style_element.style must inherit property "removeProperty(CSSOMString)" with the proper type 
381
PASS CSSStyleDeclaration interface: calling removeProperty(CSSOMString) on style_element.style with too few arguments must throw TypeError 
382
PASS CSSStyleDeclaration interface: style_element.style must inherit property "parentRule" with the proper type 
383
PASS CSSStyleDeclaration interface: style_element.style must inherit property "cssFloat" with the proper type 
384
PASS CSSStyleDeclaration must be primary interface of svg_element.style 
385
PASS Stringification of svg_element.style 
386
PASS CSSStyleDeclaration interface: svg_element.style must inherit property "cssText" with the proper type 
387
PASS CSSStyleDeclaration interface: svg_element.style must inherit property "length" with the proper type 
388
PASS CSSStyleDeclaration interface: svg_element.style must inherit property "item(unsigned long)" with the proper type 
389
PASS CSSStyleDeclaration interface: calling item(unsigned long) on svg_element.style with too few arguments must throw TypeError 
390
PASS CSSStyleDeclaration interface: svg_element.style must inherit property "getPropertyValue(CSSOMString)" with the proper type 
391
PASS CSSStyleDeclaration interface: calling getPropertyValue(CSSOMString) on svg_element.style with too few arguments must throw TypeError 
392
PASS CSSStyleDeclaration interface: svg_element.style must inherit property "getPropertyPriority(CSSOMString)" with the proper type 
393
PASS CSSStyleDeclaration interface: calling getPropertyPriority(CSSOMString) on svg_element.style with too few arguments must throw TypeError 
394
PASS CSSStyleDeclaration interface: svg_element.style must inherit property "setProperty(CSSOMString, CSSOMString, optional CSSOMString)" with the proper type 
395
PASS CSSStyleDeclaration interface: calling setProperty(CSSOMString, CSSOMString, optional CSSOMString) on svg_element.style with too few arguments must throw TypeError 
396
PASS CSSStyleDeclaration interface: svg_element.style must inherit property "removeProperty(CSSOMString)" with the proper type 
397
PASS CSSStyleDeclaration interface: calling removeProperty(CSSOMString) on svg_element.style with too few arguments must throw TypeError 
398
PASS CSSStyleDeclaration interface: svg_element.style must inherit property "parentRule" with the proper type 
399
PASS CSSStyleDeclaration interface: svg_element.style must inherit property "cssFloat" with the proper type 
400
PASS CSSStyleDeclaration must be primary interface of getComputedStyle(svg_element) 
401
PASS Stringification of getComputedStyle(svg_element) 
402
PASS CSSStyleDeclaration interface: getComputedStyle(svg_element) must inherit property "cssText" with the proper type 
403
PASS CSSStyleDeclaration interface: getComputedStyle(svg_element) must inherit property "length" with the proper type 
404
PASS CSSStyleDeclaration interface: getComputedStyle(svg_element) must inherit property "item(unsigned long)" with the proper type 
405
PASS CSSStyleDeclaration interface: calling item(unsigned long) on getComputedStyle(svg_element) with too few arguments must throw TypeError 
406
PASS CSSStyleDeclaration interface: getComputedStyle(svg_element) must inherit property "getPropertyValue(CSSOMString)" with the proper type 
407
PASS CSSStyleDeclaration interface: calling getPropertyValue(CSSOMString) on getComputedStyle(svg_element) with too few arguments must throw TypeError 
408
PASS CSSStyleDeclaration interface: getComputedStyle(svg_element) must inherit property "getPropertyPriority(CSSOMString)" with the proper type 
409
PASS CSSStyleDeclaration interface: calling getPropertyPriority(CSSOMString) on getComputedStyle(svg_element) with too few arguments must throw TypeError 
410
PASS CSSStyleDeclaration interface: getComputedStyle(svg_element) must inherit property "setProperty(CSSOMString, CSSOMString, optional CSSOMString)" with the proper type 
411
PASS CSSStyleDeclaration interface: calling setProperty(CSSOMString, CSSOMString, optional CSSOMString) on getComputedStyle(svg_element) with too few arguments must throw TypeError 
412
PASS CSSStyleDeclaration interface: getComputedStyle(svg_element) must inherit property "removeProperty(CSSOMString)" with the proper type 
413
PASS CSSStyleDeclaration interface: calling removeProperty(CSSOMString) on getComputedStyle(svg_element) with too few arguments must throw TypeError 
414
PASS CSSStyleDeclaration interface: getComputedStyle(svg_element) must inherit property "parentRule" with the proper type 
415
PASS CSSStyleDeclaration interface: getComputedStyle(svg_element) must inherit property "cssFloat" with the proper type 
416
PASS CSS namespace: operation escape(CSSOMString) 
417
PASS SVGElement interface: attribute style 
418
PASS SVGElement interface: svg_element must inherit property "style" with the proper type 
419
FAIL SVGStyleElement interface: attribute sheet assert_true: The prototype object must have a property "sheet" expected true got false
420
PASS HTMLElement interface: attribute style 
421
PASS HTMLElement interface: style_element must inherit property "style" with the proper type 
422
PASS HTMLElement interface: document.createElement("unknownelement") must inherit property "style" with the proper type 
423
PASS HTMLLinkElement interface: attribute sheet 
424
PASS HTMLStyleElement interface: attribute sheet 
425
PASS Window interface: operation getComputedStyle(Element, optional CSSOMString?) 
426
PASS Window interface: window must inherit property "getComputedStyle(Element, optional CSSOMString?)" with the proper type 
427
PASS Window interface: calling getComputedStyle(Element, optional CSSOMString?) on window with too few arguments must throw TypeError 
428
PASS Document interface: attribute styleSheets 
429
PASS Document interface: document must inherit property "styleSheets" with the proper type 
430
PASS Document interface: new Document() must inherit property "styleSheets" with the proper type 
431
PASS ShadowRoot interface: attribute styleSheets 
432
PASS ProcessingInstruction interface: attribute sheet 
433
PASS ProcessingInstruction interface: xmlss_pi must inherit property "sheet" with the proper type 
434
- a/LayoutTests/imported/w3c/web-platform-tests/css/cssom/idlharness.html +77 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/cssom/idlharness.html_sec1
1
<!doctype html>
2
<meta charset=utf-8>
3
<!-- WARNING: These tests are preliminary and probably partly incorrect.  -->
4
<title>CSSOM automated IDL tests</title>
5
<link rel="author" title="Ms2ger" href="mailto:Ms2ger@gmail.com">
6
<link rel="help" href="https://drafts.csswg.org/cssom-1/#idl-index">
7
<meta name="timeout" content="long">
8
<script src=/resources/testharness.js></script>
9
<script src=/resources/testharnessreport.js></script>
10
<script src=/resources/WebIDLParser.js></script>
11
<script src=/resources/idlharness.js></script>
12
<!--
13
Provide some objects to test.
14
Use a non-empty style attribute to get a non-empty CSSStyleDeclaration.
15
-->
16
<style id="styleElement" style="z-index: 0;">
17
@import url("data:text/css,");
18
@namespace x "y";
19
@page { @top-left {} }
20
@media all {}
21
#test { color: green; }
22
</style>
23
24
<svg id="svgElement" style="height: 0;"></svg>
25
26
<iframe id="xmlssPiIframe" src="support/xmlss-pi.xhtml" style="display: none;"></iframe>
27
28
<h1>CSSOM IDL tests</h1>
29
<div id=log></div>
30
31
<script>
32
'use strict';
33
34
const waitForLoad = new Promise(r => { addEventListener('load', r); });
35
36
idl_test(
37
  ['cssom'],
38
  ['SVG', 'uievents', 'html', 'dom'],
39
  async idlArray => {
40
    idlArray.add_objects({
41
      Document: ['document', 'new Document()'],
42
      StyleSheetList: ['document.styleSheets'],
43
      CSSStyleSheet: ['sheet'],
44
      MediaList: ['sheet.media'],
45
      CSSRuleList: ['sheet.cssRules'],
46
      CSSImportRule: ['sheet.cssRules[0]'],
47
      CSSNamespaceRule: ['sheet.cssRules[1]'],
48
      CSSPageRule: ['sheet.cssRules[2]'],
49
      CSSMarginRule: ['sheet.cssRules[2].cssRules[0]'],
50
      CSSMediaRule: ['sheet.cssRules[3]'],
51
      CSSStyleRule: ['sheet.cssRules[4]'],
52
      CSSStyleDeclaration: [
53
        'sheet.cssRules[4].style', // CSSStyleRule
54
        'sheet.cssRules[2].style', // CSSPageRule
55
        'sheet.cssRules[2].cssRules[0].style', // CSSMarginRule
56
        'style_element.style', // ElementCSSInlineStyle for HTMLElement
57
        'svg_element.style', // ElementCSSInlineStyle for SVGElement
58
        'getComputedStyle(svg_element)'
59
      ],
60
      ProcessingInstruction: ['xmlss_pi'],
61
      Window: ['window'],
62
      HTMLElement: [
63
        'style_element',
64
        'document.createElement("unknownelement")'
65
      ],
66
      SVGElement: ['svg_element'],
67
    });
68
69
    await waitForLoad;
70
    self.style_element = document.getElementById('styleElement');
71
    self.sheet = style_element.sheet;
72
    self.svg_element = document.getElementById('svgElement');
73
    self.xmlss_pi = document.getElementById('xmlssPiIframe').contentDocument.firstChild;
74
  }
75
);
76
77
</script>
- a/LayoutTests/imported/w3c/web-platform-tests/css/cssom/inline-style-001.html -18 / +13 lines
Lines 14-34 a/LayoutTests/imported/w3c/web-platform-tests/css/cssom/inline-style-001.html_sec1
14
 <div id="log"></div>
14
 <div id="log"></div>
15
 <div id="test" style="margin-left: 5px;"></div>
15
 <div id="test" style="margin-left: 5px;"></div>
16
 <script type="text/javascript">
16
 <script type="text/javascript">
17
    // Can access CSSStyleDeclaration through style property
17
    test(function() {
18
    test(function() {
18
        var test = document.getElementById("test");
19
        var test = document.getElementById("test");
19
        assert_idl_attribute(test, "style");
20
        assert_idl_attribute(test, "style");
20
        declaration = test.style;
21
        declaration = test.style;
21
    }, "CSSStyleDeclaration_accessible", {
22
    }, "CSSStyleDeclaration_accessible");
22
        assert: "Can access CSSStyleDeclaration through style property"
23
    });
24
23
24
    // initial property values are correct
25
    test(function() {
25
    test(function() {
26
        assert_equals(declaration.cssText, "margin-left: 5px;");
26
        assert_equals(declaration.cssText, "margin-left: 5px;");
27
        assert_equals(declaration.getPropertyValue("margin-left"), "5px");
27
        assert_equals(declaration.getPropertyValue("margin-left"), "5px");
28
    }, "read", {
28
    }, "read");
29
        assert: "initial property values are correct"
30
    });
31
29
30
    // setting cssText adds new properties
31
    // setting cssText removes existing properties
32
    // properties set through cssText are reflected in the computed style
32
    test(function() {
33
    test(function() {
33
        declaration.cssText = "margin-left: 10px; padding-left: 10px;";
34
        declaration.cssText = "margin-left: 10px; padding-left: 10px;";
34
        assert_equals(declaration.cssText, "margin-left: 10px; padding-left: 10px;");
35
        assert_equals(declaration.cssText, "margin-left: 10px; padding-left: 10px;");
Lines 41-52 a/LayoutTests/imported/w3c/web-platform-tests/css/cssom/inline-style-001.html_sec2
41
        var computedStyle = window.getComputedStyle(document.getElementById("test"));
42
        var computedStyle = window.getComputedStyle(document.getElementById("test"));
42
        assert_equals(computedStyle.getPropertyValue("margin-left"), "10px");
43
        assert_equals(computedStyle.getPropertyValue("margin-left"), "10px");
43
        assert_equals(computedStyle.getPropertyValue("padding-left"), "10px");
44
        assert_equals(computedStyle.getPropertyValue("padding-left"), "10px");
44
    }, "csstext_write", {
45
    }, "csstext_write");
45
        assert: [ "setting cssText adds new properties",
46
                "setting cssText removes existing properties",
47
                "properties set through cssText are reflected in the computed style"]
48
    });
49
46
47
    // setProperty adds new properties
48
    // properties set through setProperty are reflected in the computed style
50
    test(function() {
49
    test(function() {
51
        while(declaration.length > 0)
50
        while(declaration.length > 0)
52
            declaration.removeProperty(declaration.item(0));
51
            declaration.removeProperty(declaration.item(0));
Lines 62-72 a/LayoutTests/imported/w3c/web-platform-tests/css/cssom/inline-style-001.html_sec3
62
        var computedStyle = window.getComputedStyle(document.getElementById("test"));
61
        var computedStyle = window.getComputedStyle(document.getElementById("test"));
63
        assert_equals(computedStyle.getPropertyValue("margin-left"), "15px");
62
        assert_equals(computedStyle.getPropertyValue("margin-left"), "15px");
64
        assert_equals(computedStyle.getPropertyValue("padding-left"), "15px");
63
        assert_equals(computedStyle.getPropertyValue("padding-left"), "15px");
65
    }, "property_write", {
64
    }, "property_write");
66
        assert: [ "setProperty adds new properties",
67
                "properties set through setProperty are reflected in the computed style"]
68
    });
69
65
66
    // shorthand property is expanded
70
    test(function() {
67
    test(function() {
71
        while(declaration.length > 0)
68
        while(declaration.length > 0)
72
            declaration.removeProperty(declaration.item(0));
69
            declaration.removeProperty(declaration.item(0));
Lines 75-83 a/LayoutTests/imported/w3c/web-platform-tests/css/cssom/inline-style-001.html_sec4
75
        assert_equals(declaration.getPropertyValue("margin-right"), "20px");
72
        assert_equals(declaration.getPropertyValue("margin-right"), "20px");
76
        assert_equals(declaration.getPropertyValue("margin-bottom"), "20px");
73
        assert_equals(declaration.getPropertyValue("margin-bottom"), "20px");
77
        assert_equals(declaration.getPropertyValue("margin-left"), "20px");
74
        assert_equals(declaration.getPropertyValue("margin-left"), "20px");
78
    }, "shorthand_properties", {
75
    }, "shorthand_properties");
79
        assert: "shorthand property is expanded"
80
    });
81
 </script>
76
 </script>
82
 </body>
77
 </body>
83
</html>
78
</html>
- a/LayoutTests/imported/w3c/web-platform-tests/css/cssom/insertRule-from-script-expected.html +6 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/cssom/insertRule-from-script-expected.html_sec1
1
<!doctype html>
2
<head>
3
  <meta charset="utf-8">
4
  <title>insertrule @import test reference</title>
5
  <link rel="stylesheet" href="support/black.css">
6
</head>
- a/LayoutTests/imported/w3c/web-platform-tests/css/cssom/insertRule-from-script.html +12 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/cssom/insertRule-from-script.html_sec1
1
<!doctype html>
2
<head>
3
  <meta charset="utf-8">
4
  <title>insertrule @import test</title>
5
  <link rel="help" href="https://drafts.csswg.org/cssom/">
6
  <link rel="help" href="http://www.w3.org/TR/cssom-1/#the-cssrule-interface">
7
  <link rel="match" href="insertRule-from-script-ref.html">
8
  <style></style>
9
</head>
10
<body>
11
  <script>document.styleSheets[0].insertRule("@import url(\"support/black.css\");");</script>
12
</body>
- a/LayoutTests/imported/w3c/web-platform-tests/css/cssom/insertRule-import-no-index.html -2 / +2 lines
Lines 18-30 a/LayoutTests/imported/w3c/web-platform-tests/css/cssom/insertRule-import-no-index.html_sec1
18
    var sheet = document.getElementById("styleElement").sheet;
18
    var sheet = document.getElementById("styleElement").sheet;
19
    test(function() {
19
    test(function() {
20
        assert_equals(sheet.cssRules.length, 1);
20
        assert_equals(sheet.cssRules.length, 1);
21
        assert_throws("HierarchyRequestError", function() { sheet.insertRule("p { color: green; }"); });
21
        assert_throws_dom("HierarchyRequestError", function() { sheet.insertRule("p { color: green; }"); });
22
        assert_equals(sheet.cssRules.length, 1);
22
        assert_equals(sheet.cssRules.length, 1);
23
    }, "insertRule with import and omitted index argument");
23
    }, "insertRule with import and omitted index argument");
24
24
25
    test(function() {
25
    test(function() {
26
        assert_equals(sheet.cssRules.length, 1);
26
        assert_equals(sheet.cssRules.length, 1);
27
        assert_throws("HierarchyRequestError", function() { sheet.insertRule("p { color: yellow; }", undefined); });
27
        assert_throws_dom("HierarchyRequestError", function() { sheet.insertRule("p { color: yellow; }", undefined); });
28
        assert_equals(sheet.cssRules.length, 1);
28
        assert_equals(sheet.cssRules.length, 1);
29
        assert_equals(sheet.cssRules.item(0).cssText, "@import url(\"support/a-green.css\");");
29
        assert_equals(sheet.cssRules.item(0).cssText, "@import url(\"support/a-green.css\");");
30
    }, "insertRule with import and undefined index argument");
30
    }, "insertRule with import and undefined index argument");
- a/LayoutTests/imported/w3c/web-platform-tests/css/cssom/insertRule-namespace-no-index.html -2 / +2 lines
Lines 20-32 a/LayoutTests/imported/w3c/web-platform-tests/css/cssom/insertRule-namespace-no-index.html_sec1
20
    var sheet = document.getElementById("styleElement").sheet;
20
    var sheet = document.getElementById("styleElement").sheet;
21
    test(function() {
21
    test(function() {
22
        assert_equals(sheet.cssRules.length, 3);
22
        assert_equals(sheet.cssRules.length, 3);
23
        assert_throws("HierarchyRequestError", function() { sheet.insertRule("p { color: green; }"); });
23
        assert_throws_dom("HierarchyRequestError", function() { sheet.insertRule("p { color: green; }"); });
24
        assert_equals(sheet.cssRules.length, 3);
24
        assert_equals(sheet.cssRules.length, 3);
25
    }, "insertRule with namespace and omitted index argument");
25
    }, "insertRule with namespace and omitted index argument");
26
26
27
    test(function() {
27
    test(function() {
28
        assert_equals(sheet.cssRules.length, 3);
28
        assert_equals(sheet.cssRules.length, 3);
29
        assert_throws("HierarchyRequestError", function() { sheet.insertRule("p { color: yellow; }", undefined); });
29
        assert_throws_dom("HierarchyRequestError", function() { sheet.insertRule("p { color: yellow; }", undefined); });
30
        assert_equals(sheet.cssRules.length, 3);
30
        assert_equals(sheet.cssRules.length, 3);
31
    }, "insertRule with namespace and undefined index argument");
31
    }, "insertRule with namespace and undefined index argument");
32
32
- a/LayoutTests/imported/w3c/web-platform-tests/css/cssom/insertRule-syntax-error-01.html -1 / +1 lines
Lines 8-14 p { color: green; } a/LayoutTests/imported/w3c/web-platform-tests/css/cssom/insertRule-syntax-error-01.html_sec1
8
<p id="test">This text should be green.</p>
8
<p id="test">This text should be green.</p>
9
<script>
9
<script>
10
    test(function() {
10
    test(function() {
11
        assert_throws("SyntaxError", () => document.styleSheets[0].insertRule("p { color: red; } garbage", 1));
11
        assert_throws_dom("SyntaxError", () => document.styleSheets[0].insertRule("p { color: red; } garbage", 1));
12
        assert_equals(getComputedStyle(document.getElementById("test")).color, "rgb(0, 128, 0)");
12
        assert_equals(getComputedStyle(document.getElementById("test")).color, "rgb(0, 128, 0)");
13
    }, "A syntax error in insertRule should throw and not affect the style of the page");
13
    }, "A syntax error in insertRule should throw and not affect the style of the page");
14
</script>
14
</script>
- a/LayoutTests/imported/w3c/web-platform-tests/css/cssom/interfaces-expected.txt -523 lines
Lines 1-523 a/LayoutTests/imported/w3c/web-platform-tests/css/cssom/interfaces-expected.txt_sec1
1
CSSOM IDL tests
2
3
4
PASS Test driver 
5
PASS Partial interface Document: member names are unique 
6
PASS Partial interface mixin DocumentOrShadowRoot: member names are unique 
7
PASS Partial interface mixin NavigatorID: member names are unique 
8
PASS Partial interface HTMLAnchorElement: member names are unique 
9
PASS Partial interface HTMLAreaElement: member names are unique 
10
PASS Partial interface HTMLBodyElement: member names are unique 
11
PASS Partial interface HTMLBRElement: member names are unique 
12
PASS Partial interface HTMLTableCaptionElement: member names are unique 
13
PASS Partial interface HTMLTableColElement: member names are unique 
14
PASS Partial interface HTMLDivElement: member names are unique 
15
PASS Partial interface HTMLDListElement: member names are unique 
16
PASS Partial interface HTMLEmbedElement: member names are unique 
17
PASS Partial interface HTMLHeadingElement: member names are unique 
18
PASS Partial interface HTMLHRElement: member names are unique 
19
PASS Partial interface HTMLHtmlElement: member names are unique 
20
PASS Partial interface HTMLIFrameElement: member names are unique 
21
PASS Partial interface HTMLImageElement: member names are unique 
22
PASS Partial interface HTMLInputElement: member names are unique 
23
PASS Partial interface HTMLLegendElement: member names are unique 
24
PASS Partial interface HTMLLIElement: member names are unique 
25
PASS Partial interface HTMLLinkElement: member names are unique 
26
PASS Partial interface HTMLMenuElement: member names are unique 
27
PASS Partial interface HTMLMetaElement: member names are unique 
28
PASS Partial interface HTMLObjectElement: member names are unique 
29
PASS Partial interface HTMLOListElement: member names are unique 
30
PASS Partial interface HTMLParagraphElement: member names are unique 
31
PASS Partial interface HTMLParamElement: member names are unique 
32
PASS Partial interface HTMLPreElement: member names are unique 
33
PASS Partial interface HTMLStyleElement: member names are unique 
34
PASS Partial interface HTMLScriptElement: member names are unique 
35
PASS Partial interface HTMLTableElement: member names are unique 
36
PASS Partial interface HTMLTableSectionElement: member names are unique 
37
PASS Partial interface HTMLTableCellElement: member names are unique 
38
PASS Partial interface HTMLTableRowElement: member names are unique 
39
PASS Partial interface HTMLUListElement: member names are unique 
40
PASS Partial interface Document[2]: member names are unique 
41
PASS Partial interface Window: member names are unique 
42
PASS Partial interface Window[2]: member names are unique 
43
PASS Partial interface UIEvent: member names are unique 
44
PASS Partial interface CSSStyleSheet: original interface defined 
45
PASS Partial interface CSSStyleSheet: member names are unique 
46
PASS Partial interface mixin DocumentOrShadowRoot[2]: original interface mixin defined 
47
PASS Partial interface mixin DocumentOrShadowRoot[2]: member names are unique 
48
PASS Partial interface Window[3]: original interface defined 
49
PASS Partial interface Window[3]: member names are unique 
50
PASS Document includes GlobalEventHandlers: member names are unique 
51
PASS Document includes DocumentAndElementEventHandlers: member names are unique 
52
PASS Document includes NonElementParentNode: member names are unique 
53
PASS Document includes DocumentOrShadowRoot: member names are unique 
54
PASS Document includes ParentNode: member names are unique 
55
PASS Document includes XPathEvaluatorBase: member names are unique 
56
PASS HTMLElement includes GlobalEventHandlers: member names are unique 
57
PASS HTMLElement includes DocumentAndElementEventHandlers: member names are unique 
58
PASS HTMLElement includes ElementContentEditable: member names are unique 
59
PASS HTMLElement includes HTMLOrSVGElement: member names are unique 
60
PASS HTMLElement includes ElementCSSInlineStyle: member names are unique 
61
PASS HTMLLinkElement includes LinkStyle: member names are unique 
62
PASS HTMLStyleElement includes LinkStyle: member names are unique 
63
PASS HTMLBodyElement includes WindowEventHandlers: member names are unique 
64
PASS HTMLAnchorElement includes HTMLHyperlinkElementUtils: member names are unique 
65
PASS HTMLAreaElement includes HTMLHyperlinkElementUtils: member names are unique 
66
PASS CanvasRenderingContext2D includes CanvasState: member names are unique 
67
PASS CanvasRenderingContext2D includes CanvasTransform: member names are unique 
68
PASS CanvasRenderingContext2D includes CanvasCompositing: member names are unique 
69
PASS CanvasRenderingContext2D includes CanvasImageSmoothing: member names are unique 
70
PASS CanvasRenderingContext2D includes CanvasFillStrokeStyles: member names are unique 
71
PASS CanvasRenderingContext2D includes CanvasShadowStyles: member names are unique 
72
PASS CanvasRenderingContext2D includes CanvasFilters: member names are unique 
73
PASS CanvasRenderingContext2D includes CanvasRect: member names are unique 
74
PASS CanvasRenderingContext2D includes CanvasDrawPath: member names are unique 
75
PASS CanvasRenderingContext2D includes CanvasUserInterface: member names are unique 
76
PASS CanvasRenderingContext2D includes CanvasText: member names are unique 
77
PASS CanvasRenderingContext2D includes CanvasDrawImage: member names are unique 
78
PASS CanvasRenderingContext2D includes CanvasImageData: member names are unique 
79
PASS CanvasRenderingContext2D includes CanvasPathDrawingStyles: member names are unique 
80
PASS CanvasRenderingContext2D includes CanvasTextDrawingStyles: member names are unique 
81
PASS CanvasRenderingContext2D includes CanvasPath: member names are unique 
82
PASS Path2D includes CanvasPath: member names are unique 
83
PASS OffscreenCanvasRenderingContext2D includes CanvasState: member names are unique 
84
PASS OffscreenCanvasRenderingContext2D includes CanvasTransform: member names are unique 
85
PASS OffscreenCanvasRenderingContext2D includes CanvasCompositing: member names are unique 
86
PASS OffscreenCanvasRenderingContext2D includes CanvasImageSmoothing: member names are unique 
87
PASS OffscreenCanvasRenderingContext2D includes CanvasFillStrokeStyles: member names are unique 
88
PASS OffscreenCanvasRenderingContext2D includes CanvasShadowStyles: member names are unique 
89
PASS OffscreenCanvasRenderingContext2D includes CanvasFilters: member names are unique 
90
PASS OffscreenCanvasRenderingContext2D includes CanvasRect: member names are unique 
91
PASS OffscreenCanvasRenderingContext2D includes CanvasDrawPath: member names are unique 
92
PASS OffscreenCanvasRenderingContext2D includes CanvasText: member names are unique 
93
PASS OffscreenCanvasRenderingContext2D includes CanvasDrawImage: member names are unique 
94
PASS OffscreenCanvasRenderingContext2D includes CanvasImageData: member names are unique 
95
PASS OffscreenCanvasRenderingContext2D includes CanvasPathDrawingStyles: member names are unique 
96
PASS OffscreenCanvasRenderingContext2D includes CanvasTextDrawingStyles: member names are unique 
97
PASS OffscreenCanvasRenderingContext2D includes CanvasPath: member names are unique 
98
PASS Window includes GlobalEventHandlers: member names are unique 
99
PASS Window includes WindowEventHandlers: member names are unique 
100
PASS Window includes WindowOrWorkerGlobalScope: member names are unique 
101
PASS Window includes AnimationFrameProvider: member names are unique 
102
PASS Window includes WindowSessionStorage: member names are unique 
103
PASS Window includes WindowLocalStorage: member names are unique 
104
PASS WorkerGlobalScope includes WindowOrWorkerGlobalScope: member names are unique 
105
PASS Navigator includes NavigatorID: member names are unique 
106
PASS Navigator includes NavigatorLanguage: member names are unique 
107
PASS Navigator includes NavigatorOnLine: member names are unique 
108
PASS Navigator includes NavigatorContentUtils: member names are unique 
109
PASS Navigator includes NavigatorCookies: member names are unique 
110
PASS Navigator includes NavigatorPlugins: member names are unique 
111
PASS Navigator includes NavigatorConcurrentHardware: member names are unique 
112
PASS DedicatedWorkerGlobalScope includes AnimationFrameProvider: member names are unique 
113
PASS Worker includes AbstractWorker: member names are unique 
114
PASS SharedWorker includes AbstractWorker: member names are unique 
115
PASS WorkerNavigator includes NavigatorID: member names are unique 
116
PASS WorkerNavigator includes NavigatorLanguage: member names are unique 
117
PASS WorkerNavigator includes NavigatorOnLine: member names are unique 
118
PASS WorkerNavigator includes NavigatorConcurrentHardware: member names are unique 
119
PASS HTMLFrameSetElement includes WindowEventHandlers: member names are unique 
120
PASS DocumentFragment includes NonElementParentNode: member names are unique 
121
PASS DocumentFragment includes ParentNode: member names are unique 
122
PASS ShadowRoot includes DocumentOrShadowRoot: member names are unique 
123
PASS Element includes ParentNode: member names are unique 
124
PASS Element includes NonDocumentTypeChildNode: member names are unique 
125
PASS Element includes ChildNode: member names are unique 
126
PASS Element includes Slottable: member names are unique 
127
PASS CharacterData includes NonDocumentTypeChildNode: member names are unique 
128
PASS CharacterData includes ChildNode: member names are unique 
129
PASS DocumentType includes ChildNode: member names are unique 
130
PASS Text includes Slottable: member names are unique 
131
PASS XPathEvaluator includes XPathEvaluatorBase: member names are unique 
132
PASS ProcessingInstruction includes LinkStyle: member names are unique 
133
PASS SVGElement includes ElementCSSInlineStyle: member names are unique 
134
PASS HTMLElement interface: attribute style 
135
PASS HTMLElement interface: style_element must inherit property "style" with the proper type 
136
PASS HTMLElement interface: document.createElement('unknownelement') must inherit property "style" with the proper type 
137
PASS HTMLLinkElement interface: attribute sheet 
138
PASS HTMLStyleElement interface: attribute sheet 
139
PASS Window interface: operation getComputedStyle(Element, optional CSSOMString?) 
140
PASS Window interface: window must inherit property "getComputedStyle(Element, optional CSSOMString?)" with the proper type 
141
PASS Window interface: calling getComputedStyle(Element, optional CSSOMString?) on window with too few arguments must throw TypeError 
142
PASS WorkerGlobalScope interface: existence and properties of interface object 
143
PASS DedicatedWorkerGlobalScope interface: existence and properties of interface object 
144
PASS SharedWorkerGlobalScope interface: existence and properties of interface object 
145
PASS WorkerNavigator interface: existence and properties of interface object 
146
PASS WorkerLocation interface: existence and properties of interface object 
147
PASS Document interface: attribute styleSheets 
148
PASS Document interface: document must inherit property "styleSheets" with the proper type 
149
PASS Document interface: new Document() must inherit property "styleSheets" with the proper type 
150
PASS ShadowRoot interface: attribute styleSheets 
151
PASS ProcessingInstruction interface: attribute sheet 
152
PASS ProcessingInstruction interface: xmlss_pi must inherit property "sheet" with the proper type 
153
PASS SVGElement interface: attribute style 
154
PASS SVGElement interface: svg_element must inherit property "style" with the proper type 
155
PASS MediaList interface: existence and properties of interface object 
156
PASS MediaList interface object length 
157
PASS MediaList interface object name 
158
PASS MediaList interface: existence and properties of interface prototype object 
159
PASS MediaList interface: existence and properties of interface prototype object's "constructor" property 
160
PASS MediaList interface: existence and properties of interface prototype object's @@unscopables property 
161
PASS MediaList interface: attribute mediaText 
162
FAIL MediaList interface: stringifier assert_own_property: interface prototype object missing non-static operation expected property "toString" missing
163
PASS MediaList interface: attribute length 
164
PASS MediaList interface: operation item(unsigned long) 
165
PASS MediaList interface: operation appendMedium(CSSOMString) 
166
PASS MediaList interface: operation deleteMedium(CSSOMString) 
167
PASS MediaList must be primary interface of style_element.sheet.media 
168
PASS Stringification of style_element.sheet.media 
169
PASS MediaList interface: style_element.sheet.media must inherit property "mediaText" with the proper type 
170
PASS MediaList interface: style_element.sheet.media must inherit property "length" with the proper type 
171
PASS MediaList interface: style_element.sheet.media must inherit property "item(unsigned long)" with the proper type 
172
PASS MediaList interface: calling item(unsigned long) on style_element.sheet.media with too few arguments must throw TypeError 
173
PASS MediaList interface: style_element.sheet.media must inherit property "appendMedium(CSSOMString)" with the proper type 
174
PASS MediaList interface: calling appendMedium(CSSOMString) on style_element.sheet.media with too few arguments must throw TypeError 
175
PASS MediaList interface: style_element.sheet.media must inherit property "deleteMedium(CSSOMString)" with the proper type 
176
PASS MediaList interface: calling deleteMedium(CSSOMString) on style_element.sheet.media with too few arguments must throw TypeError 
177
PASS StyleSheet interface: existence and properties of interface object 
178
PASS StyleSheet interface object length 
179
PASS StyleSheet interface object name 
180
PASS StyleSheet interface: existence and properties of interface prototype object 
181
PASS StyleSheet interface: existence and properties of interface prototype object's "constructor" property 
182
PASS StyleSheet interface: existence and properties of interface prototype object's @@unscopables property 
183
PASS StyleSheet interface: attribute type 
184
PASS StyleSheet interface: attribute href 
185
PASS StyleSheet interface: attribute ownerNode 
186
PASS StyleSheet interface: attribute parentStyleSheet 
187
PASS StyleSheet interface: attribute title 
188
FAIL StyleSheet interface: attribute media assert_equals: setter must be function for PutForwards, Replaceable, or non-readonly attributes expected "function" but got "undefined"
189
PASS StyleSheet interface: attribute disabled 
190
PASS CSSStyleSheet interface: existence and properties of interface object 
191
PASS CSSStyleSheet interface object length 
192
PASS CSSStyleSheet interface object name 
193
PASS CSSStyleSheet interface: existence and properties of interface prototype object 
194
PASS CSSStyleSheet interface: existence and properties of interface prototype object's "constructor" property 
195
PASS CSSStyleSheet interface: existence and properties of interface prototype object's @@unscopables property 
196
PASS CSSStyleSheet interface: attribute ownerRule 
197
PASS CSSStyleSheet interface: attribute cssRules 
198
PASS CSSStyleSheet interface: operation insertRule(CSSOMString, optional unsigned long) 
199
PASS CSSStyleSheet interface: operation deleteRule(unsigned long) 
200
PASS CSSStyleSheet interface: attribute rules 
201
PASS CSSStyleSheet interface: operation addRule(optional DOMString, optional DOMString, optional unsigned long) 
202
PASS CSSStyleSheet interface: operation removeRule(optional unsigned long) 
203
PASS CSSStyleSheet must be primary interface of style_element.sheet 
204
PASS Stringification of style_element.sheet 
205
PASS CSSStyleSheet interface: style_element.sheet must inherit property "ownerRule" with the proper type 
206
PASS CSSStyleSheet interface: style_element.sheet must inherit property "cssRules" with the proper type 
207
PASS CSSStyleSheet interface: style_element.sheet must inherit property "insertRule(CSSOMString, optional unsigned long)" with the proper type 
208
PASS CSSStyleSheet interface: calling insertRule(CSSOMString, optional unsigned long) on style_element.sheet with too few arguments must throw TypeError 
209
PASS CSSStyleSheet interface: style_element.sheet must inherit property "deleteRule(unsigned long)" with the proper type 
210
PASS CSSStyleSheet interface: calling deleteRule(unsigned long) on style_element.sheet with too few arguments must throw TypeError 
211
PASS CSSStyleSheet interface: style_element.sheet must inherit property "rules" with the proper type 
212
PASS CSSStyleSheet interface: style_element.sheet must inherit property "addRule(optional DOMString, optional DOMString, optional unsigned long)" with the proper type 
213
PASS CSSStyleSheet interface: calling addRule(optional DOMString, optional DOMString, optional unsigned long) on style_element.sheet with too few arguments must throw TypeError 
214
PASS CSSStyleSheet interface: style_element.sheet must inherit property "removeRule(optional unsigned long)" with the proper type 
215
PASS CSSStyleSheet interface: calling removeRule(optional unsigned long) on style_element.sheet with too few arguments must throw TypeError 
216
PASS StyleSheet interface: style_element.sheet must inherit property "type" with the proper type 
217
PASS StyleSheet interface: style_element.sheet must inherit property "href" with the proper type 
218
PASS StyleSheet interface: style_element.sheet must inherit property "ownerNode" with the proper type 
219
PASS StyleSheet interface: style_element.sheet must inherit property "parentStyleSheet" with the proper type 
220
PASS StyleSheet interface: style_element.sheet must inherit property "title" with the proper type 
221
PASS StyleSheet interface: style_element.sheet must inherit property "media" with the proper type 
222
PASS StyleSheet interface: style_element.sheet must inherit property "disabled" with the proper type 
223
PASS StyleSheetList interface: existence and properties of interface object 
224
PASS StyleSheetList interface object length 
225
PASS StyleSheetList interface object name 
226
PASS StyleSheetList interface: existence and properties of interface prototype object 
227
PASS StyleSheetList interface: existence and properties of interface prototype object's "constructor" property 
228
PASS StyleSheetList interface: existence and properties of interface prototype object's @@unscopables property 
229
PASS StyleSheetList interface: operation item(unsigned long) 
230
PASS StyleSheetList interface: attribute length 
231
PASS StyleSheetList must be primary interface of document.styleSheets 
232
PASS Stringification of document.styleSheets 
233
PASS StyleSheetList interface: document.styleSheets must inherit property "item(unsigned long)" with the proper type 
234
PASS StyleSheetList interface: calling item(unsigned long) on document.styleSheets with too few arguments must throw TypeError 
235
PASS StyleSheetList interface: document.styleSheets must inherit property "length" with the proper type 
236
PASS CSSRuleList interface: existence and properties of interface object 
237
PASS CSSRuleList interface object length 
238
PASS CSSRuleList interface object name 
239
PASS CSSRuleList interface: existence and properties of interface prototype object 
240
PASS CSSRuleList interface: existence and properties of interface prototype object's "constructor" property 
241
PASS CSSRuleList interface: existence and properties of interface prototype object's @@unscopables property 
242
PASS CSSRuleList interface: operation item(unsigned long) 
243
PASS CSSRuleList interface: attribute length 
244
PASS CSSRuleList must be primary interface of style_element.sheet.cssRules 
245
PASS Stringification of style_element.sheet.cssRules 
246
PASS CSSRuleList interface: style_element.sheet.cssRules must inherit property "item(unsigned long)" with the proper type 
247
PASS CSSRuleList interface: calling item(unsigned long) on style_element.sheet.cssRules with too few arguments must throw TypeError 
248
PASS CSSRuleList interface: style_element.sheet.cssRules must inherit property "length" with the proper type 
249
PASS CSSRule interface: existence and properties of interface object 
250
PASS CSSRule interface object length 
251
PASS CSSRule interface object name 
252
PASS CSSRule interface: existence and properties of interface prototype object 
253
PASS CSSRule interface: existence and properties of interface prototype object's "constructor" property 
254
PASS CSSRule interface: existence and properties of interface prototype object's @@unscopables property 
255
PASS CSSRule interface: attribute cssText 
256
PASS CSSRule interface: attribute parentRule 
257
PASS CSSRule interface: attribute parentStyleSheet 
258
PASS CSSRule interface: attribute type 
259
PASS CSSRule interface: constant STYLE_RULE on interface object 
260
PASS CSSRule interface: constant STYLE_RULE on interface prototype object 
261
PASS CSSRule interface: constant CHARSET_RULE on interface object 
262
PASS CSSRule interface: constant CHARSET_RULE on interface prototype object 
263
PASS CSSRule interface: constant IMPORT_RULE on interface object 
264
PASS CSSRule interface: constant IMPORT_RULE on interface prototype object 
265
PASS CSSRule interface: constant MEDIA_RULE on interface object 
266
PASS CSSRule interface: constant MEDIA_RULE on interface prototype object 
267
PASS CSSRule interface: constant FONT_FACE_RULE on interface object 
268
PASS CSSRule interface: constant FONT_FACE_RULE on interface prototype object 
269
PASS CSSRule interface: constant PAGE_RULE on interface object 
270
PASS CSSRule interface: constant PAGE_RULE on interface prototype object 
271
FAIL CSSRule interface: constant MARGIN_RULE on interface object assert_own_property: expected property "MARGIN_RULE" missing
272
FAIL CSSRule interface: constant MARGIN_RULE on interface prototype object assert_own_property: expected property "MARGIN_RULE" missing
273
PASS CSSRule interface: constant NAMESPACE_RULE on interface object 
274
PASS CSSRule interface: constant NAMESPACE_RULE on interface prototype object 
275
PASS CSSStyleRule interface: existence and properties of interface object 
276
PASS CSSStyleRule interface object length 
277
PASS CSSStyleRule interface object name 
278
PASS CSSStyleRule interface: existence and properties of interface prototype object 
279
PASS CSSStyleRule interface: existence and properties of interface prototype object's "constructor" property 
280
PASS CSSStyleRule interface: existence and properties of interface prototype object's @@unscopables property 
281
PASS CSSStyleRule interface: attribute selectorText 
282
PASS CSSStyleRule interface: attribute style 
283
PASS CSSStyleRule must be primary interface of style_element.sheet.cssRules[4] 
284
PASS Stringification of style_element.sheet.cssRules[4] 
285
PASS CSSStyleRule interface: style_element.sheet.cssRules[4] must inherit property "selectorText" with the proper type 
286
PASS CSSStyleRule interface: style_element.sheet.cssRules[4] must inherit property "style" with the proper type 
287
PASS CSSRule interface: style_element.sheet.cssRules[4] must inherit property "cssText" with the proper type 
288
PASS CSSRule interface: style_element.sheet.cssRules[4] must inherit property "parentRule" with the proper type 
289
PASS CSSRule interface: style_element.sheet.cssRules[4] must inherit property "parentStyleSheet" with the proper type 
290
PASS CSSRule interface: style_element.sheet.cssRules[4] must inherit property "type" with the proper type 
291
PASS CSSRule interface: style_element.sheet.cssRules[4] must inherit property "STYLE_RULE" with the proper type 
292
PASS CSSRule interface: style_element.sheet.cssRules[4] must inherit property "CHARSET_RULE" with the proper type 
293
PASS CSSRule interface: style_element.sheet.cssRules[4] must inherit property "IMPORT_RULE" with the proper type 
294
PASS CSSRule interface: style_element.sheet.cssRules[4] must inherit property "MEDIA_RULE" with the proper type 
295
PASS CSSRule interface: style_element.sheet.cssRules[4] must inherit property "FONT_FACE_RULE" with the proper type 
296
PASS CSSRule interface: style_element.sheet.cssRules[4] must inherit property "PAGE_RULE" with the proper type 
297
FAIL CSSRule interface: style_element.sheet.cssRules[4] must inherit property "MARGIN_RULE" with the proper type assert_inherits: property "MARGIN_RULE" not found in prototype chain
298
PASS CSSRule interface: style_element.sheet.cssRules[4] must inherit property "NAMESPACE_RULE" with the proper type 
299
PASS CSSImportRule interface: existence and properties of interface object 
300
PASS CSSImportRule interface object length 
301
PASS CSSImportRule interface object name 
302
PASS CSSImportRule interface: existence and properties of interface prototype object 
303
PASS CSSImportRule interface: existence and properties of interface prototype object's "constructor" property 
304
PASS CSSImportRule interface: existence and properties of interface prototype object's @@unscopables property 
305
PASS CSSImportRule interface: attribute href 
306
FAIL CSSImportRule interface: attribute media assert_equals: setter must be function for PutForwards, Replaceable, or non-readonly attributes expected "function" but got "undefined"
307
PASS CSSImportRule interface: attribute styleSheet 
308
PASS CSSImportRule must be primary interface of style_element.sheet.cssRules[0] 
309
PASS Stringification of style_element.sheet.cssRules[0] 
310
PASS CSSImportRule interface: style_element.sheet.cssRules[0] must inherit property "href" with the proper type 
311
PASS CSSImportRule interface: style_element.sheet.cssRules[0] must inherit property "media" with the proper type 
312
PASS CSSImportRule interface: style_element.sheet.cssRules[0] must inherit property "styleSheet" with the proper type 
313
PASS CSSRule interface: style_element.sheet.cssRules[0] must inherit property "cssText" with the proper type 
314
PASS CSSRule interface: style_element.sheet.cssRules[0] must inherit property "parentRule" with the proper type 
315
PASS CSSRule interface: style_element.sheet.cssRules[0] must inherit property "parentStyleSheet" with the proper type 
316
PASS CSSRule interface: style_element.sheet.cssRules[0] must inherit property "type" with the proper type 
317
PASS CSSRule interface: style_element.sheet.cssRules[0] must inherit property "STYLE_RULE" with the proper type 
318
PASS CSSRule interface: style_element.sheet.cssRules[0] must inherit property "CHARSET_RULE" with the proper type 
319
PASS CSSRule interface: style_element.sheet.cssRules[0] must inherit property "IMPORT_RULE" with the proper type 
320
PASS CSSRule interface: style_element.sheet.cssRules[0] must inherit property "MEDIA_RULE" with the proper type 
321
PASS CSSRule interface: style_element.sheet.cssRules[0] must inherit property "FONT_FACE_RULE" with the proper type 
322
PASS CSSRule interface: style_element.sheet.cssRules[0] must inherit property "PAGE_RULE" with the proper type 
323
FAIL CSSRule interface: style_element.sheet.cssRules[0] must inherit property "MARGIN_RULE" with the proper type assert_inherits: property "MARGIN_RULE" not found in prototype chain
324
PASS CSSRule interface: style_element.sheet.cssRules[0] must inherit property "NAMESPACE_RULE" with the proper type 
325
FAIL CSSGroupingRule interface: existence and properties of interface object assert_own_property: self does not have own property "CSSGroupingRule" expected property "CSSGroupingRule" missing
326
FAIL CSSGroupingRule interface object length assert_own_property: self does not have own property "CSSGroupingRule" expected property "CSSGroupingRule" missing
327
FAIL CSSGroupingRule interface object name assert_own_property: self does not have own property "CSSGroupingRule" expected property "CSSGroupingRule" missing
328
FAIL CSSGroupingRule interface: existence and properties of interface prototype object assert_own_property: self does not have own property "CSSGroupingRule" expected property "CSSGroupingRule" missing
329
FAIL CSSGroupingRule interface: existence and properties of interface prototype object's "constructor" property assert_own_property: self does not have own property "CSSGroupingRule" expected property "CSSGroupingRule" missing
330
FAIL CSSGroupingRule interface: existence and properties of interface prototype object's @@unscopables property assert_own_property: self does not have own property "CSSGroupingRule" expected property "CSSGroupingRule" missing
331
FAIL CSSGroupingRule interface: attribute cssRules assert_own_property: self does not have own property "CSSGroupingRule" expected property "CSSGroupingRule" missing
332
FAIL CSSGroupingRule interface: operation insertRule(CSSOMString, optional unsigned long) assert_own_property: self does not have own property "CSSGroupingRule" expected property "CSSGroupingRule" missing
333
FAIL CSSGroupingRule interface: operation deleteRule(unsigned long) assert_own_property: self does not have own property "CSSGroupingRule" expected property "CSSGroupingRule" missing
334
FAIL CSSPageRule interface: existence and properties of interface object assert_own_property: self does not have own property "CSSGroupingRule" expected property "CSSGroupingRule" missing
335
PASS CSSPageRule interface object length 
336
PASS CSSPageRule interface object name 
337
FAIL CSSPageRule interface: existence and properties of interface prototype object assert_own_property: self does not have own property "CSSGroupingRule" expected property "CSSGroupingRule" missing
338
PASS CSSPageRule interface: existence and properties of interface prototype object's "constructor" property 
339
PASS CSSPageRule interface: existence and properties of interface prototype object's @@unscopables property 
340
PASS CSSPageRule interface: attribute selectorText 
341
PASS CSSPageRule interface: attribute style 
342
PASS CSSPageRule must be primary interface of style_element.sheet.cssRules[2] 
343
PASS Stringification of style_element.sheet.cssRules[2] 
344
PASS CSSPageRule interface: style_element.sheet.cssRules[2] must inherit property "selectorText" with the proper type 
345
PASS CSSPageRule interface: style_element.sheet.cssRules[2] must inherit property "style" with the proper type 
346
FAIL CSSGroupingRule interface: style_element.sheet.cssRules[2] must inherit property "cssRules" with the proper type assert_inherits: property "cssRules" not found in prototype chain
347
FAIL CSSGroupingRule interface: style_element.sheet.cssRules[2] must inherit property "insertRule(CSSOMString, optional unsigned long)" with the proper type assert_inherits: property "insertRule" not found in prototype chain
348
FAIL CSSGroupingRule interface: calling insertRule(CSSOMString, optional unsigned long) on style_element.sheet.cssRules[2] with too few arguments must throw TypeError assert_inherits: property "insertRule" not found in prototype chain
349
FAIL CSSGroupingRule interface: style_element.sheet.cssRules[2] must inherit property "deleteRule(unsigned long)" with the proper type assert_inherits: property "deleteRule" not found in prototype chain
350
FAIL CSSGroupingRule interface: calling deleteRule(unsigned long) on style_element.sheet.cssRules[2] with too few arguments must throw TypeError assert_inherits: property "deleteRule" not found in prototype chain
351
PASS CSSRule interface: style_element.sheet.cssRules[2] must inherit property "cssText" with the proper type 
352
PASS CSSRule interface: style_element.sheet.cssRules[2] must inherit property "parentRule" with the proper type 
353
PASS CSSRule interface: style_element.sheet.cssRules[2] must inherit property "parentStyleSheet" with the proper type 
354
PASS CSSRule interface: style_element.sheet.cssRules[2] must inherit property "type" with the proper type 
355
PASS CSSRule interface: style_element.sheet.cssRules[2] must inherit property "STYLE_RULE" with the proper type 
356
PASS CSSRule interface: style_element.sheet.cssRules[2] must inherit property "CHARSET_RULE" with the proper type 
357
PASS CSSRule interface: style_element.sheet.cssRules[2] must inherit property "IMPORT_RULE" with the proper type 
358
PASS CSSRule interface: style_element.sheet.cssRules[2] must inherit property "MEDIA_RULE" with the proper type 
359
PASS CSSRule interface: style_element.sheet.cssRules[2] must inherit property "FONT_FACE_RULE" with the proper type 
360
PASS CSSRule interface: style_element.sheet.cssRules[2] must inherit property "PAGE_RULE" with the proper type 
361
FAIL CSSRule interface: style_element.sheet.cssRules[2] must inherit property "MARGIN_RULE" with the proper type assert_inherits: property "MARGIN_RULE" not found in prototype chain
362
PASS CSSRule interface: style_element.sheet.cssRules[2] must inherit property "NAMESPACE_RULE" with the proper type 
363
FAIL CSSMarginRule interface: existence and properties of interface object assert_own_property: self does not have own property "CSSMarginRule" expected property "CSSMarginRule" missing
364
FAIL CSSMarginRule interface object length assert_own_property: self does not have own property "CSSMarginRule" expected property "CSSMarginRule" missing
365
FAIL CSSMarginRule interface object name assert_own_property: self does not have own property "CSSMarginRule" expected property "CSSMarginRule" missing
366
FAIL CSSMarginRule interface: existence and properties of interface prototype object assert_own_property: self does not have own property "CSSMarginRule" expected property "CSSMarginRule" missing
367
FAIL CSSMarginRule interface: existence and properties of interface prototype object's "constructor" property assert_own_property: self does not have own property "CSSMarginRule" expected property "CSSMarginRule" missing
368
FAIL CSSMarginRule interface: existence and properties of interface prototype object's @@unscopables property assert_own_property: self does not have own property "CSSMarginRule" expected property "CSSMarginRule" missing
369
FAIL CSSMarginRule interface: attribute name assert_own_property: self does not have own property "CSSMarginRule" expected property "CSSMarginRule" missing
370
FAIL CSSMarginRule interface: attribute style assert_own_property: self does not have own property "CSSMarginRule" expected property "CSSMarginRule" missing
371
FAIL CSSMarginRule must be primary interface of style_element.sheet.cssRules[2].cssRules[0] assert_equals: Unexpected exception when evaluating object expected null but got object "TypeError: undefined is not an object (evaluating 'style_element.sheet.cssRules[2].cssRules[0]')"
372
FAIL Stringification of style_element.sheet.cssRules[2].cssRules[0] assert_equals: Unexpected exception when evaluating object expected null but got object "TypeError: undefined is not an object (evaluating 'style_element.sheet.cssRules[2].cssRules[0]')"
373
FAIL CSSMarginRule interface: style_element.sheet.cssRules[2].cssRules[0] must inherit property "name" with the proper type assert_equals: Unexpected exception when evaluating object expected null but got object "TypeError: undefined is not an object (evaluating 'style_element.sheet.cssRules[2].cssRules[0]')"
374
FAIL CSSMarginRule interface: style_element.sheet.cssRules[2].cssRules[0] must inherit property "style" with the proper type assert_equals: Unexpected exception when evaluating object expected null but got object "TypeError: undefined is not an object (evaluating 'style_element.sheet.cssRules[2].cssRules[0]')"
375
FAIL CSSRule interface: style_element.sheet.cssRules[2].cssRules[0] must inherit property "cssText" with the proper type assert_equals: Unexpected exception when evaluating object expected null but got object "TypeError: undefined is not an object (evaluating 'style_element.sheet.cssRules[2].cssRules[0]')"
376
FAIL CSSRule interface: style_element.sheet.cssRules[2].cssRules[0] must inherit property "parentRule" with the proper type assert_equals: Unexpected exception when evaluating object expected null but got object "TypeError: undefined is not an object (evaluating 'style_element.sheet.cssRules[2].cssRules[0]')"
377
FAIL CSSRule interface: style_element.sheet.cssRules[2].cssRules[0] must inherit property "parentStyleSheet" with the proper type assert_equals: Unexpected exception when evaluating object expected null but got object "TypeError: undefined is not an object (evaluating 'style_element.sheet.cssRules[2].cssRules[0]')"
378
FAIL CSSRule interface: style_element.sheet.cssRules[2].cssRules[0] must inherit property "type" with the proper type assert_equals: Unexpected exception when evaluating object expected null but got object "TypeError: undefined is not an object (evaluating 'style_element.sheet.cssRules[2].cssRules[0]')"
379
FAIL CSSRule interface: style_element.sheet.cssRules[2].cssRules[0] must inherit property "STYLE_RULE" with the proper type assert_equals: Unexpected exception when evaluating object expected null but got object "TypeError: undefined is not an object (evaluating 'style_element.sheet.cssRules[2].cssRules[0]')"
380
FAIL CSSRule interface: style_element.sheet.cssRules[2].cssRules[0] must inherit property "CHARSET_RULE" with the proper type assert_equals: Unexpected exception when evaluating object expected null but got object "TypeError: undefined is not an object (evaluating 'style_element.sheet.cssRules[2].cssRules[0]')"
381
FAIL CSSRule interface: style_element.sheet.cssRules[2].cssRules[0] must inherit property "IMPORT_RULE" with the proper type assert_equals: Unexpected exception when evaluating object expected null but got object "TypeError: undefined is not an object (evaluating 'style_element.sheet.cssRules[2].cssRules[0]')"
382
FAIL CSSRule interface: style_element.sheet.cssRules[2].cssRules[0] must inherit property "MEDIA_RULE" with the proper type assert_equals: Unexpected exception when evaluating object expected null but got object "TypeError: undefined is not an object (evaluating 'style_element.sheet.cssRules[2].cssRules[0]')"
383
FAIL CSSRule interface: style_element.sheet.cssRules[2].cssRules[0] must inherit property "FONT_FACE_RULE" with the proper type assert_equals: Unexpected exception when evaluating object expected null but got object "TypeError: undefined is not an object (evaluating 'style_element.sheet.cssRules[2].cssRules[0]')"
384
FAIL CSSRule interface: style_element.sheet.cssRules[2].cssRules[0] must inherit property "PAGE_RULE" with the proper type assert_equals: Unexpected exception when evaluating object expected null but got object "TypeError: undefined is not an object (evaluating 'style_element.sheet.cssRules[2].cssRules[0]')"
385
FAIL CSSRule interface: style_element.sheet.cssRules[2].cssRules[0] must inherit property "MARGIN_RULE" with the proper type assert_equals: Unexpected exception when evaluating object expected null but got object "TypeError: undefined is not an object (evaluating 'style_element.sheet.cssRules[2].cssRules[0]')"
386
FAIL CSSRule interface: style_element.sheet.cssRules[2].cssRules[0] must inherit property "NAMESPACE_RULE" with the proper type assert_equals: Unexpected exception when evaluating object expected null but got object "TypeError: undefined is not an object (evaluating 'style_element.sheet.cssRules[2].cssRules[0]')"
387
PASS CSSNamespaceRule interface: existence and properties of interface object 
388
PASS CSSNamespaceRule interface object length 
389
PASS CSSNamespaceRule interface object name 
390
PASS CSSNamespaceRule interface: existence and properties of interface prototype object 
391
PASS CSSNamespaceRule interface: existence and properties of interface prototype object's "constructor" property 
392
PASS CSSNamespaceRule interface: existence and properties of interface prototype object's @@unscopables property 
393
PASS CSSNamespaceRule interface: attribute namespaceURI 
394
PASS CSSNamespaceRule interface: attribute prefix 
395
PASS CSSNamespaceRule must be primary interface of style_element.sheet.cssRules[1] 
396
PASS Stringification of style_element.sheet.cssRules[1] 
397
PASS CSSNamespaceRule interface: style_element.sheet.cssRules[1] must inherit property "namespaceURI" with the proper type 
398
PASS CSSNamespaceRule interface: style_element.sheet.cssRules[1] must inherit property "prefix" with the proper type 
399
PASS CSSRule interface: style_element.sheet.cssRules[1] must inherit property "cssText" with the proper type 
400
PASS CSSRule interface: style_element.sheet.cssRules[1] must inherit property "parentRule" with the proper type 
401
PASS CSSRule interface: style_element.sheet.cssRules[1] must inherit property "parentStyleSheet" with the proper type 
402
PASS CSSRule interface: style_element.sheet.cssRules[1] must inherit property "type" with the proper type 
403
PASS CSSRule interface: style_element.sheet.cssRules[1] must inherit property "STYLE_RULE" with the proper type 
404
PASS CSSRule interface: style_element.sheet.cssRules[1] must inherit property "CHARSET_RULE" with the proper type 
405
PASS CSSRule interface: style_element.sheet.cssRules[1] must inherit property "IMPORT_RULE" with the proper type 
406
PASS CSSRule interface: style_element.sheet.cssRules[1] must inherit property "MEDIA_RULE" with the proper type 
407
PASS CSSRule interface: style_element.sheet.cssRules[1] must inherit property "FONT_FACE_RULE" with the proper type 
408
PASS CSSRule interface: style_element.sheet.cssRules[1] must inherit property "PAGE_RULE" with the proper type 
409
FAIL CSSRule interface: style_element.sheet.cssRules[1] must inherit property "MARGIN_RULE" with the proper type assert_inherits: property "MARGIN_RULE" not found in prototype chain
410
PASS CSSRule interface: style_element.sheet.cssRules[1] must inherit property "NAMESPACE_RULE" with the proper type 
411
PASS CSSStyleDeclaration interface: existence and properties of interface object 
412
PASS CSSStyleDeclaration interface object length 
413
PASS CSSStyleDeclaration interface object name 
414
PASS CSSStyleDeclaration interface: existence and properties of interface prototype object 
415
PASS CSSStyleDeclaration interface: existence and properties of interface prototype object's "constructor" property 
416
PASS CSSStyleDeclaration interface: existence and properties of interface prototype object's @@unscopables property 
417
PASS CSSStyleDeclaration interface: attribute cssText 
418
PASS CSSStyleDeclaration interface: attribute length 
419
PASS CSSStyleDeclaration interface: operation item(unsigned long) 
420
PASS CSSStyleDeclaration interface: operation getPropertyValue(CSSOMString) 
421
PASS CSSStyleDeclaration interface: operation getPropertyPriority(CSSOMString) 
422
PASS CSSStyleDeclaration interface: operation setProperty(CSSOMString, CSSOMString, optional CSSOMString) 
423
PASS CSSStyleDeclaration interface: operation removeProperty(CSSOMString) 
424
PASS CSSStyleDeclaration interface: attribute parentRule 
425
PASS CSSStyleDeclaration interface: attribute cssFloat 
426
PASS CSSStyleDeclaration must be primary interface of style_element.sheet.cssRules[4].style 
427
PASS Stringification of style_element.sheet.cssRules[4].style 
428
PASS CSSStyleDeclaration interface: style_element.sheet.cssRules[4].style must inherit property "cssText" with the proper type 
429
PASS CSSStyleDeclaration interface: style_element.sheet.cssRules[4].style must inherit property "length" with the proper type 
430
PASS CSSStyleDeclaration interface: style_element.sheet.cssRules[4].style must inherit property "item(unsigned long)" with the proper type 
431
PASS CSSStyleDeclaration interface: calling item(unsigned long) on style_element.sheet.cssRules[4].style with too few arguments must throw TypeError 
432
PASS CSSStyleDeclaration interface: style_element.sheet.cssRules[4].style must inherit property "getPropertyValue(CSSOMString)" with the proper type 
433
PASS CSSStyleDeclaration interface: calling getPropertyValue(CSSOMString) on style_element.sheet.cssRules[4].style with too few arguments must throw TypeError 
434
PASS CSSStyleDeclaration interface: style_element.sheet.cssRules[4].style must inherit property "getPropertyPriority(CSSOMString)" with the proper type 
435
PASS CSSStyleDeclaration interface: calling getPropertyPriority(CSSOMString) on style_element.sheet.cssRules[4].style with too few arguments must throw TypeError 
436
PASS CSSStyleDeclaration interface: style_element.sheet.cssRules[4].style must inherit property "setProperty(CSSOMString, CSSOMString, optional CSSOMString)" with the proper type 
437
PASS CSSStyleDeclaration interface: calling setProperty(CSSOMString, CSSOMString, optional CSSOMString) on style_element.sheet.cssRules[4].style with too few arguments must throw TypeError 
438
PASS CSSStyleDeclaration interface: style_element.sheet.cssRules[4].style must inherit property "removeProperty(CSSOMString)" with the proper type 
439
PASS CSSStyleDeclaration interface: calling removeProperty(CSSOMString) on style_element.sheet.cssRules[4].style with too few arguments must throw TypeError 
440
PASS CSSStyleDeclaration interface: style_element.sheet.cssRules[4].style must inherit property "parentRule" with the proper type 
441
PASS CSSStyleDeclaration interface: style_element.sheet.cssRules[4].style must inherit property "cssFloat" with the proper type 
442
PASS CSSStyleDeclaration must be primary interface of style_element.sheet.cssRules[2].style 
443
PASS Stringification of style_element.sheet.cssRules[2].style 
444
PASS CSSStyleDeclaration interface: style_element.sheet.cssRules[2].style must inherit property "cssText" with the proper type 
445
PASS CSSStyleDeclaration interface: style_element.sheet.cssRules[2].style must inherit property "length" with the proper type 
446
PASS CSSStyleDeclaration interface: style_element.sheet.cssRules[2].style must inherit property "item(unsigned long)" with the proper type 
447
PASS CSSStyleDeclaration interface: calling item(unsigned long) on style_element.sheet.cssRules[2].style with too few arguments must throw TypeError 
448
PASS CSSStyleDeclaration interface: style_element.sheet.cssRules[2].style must inherit property "getPropertyValue(CSSOMString)" with the proper type 
449
PASS CSSStyleDeclaration interface: calling getPropertyValue(CSSOMString) on style_element.sheet.cssRules[2].style with too few arguments must throw TypeError 
450
PASS CSSStyleDeclaration interface: style_element.sheet.cssRules[2].style must inherit property "getPropertyPriority(CSSOMString)" with the proper type 
451
PASS CSSStyleDeclaration interface: calling getPropertyPriority(CSSOMString) on style_element.sheet.cssRules[2].style with too few arguments must throw TypeError 
452
PASS CSSStyleDeclaration interface: style_element.sheet.cssRules[2].style must inherit property "setProperty(CSSOMString, CSSOMString, optional CSSOMString)" with the proper type 
453
PASS CSSStyleDeclaration interface: calling setProperty(CSSOMString, CSSOMString, optional CSSOMString) on style_element.sheet.cssRules[2].style with too few arguments must throw TypeError 
454
PASS CSSStyleDeclaration interface: style_element.sheet.cssRules[2].style must inherit property "removeProperty(CSSOMString)" with the proper type 
455
PASS CSSStyleDeclaration interface: calling removeProperty(CSSOMString) on style_element.sheet.cssRules[2].style with too few arguments must throw TypeError 
456
PASS CSSStyleDeclaration interface: style_element.sheet.cssRules[2].style must inherit property "parentRule" with the proper type 
457
PASS CSSStyleDeclaration interface: style_element.sheet.cssRules[2].style must inherit property "cssFloat" with the proper type 
458
FAIL CSSStyleDeclaration must be primary interface of style_element.sheet.cssRules[2].cssRules[0].style assert_equals: Unexpected exception when evaluating object expected null but got object "TypeError: undefined is not an object (evaluating 'style_element.sheet.cssRules[2].cssRules[0]')"
459
FAIL Stringification of style_element.sheet.cssRules[2].cssRules[0].style assert_equals: Unexpected exception when evaluating object expected null but got object "TypeError: undefined is not an object (evaluating 'style_element.sheet.cssRules[2].cssRules[0]')"
460
FAIL CSSStyleDeclaration interface: style_element.sheet.cssRules[2].cssRules[0].style must inherit property "cssText" with the proper type assert_equals: Unexpected exception when evaluating object expected null but got object "TypeError: undefined is not an object (evaluating 'style_element.sheet.cssRules[2].cssRules[0]')"
461
FAIL CSSStyleDeclaration interface: style_element.sheet.cssRules[2].cssRules[0].style must inherit property "length" with the proper type assert_equals: Unexpected exception when evaluating object expected null but got object "TypeError: undefined is not an object (evaluating 'style_element.sheet.cssRules[2].cssRules[0]')"
462
FAIL CSSStyleDeclaration interface: style_element.sheet.cssRules[2].cssRules[0].style must inherit property "item(unsigned long)" with the proper type assert_equals: Unexpected exception when evaluating object expected null but got object "TypeError: undefined is not an object (evaluating 'style_element.sheet.cssRules[2].cssRules[0]')"
463
FAIL CSSStyleDeclaration interface: calling item(unsigned long) on style_element.sheet.cssRules[2].cssRules[0].style with too few arguments must throw TypeError assert_equals: Unexpected exception when evaluating object expected null but got object "TypeError: undefined is not an object (evaluating 'style_element.sheet.cssRules[2].cssRules[0]')"
464
FAIL CSSStyleDeclaration interface: style_element.sheet.cssRules[2].cssRules[0].style must inherit property "getPropertyValue(CSSOMString)" with the proper type assert_equals: Unexpected exception when evaluating object expected null but got object "TypeError: undefined is not an object (evaluating 'style_element.sheet.cssRules[2].cssRules[0]')"
465
FAIL CSSStyleDeclaration interface: calling getPropertyValue(CSSOMString) on style_element.sheet.cssRules[2].cssRules[0].style with too few arguments must throw TypeError assert_equals: Unexpected exception when evaluating object expected null but got object "TypeError: undefined is not an object (evaluating 'style_element.sheet.cssRules[2].cssRules[0]')"
466
FAIL CSSStyleDeclaration interface: style_element.sheet.cssRules[2].cssRules[0].style must inherit property "getPropertyPriority(CSSOMString)" with the proper type assert_equals: Unexpected exception when evaluating object expected null but got object "TypeError: undefined is not an object (evaluating 'style_element.sheet.cssRules[2].cssRules[0]')"
467
FAIL CSSStyleDeclaration interface: calling getPropertyPriority(CSSOMString) on style_element.sheet.cssRules[2].cssRules[0].style with too few arguments must throw TypeError assert_equals: Unexpected exception when evaluating object expected null but got object "TypeError: undefined is not an object (evaluating 'style_element.sheet.cssRules[2].cssRules[0]')"
468
FAIL CSSStyleDeclaration interface: style_element.sheet.cssRules[2].cssRules[0].style must inherit property "setProperty(CSSOMString, CSSOMString, optional CSSOMString)" with the proper type assert_equals: Unexpected exception when evaluating object expected null but got object "TypeError: undefined is not an object (evaluating 'style_element.sheet.cssRules[2].cssRules[0]')"
469
FAIL CSSStyleDeclaration interface: calling setProperty(CSSOMString, CSSOMString, optional CSSOMString) on style_element.sheet.cssRules[2].cssRules[0].style with too few arguments must throw TypeError assert_equals: Unexpected exception when evaluating object expected null but got object "TypeError: undefined is not an object (evaluating 'style_element.sheet.cssRules[2].cssRules[0]')"
470
FAIL CSSStyleDeclaration interface: style_element.sheet.cssRules[2].cssRules[0].style must inherit property "removeProperty(CSSOMString)" with the proper type assert_equals: Unexpected exception when evaluating object expected null but got object "TypeError: undefined is not an object (evaluating 'style_element.sheet.cssRules[2].cssRules[0]')"
471
FAIL CSSStyleDeclaration interface: calling removeProperty(CSSOMString) on style_element.sheet.cssRules[2].cssRules[0].style with too few arguments must throw TypeError assert_equals: Unexpected exception when evaluating object expected null but got object "TypeError: undefined is not an object (evaluating 'style_element.sheet.cssRules[2].cssRules[0]')"
472
FAIL CSSStyleDeclaration interface: style_element.sheet.cssRules[2].cssRules[0].style must inherit property "parentRule" with the proper type assert_equals: Unexpected exception when evaluating object expected null but got object "TypeError: undefined is not an object (evaluating 'style_element.sheet.cssRules[2].cssRules[0]')"
473
FAIL CSSStyleDeclaration interface: style_element.sheet.cssRules[2].cssRules[0].style must inherit property "cssFloat" with the proper type assert_equals: Unexpected exception when evaluating object expected null but got object "TypeError: undefined is not an object (evaluating 'style_element.sheet.cssRules[2].cssRules[0]')"
474
PASS CSSStyleDeclaration must be primary interface of style_element.style 
475
PASS Stringification of style_element.style 
476
PASS CSSStyleDeclaration interface: style_element.style must inherit property "cssText" with the proper type 
477
PASS CSSStyleDeclaration interface: style_element.style must inherit property "length" with the proper type 
478
PASS CSSStyleDeclaration interface: style_element.style must inherit property "item(unsigned long)" with the proper type 
479
PASS CSSStyleDeclaration interface: calling item(unsigned long) on style_element.style with too few arguments must throw TypeError 
480
PASS CSSStyleDeclaration interface: style_element.style must inherit property "getPropertyValue(CSSOMString)" with the proper type 
481
PASS CSSStyleDeclaration interface: calling getPropertyValue(CSSOMString) on style_element.style with too few arguments must throw TypeError 
482
PASS CSSStyleDeclaration interface: style_element.style must inherit property "getPropertyPriority(CSSOMString)" with the proper type 
483
PASS CSSStyleDeclaration interface: calling getPropertyPriority(CSSOMString) on style_element.style with too few arguments must throw TypeError 
484
PASS CSSStyleDeclaration interface: style_element.style must inherit property "setProperty(CSSOMString, CSSOMString, optional CSSOMString)" with the proper type 
485
PASS CSSStyleDeclaration interface: calling setProperty(CSSOMString, CSSOMString, optional CSSOMString) on style_element.style with too few arguments must throw TypeError 
486
PASS CSSStyleDeclaration interface: style_element.style must inherit property "removeProperty(CSSOMString)" with the proper type 
487
PASS CSSStyleDeclaration interface: calling removeProperty(CSSOMString) on style_element.style with too few arguments must throw TypeError 
488
PASS CSSStyleDeclaration interface: style_element.style must inherit property "parentRule" with the proper type 
489
PASS CSSStyleDeclaration interface: style_element.style must inherit property "cssFloat" with the proper type 
490
PASS CSSStyleDeclaration must be primary interface of svg_element.style 
491
PASS Stringification of svg_element.style 
492
PASS CSSStyleDeclaration interface: svg_element.style must inherit property "cssText" with the proper type 
493
PASS CSSStyleDeclaration interface: svg_element.style must inherit property "length" with the proper type 
494
PASS CSSStyleDeclaration interface: svg_element.style must inherit property "item(unsigned long)" with the proper type 
495
PASS CSSStyleDeclaration interface: calling item(unsigned long) on svg_element.style with too few arguments must throw TypeError 
496
PASS CSSStyleDeclaration interface: svg_element.style must inherit property "getPropertyValue(CSSOMString)" with the proper type 
497
PASS CSSStyleDeclaration interface: calling getPropertyValue(CSSOMString) on svg_element.style with too few arguments must throw TypeError 
498
PASS CSSStyleDeclaration interface: svg_element.style must inherit property "getPropertyPriority(CSSOMString)" with the proper type 
499
PASS CSSStyleDeclaration interface: calling getPropertyPriority(CSSOMString) on svg_element.style with too few arguments must throw TypeError 
500
PASS CSSStyleDeclaration interface: svg_element.style must inherit property "setProperty(CSSOMString, CSSOMString, optional CSSOMString)" with the proper type 
501
PASS CSSStyleDeclaration interface: calling setProperty(CSSOMString, CSSOMString, optional CSSOMString) on svg_element.style with too few arguments must throw TypeError 
502
PASS CSSStyleDeclaration interface: svg_element.style must inherit property "removeProperty(CSSOMString)" with the proper type 
503
PASS CSSStyleDeclaration interface: calling removeProperty(CSSOMString) on svg_element.style with too few arguments must throw TypeError 
504
PASS CSSStyleDeclaration interface: svg_element.style must inherit property "parentRule" with the proper type 
505
PASS CSSStyleDeclaration interface: svg_element.style must inherit property "cssFloat" with the proper type 
506
PASS CSSStyleDeclaration must be primary interface of getComputedStyle(svg_element) 
507
PASS Stringification of getComputedStyle(svg_element) 
508
PASS CSSStyleDeclaration interface: getComputedStyle(svg_element) must inherit property "cssText" with the proper type 
509
PASS CSSStyleDeclaration interface: getComputedStyle(svg_element) must inherit property "length" with the proper type 
510
PASS CSSStyleDeclaration interface: getComputedStyle(svg_element) must inherit property "item(unsigned long)" with the proper type 
511
PASS CSSStyleDeclaration interface: calling item(unsigned long) on getComputedStyle(svg_element) with too few arguments must throw TypeError 
512
PASS CSSStyleDeclaration interface: getComputedStyle(svg_element) must inherit property "getPropertyValue(CSSOMString)" with the proper type 
513
PASS CSSStyleDeclaration interface: calling getPropertyValue(CSSOMString) on getComputedStyle(svg_element) with too few arguments must throw TypeError 
514
PASS CSSStyleDeclaration interface: getComputedStyle(svg_element) must inherit property "getPropertyPriority(CSSOMString)" with the proper type 
515
PASS CSSStyleDeclaration interface: calling getPropertyPriority(CSSOMString) on getComputedStyle(svg_element) with too few arguments must throw TypeError 
516
PASS CSSStyleDeclaration interface: getComputedStyle(svg_element) must inherit property "setProperty(CSSOMString, CSSOMString, optional CSSOMString)" with the proper type 
517
PASS CSSStyleDeclaration interface: calling setProperty(CSSOMString, CSSOMString, optional CSSOMString) on getComputedStyle(svg_element) with too few arguments must throw TypeError 
518
PASS CSSStyleDeclaration interface: getComputedStyle(svg_element) must inherit property "removeProperty(CSSOMString)" with the proper type 
519
PASS CSSStyleDeclaration interface: calling removeProperty(CSSOMString) on getComputedStyle(svg_element) with too few arguments must throw TypeError 
520
PASS CSSStyleDeclaration interface: getComputedStyle(svg_element) must inherit property "parentRule" with the proper type 
521
PASS CSSStyleDeclaration interface: getComputedStyle(svg_element) must inherit property "cssFloat" with the proper type 
522
PASS CSS namespace: operation escape(CSSOMString) 
523
- a/LayoutTests/imported/w3c/web-platform-tests/css/cssom/interfaces.html -97 lines
Lines 1-97 a/LayoutTests/imported/w3c/web-platform-tests/css/cssom/interfaces.html_sec1
1
<!doctype html>
2
<meta charset=utf-8>
3
<!--  WARNING: These tests are preliminary and probably partly incorrect.   -->
4
<title>CSSOM automated IDL tests</title>
5
<link rel="author" title="Ms2ger" href="mailto:Ms2ger@gmail.com">
6
<link rel="help" href="https://drafts.csswg.org/cssom-1/#idl-index">
7
<script src=/resources/testharness.js></script>
8
<script src=/resources/testharnessreport.js></script>
9
<script src=/resources/WebIDLParser.js></script>
10
<script src=/resources/idlharness.js></script>
11
<!-- 
12
Provide some objects to test.
13
Use a non-empty style attribute to get a non-empty CSSStyleDeclaration.
14
 -->
15
<style id="styleElement" style="z-index: 0;">
16
@import url("data:text/css,");
17
@namespace x "y";
18
@page { @top-left {} }
19
@media all {}
20
#test { color: green; }
21
</style>
22
23
<svg id="svgElement" style="height: 0;"></svg>
24
25
<iframe id="xmlssPiIframe" src="support/xmlss-pi.xhtml" style="display: none;"></iframe>
26
27
<h1>CSSOM IDL tests</h1>
28
<div id=log></div>
29
30
<script>
31
"use strict";
32
var style_element, svg_element, xmlss_pi;
33
34
function doTest([html, dom, uievents, cssom]) {
35
  style_element = document.getElementById('styleElement');
36
  svg_element = document.getElementById('svgElement');
37
  xmlss_pi = document.getElementById('xmlssPiIframe').contentDocument.firstChild;
38
39
  var idlArray = new IdlArray();
40
  var svg = "interface SVGElement : Element {};";
41
  idlArray.add_untested_idls(html + dom + svg);
42
  idlArray.add_untested_idls(uievents, { only: [
43
    'UIEvent',
44
    'UIEventInit',
45
    'MouseEvent',
46
    'MouseEventInit',
47
    'EventModifierInit'
48
  ]});
49
  idlArray.add_idls(cssom);
50
51
  idlArray.add_objects({
52
    "Document": ["document", "new Document()"],
53
    "StyleSheetList": ["document.styleSheets"],
54
    "CSSStyleSheet": ["style_element.sheet"],
55
    "MediaList": ["style_element.sheet.media"],
56
    "CSSRuleList": ["style_element.sheet.cssRules"],
57
    "CSSImportRule": ["style_element.sheet.cssRules[0]"],
58
    "CSSNamespaceRule": ["style_element.sheet.cssRules[1]"],
59
    "CSSPageRule": ["style_element.sheet.cssRules[2]"],
60
    "CSSMarginRule": ["style_element.sheet.cssRules[2].cssRules[0]"],
61
    "CSSMediaRule": ["style_element.sheet.cssRules[3]"],
62
    "CSSStyleRule": ["style_element.sheet.cssRules[4]"],
63
    "CSSStyleDeclaration": ["style_element.sheet.cssRules[4].style", // CSSStyleRule
64
                            "style_element.sheet.cssRules[2].style", // CSSPageRule
65
                            "style_element.sheet.cssRules[2].cssRules[0].style", // CSSMarginRule
66
                            "style_element.style", // ElementCSSInlineStyle for HTMLElement
67
                            "svg_element.style", // ElementCSSInlineStyle for SVGElement
68
                            "getComputedStyle(svg_element)"],
69
    "ProcessingInstruction": ["xmlss_pi"],
70
    "Window": ["window"],
71
    "HTMLElement": ["style_element", "document.createElement('unknownelement')"],
72
    "SVGElement": ["svg_element"],
73
  });
74
  idlArray.test();
75
};
76
77
function fetchData(url) {
78
  return fetch(url).then((response) => response.text());
79
}
80
81
function waitForLoad() {
82
  return new Promise(function(resolve) {
83
    addEventListener("load", resolve);
84
  });
85
}
86
87
promise_test(function() {
88
  // Have to wait for onload
89
  return Promise.all([fetchData("/interfaces/html.idl"),
90
                      fetchData("/interfaces/dom.idl"),
91
                      fetchData("/interfaces/uievents.idl"),
92
                      fetchData("/interfaces/cssom.idl"),
93
                      waitForLoad()])
94
                .then(doTest);
95
}, "Test driver");
96
97
</script>
- a/LayoutTests/imported/w3c/web-platform-tests/css/cssom/medialist-interfaces-001.html -13 / +10 lines
Lines 5-10 a/LayoutTests/imported/w3c/web-platform-tests/css/cssom/medialist-interfaces-001.html_sec1
5
  <link rel="author" title="Ben Sheldon" href="mailto:ben@codeforamerica.org">
5
  <link rel="author" title="Ben Sheldon" href="mailto:ben@codeforamerica.org">
6
  <link rel="author" title="Chapman Shoop" href="mailto:chapman.shoop@gmail.com">
6
  <link rel="author" title="Chapman Shoop" href="mailto:chapman.shoop@gmail.com">
7
  <link rel="help" href="http://www.w3.org/TR/cssom-1/#the-medialist-interface">
7
  <link rel="help" href="http://www.w3.org/TR/cssom-1/#the-medialist-interface">
8
  <link rel="help" href="http://www.w3.org/TR/cssom-1/#serializing-media-queries">
9
  <link rel="help" href="http://www.w3.org/TR/cssom-1/#serialize-a-media-query-list">
8
  <meta name="flags" content="dom">
10
  <meta name="flags" content="dom">
9
  <meta name="assert" content="MediaLists are serialized according to the specification">
11
  <meta name="assert" content="MediaLists are serialized according to the specification">
10
  <script src="/resources/testharness.js" type="text/javascript"></script>
12
  <script src="/resources/testharness.js" type="text/javascript"></script>
Lines 40-75 a/LayoutTests/imported/w3c/web-platform-tests/css/cssom/medialist-interfaces-001.html_sec2
40
      mediaList = styleSheet.media;
42
      mediaList = styleSheet.media;
41
    }
43
    }
42
44
43
45
    // MediaList.mediaText equals the 'media' value of the initial 'style' element.
44
    test(function() {
46
    test(function() {
45
        setup();
47
        setup();
46
48
47
        assert_equals(mediaList.mediaText, "all");
49
        assert_equals(mediaList.mediaText, "all");
48
50
49
    }, "mediatest_medialist_serialize_element",
51
    }, "mediatest_medialist_serialize_element");
50
    { help: ["http://www.w3.org/TR/cssom-1/#the-medialist-interface", "http://www.w3.org/TR/cssom-1/#serializing-media-queries"],
51
      assert: ["MediaList.mediaText equals the 'media' value of the initial 'style' element."] });
52
52
53
    // To serialize a comma-separated list concatenate all items of the list in list order while separating them by \",\" (U+002C), followed by a space (U+0020).
53
    test(function() {
54
    test(function() {
54
      setup();
55
      setup();
55
56
56
      mediaList.appendMedium('screen');
57
      mediaList.appendMedium('screen');
57
      assert_equals(mediaList.mediaText, "all, screen");
58
      assert_equals(mediaList.mediaText, "all, screen");
58
59
59
    }, "mediatest_medialist_serialize_comma",
60
    }, "mediatest_medialist_serialize_comma");
60
    { help: ["http://www.w3.org/TR/cssom-1/#the-medialist-interface", "http://www.w3.org/TR/cssom-1/#serialize-a-media-query-list"],
61
      assert: ["To serialize a comma-separated list concatenate all items of the list in list order while separating them by \",\" (U+002C), followed by a space (U+0020)."] });
62
61
62
    // If the media query list is empty return the empty string.
63
    test(function() {
63
    test(function() {
64
      setup();
64
      setup();
65
65
66
      mediaList.deleteMedium('all');
66
      mediaList.deleteMedium('all');
67
      assert_equals(mediaList.mediaText, "");
67
      assert_equals(mediaList.mediaText, "");
68
68
69
    }, "mediatest_medialist_serialize_empty",
69
    }, "mediatest_medialist_serialize_empty");
70
    { help: ["http://www.w3.org/TR/cssom-1/#the-medialist-interface", "http://www.w3.org/TR/cssom-1/#serializing-media-queries"],
71
      assert: ["If the media query list is empty return the empty string."] });
72
70
71
    // Each media query should be sorted in the same order as they appear in the list of media queries.
73
    test(function() {
72
    test(function() {
74
      setup();
73
      setup();
75
74
Lines 77-85 a/LayoutTests/imported/w3c/web-platform-tests/css/cssom/medialist-interfaces-001.html_sec3
77
      mediaList.appendMedium('print');
76
      mediaList.appendMedium('print');
78
      assert_equals(mediaList.mediaText, "all, screen, print");
77
      assert_equals(mediaList.mediaText, "all, screen, print");
79
78
80
    }, "mediatest_medialist_serialize_order",
79
    }, "mediatest_medialist_serialize_order");
81
    { help: ["http://www.w3.org/TR/cssom-1/#the-medialist-interface", "http://www.w3.org/TR/cssom-1/#serialize-a-media-query-list"],
82
      assert: ["Each media query should be sorted in the same order as they appear in the list of media queries."] });
83
80
84
  </script>
81
  </script>
85
 </body>
82
 </body>
- a/LayoutTests/imported/w3c/web-platform-tests/css/cssom/medialist-interfaces-002.html -9 / +9 lines
Lines 3-9 a/LayoutTests/imported/w3c/web-platform-tests/css/cssom/medialist-interfaces-002.html_sec1
3
<head>
3
<head>
4
  <title>CSS Test: CSSOM MediaList Interfaces</title>
4
  <title>CSS Test: CSSOM MediaList Interfaces</title>
5
  <link rel="author" title="Chapman Shoop" href="mailto:chapman.shoop@gmail.com">
5
  <link rel="author" title="Chapman Shoop" href="mailto:chapman.shoop@gmail.com">
6
  <link rel="reviewer" title="Ms2ger" href="mailto:ms2ger@gmail.com"> <!--  2012-06-17  -->
6
  <link rel="reviewer" title="Ms2ger" href="mailto:ms2ger@gmail.com"> <!-- 2012-06-17 -->
7
  <link rel="help" href="https://drafts.csswg.org/cssom/#the-medialist-interface">
7
  <link rel="help" href="https://drafts.csswg.org/cssom/#the-medialist-interface">
8
  <meta name="flags" content="dom">
8
  <meta name="flags" content="dom">
9
  <meta name="assert" content="MediaList object has deleteMedium method and it functions properly.">
9
  <meta name="assert" content="MediaList object has deleteMedium method and it functions properly.">
Lines 33-44 a/LayoutTests/imported/w3c/web-platform-tests/css/cssom/medialist-interfaces-002.html_sec2
33
33
34
  <script type="text/javascript">
34
  <script type="text/javascript">
35
35
36
    // MediaList.deleteMedium called without argument throws error.
36
    test(function() {
37
    test(function() {
37
      media_list = setup();
38
      media_list = setup();
38
      assert_throws(new TypeError, function() { media_list.deleteMedium(); });
39
      assert_throws_js(TypeError, function() { media_list.deleteMedium(); });
39
    }, "deleteMedium_called_without_argument",
40
    }, "deleteMedium_called_without_argument");
40
    { assert: "MediaList.deleteMedium called without argument throws error." });
41
41
42
    // MediaList.deleteMedium removes correct medium and updates corresponding properties.
42
    test(function() {
43
    test(function() {
43
      media_list = setup();
44
      media_list = setup();
44
45
Lines 50-70 a/LayoutTests/imported/w3c/web-platform-tests/css/cssom/medialist-interfaces-002.html_sec3
50
      assert_equals(media_list.length, 1);
51
      assert_equals(media_list.length, 1);
51
      assert_equals(media_list.item(0), "all");
52
      assert_equals(media_list.item(0), "all");
52
      assert_equals(media_list.mediaText, "all");
53
      assert_equals(media_list.mediaText, "all");
53
    }, "deleteMedium_removes_correct_medium",
54
    }, "deleteMedium_removes_correct_medium");
54
    { assert: "MediaList.deleteMedium removes correct medium and updates corresponding properties." });
55
55
56
    // MediaList.deleteMedium doesn't modify MediaList when medium is not found.
56
    test(function() {
57
    test(function() {
57
      media_list = setup();
58
      media_list = setup();
58
59
59
      media_list.appendMedium("all");
60
      media_list.appendMedium("all");
60
61
61
      assert_throws("NotFoundError", () => media_list.deleteMedium("screen"));
62
      assert_throws_dom("NotFoundError", () => media_list.deleteMedium("screen"));
62
63
63
      assert_equals(media_list.length, 1);
64
      assert_equals(media_list.length, 1);
64
      assert_equals(media_list.item(0), "all");
65
      assert_equals(media_list.item(0), "all");
65
      assert_equals(media_list.mediaText, "all");
66
      assert_equals(media_list.mediaText, "all");
66
    }, "deleteMedium_no_matching_medium_to_remove",
67
    }, "deleteMedium_no_matching_medium_to_remove");
67
    { assert: "MediaList.deleteMedium doesn't modify MediaList when medium is not found." });
68
68
69
  </script>
69
  </script>
70
</body>
70
</body>
- a/LayoutTests/imported/w3c/web-platform-tests/css/cssom/medialist-interfaces-003.html -5 / +4 lines
Lines 40-61 a/LayoutTests/imported/w3c/web-platform-tests/css/cssom/medialist-interfaces-003.html_sec1
40
      mediaList = styleSheet.media;
40
      mediaList = styleSheet.media;
41
    }
41
    }
42
42
43
43
    // First explicit example input (first column) and output (second column) in specification.
44
    test(function() {
44
    test(function() {
45
        setupMedia('not screen and (min-WIDTH:5px) AND (max-width:40px )');
45
        setupMedia('not screen and (min-WIDTH:5px) AND (max-width:40px )');
46
46
47
        assert_equals(mediaList.mediaText, "not screen and (max-width: 40px) and (min-width: 5px)");
47
        assert_equals(mediaList.mediaText, "not screen and (max-width: 40px) and (min-width: 5px)");
48
48
49
    }, "mediatest_mediaquery_serialize_1",
49
    }, "mediatest_mediaquery_serialize_1");
50
    {  assert: ["First explicit example input (first column) and output (second column) in specification."] });
51
50
51
    // Second explicit example input (first column) and output (second column) in specification.
52
    test(function() {
52
    test(function() {
53
        setupMedia('all and (color) and (color)	');
53
        setupMedia('all and (color) and (color)	');
54
54
55
        assert_equals(mediaList.mediaText, "(color)");
55
        assert_equals(mediaList.mediaText, "(color)");
56
56
57
    }, "mediatest_mediaquery_serialize_2",
57
    }, "mediatest_mediaquery_serialize_2");
58
    { assert: ["Second explicit example input (first column) and output (second column) in specification."] });
59
58
60
  </script>
59
  </script>
61
 </body>
60
 </body>
- a/LayoutTests/imported/w3c/web-platform-tests/css/cssom/medialist-interfaces-004.html -4 / +4 lines
Lines 32-37 a/LayoutTests/imported/w3c/web-platform-tests/css/cssom/medialist-interfaces-004.html_sec1
32
32
33
  <script type="text/javascript">
33
  <script type="text/javascript">
34
34
35
    // MediaList.appendMedium correctly adds medium to empty MediaList.
35
    test(function() {
36
    test(function() {
36
      media_list = setup();
37
      media_list = setup();
37
38
Lines 40-48 a/LayoutTests/imported/w3c/web-platform-tests/css/cssom/medialist-interfaces-004.html_sec2
40
      assert_equals(media_list.length, 1);
41
      assert_equals(media_list.length, 1);
41
      assert_equals(media_list.item(0), "all");
42
      assert_equals(media_list.item(0), "all");
42
      assert_equals(media_list.mediaText, "all");
43
      assert_equals(media_list.mediaText, "all");
43
    }, "appendMedium_correctly_appends_medium_to_empty_MediaList",
44
    }, "appendMedium_correctly_appends_medium_to_empty_MediaList");
44
    { assert: "MediaList.appendMedium correctly adds medium to empty MediaList." });
45
45
46
    // MediaList.appendMedium correctly adds medium to a MediaList that already has a medium.
46
    test(function() {
47
    test(function() {
47
      media_list = setup();
48
      media_list = setup();
48
49
Lines 56-63 a/LayoutTests/imported/w3c/web-platform-tests/css/cssom/medialist-interfaces-004.html_sec3
56
      assert_equals(media_list.item(0), "screen");
57
      assert_equals(media_list.item(0), "screen");
57
      assert_equals(media_list.item(1), "all");
58
      assert_equals(media_list.item(1), "all");
58
      assert_equals(media_list.mediaText, "screen, all");
59
      assert_equals(media_list.mediaText, "screen, all");
59
    }, "appendMedium_correctly_appends_medium_to_nonempty_MediaList",
60
    }, "appendMedium_correctly_appends_medium_to_nonempty_MediaList");
60
    { assert: "MediaList.appendMedium correctly adds medium to a MediaList that already has a medium." });
61
61
62
  </script>
62
  </script>
63
</body>
63
</body>
- a/LayoutTests/imported/w3c/web-platform-tests/css/cssom/selectorSerialize.html +1 lines
Lines 70-75 a/LayoutTests/imported/w3c/web-platform-tests/css/cssom/selectorSerialize.html_sec1
70
            test(function(){
70
            test(function(){
71
                assert_selector_serializes_to(':lang(ja)', ':lang(ja)');
71
                assert_selector_serializes_to(':lang(ja)', ':lang(ja)');
72
                assert_selector_serializes_to(':lang( ja )', ':lang(ja)');
72
                assert_selector_serializes_to(':lang( ja )', ':lang(ja)');
73
                assert_selector_serializes_to(':lang( j\\ a )', ':lang(j\\ a)');
73
            }, 'single pseudo (simple) selector "lang" which accepts arguments in the sequence of simple selectors that is not a universal selector')
74
            }, 'single pseudo (simple) selector "lang" which accepts arguments in the sequence of simple selectors that is not a universal selector')
74
75
75
76
- a/LayoutTests/imported/w3c/web-platform-tests/css/cssom/serialize-media-rule-expected.txt +14 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/cssom/serialize-media-rule-expected.txt_sec1
1
2
FAIL empty media query list assert_equals: expected "@media  {\n}" but got "@media  { \n}"
3
FAIL type - no features assert_equals: expected "@media speech {\n}" but got "@media speech { \n}"
4
FAIL type - no features - negation assert_equals: expected "@media not speech {\n}" but got "@media not speech { \n}"
5
FAIL type - no features - character case normalization assert_equals: expected "@media speech {\n}" but got "@media speech { \n}"
6
FAIL type - omission of all assert_equals: expected "@media (color) {\n}" but got "@media (color) { \n}"
7
FAIL type - inclusion of negated all assert_equals: expected "@media not all and (color) {\n}" but got "@media not all and (color) { \n}"
8
FAIL features - character case normalization assert_equals: expected "@media screen and (color) {\n}" but got "@media screen and (color) { \n}"
9
FAIL features - preservation of overspecified features assert_equals: expected "@media print and (max-width: 23px) and (max-width: 45px) {\n}" but got "@media print and (max-width: 23px) and (max-width: 45px) { \n}"
10
FAIL features - lexicographical sorting assert_equals: expected "@media screen and (color) and (max-width: 0px) {\n}" but got "@media screen and (color) and (max-width: 0px) { \n}"
11
FAIL media query list assert_equals: expected "@media screen and (max-width: 0px), screen and (color) {\n}" but got "@media screen and (max-width: 0px), screen and (color) { \n}"
12
FAIL one rule assert_equals: expected "@media print {\n  #foo { z-index: 23; float: left; }\n}" but got "@media print { \n  #foo { z-index: 23; float: left; }\n}"
13
FAIL many rules assert_equals: expected "@media print {\n  #bar { float: none; z-index: 45; }\n  #foo { z-index: 23; float: left; }\n}" but got "@media print { \n  #bar { float: none; z-index: 45; }\n  #foo { z-index: 23; float: left; }\n}"
14
- a/LayoutTests/imported/w3c/web-platform-tests/css/cssom/serialize-media-rule.html +185 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/cssom/serialize-media-rule.html_sec1
1
<!doctype html>
2
<html>
3
<head>
4
  <meta charset="utf-8">
5
  <title>CSSOM - Serialization of CSSMediaRule</title>
6
  <link rel="help" href="https://drafts.csswg.org/cssom/#serialize-a-css-rule">
7
  <script src="/resources/testharness.js"></script>
8
  <script src="/resources/testharnessreport.js"></script>
9
</head>
10
<body>
11
<script>
12
function makeSheet(t) {
13
  var style = document.createElement('style');
14
  document.body.appendChild(style);
15
  t.add_cleanup(function() {
16
    document.body.removeChild(style);
17
  });
18
  return style.sheet;
19
}
20
21
test(function(t) {
22
  var sheet = makeSheet(t);
23
  sheet.insertRule('@media {}', 0);
24
25
  assert_equals(sheet.cssRules.length, 1);
26
  assert_equals(sheet.cssRules[0].cssText, '@media  {\n}');
27
}, 'empty media query list');
28
29
test(function(t) {
30
  var sheet = makeSheet(t);
31
  sheet.insertRule('@media all {}');
32
  sheet.insertRule('@media print {}');
33
  sheet.insertRule('@media screen {}');
34
  sheet.insertRule('@media speech {}');
35
36
  assert_equals(sheet.cssRules.length, 4);
37
  assert_equals(sheet.cssRules[0].cssText, '@media speech {\n}');
38
  assert_equals(sheet.cssRules[1].cssText, '@media screen {\n}');
39
  assert_equals(sheet.cssRules[2].cssText, '@media print {\n}');
40
  assert_equals(sheet.cssRules[3].cssText, '@media all {\n}');
41
}, 'type - no features');
42
43
test(function(t) {
44
  var sheet = makeSheet(t);
45
  sheet.insertRule('@media not all {}');
46
  sheet.insertRule('@media not print {}');
47
  sheet.insertRule('@media not screen {}');
48
  sheet.insertRule('@media not speech {}');
49
50
  assert_equals(sheet.cssRules.length, 4);
51
  assert_equals(sheet.cssRules[0].cssText, '@media not speech {\n}');
52
  assert_equals(sheet.cssRules[1].cssText, '@media not screen {\n}');
53
  assert_equals(sheet.cssRules[2].cssText, '@media not print {\n}');
54
  assert_equals(sheet.cssRules[3].cssText, '@media not all {\n}');
55
}, 'type - no features - negation');
56
57
test(function(t) {
58
  var sheet = makeSheet(t);
59
  sheet.insertRule('@media aLL {}');
60
  sheet.insertRule('@media pRiNt {}');
61
  sheet.insertRule('@media screEN {}');
62
  sheet.insertRule('@media spEech {}');
63
64
  assert_equals(sheet.cssRules.length, 4);
65
  assert_equals(sheet.cssRules[0].cssText, '@media speech {\n}');
66
  assert_equals(sheet.cssRules[1].cssText, '@media screen {\n}');
67
  assert_equals(sheet.cssRules[2].cssText, '@media print {\n}');
68
  assert_equals(sheet.cssRules[3].cssText, '@media all {\n}');
69
}, 'type - no features - character case normalization');
70
71
test(function(t) {
72
  var sheet = makeSheet(t);
73
  sheet.insertRule('@media all and (color) {}');
74
75
  assert_equals(sheet.cssRules.length, 1);
76
  assert_equals(sheet.cssRules[0].cssText, '@media (color) {\n}');
77
}, 'type - omission of all');
78
79
test(function(t) {
80
  var sheet = makeSheet(t);
81
  sheet.insertRule('@media not all and (color) {}');
82
83
  assert_equals(sheet.cssRules.length, 1);
84
  assert_equals(sheet.cssRules[0].cssText, '@media not all and (color) {\n}');
85
}, 'type - inclusion of negated all');
86
87
test(function(t) {
88
  var sheet = makeSheet(t);
89
  sheet.insertRule('@media screen and (Color) {}');
90
  sheet.insertRule('@media screen and (cOLor) {}');
91
92
  assert_equals(sheet.cssRules.length, 2);
93
  assert_equals(sheet.cssRules[0].cssText, '@media screen and (color) {\n}');
94
  assert_equals(sheet.cssRules[1].cssText, '@media screen and (color) {\n}');
95
}, 'features - character case normalization');
96
97
/**
98
 * The following test is disabled pending clarification of the intended
99
 * behavior: https://github.com/w3c/csswg-drafts/issues/533
100
 */
101
//test(function(t) {
102
//  var sheet = makeSheet(t);
103
//  sheet.insertRule('@media screen and (color) and (color) {}');
104
//
105
//  assert_equals(sheet.cssRules.length, 1);
106
//  assert_equals(
107
//    sheet.cssRules[0].cssText,
108
//    '@media screen and (color) {\n}'
109
//  );
110
//}, 'features - de-duplication');
111
112
test(function(t) {
113
  var sheet = makeSheet(t);
114
  sheet.insertRule('@media print and (max-width: 23px) and (max-width: 45px) {}');
115
116
  assert_equals(sheet.cssRules.length, 1);
117
  assert_equals(
118
    sheet.cssRules[0].cssText,
119
    '@media print and (max-width: 23px) and (max-width: 45px) {\n}'
120
  );
121
}, 'features - preservation of overspecified features');
122
123
test(function(t) {
124
  var sheet = makeSheet(t);
125
  sheet.insertRule('@media screen and (max-width: 0px) and (color) {}');
126
  sheet.insertRule('@media screen and (color) and (max-width: 0px) {}');
127
128
  assert_equals(sheet.cssRules.length, 2);
129
  assert_equals(
130
    sheet.cssRules[0].cssText,
131
    '@media screen and (color) and (max-width: 0px) {\n}'
132
  );
133
  assert_equals(
134
    sheet.cssRules[1].cssText,
135
    '@media screen and (color) and (max-width: 0px) {\n}'
136
  );
137
}, 'features - lexicographical sorting');
138
139
test(function(t) {
140
  var sheet = makeSheet(t);
141
  sheet.insertRule('@media screen and (max-width: 0px), screen and (color) {}');
142
143
  assert_equals(sheet.cssRules.length, 1);
144
  assert_equals(
145
    sheet.cssRules[0].cssText,
146
    '@media screen and (max-width: 0px), screen and (color) {\n}'
147
  );
148
}, 'media query list');
149
150
test(function(t) {
151
  var sheet = makeSheet(t);
152
  sheet.insertRule('@media print {}');
153
154
  assert_equals(sheet.cssRules.length, 1);
155
  sheet.cssRules[0].insertRule('#foo { z-index: 23; float: left; }', 0);
156
  assert_equals(
157
    sheet.cssRules[0].cssText,
158
    [
159
      '@media print {',
160
      '  #foo { z-index: 23; float: left; }',
161
      '}'
162
    ].join('\n')
163
  );
164
}, 'one rule');
165
166
test(function(t) {
167
  var sheet = makeSheet(t);
168
  sheet.insertRule('@media print {}');
169
170
  assert_equals(sheet.cssRules.length, 1);
171
  sheet.cssRules[0].insertRule('#foo { z-index: 23; float: left; }', 0);
172
  sheet.cssRules[0].insertRule('#bar { float: none; z-index: 45; }', 0);
173
  assert_equals(
174
    sheet.cssRules[0].cssText,
175
    [
176
      '@media print {',
177
      '  #bar { float: none; z-index: 45; }',
178
      '  #foo { z-index: 23; float: left; }',
179
      '}'
180
    ].join('\n')
181
  );
182
}, 'many rules');
183
</script>
184
</body>
185
</html>
- a/LayoutTests/imported/w3c/web-platform-tests/css/cssom/shorthand-values-expected.txt -1 / +1 lines
Lines 14-20 PASS The serialization of overflow-x: scroll; overflow-y: hidden; should be cano a/LayoutTests/imported/w3c/web-platform-tests/css/cssom/shorthand-values-expected.txt_sec1
14
PASS The serialization of overflow-x: scroll; overflow-y: scroll; should be canonical. 
14
PASS The serialization of overflow-x: scroll; overflow-y: scroll; should be canonical. 
15
PASS The serialization of outline-width: 2px; outline-style: dotted; outline-color: blue; should be canonical. 
15
PASS The serialization of outline-width: 2px; outline-style: dotted; outline-color: blue; should be canonical. 
16
PASS The serialization of margin-top: 1px; margin-right: 2px; margin-bottom: 3px; margin-left: 4px; should be canonical. 
16
PASS The serialization of margin-top: 1px; margin-right: 2px; margin-bottom: 3px; margin-left: 4px; should be canonical. 
17
PASS The serialization of list-style-type: circle; list-style-position: inside; list-style-image: initial; should be canonical. 
17
FAIL The serialization of list-style-type: circle; list-style-position: inside; list-style-image: initial; should be canonical. assert_equals: expected "list-style: inside circle;" but got "list-style: circle inside;"
18
PASS The serialization of list-style-type: lower-alpha; should be canonical. 
18
PASS The serialization of list-style-type: lower-alpha; should be canonical. 
19
PASS The serialization of font-family: sans-serif; line-height: 2em; font-size: 3em; font-style: italic; font-weight: bold; should be canonical. 
19
PASS The serialization of font-family: sans-serif; line-height: 2em; font-size: 3em; font-style: italic; font-weight: bold; should be canonical. 
20
PASS The serialization of padding-top: 1px; padding-right: 2px; padding-bottom: 3px; padding-left: 4px; should be canonical. 
20
PASS The serialization of padding-top: 1px; padding-right: 2px; padding-bottom: 3px; padding-left: 4px; should be canonical. 
- a/LayoutTests/imported/w3c/web-platform-tests/css/cssom/shorthand-values.html -1 / +1 lines
Lines 36-42 a/LayoutTests/imported/w3c/web-platform-tests/css/cssom/shorthand-values.html_sec1
36
        'overflow-x: scroll; overflow-y: scroll;': 'overflow: scroll;',
36
        'overflow-x: scroll; overflow-y: scroll;': 'overflow: scroll;',
37
        'outline-width: 2px; outline-style: dotted; outline-color: blue;': 'outline: blue dotted 2px;',
37
        'outline-width: 2px; outline-style: dotted; outline-color: blue;': 'outline: blue dotted 2px;',
38
        'margin-top: 1px; margin-right: 2px; margin-bottom: 3px; margin-left: 4px;': 'margin: 1px 2px 3px 4px;',
38
        'margin-top: 1px; margin-right: 2px; margin-bottom: 3px; margin-left: 4px;': 'margin: 1px 2px 3px 4px;',
39
        'list-style-type: circle; list-style-position: inside; list-style-image: initial;': 'list-style: circle inside;',
39
        'list-style-type: circle; list-style-position: inside; list-style-image: initial;': 'list-style: inside circle;',
40
        'list-style-type: lower-alpha;': 'list-style-type: lower-alpha;',
40
        'list-style-type: lower-alpha;': 'list-style-type: lower-alpha;',
41
        'font-family: sans-serif; line-height: 2em; font-size: 3em; font-style: italic; font-weight: bold;': 'font-family: sans-serif; line-height: 2em; font-size: 3em; font-style: italic; font-weight: bold;',
41
        'font-family: sans-serif; line-height: 2em; font-size: 3em; font-style: italic; font-weight: bold;': 'font-family: sans-serif; line-height: 2em; font-size: 3em; font-style: italic; font-weight: bold;',
42
        'padding-top: 1px; padding-right: 2px; padding-bottom: 3px; padding-left: 4px;': 'padding: 1px 2px 3px 4px;'
42
        'padding-top: 1px; padding-right: 2px; padding-bottom: 3px; padding-left: 4px;': 'padding: 1px 2px 3px 4px;'
- a/LayoutTests/imported/w3c/web-platform-tests/css/cssom/style-attr-update-across-documents-expected.txt +3 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/cssom/style-attr-update-across-documents-expected.txt_sec1
1
2
PASS Changing the style of a node that switched documents works 
3
- a/LayoutTests/imported/w3c/web-platform-tests/css/cssom/style-attr-update-across-documents.html +48 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/cssom/style-attr-update-across-documents.html_sec1
1
<!DOCTYPE html>
2
<title>CSSStyleDeclaration setter works when a node changes document</title>
3
<link rel="author" title="Raphael Kubo da Costa" href="raphael.kubo.da.costa@intel.com">
4
<link rel="help" href="https://drafts.csswg.org/cssom/#dom-cssstyledeclaration-camel-cased-attribute">
5
<link rel="help" href="https://drafts.csswg.org/cssom/#dom-cssstyledeclaration-webkit-cased-attribute">
6
<link rel="help" href="https://drafts.csswg.org/cssom/#dom-cssstyledeclaration-dashed-attribute">
7
<script src="/resources/testharness.js"></script>
8
<script src="/resources/testharnessreport.js"></script>
9
<div id="original-div" style="background-color:green; height: 100px; width: 100px"></div>
10
<script>
11
  // Create and return a 100x100 red <div>.
12
  function createDiv(containerDocument) {
13
    const div = containerDocument.createElement("div");
14
    div.style.backgroundColor = "red";
15
    div.style.height = "100px";
16
    div.style.width = "100px";
17
    containerDocument.body.appendChild(div);
18
    return div;
19
  }
20
21
  async_test(t => {
22
    const iframeElement = document.createElement("iframe");
23
    iframeElement.addEventListener("load", t.step_func_done(() => {
24
      const originalDiv = document.getElementById("original-div");
25
      const newDiv = createDiv(iframeElement.contentDocument);
26
27
      assert_not_equals(newDiv.ownerDocument, document,
28
                        "The new <div> belongs to the iframe, not the main document");
29
30
      document.body.insertBefore(newDiv, originalDiv);
31
      assert_equals(newDiv.ownerDocument, document,
32
                    "The new <div> now belongs to the main document");
33
34
      newDiv.style.backgroundColor = "blue";
35
      assert_equals(window.getComputedStyle(newDiv).getPropertyValue("background-color"),
36
                    "rgb(0, 0, 255)",
37
                    "The new <div>'s background-color is blue");
38
39
      document.body.removeChild(iframeElement);
40
41
      newDiv.style.backgroundColor = "green";
42
      assert_equals(window.getComputedStyle(newDiv).getPropertyValue("background-color"),
43
                    "rgb(0, 128, 0)",
44
                    "The new <div>'s background-color is green");
45
    }));
46
    document.body.appendChild(iframeElement);
47
  }, "Changing the style of a node that switched documents works");
48
</script>
- a/LayoutTests/imported/w3c/web-platform-tests/css/cssom/style-sheet-interfaces-001.html -20 / +19 lines
Lines 3-9 a/LayoutTests/imported/w3c/web-platform-tests/css/cssom/style-sheet-interfaces-001.html_sec1
3
 <head>
3
 <head>
4
  <title>CSS Test: CSSOM StyleSheet Initial Values</title>
4
  <title>CSS Test: CSSOM StyleSheet Initial Values</title>
5
  <link rel="author" title="Bear Travis" href="mailto:betravis@adobe.com">
5
  <link rel="author" title="Bear Travis" href="mailto:betravis@adobe.com">
6
  <link rel="help" href="http://www.w3.org/TR/cssom-1/#css-style-sheets">
6
  <link rel="help" href="https://www.w3.org/TR/cssom-1/#css-style-sheets">
7
  <link rel="help" href="https://www.w3.org/TR/cssom-1/#the-cssimportrule-interface">
8
  <link rel="help" href="https://www.w3.org/TR/cssom-1/#the-linkstyle-interface">
7
  <meta name="flags" content="dom">
9
  <meta name="flags" content="dom">
8
  <meta name="assert" content="StyleSheet and CSSStyleSheet objects have the properties specified in their interfaces">
10
  <meta name="assert" content="StyleSheet and CSSStyleSheet objects have the properties specified in their interfaces">
9
  <script src="/resources/testharness.js" type="text/javascript"></script>
11
  <script src="/resources/testharness.js" type="text/javascript"></script>
Lines 23-28 a/LayoutTests/imported/w3c/web-platform-tests/css/cssom/style-sheet-interfaces-001.html_sec2
23
25
24
    var styleSheet;
26
    var styleSheet;
25
    var linkSheet;
27
    var linkSheet;
28
29
    // styleElement.sheet exists and is a CSSStyleSheet
30
    // linkElement.sheet exists and is a CSSStyleSheet
26
    test(function() {
31
    test(function() {
27
        assert_idl_attribute(styleElement, "sheet");
32
        assert_idl_attribute(styleElement, "sheet");
28
        assert_readonly(styleElement, "sheet");
33
        assert_readonly(styleElement, "sheet");
Lines 31-41 a/LayoutTests/imported/w3c/web-platform-tests/css/cssom/style-sheet-interfaces-001.html_sec3
31
        assert_idl_attribute(linkElement, "sheet");
36
        assert_idl_attribute(linkElement, "sheet");
32
        linkSheet = linkElement.sheet;
37
        linkSheet = linkElement.sheet;
33
        assert_true(linkSheet instanceof CSSStyleSheet);
38
        assert_true(linkSheet instanceof CSSStyleSheet);
34
    }, "sheet_property",
39
    }, "sheet_property");
35
    { help: "http://www.w3.org/TR/cssom-1/#the-linkstyle-interface",
36
      assert: [ "styleElement.sheet exists", "styleElement.sheet is a CSSStyleSheet",
37
                "linkElement.sheet exists", "linkElement.sheet is a CSSStyleSheet"] });
38
40
41
    // The sheet property on LinkStyle should always return the current associated style sheet.
39
    test(function () {
42
    test(function () {
40
      var style = document.createElement("style");
43
      var style = document.createElement("style");
41
      document.querySelector("head").appendChild(style);
44
      document.querySelector("head").appendChild(style);
Lines 43-52 a/LayoutTests/imported/w3c/web-platform-tests/css/cssom/style-sheet-interfaces-001.html_sec4
43
      assert_equals(sheet1.cssRules.length, 0);
46
      assert_equals(sheet1.cssRules.length, 0);
44
      style.appendChild(document.createTextNode("a { color: green; }"));
47
      style.appendChild(document.createTextNode("a { color: green; }"));
45
      assert_equals(style.sheet.cssRules.length, 1);
48
      assert_equals(style.sheet.cssRules.length, 1);
46
    }, "sheet_property_updates",
49
    }, "sheet_property_updates");
47
    { help: "https://www.w3.org/TR/cssom-1/#the-linkstyle-interface",
48
      assert: "The sheet property on LinkStyle should always return the current associated style sheet." });
49
50
51
    // ownerRule, cssRules, insertRule and deleteRule properties exist on CSSStyleSheet
52
    // ownerRule, cssRules are read only
50
    test(function() {
53
    test(function() {
51
        assert_idl_attribute(styleSheet, "ownerRule");
54
        assert_idl_attribute(styleSheet, "ownerRule");
52
        assert_idl_attribute(styleSheet, "cssRules");
55
        assert_idl_attribute(styleSheet, "cssRules");
Lines 55-75 a/LayoutTests/imported/w3c/web-platform-tests/css/cssom/style-sheet-interfaces-001.html_sec5
55
58
56
        assert_readonly(styleSheet, "ownerRule");
59
        assert_readonly(styleSheet, "ownerRule");
57
        assert_readonly(styleSheet, "cssRules");
60
        assert_readonly(styleSheet, "cssRules");
58
    }, "CSSStyleSheet_properties",
61
    }, "CSSStyleSheet_properties");
59
    { assert: [ "ownerRule, cssRules, insertRule and deleteRule properties exist on CSSStyleSheet",
60
                "ownerRule, cssRules are read only"] });
61
62
62
    var importSheet;
63
    var importSheet;
64
    // CSSStyleSheet initial property values are correct
63
    test(function() {
65
    test(function() {
64
        assert_equals(styleSheet.ownerRule, null);
66
        assert_equals(styleSheet.ownerRule, null);
65
        assert_true(styleSheet.cssRules.length > 0);
67
        assert_true(styleSheet.cssRules.length > 0);
66
        assert_true(styleSheet.cssRules.item(0) instanceof CSSImportRule);
68
        assert_true(styleSheet.cssRules.item(0) instanceof CSSImportRule);
67
        importSheet = styleSheet.cssRules.item(0).styleSheet;
69
        importSheet = styleSheet.cssRules.item(0).styleSheet;
68
    }, "CSSStyleSheet_property_values",
70
    }, "CSSStyleSheet_property_values");
69
    { help: [ "http://www.w3.org/TR/cssom-1/#css-style-sheets",
70
              "http://www.w3.org/TR/cssom-1/#cssimportrule" ],
71
      assert: "CSSStyleSheet initial property values are correct" });
72
71
72
    // type, disabled, ownerNode, parentStyleSheet, href, title, and media properties exist on StyleSheet
73
    // type, ownerNode, parentStyleSheet, href, and title properties are read only
73
    test(function() {
74
    test(function() {
74
        assert_idl_attribute(styleSheet, "type");
75
        assert_idl_attribute(styleSheet, "type");
75
        assert_idl_attribute(styleSheet, "disabled");
76
        assert_idl_attribute(styleSheet, "disabled");
Lines 84-93 a/LayoutTests/imported/w3c/web-platform-tests/css/cssom/style-sheet-interfaces-001.html_sec6
84
        assert_readonly(styleSheet, "parentStyleSheet");
85
        assert_readonly(styleSheet, "parentStyleSheet");
85
        assert_readonly(styleSheet, "href");
86
        assert_readonly(styleSheet, "href");
86
        assert_readonly(styleSheet, "title");
87
        assert_readonly(styleSheet, "title");
87
    }, "StyleSheet_properties",
88
    }, "StyleSheet_properties");
88
    { assert: [ "type, disabled, ownerNode, parentStyleSheet, href, title, and media properties exist on StyleSheet",
89
                "type, ownerNode, parentStyleSheet, href, and title properties are read only" ] });
90
89
90
    // StyleSheet initial property values are correct
91
    test(function() {
91
    test(function() {
92
        assert_equals(styleSheet.type, "text/css");
92
        assert_equals(styleSheet.type, "text/css");
93
        assert_equals(styleSheet.disabled, false);
93
        assert_equals(styleSheet.disabled, false);
Lines 106-113 a/LayoutTests/imported/w3c/web-platform-tests/css/cssom/style-sheet-interfaces-001.html_sec7
106
106
107
        assert_equals(styleSheet.title, "internal style sheet");
107
        assert_equals(styleSheet.title, "internal style sheet");
108
        assert_equals(styleSheet.media.item(0), "all");
108
        assert_equals(styleSheet.media.item(0), "all");
109
    }, "StyleSheet_property_values",
109
    }, "StyleSheet_property_values");
110
    { assert: "StyleSheet initial property values are correct" });
111
  </script>
110
  </script>
112
 </body>
111
 </body>
113
</html>
112
</html>
- a/LayoutTests/imported/w3c/web-platform-tests/css/cssom/style-sheet-interfaces-002.html -8 / +6 lines
Lines 3-9 a/LayoutTests/imported/w3c/web-platform-tests/css/cssom/style-sheet-interfaces-002.html_sec1
3
 <head>
3
 <head>
4
  <title>CSS Test: CSSOM StyleSheet Modify Rule List</title>
4
  <title>CSS Test: CSSOM StyleSheet Modify Rule List</title>
5
  <link rel="author" title="Bear Travis" href="mailto:betravis@adobe.com">
5
  <link rel="author" title="Bear Travis" href="mailto:betravis@adobe.com">
6
  <link rel="reviewer" title="Ms2ger" href="mailto:ms2ger@gmail.com"> <!--  2012-06-17  -->
6
  <link rel="reviewer" title="Ms2ger" href="mailto:ms2ger@gmail.com"> <!-- 2012-06-17 -->
7
  <link rel="help" href="http://www.w3.org/TR/cssom-1/#the-cssstylesheet-interface">
7
  <link rel="help" href="http://www.w3.org/TR/cssom-1/#the-cssstylesheet-interface">
8
  <link rel="help" href="http://www.w3.org/TR/cssom-1/#the-cssrule-interface">
8
  <link rel="help" href="http://www.w3.org/TR/cssom-1/#the-cssrule-interface">
9
  <meta name="flags" content="dom">
9
  <meta name="flags" content="dom">
Lines 19-42 a/LayoutTests/imported/w3c/web-platform-tests/css/cssom/style-sheet-interfaces-002.html_sec2
19
  <div id="log"></div>
19
  <div id="log"></div>
20
  <script type="text/javascript">
20
  <script type="text/javascript">
21
  var sheet = document.getElementById("styleElement").sheet;
21
  var sheet = document.getElementById("styleElement").sheet;
22
  // Initial rule list is of size 1
23
  // Can add a rule at first index
22
  test(function() {
24
  test(function() {
23
    assert_equals(sheet.cssRules.length, 1);
25
    assert_equals(sheet.cssRules.length, 1);
24
    sheet.insertRule("p { color: green; }", 0);
26
    sheet.insertRule("p { color: green; }", 0);
25
    assert_equals(sheet.cssRules.length, 2);
27
    assert_equals(sheet.cssRules.length, 2);
26
    assert_equals(sheet.cssRules.item(0).cssText, "p { color: green; }");
28
    assert_equals(sheet.cssRules.item(0).cssText, "p { color: green; }");
27
  }, "add_rule", {
29
  }, "add_rule");
28
    assert: [   "Initial rule list is of size 1",
29
                "Can add a rule at first index" ]
30
  });
31
30
31
  // Can delete rules until rule list is empty
32
  test(function() {
32
  test(function() {
33
    sheet.deleteRule(0);
33
    sheet.deleteRule(0);
34
    assert_equals(sheet.cssRules.length, 1);
34
    assert_equals(sheet.cssRules.length, 1);
35
    sheet.deleteRule(0);
35
    sheet.deleteRule(0);
36
    assert_equals(sheet.cssRules.length, 0);
36
    assert_equals(sheet.cssRules.length, 0);
37
  }, "delete_rule", {
37
  }, "delete_rule");
38
    assert: "Can delete rules until rule list is empty"
39
  });
40
  </script>
38
  </script>
41
 </body>
39
 </body>
42
</html>
40
</html>
- a/LayoutTests/imported/w3c/web-platform-tests/css/cssom/stylesheet-same-origin.sub-expected.txt -5 / +17 lines
Lines 1-9 a/LayoutTests/imported/w3c/web-platform-tests/css/cssom/stylesheet-same-origin.sub-expected.txt_sec1
1
Blocked access to external URL http://www1.localhost:8801/stylesheet-same-origin.css
1
Blocked access to external URL http://www1.localhost:8801/css/cssom/stylesheet-same-origin.css
2
Blocked access to external URL http://www1.localhost:8801/stylesheet-same-origin.css
2
Blocked access to external URL http://www1.localhost:8801/common/redirect.py?location=http://localhost:8800/css/cssom/stylesheet-same-origin.css
3
Blocked access to external URL http://www1.localhost:8801/css/cssom/stylesheet-same-origin.css
4
Blocked access to external URL http://www1.localhost:8801/common/redirect.py?location=http://localhost:8800/css/cssom/stylesheet-same-origin.css
5
Blocked access to external URL http://www1.localhost:8801/css/cssom/stylesheet-same-origin.css
3
6
4
FAIL Origin-clean check in cross-origin CSSOM Stylesheets assert_throws: Cross origin stylesheet.cssRules should throw SecurityError. function "function () {
7
FAIL Origin-clean check in cross-origin CSSOM Stylesheets assert_throws_dom: stylesheet.cssRules should throw SecurityError. function "function () {
5
                    crossorigin.cssRules;
8
                    sheet.cssRules;
6
                }" threw object "TypeError: null is not an object (evaluating 'crossorigin.cssRules')" that is not a DOMException SecurityError: property "code" is equal to undefined, expected 18
9
                }" threw object "TypeError: null is not an object (evaluating 'sheet.cssRules')" that is not a DOMException SecurityError: property "code" is equal to undefined, expected 18
10
FAIL Origin-clean check in cross-origin CSSOM Stylesheets (redirect from same-origin to cross-origin) assert_throws_dom: stylesheet.cssRules should throw SecurityError. function "function () {
11
                    sheet.cssRules;
12
                }" did not throw
13
FAIL Origin-clean check in cross-origin CSSOM Stylesheets (redirect from cross-origin to same-origin) assert_throws_dom: stylesheet.cssRules should throw SecurityError. function "function () {
14
                    sheet.cssRules;
15
                }" threw object "TypeError: null is not an object (evaluating 'sheet.cssRules')" that is not a DOMException SecurityError: property "code" is equal to undefined, expected 18
16
FAIL Origin-clean check in loading error CSSOM Stylesheets assert_throws_dom: stylesheet.cssRules should throw SecurityError. function "function () {
17
                    sheet.cssRules;
18
                }" did not throw
7
PASS Origin-clean check in same-origin CSSOM Stylesheets 
19
PASS Origin-clean check in same-origin CSSOM Stylesheets 
8
FAIL Origin-clean check in data:css CSSOM Stylesheets null is not an object (evaluating 'sheet.cssRules.length')
20
FAIL Origin-clean check in data:css CSSOM Stylesheets null is not an object (evaluating 'sheet.cssRules.length')
9
21
- a/LayoutTests/imported/w3c/web-platform-tests/css/cssom/stylesheet-same-origin.sub.html -18 / +44 lines
Lines 7-47 a/LayoutTests/imported/w3c/web-platform-tests/css/cssom/stylesheet-same-origin.sub.html_sec1
7
    <script src="/resources/testharness.js"></script>
7
    <script src="/resources/testharness.js"></script>
8
    <script src="/resources/testharnessreport.js"></script>
8
    <script src="/resources/testharnessreport.js"></script>
9
9
10
    <link id="crossorigin" href="http://www1.{{host}}:{{ports[http][1]}}/stylesheet-same-origin.css" rel="stylesheet">
10
    <link id="crossorigin" href="http://www1.{{host}}:{{ports[http][1]}}/css/cssom/stylesheet-same-origin.css" rel="stylesheet">
11
    <link id="sameorigin" href="stylesheet-same-origin.css" rel="stylesheet">
11
    <link id="sameorigin" href="stylesheet-same-origin.css" rel="stylesheet">
12
    <link id="sameorigindata" href="data:text/css,.green-text{color:rgb(0, 255, 0)}" rel="stylesheet">
12
    <link id="sameorigindata" href="data:text/css,.green-text{color:rgb(0, 255, 0)}" rel="stylesheet">
13
    <link id="redirect-sameorigin-to-crossorigin"
14
          href="/common/redirect.py?location=http://www1.{{host}}:{{ports[http][1]}}/css/cssom/stylesheet-same-origin.css"
15
          rel="stylesheet">
16
    <link id="redirect-crossorigin-to-sameorigin"
17
          href="http://www1.{{host}}:{{ports[http][1]}}/common/redirect.py?location=http://{{host}}:{{ports[http][0]}}/css/cssom/stylesheet-same-origin.css"
18
          rel="stylesheet">
19
    <link id="loaderror" href="support/malformed-http-response.asis" rel="stylesheet">
13
20
14
    <script>
21
    <script>
15
        var crossorigin = document.getElementById("crossorigin").sheet;
22
        var crossorigin = document.getElementById("crossorigin").sheet;
23
        var redirectSameOriginToCrossOrigin = document.getElementById("redirect-sameorigin-to-crossorigin").sheet;
24
        var redirectCrossOriginToSameOrigin = document.getElementById("redirect-crossorigin-to-sameorigin").sheet;
25
        var loadError = document.getElementById("loaderror").sheet;
16
        var sameorigin = document.getElementById("sameorigin").sheet;
26
        var sameorigin = document.getElementById("sameorigin").sheet;
17
        var sameorigindata = document.getElementById("sameorigindata").sheet;
27
        var sameorigindata = document.getElementById("sameorigindata").sheet;
18
28
19
        test(function() {
29
        function doOriginCleanCheck(sheet, name) {
20
            assert_throws("SecurityError",
30
            assert_equals(sheet.cssRules.length, 1, name + " stylesheet.cssRules should be accessible.");
31
            sheet.insertRule("#test { margin: 10px; }", 1);
32
            assert_equals(sheet.cssRules.length, 2, name + " stylesheet.insertRule should be accessible.");
33
            sheet.deleteRule(0);
34
            assert_equals(sheet.cssRules.length, 1, name + " stylesheet.deleteRule should be accessible.");
35
        }
36
37
        function doOriginDirtyCheck(sheet) {
38
            assert_throws_dom("SecurityError",
21
                function () {
39
                function () {
22
                    crossorigin.cssRules;
40
                    sheet.cssRules;
23
                },
41
                },
24
                "Cross origin stylesheet.cssRules should throw SecurityError.");
42
                'stylesheet.cssRules should throw SecurityError.');
25
            assert_throws("SecurityError",
43
            assert_throws_dom("SecurityError",
26
                function () {
44
                function () {
27
                    crossorigin.insertRule("#test { margin: 10px; }", 1);
45
                    sheet.insertRule("#test { margin: 10px; }", 1);
28
                },
46
                },
29
                "Cross origin stylesheet.insertRule should throw SecurityError.");
47
                'stylesheet.insertRule should throw SecurityError.');
30
48
31
            assert_throws("SecurityError",
49
            assert_throws_dom("SecurityError",
32
                function () {
50
                function () {
33
                    crossorigin.deleteRule(0);
51
                    sheet.deleteRule(0);
34
                },
52
                },
35
                "Cross origin stylesheet.deleteRule should throw SecurityError.");
53
                'stylesheet.deleteRule should throw SecurityError.');
54
        }
55
56
        test(function() {
57
            doOriginDirtyCheck(crossorigin);
36
        }, "Origin-clean check in cross-origin CSSOM Stylesheets");
58
        }, "Origin-clean check in cross-origin CSSOM Stylesheets");
37
59
38
        function doOriginCleanCheck(sheet, name) {
60
        test(function() {
39
            assert_equals(sheet.cssRules.length, 1, name + " stylesheet.cssRules should be accessible.");
61
            doOriginDirtyCheck(redirectSameOriginToCrossOrigin);
40
            sheet.insertRule("#test { margin: 10px; }", 1);
62
        }, "Origin-clean check in cross-origin CSSOM Stylesheets (redirect from same-origin to cross-origin)");
41
            assert_equals(sheet.cssRules.length, 2, name + " stylesheet.insertRule should be accessible.");
63
42
            sheet.deleteRule(0);
64
        test(function() {
43
            assert_equals(sheet.cssRules.length, 1, name + " stylesheet.deleteRule should be accessible.");
65
            doOriginDirtyCheck(redirectCrossOriginToSameOrigin);
44
        }
66
        }, "Origin-clean check in cross-origin CSSOM Stylesheets (redirect from cross-origin to same-origin)");
67
68
       test(function() {
69
            doOriginDirtyCheck(loadError);
70
        }, "Origin-clean check in loading error CSSOM Stylesheets");
45
71
46
        test(function() {
72
        test(function() {
47
            doOriginCleanCheck(sameorigin, "Same-origin");
73
            doOriginCleanCheck(sameorigin, "Same-origin");
- a/LayoutTests/imported/w3c/web-platform-tests/css/cssom/support/black.css +4 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/cssom/support/black.css_sec1
1
html {
2
background-color: black;
3
color: white;
4
}
- a/LayoutTests/imported/w3c/web-platform-tests/css/cssom/support/constructable-import.css +3 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/cssom/support/constructable-import.css_sec1
1
* {
2
  color: red;
3
}
- a/LayoutTests/imported/w3c/web-platform-tests/css/cssom/support/import-rule.css +1 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/cssom/support/import-rule.css_sec1
1
@import "import-red.css";
- a/LayoutTests/imported/w3c/web-platform-tests/css/cssom/support/malformed-http-response.asis +1 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/cssom/support/malformed-http-response.asis_sec1
1
HAHAHA THIS IS NOT HTTP AND THE BROWSER SHOULD CONSIDER IT A NETWORK ERROR
- a/LayoutTests/imported/w3c/web-platform-tests/css/cssom/support/support/w3c-import.log -1 / +1 lines
Lines 1-7 a/LayoutTests/imported/w3c/web-platform-tests/css/cssom/support/support/w3c-import.log_sec1
1
The tests in this directory were imported from the W3C repository.
1
The tests in this directory were imported from the W3C repository.
2
Do NOT modify these tests directly in WebKit.
2
Do NOT modify these tests directly in WebKit.
3
Instead, create a pull request on the WPT github:
3
Instead, create a pull request on the WPT github:
4
	https://github.com/w3c/web-platform-tests
4
	https://github.com/web-platform-tests/wpt
5
5
6
Then run the Tools/Scripts/import-w3c-tests in WebKit to reimport
6
Then run the Tools/Scripts/import-w3c-tests in WebKit to reimport
7
7
- a/LayoutTests/imported/w3c/web-platform-tests/css/cssom/support/w3c-import.log -2 / +6 lines
Lines 1-7 a/LayoutTests/imported/w3c/web-platform-tests/css/cssom/support/w3c-import.log_sec1
1
The tests in this directory were imported from the W3C repository.
1
The tests in this directory were imported from the W3C repository.
2
Do NOT modify these tests directly in WebKit.
2
Do NOT modify these tests directly in WebKit.
3
Instead, create a pull request on the WPT github:
3
Instead, create a pull request on the WPT github:
4
	https://github.com/w3c/web-platform-tests
4
	https://github.com/web-platform-tests/wpt
5
5
6
Then run the Tools/Scripts/import-w3c-tests in WebKit to reimport
6
Then run the Tools/Scripts/import-w3c-tests in WebKit to reimport
7
7
Lines 22-36 List of files: a/LayoutTests/imported/w3c/web-platform-tests/css/cssom/support/w3c-import.log_sec2
22
/LayoutTests/imported/w3c/web-platform-tests/css/cssom/support/1x1-white.png
22
/LayoutTests/imported/w3c/web-platform-tests/css/cssom/support/1x1-white.png
23
/LayoutTests/imported/w3c/web-platform-tests/css/cssom/support/60x60-gg-rr.png
23
/LayoutTests/imported/w3c/web-platform-tests/css/cssom/support/60x60-gg-rr.png
24
/LayoutTests/imported/w3c/web-platform-tests/css/cssom/support/60x60-green.png
24
/LayoutTests/imported/w3c/web-platform-tests/css/cssom/support/60x60-green.png
25
/LayoutTests/imported/w3c/web-platform-tests/css/cssom/support/60x60-red.png
26
/LayoutTests/imported/w3c/web-platform-tests/css/cssom/support/README
25
/LayoutTests/imported/w3c/web-platform-tests/css/cssom/support/README
27
/LayoutTests/imported/w3c/web-platform-tests/css/cssom/support/a-green.css
26
/LayoutTests/imported/w3c/web-platform-tests/css/cssom/support/a-green.css
28
/LayoutTests/imported/w3c/web-platform-tests/css/cssom/support/b-green.css
27
/LayoutTests/imported/w3c/web-platform-tests/css/cssom/support/b-green.css
28
/LayoutTests/imported/w3c/web-platform-tests/css/cssom/support/black.css
29
/LayoutTests/imported/w3c/web-platform-tests/css/cssom/support/c-red.css
29
/LayoutTests/imported/w3c/web-platform-tests/css/cssom/support/c-red.css
30
/LayoutTests/imported/w3c/web-platform-tests/css/cssom/support/cat.png
30
/LayoutTests/imported/w3c/web-platform-tests/css/cssom/support/cat.png
31
/LayoutTests/imported/w3c/web-platform-tests/css/cssom/support/constructable-import.css
32
/LayoutTests/imported/w3c/web-platform-tests/css/cssom/support/getComputedStyle-insets.js
31
/LayoutTests/imported/w3c/web-platform-tests/css/cssom/support/import-charset.css
33
/LayoutTests/imported/w3c/web-platform-tests/css/cssom/support/import-charset.css
32
/LayoutTests/imported/w3c/web-platform-tests/css/cssom/support/import-green.css
34
/LayoutTests/imported/w3c/web-platform-tests/css/cssom/support/import-green.css
33
/LayoutTests/imported/w3c/web-platform-tests/css/cssom/support/import-red.css
35
/LayoutTests/imported/w3c/web-platform-tests/css/cssom/support/import-red.css
36
/LayoutTests/imported/w3c/web-platform-tests/css/cssom/support/import-rule.css
37
/LayoutTests/imported/w3c/web-platform-tests/css/cssom/support/malformed-http-response.asis
34
/LayoutTests/imported/w3c/web-platform-tests/css/cssom/support/pattern-grg-rgr-grg.png
38
/LayoutTests/imported/w3c/web-platform-tests/css/cssom/support/pattern-grg-rgr-grg.png
35
/LayoutTests/imported/w3c/web-platform-tests/css/cssom/support/pattern-grg-rrg-rgg.png
39
/LayoutTests/imported/w3c/web-platform-tests/css/cssom/support/pattern-grg-rrg-rgg.png
36
/LayoutTests/imported/w3c/web-platform-tests/css/cssom/support/pattern-rgr-grg-rgr.png
40
/LayoutTests/imported/w3c/web-platform-tests/css/cssom/support/pattern-rgr-grg-rgr.png
- a/LayoutTests/imported/w3c/web-platform-tests/css/cssom/ttwf-cssom-document-extension.html -1 / +1 lines
Lines 3-9 a/LayoutTests/imported/w3c/web-platform-tests/css/cssom/ttwf-cssom-document-extension.html_sec1
3
<head>
3
<head>
4
    <title>CSSOM - Extensions to the Document Interface: StyleSheetList length is 0 when no sheets loaded</title>
4
    <title>CSSOM - Extensions to the Document Interface: StyleSheetList length is 0 when no sheets loaded</title>
5
    <link rel="author" title="Jesse Bounds" href="mailto:jesse@codeforamerica.org">
5
    <link rel="author" title="Jesse Bounds" href="mailto:jesse@codeforamerica.org">
6
    <link rel="reviewer" title="Ms2ger" href="mailto:ms2ger@gmail.com"> <!--  2012-06-17  -->
6
    <link rel="reviewer" title="Ms2ger" href="mailto:ms2ger@gmail.com"> <!-- 2012-06-17 -->
7
    <link rel="help" href="http://www.w3.org/TR/cssom-1/#extensions-to-the-document-interface">
7
    <link rel="help" href="http://www.w3.org/TR/cssom-1/#extensions-to-the-document-interface">
8
    <link rel="help" href="http://www.w3.org/TR/cssom-1/#the-stylesheetlist-interface">
8
    <link rel="help" href="http://www.w3.org/TR/cssom-1/#the-stylesheetlist-interface">
9
    <meta name="flags" content="dom">
9
    <meta name="flags" content="dom">
- a/LayoutTests/imported/w3c/web-platform-tests/css/cssom/w3c-import.log -4 / +55 lines
Lines 1-7 a/LayoutTests/imported/w3c/web-platform-tests/css/cssom/w3c-import.log_sec1
1
The tests in this directory were imported from the W3C repository.
1
The tests in this directory were imported from the W3C repository.
2
Do NOT modify these tests directly in WebKit.
2
Do NOT modify these tests directly in WebKit.
3
Instead, create a pull request on the WPT github:
3
Instead, create a pull request on the WPT github:
4
	https://github.com/w3c/web-platform-tests
4
	https://github.com/web-platform-tests/wpt
5
5
6
Then run the Tools/Scripts/import-w3c-tests in WebKit to reimport
6
Then run the Tools/Scripts/import-w3c-tests in WebKit to reimport
7
7
Lines 15-20 None a/LayoutTests/imported/w3c/web-platform-tests/css/cssom/w3c-import.log_sec2
15
------------------------------------------------------------------------
15
------------------------------------------------------------------------
16
List of files:
16
List of files:
17
/LayoutTests/imported/w3c/web-platform-tests/css/cssom/CSS.html
17
/LayoutTests/imported/w3c/web-platform-tests/css/cssom/CSS.html
18
/LayoutTests/imported/w3c/web-platform-tests/css/cssom/CSSGroupingRule-cssRules.html
19
/LayoutTests/imported/w3c/web-platform-tests/css/cssom/CSSGroupingRule-insertRule.html
18
/LayoutTests/imported/w3c/web-platform-tests/css/cssom/CSSKeyframeRule.html
20
/LayoutTests/imported/w3c/web-platform-tests/css/cssom/CSSKeyframeRule.html
19
/LayoutTests/imported/w3c/web-platform-tests/css/cssom/CSSKeyframesRule.html
21
/LayoutTests/imported/w3c/web-platform-tests/css/cssom/CSSKeyframesRule.html
20
/LayoutTests/imported/w3c/web-platform-tests/css/cssom/CSSNamespaceRule.html
22
/LayoutTests/imported/w3c/web-platform-tests/css/cssom/CSSNamespaceRule.html
Lines 22-71 List of files: a/LayoutTests/imported/w3c/web-platform-tests/css/cssom/w3c-import.log_sec3
22
/LayoutTests/imported/w3c/web-platform-tests/css/cssom/CSSStyleRule-set-selectorText-namespace.html
24
/LayoutTests/imported/w3c/web-platform-tests/css/cssom/CSSStyleRule-set-selectorText-namespace.html
23
/LayoutTests/imported/w3c/web-platform-tests/css/cssom/CSSStyleRule-set-selectorText.html
25
/LayoutTests/imported/w3c/web-platform-tests/css/cssom/CSSStyleRule-set-selectorText.html
24
/LayoutTests/imported/w3c/web-platform-tests/css/cssom/CSSStyleRule.html
26
/LayoutTests/imported/w3c/web-platform-tests/css/cssom/CSSStyleRule.html
27
/LayoutTests/imported/w3c/web-platform-tests/css/cssom/CSSStyleSheet-constructable-baseURL.tentative.html
28
/LayoutTests/imported/w3c/web-platform-tests/css/cssom/CSSStyleSheet-constructable-disabled-regular-sheet-insertion.html
29
/LayoutTests/imported/w3c/web-platform-tests/css/cssom/CSSStyleSheet-constructable-disallow-import.tentative.html
30
/LayoutTests/imported/w3c/web-platform-tests/css/cssom/CSSStyleSheet-constructable-duplicate.html
31
/LayoutTests/imported/w3c/web-platform-tests/css/cssom/CSSStyleSheet-constructable-replace-on-regular-sheet.html
32
/LayoutTests/imported/w3c/web-platform-tests/css/cssom/CSSStyleSheet-constructable.html
25
/LayoutTests/imported/w3c/web-platform-tests/css/cssom/CSSStyleSheet.html
33
/LayoutTests/imported/w3c/web-platform-tests/css/cssom/CSSStyleSheet.html
34
/LayoutTests/imported/w3c/web-platform-tests/css/cssom/HTMLLinkElement-disabled-001.html
35
/LayoutTests/imported/w3c/web-platform-tests/css/cssom/HTMLLinkElement-disabled-002.html
36
/LayoutTests/imported/w3c/web-platform-tests/css/cssom/HTMLLinkElement-disabled-003.html
37
/LayoutTests/imported/w3c/web-platform-tests/css/cssom/HTMLLinkElement-disabled-004.html
38
/LayoutTests/imported/w3c/web-platform-tests/css/cssom/HTMLLinkElement-disabled-005.html
39
/LayoutTests/imported/w3c/web-platform-tests/css/cssom/HTMLLinkElement-disabled-006.html
40
/LayoutTests/imported/w3c/web-platform-tests/css/cssom/HTMLLinkElement-disabled-007.html
41
/LayoutTests/imported/w3c/web-platform-tests/css/cssom/HTMLLinkElement-disabled-alternate-expected.html
42
/LayoutTests/imported/w3c/web-platform-tests/css/cssom/HTMLLinkElement-disabled-alternate.html
43
/LayoutTests/imported/w3c/web-platform-tests/css/cssom/META.yml
26
/LayoutTests/imported/w3c/web-platform-tests/css/cssom/MediaList.html
44
/LayoutTests/imported/w3c/web-platform-tests/css/cssom/MediaList.html
27
/LayoutTests/imported/w3c/web-platform-tests/css/cssom/MediaList2.xhtml
45
/LayoutTests/imported/w3c/web-platform-tests/css/cssom/MediaList2.xhtml
28
/LayoutTests/imported/w3c/web-platform-tests/css/cssom/OWNERS
29
/LayoutTests/imported/w3c/web-platform-tests/css/cssom/StyleSheetList.html
46
/LayoutTests/imported/w3c/web-platform-tests/css/cssom/StyleSheetList.html
30
/LayoutTests/imported/w3c/web-platform-tests/css/cssom/at-namespace.html
47
/LayoutTests/imported/w3c/web-platform-tests/css/cssom/at-namespace.html
48
/LayoutTests/imported/w3c/web-platform-tests/css/cssom/border-shorthand-serialization.html
31
/LayoutTests/imported/w3c/web-platform-tests/css/cssom/computed-style-001.html
49
/LayoutTests/imported/w3c/web-platform-tests/css/cssom/computed-style-001.html
32
/LayoutTests/imported/w3c/web-platform-tests/css/cssom/computed-style-002.html
50
/LayoutTests/imported/w3c/web-platform-tests/css/cssom/computed-style-002.html
33
/LayoutTests/imported/w3c/web-platform-tests/css/cssom/computed-style-003.html
51
/LayoutTests/imported/w3c/web-platform-tests/css/cssom/computed-style-003.html
34
/LayoutTests/imported/w3c/web-platform-tests/css/cssom/computed-style-004.html
52
/LayoutTests/imported/w3c/web-platform-tests/css/cssom/computed-style-004.html
53
/LayoutTests/imported/w3c/web-platform-tests/css/cssom/computed-style-005.html
35
/LayoutTests/imported/w3c/web-platform-tests/css/cssom/computed-style-set-property.html
54
/LayoutTests/imported/w3c/web-platform-tests/css/cssom/computed-style-set-property.html
36
/LayoutTests/imported/w3c/web-platform-tests/css/cssom/css-style-attr-decl-block.html
55
/LayoutTests/imported/w3c/web-platform-tests/css/cssom/css-style-attr-decl-block.html
37
/LayoutTests/imported/w3c/web-platform-tests/css/cssom/css-style-attribute-modifications.html
56
/LayoutTests/imported/w3c/web-platform-tests/css/cssom/css-style-attribute-modifications.html
38
/LayoutTests/imported/w3c/web-platform-tests/css/cssom/css-style-declaration-modifications.html
57
/LayoutTests/imported/w3c/web-platform-tests/css/cssom/css-style-declaration-modifications.html
39
/LayoutTests/imported/w3c/web-platform-tests/css/cssom/css-style-reparse.html
58
/LayoutTests/imported/w3c/web-platform-tests/css/cssom/css-style-reparse.html
59
/LayoutTests/imported/w3c/web-platform-tests/css/cssom/cssimportrule-parent.html
60
/LayoutTests/imported/w3c/web-platform-tests/css/cssom/cssimportrule-sheet-identity.html
40
/LayoutTests/imported/w3c/web-platform-tests/css/cssom/cssimportrule.html
61
/LayoutTests/imported/w3c/web-platform-tests/css/cssom/cssimportrule.html
41
/LayoutTests/imported/w3c/web-platform-tests/css/cssom/cssom-cssText-serialize.html
62
/LayoutTests/imported/w3c/web-platform-tests/css/cssom/cssom-cssText-serialize.html
42
/LayoutTests/imported/w3c/web-platform-tests/css/cssom/cssom-cssstyledeclaration-set.html
63
/LayoutTests/imported/w3c/web-platform-tests/css/cssom/cssom-cssstyledeclaration-set.html
43
/LayoutTests/imported/w3c/web-platform-tests/css/cssom/cssom-fontfacerule-constructors.html
64
/LayoutTests/imported/w3c/web-platform-tests/css/cssom/cssom-fontfacerule-constructors.html
44
/LayoutTests/imported/w3c/web-platform-tests/css/cssom/cssom-fontfacerule.html
65
/LayoutTests/imported/w3c/web-platform-tests/css/cssom/cssom-fontfacerule.html
66
/LayoutTests/imported/w3c/web-platform-tests/css/cssom/cssom-pagerule.html
45
/LayoutTests/imported/w3c/web-platform-tests/css/cssom/cssom-ruleTypeAndOrder.html
67
/LayoutTests/imported/w3c/web-platform-tests/css/cssom/cssom-ruleTypeAndOrder.html
46
/LayoutTests/imported/w3c/web-platform-tests/css/cssom/cssom-setProperty-shorthand.html
68
/LayoutTests/imported/w3c/web-platform-tests/css/cssom/cssom-setProperty-shorthand.html
47
/LayoutTests/imported/w3c/web-platform-tests/css/cssom/cssstyledeclaration-csstext-final-delimiter.html
69
/LayoutTests/imported/w3c/web-platform-tests/css/cssom/cssstyledeclaration-csstext-final-delimiter.html
48
/LayoutTests/imported/w3c/web-platform-tests/css/cssom/cssstyledeclaration-csstext-important.html
70
/LayoutTests/imported/w3c/web-platform-tests/css/cssom/cssstyledeclaration-csstext-important.html
49
/LayoutTests/imported/w3c/web-platform-tests/css/cssom/cssstyledeclaration-csstext.html
71
/LayoutTests/imported/w3c/web-platform-tests/css/cssom/cssstyledeclaration-csstext.html
72
/LayoutTests/imported/w3c/web-platform-tests/css/cssom/cssstyledeclaration-custom-properties.html
50
/LayoutTests/imported/w3c/web-platform-tests/css/cssom/cssstyledeclaration-mutability.html
73
/LayoutTests/imported/w3c/web-platform-tests/css/cssom/cssstyledeclaration-mutability.html
51
/LayoutTests/imported/w3c/web-platform-tests/css/cssom/cssstyledeclaration-mutationrecord-001.html
74
/LayoutTests/imported/w3c/web-platform-tests/css/cssom/cssstyledeclaration-mutationrecord-001.html
52
/LayoutTests/imported/w3c/web-platform-tests/css/cssom/cssstyledeclaration-mutationrecord-002.html
75
/LayoutTests/imported/w3c/web-platform-tests/css/cssom/cssstyledeclaration-mutationrecord-002.html
53
/LayoutTests/imported/w3c/web-platform-tests/css/cssom/cssstyledeclaration-mutationrecord-003.html
76
/LayoutTests/imported/w3c/web-platform-tests/css/cssom/cssstyledeclaration-mutationrecord-003.html
54
/LayoutTests/imported/w3c/web-platform-tests/css/cssom/cssstyledeclaration-mutationrecord-004.html
77
/LayoutTests/imported/w3c/web-platform-tests/css/cssom/cssstyledeclaration-mutationrecord-004.html
55
/LayoutTests/imported/w3c/web-platform-tests/css/cssom/cssstyledeclaration-setter-order.html
78
/LayoutTests/imported/w3c/web-platform-tests/css/cssom/cssstyledeclaration-mutationrecord-005.html
79
/LayoutTests/imported/w3c/web-platform-tests/css/cssom/cssstyledeclaration-properties.html
80
/LayoutTests/imported/w3c/web-platform-tests/css/cssom/cssstyledeclaration-setter-attr.html
81
/LayoutTests/imported/w3c/web-platform-tests/css/cssom/cssstyledeclaration-setter-declarations.html
82
/LayoutTests/imported/w3c/web-platform-tests/css/cssom/cssstyledeclaration-setter-form-controls.html
83
/LayoutTests/imported/w3c/web-platform-tests/css/cssom/cssstyledeclaration-setter-logical.html
56
/LayoutTests/imported/w3c/web-platform-tests/css/cssom/escape.html
84
/LayoutTests/imported/w3c/web-platform-tests/css/cssom/escape.html
85
/LayoutTests/imported/w3c/web-platform-tests/css/cssom/font-family-serialization-001.html
57
/LayoutTests/imported/w3c/web-platform-tests/css/cssom/font-shorthand-serialization.html
86
/LayoutTests/imported/w3c/web-platform-tests/css/cssom/font-shorthand-serialization.html
87
/LayoutTests/imported/w3c/web-platform-tests/css/cssom/getComputedStyle-animations-replaced-into-ib-split.html
58
/LayoutTests/imported/w3c/web-platform-tests/css/cssom/getComputedStyle-detached-subtree.html
88
/LayoutTests/imported/w3c/web-platform-tests/css/cssom/getComputedStyle-detached-subtree.html
89
/LayoutTests/imported/w3c/web-platform-tests/css/cssom/getComputedStyle-display-none-001.html
90
/LayoutTests/imported/w3c/web-platform-tests/css/cssom/getComputedStyle-display-none-002.html
59
/LayoutTests/imported/w3c/web-platform-tests/css/cssom/getComputedStyle-dynamic-subdoc.html
91
/LayoutTests/imported/w3c/web-platform-tests/css/cssom/getComputedStyle-dynamic-subdoc.html
92
/LayoutTests/imported/w3c/web-platform-tests/css/cssom/getComputedStyle-insets-absolute.html
93
/LayoutTests/imported/w3c/web-platform-tests/css/cssom/getComputedStyle-insets-fixed.html
94
/LayoutTests/imported/w3c/web-platform-tests/css/cssom/getComputedStyle-insets-nobox.html
95
/LayoutTests/imported/w3c/web-platform-tests/css/cssom/getComputedStyle-insets-relative.html
96
/LayoutTests/imported/w3c/web-platform-tests/css/cssom/getComputedStyle-insets-static.html
97
/LayoutTests/imported/w3c/web-platform-tests/css/cssom/getComputedStyle-insets-sticky-container-for-abspos.html
98
/LayoutTests/imported/w3c/web-platform-tests/css/cssom/getComputedStyle-insets-sticky.html
99
/LayoutTests/imported/w3c/web-platform-tests/css/cssom/getComputedStyle-layout-dependent-removed-ib-sibling.html
100
/LayoutTests/imported/w3c/web-platform-tests/css/cssom/getComputedStyle-layout-dependent-replaced-into-ib-split.html
101
/LayoutTests/imported/w3c/web-platform-tests/css/cssom/getComputedStyle-line-height.html
102
/LayoutTests/imported/w3c/web-platform-tests/css/cssom/getComputedStyle-logical-enumeration.html
103
/LayoutTests/imported/w3c/web-platform-tests/css/cssom/getComputedStyle-property-order.html
60
/LayoutTests/imported/w3c/web-platform-tests/css/cssom/getComputedStyle-pseudo.html
104
/LayoutTests/imported/w3c/web-platform-tests/css/cssom/getComputedStyle-pseudo.html
105
/LayoutTests/imported/w3c/web-platform-tests/css/cssom/getComputedStyle-resolved-min-max-clamping.html
106
/LayoutTests/imported/w3c/web-platform-tests/css/cssom/getComputedStyle-sticky-pos-percent.html
107
/LayoutTests/imported/w3c/web-platform-tests/css/cssom/getComputedStyle-width-scroll.tentative.html
61
/LayoutTests/imported/w3c/web-platform-tests/css/cssom/historical.html
108
/LayoutTests/imported/w3c/web-platform-tests/css/cssom/historical.html
109
/LayoutTests/imported/w3c/web-platform-tests/css/cssom/idlharness.html
62
/LayoutTests/imported/w3c/web-platform-tests/css/cssom/inline-style-001.html
110
/LayoutTests/imported/w3c/web-platform-tests/css/cssom/inline-style-001.html
63
/LayoutTests/imported/w3c/web-platform-tests/css/cssom/insertRule-charset-no-index.html
111
/LayoutTests/imported/w3c/web-platform-tests/css/cssom/insertRule-charset-no-index.html
112
/LayoutTests/imported/w3c/web-platform-tests/css/cssom/insertRule-from-script-expected.html
113
/LayoutTests/imported/w3c/web-platform-tests/css/cssom/insertRule-from-script.html
64
/LayoutTests/imported/w3c/web-platform-tests/css/cssom/insertRule-import-no-index.html
114
/LayoutTests/imported/w3c/web-platform-tests/css/cssom/insertRule-import-no-index.html
65
/LayoutTests/imported/w3c/web-platform-tests/css/cssom/insertRule-namespace-no-index.html
115
/LayoutTests/imported/w3c/web-platform-tests/css/cssom/insertRule-namespace-no-index.html
66
/LayoutTests/imported/w3c/web-platform-tests/css/cssom/insertRule-no-index.html
116
/LayoutTests/imported/w3c/web-platform-tests/css/cssom/insertRule-no-index.html
67
/LayoutTests/imported/w3c/web-platform-tests/css/cssom/insertRule-syntax-error-01.html
117
/LayoutTests/imported/w3c/web-platform-tests/css/cssom/insertRule-syntax-error-01.html
68
/LayoutTests/imported/w3c/web-platform-tests/css/cssom/interfaces.html
69
/LayoutTests/imported/w3c/web-platform-tests/css/cssom/medialist-dynamic-001-expected.html
118
/LayoutTests/imported/w3c/web-platform-tests/css/cssom/medialist-dynamic-001-expected.html
70
/LayoutTests/imported/w3c/web-platform-tests/css/cssom/medialist-dynamic-001.html
119
/LayoutTests/imported/w3c/web-platform-tests/css/cssom/medialist-dynamic-001.html
71
/LayoutTests/imported/w3c/web-platform-tests/css/cssom/medialist-interfaces-001.html
120
/LayoutTests/imported/w3c/web-platform-tests/css/cssom/medialist-interfaces-001.html
Lines 80-91 List of files: a/LayoutTests/imported/w3c/web-platform-tests/css/cssom/w3c-import.log_sec4
80
/LayoutTests/imported/w3c/web-platform-tests/css/cssom/selectorText-modification-restyle-001.html
129
/LayoutTests/imported/w3c/web-platform-tests/css/cssom/selectorText-modification-restyle-001.html
81
/LayoutTests/imported/w3c/web-platform-tests/css/cssom/selectorText-modification-restyle-002.html
130
/LayoutTests/imported/w3c/web-platform-tests/css/cssom/selectorText-modification-restyle-002.html
82
/LayoutTests/imported/w3c/web-platform-tests/css/cssom/serialization-CSSDeclaration-with-important.html
131
/LayoutTests/imported/w3c/web-platform-tests/css/cssom/serialization-CSSDeclaration-with-important.html
132
/LayoutTests/imported/w3c/web-platform-tests/css/cssom/serialize-media-rule.html
83
/LayoutTests/imported/w3c/web-platform-tests/css/cssom/serialize-namespaced-type-selectors.html
133
/LayoutTests/imported/w3c/web-platform-tests/css/cssom/serialize-namespaced-type-selectors.html
84
/LayoutTests/imported/w3c/web-platform-tests/css/cssom/serialize-values.html
134
/LayoutTests/imported/w3c/web-platform-tests/css/cssom/serialize-values.html
85
/LayoutTests/imported/w3c/web-platform-tests/css/cssom/serialize-variable-reference.html
135
/LayoutTests/imported/w3c/web-platform-tests/css/cssom/serialize-variable-reference.html
86
/LayoutTests/imported/w3c/web-platform-tests/css/cssom/setproperty-null-undefined.html
136
/LayoutTests/imported/w3c/web-platform-tests/css/cssom/setproperty-null-undefined.html
87
/LayoutTests/imported/w3c/web-platform-tests/css/cssom/shorthand-serialization.html
137
/LayoutTests/imported/w3c/web-platform-tests/css/cssom/shorthand-serialization.html
88
/LayoutTests/imported/w3c/web-platform-tests/css/cssom/shorthand-values.html
138
/LayoutTests/imported/w3c/web-platform-tests/css/cssom/shorthand-values.html
139
/LayoutTests/imported/w3c/web-platform-tests/css/cssom/style-attr-update-across-documents.html
89
/LayoutTests/imported/w3c/web-platform-tests/css/cssom/style-sheet-interfaces-001.html
140
/LayoutTests/imported/w3c/web-platform-tests/css/cssom/style-sheet-interfaces-001.html
90
/LayoutTests/imported/w3c/web-platform-tests/css/cssom/style-sheet-interfaces-002.html
141
/LayoutTests/imported/w3c/web-platform-tests/css/cssom/style-sheet-interfaces-002.html
91
/LayoutTests/imported/w3c/web-platform-tests/css/cssom/stylesheet-replacedata-dynamic-expected.html
142
/LayoutTests/imported/w3c/web-platform-tests/css/cssom/stylesheet-replacedata-dynamic-expected.html
- a/LayoutTests/imported/w3c/web-platform-tests/css/geometry/DOMMatrix-001-expected.txt -10 / +10 lines
Lines 26-36 PASS new DOMMatrix("scale(2, 2), translateX(5) ,translateY(5)") a/LayoutTests/imported/w3c/web-platform-tests/css/geometry/DOMMatrix-001-expected.txt_sec1
26
PASS new DOMMatrix("translateX(5em)") 
26
PASS new DOMMatrix("translateX(5em)") 
27
PASS new DOMMatrix("translateX(5ex)") 
27
PASS new DOMMatrix("translateX(5ex)") 
28
PASS new DOMMatrix("translateX(5ch)") 
28
PASS new DOMMatrix("translateX(5ch)") 
29
FAIL new DOMMatrix("translateX(5rem)") assert_throws: function "function () { new self[constr](string); }" did not throw
29
FAIL new DOMMatrix("translateX(5rem)") assert_throws_dom: function "function () { new self[constr](string); }" did not throw
30
FAIL new DOMMatrix("translateX(5vw)") assert_throws: function "function () { new self[constr](string); }" did not throw
30
FAIL new DOMMatrix("translateX(5vw)") assert_throws_dom: function "function () { new self[constr](string); }" did not throw
31
FAIL new DOMMatrix("translateX(5vh)") assert_throws: function "function () { new self[constr](string); }" did not throw
31
FAIL new DOMMatrix("translateX(5vh)") assert_throws_dom: function "function () { new self[constr](string); }" did not throw
32
FAIL new DOMMatrix("translateX(5vmin)") assert_throws: function "function () { new self[constr](string); }" did not throw
32
FAIL new DOMMatrix("translateX(5vmin)") assert_throws_dom: function "function () { new self[constr](string); }" did not throw
33
FAIL new DOMMatrix("translateX(5vmax)") assert_throws: function "function () { new self[constr](string); }" did not throw
33
FAIL new DOMMatrix("translateX(5vmax)") assert_throws_dom: function "function () { new self[constr](string); }" did not throw
34
PASS new DOMMatrix("translateX(5%)") 
34
PASS new DOMMatrix("translateX(5%)") 
35
PASS new DOMMatrix("rotate(5)") 
35
PASS new DOMMatrix("rotate(5)") 
36
PASS new DOMMatrix("rotate(5, 5, 5)") 
36
PASS new DOMMatrix("rotate(5, 5, 5)") 
Lines 81-91 PASS new DOMMatrixReadOnly("scale(2, 2), translateX(5) ,translateY(5)") a/LayoutTests/imported/w3c/web-platform-tests/css/geometry/DOMMatrix-001-expected.txt_sec2
81
PASS new DOMMatrixReadOnly("translateX(5em)") 
81
PASS new DOMMatrixReadOnly("translateX(5em)") 
82
PASS new DOMMatrixReadOnly("translateX(5ex)") 
82
PASS new DOMMatrixReadOnly("translateX(5ex)") 
83
PASS new DOMMatrixReadOnly("translateX(5ch)") 
83
PASS new DOMMatrixReadOnly("translateX(5ch)") 
84
FAIL new DOMMatrixReadOnly("translateX(5rem)") assert_throws: function "function () { new self[constr](string); }" did not throw
84
FAIL new DOMMatrixReadOnly("translateX(5rem)") assert_throws_dom: function "function () { new self[constr](string); }" did not throw
85
FAIL new DOMMatrixReadOnly("translateX(5vw)") assert_throws: function "function () { new self[constr](string); }" did not throw
85
FAIL new DOMMatrixReadOnly("translateX(5vw)") assert_throws_dom: function "function () { new self[constr](string); }" did not throw
86
FAIL new DOMMatrixReadOnly("translateX(5vh)") assert_throws: function "function () { new self[constr](string); }" did not throw
86
FAIL new DOMMatrixReadOnly("translateX(5vh)") assert_throws_dom: function "function () { new self[constr](string); }" did not throw
87
FAIL new DOMMatrixReadOnly("translateX(5vmin)") assert_throws: function "function () { new self[constr](string); }" did not throw
87
FAIL new DOMMatrixReadOnly("translateX(5vmin)") assert_throws_dom: function "function () { new self[constr](string); }" did not throw
88
FAIL new DOMMatrixReadOnly("translateX(5vmax)") assert_throws: function "function () { new self[constr](string); }" did not throw
88
FAIL new DOMMatrixReadOnly("translateX(5vmax)") assert_throws_dom: function "function () { new self[constr](string); }" did not throw
89
PASS new DOMMatrixReadOnly("translateX(5%)") 
89
PASS new DOMMatrixReadOnly("translateX(5%)") 
90
PASS new DOMMatrixReadOnly("rotate(5)") 
90
PASS new DOMMatrixReadOnly("rotate(5)") 
91
PASS new DOMMatrixReadOnly("rotate(5, 5, 5)") 
91
PASS new DOMMatrixReadOnly("rotate(5, 5, 5)") 
- a/LayoutTests/imported/w3c/web-platform-tests/css/geometry/DOMMatrix-001.html -13 / +16 lines
Lines 96-111 a/LayoutTests/imported/w3c/web-platform-tests/css/geometry/DOMMatrix-001.html_sec1
96
                }, `new ${constr}(sequence) ${sequence.length} elements`);
96
                }, `new ${constr}(sequence) ${sequence.length} elements`);
97
            });
97
            });
98
98
99
            ['scale(2) translateX(5px) translateY(5px)',
99
            {
100
             'scale(2, 2) translateX(5px) translateY(5px)',
100
                const epsilon = 0.0000000005;
101
             'scale(2)translateX(5px)translateY(5px)',
101
                ['scale(2) translateX(5px) translateY(5px)',
102
             'scale(2) translateX(calc(2 * 2.5px)) translateY(5px)',
102
                 'scale(2, 2) translateX(5px) translateY(5px)',
103
             'scale(2) translateX(5px) translateY(5px) rotate(5deg) rotate(-5deg)',
103
                 'scale(2)translateX(5px)translateY(5px)',
104
            ].forEach(function(string) {
104
                 'scale(2) translateX(calc(2 * 2.5px)) translateY(5px)',
105
                test(function() {
105
                 'scale(2) translateX(5px) translateY(5px) rotate(5deg) rotate(-5deg)',
106
                    checkDOMMatrix(new self[constr](string), scaleTranslate2D);
106
                ].forEach(function(string) {
107
                }, `new ${constr}(${format_value(string)})`);
107
                    test(function() {
108
            });
108
                        checkMatrix(new self[constr](string), scaleTranslate2D, { epsilon });
109
                    }, `new ${constr}(${format_value(string)})`);
110
                });
111
            }
109
112
110
            ['translateX    (5px)',
113
            ['translateX    (5px)',
111
             'scale(2 2) translateX(5) translateY(5)',
114
             'scale(2 2) translateX(5) translateY(5)',
Lines 136-142 a/LayoutTests/imported/w3c/web-platform-tests/css/geometry/DOMMatrix-001.html_sec2
136
             'unset',
139
             'unset',
137
            ].forEach(function(string) {
140
            ].forEach(function(string) {
138
                test(function() {
141
                test(function() {
139
                    assert_throws('SyntaxError', function() { new self[constr](string); });
142
                    assert_throws_dom('SyntaxError', function() { new self[constr](string); });
140
                }, `new ${constr}(${format_value(string)})`);
143
                }, `new ${constr}(${format_value(string)})`);
141
            });
144
            });
142
145
Lines 175-181 a/LayoutTests/imported/w3c/web-platform-tests/css/geometry/DOMMatrix-001.html_sec3
175
            ['scale(2, 2), translateX(5px) translateY(5px)',
178
            ['scale(2, 2), translateX(5px) translateY(5px)',
176
            ].forEach(function(string) {
179
            ].forEach(function(string) {
177
                test(function() {
180
                test(function() {
178
                    assert_throws("SyntaxError", function() { new self[constr](string); });
181
                    assert_throws_dom("SyntaxError", function() { new self[constr](string); });
179
                }, `new ${constr}(${format_value(string)})`);
182
                }, `new ${constr}(${format_value(string)})`);
180
            });
183
            });
181
184
Lines 192-198 a/LayoutTests/imported/w3c/web-platform-tests/css/geometry/DOMMatrix-001.html_sec4
192
                [], // 0 elements
195
                [], // 0 elements
193
            ].forEach(function(sequence) {
196
            ].forEach(function(sequence) {
194
                test(function() {
197
                test(function() {
195
                    assert_throws(new TypeError(), function() { new self[constr](sequence); });
198
                    assert_throws_js(TypeError, function() { new self[constr](sequence); });
196
                }, `new ${constr}(sequence) ${sequence.length} elements`);
199
                }, `new ${constr}(sequence) ${sequence.length} elements`);
197
            });
200
            });
198
        });
201
        });
- a/LayoutTests/imported/w3c/web-platform-tests/css/geometry/DOMMatrix-002-expected.txt +1 lines
Lines 3-8 Test DOMMatrixReadOnly methods do not mutate the object a/LayoutTests/imported/w3c/web-platform-tests/css/geometry/DOMMatrix-002-expected.txt_sec1
3
3
4
PASS test translate() doesn't mutate 
4
PASS test translate() doesn't mutate 
5
PASS test scale() doesn't mutate 
5
PASS test scale() doesn't mutate 
6
FAIL test scaleNonUniform() doesn't mutate matrix.scaleNonUniform is not a function. (In 'matrix.scaleNonUniform(1,5)', 'matrix.scaleNonUniform' is undefined)
6
PASS test scale3d() doesn't mutate 
7
PASS test scale3d() doesn't mutate 
7
PASS test rotate() doesn't mutate 
8
PASS test rotate() doesn't mutate 
8
PASS test rotateFromVector() doesn't mutate 
9
PASS test rotateFromVector() doesn't mutate 
- a/LayoutTests/imported/w3c/web-platform-tests/css/geometry/DOMMatrix-002.html -1 / +7 lines
Lines 3-9 a/LayoutTests/imported/w3c/web-platform-tests/css/geometry/DOMMatrix-002.html_sec1
3
<head>
3
<head>
4
    <title>Geometry Interfaces: DOMMatrixReadOnly methods do not mutate the object</title>
4
    <title>Geometry Interfaces: DOMMatrixReadOnly methods do not mutate the object</title>
5
    <link href="mailto:peter.hall@algomi.com" rel="author" title="Peter Hall">
5
    <link href="mailto:peter.hall@algomi.com" rel="author" title="Peter Hall">
6
    <link rel="help" href="https://drafts.fxtf.org/geometry-1/#dom-dommatrixreadonly">
6
    <link rel="help" href="https://drafts.fxtf.org/geometry-1/#DOMMatrix">
7
    <script src="support/dommatrix-test-util.js"></script>
7
    <script src="support/dommatrix-test-util.js"></script>
8
    <script src="/resources/testharness.js"></script>
8
    <script src="/resources/testharness.js"></script>
9
    <script src="/resources/testharnessreport.js"></script>
9
    <script src="/resources/testharnessreport.js"></script>
Lines 37-42 a/LayoutTests/imported/w3c/web-platform-tests/css/geometry/DOMMatrix-002.html_sec2
37
          checkDOMMatrix(matrix, initialMatrix());
37
          checkDOMMatrix(matrix, initialMatrix());
38
        },"test scale() doesn't mutate");
38
        },"test scale() doesn't mutate");
39
39
40
        test(function() {
41
          var matrix = initialMatrix();
42
          matrix.scaleNonUniform(1,5);
43
          checkDOMMatrix(matrix, initialMatrix());
44
        },"test scaleNonUniform() doesn't mutate");
45
40
        test(function() {
46
        test(function() {
41
          var matrix = initialMatrix();
47
          var matrix = initialMatrix();
42
          matrix.scale3d(3,2,1,1);
48
          matrix.scale3d(3,2,1,1);
- a/LayoutTests/imported/w3c/web-platform-tests/css/geometry/DOMMatrix-003-expected.txt +8 lines
Lines 4-13 Test DOMMatrix non-mutating methods a/LayoutTests/imported/w3c/web-platform-tests/css/geometry/DOMMatrix-003-expected.txt_sec1
4
PASS test translate() 
4
PASS test translate() 
5
PASS test scale() without offsets 
5
PASS test scale() without offsets 
6
PASS test scale() with offsets 
6
PASS test scale() with offsets 
7
PASS test scale() with identity scale and nonzero originZ 
8
FAIL test scaleNonUniform() initialDOMMatrix().scaleNonUniform is not a function. (In 'initialDOMMatrix().scaleNonUniform()', 'initialDOMMatrix().scaleNonUniform' is undefined)
9
FAIL test scaleNonUniform() with sx initialDOMMatrix().scaleNonUniform is not a function. (In 'initialDOMMatrix().scaleNonUniform(6)', 'initialDOMMatrix().scaleNonUniform' is undefined)
10
FAIL test scaleNonUniform() with sx, sy initialDOMMatrix().scaleNonUniform is not a function. (In 'initialDOMMatrix().scaleNonUniform(5, 7)', 'initialDOMMatrix().scaleNonUniform' is undefined)
7
PASS test scale3d() 
11
PASS test scale3d() 
8
PASS test rotate() 2d 
12
PASS test rotate() 2d 
9
PASS test rotate() 
13
PASS test rotate() 
14
PASS test rotate() order 
10
PASS test rotateFromVector() 
15
PASS test rotateFromVector() 
16
PASS test rotateFromVector() with x being zero 
17
PASS test rotateFromVector() with y being zero 
18
PASS test rotateFromVector() with two zeros 
11
PASS test rotateAxisAngle()  
19
PASS test rotateAxisAngle()  
12
PASS test skewX() 
20
PASS test skewX() 
13
PASS test skewY() 
21
PASS test skewY() 
- a/LayoutTests/imported/w3c/web-platform-tests/css/geometry/DOMMatrix-003.html -2 / +57 lines
Lines 3-9 a/LayoutTests/imported/w3c/web-platform-tests/css/geometry/DOMMatrix-003.html_sec1
3
<head>
3
<head>
4
    <title>Geometry Interfaces: Test DOMMatrix non-mutating methods</title>
4
    <title>Geometry Interfaces: Test DOMMatrix non-mutating methods</title>
5
    <link href="mailto:peter.hall@algomi.com" rel="author" title="Peter Hall">
5
    <link href="mailto:peter.hall@algomi.com" rel="author" title="Peter Hall">
6
    <link rel="help" href="https://drafts.fxtf.org/geometry-1/#dom-dommatrixreadonly">
6
    <link rel="help" href="https://drafts.fxtf.org/geometry-1/#DOMMatrix">
7
    <script src="/resources/testharness.js"></script>
7
    <script src="/resources/testharness.js"></script>
8
    <script src="/resources/testharnessreport.js"></script>
8
    <script src="/resources/testharnessreport.js"></script>
9
</head>
9
</head>
Lines 57-63 a/LayoutTests/imported/w3c/web-platform-tests/css/geometry/DOMMatrix-003.html_sec2
57
          }
57
          }
58
58
59
          // The 3D rotation matrix is described in CSS Transforms with alpha.
59
          // The 3D rotation matrix is described in CSS Transforms with alpha.
60
          // Please see: https://drafts.csswg.org/css-transforms-1/#Rotate3dDefined
60
          // Please see: https://drafts.csswg.org/css-transforms-2/#Rotate3dDefined
61
          var alpha_in_radians = deg2rad(alpha_in_degrees / 2);
61
          var alpha_in_radians = deg2rad(alpha_in_degrees / 2);
62
          var sc = Math.sin(alpha_in_radians) * Math.cos(alpha_in_radians);
62
          var sc = Math.sin(alpha_in_radians) * Math.cos(alpha_in_radians);
63
          var sq = Math.sin(alpha_in_radians) * Math.sin(alpha_in_radians);
63
          var sq = Math.sin(alpha_in_radians) * Math.sin(alpha_in_radians);
Lines 139-144 a/LayoutTests/imported/w3c/web-platform-tests/css/geometry/DOMMatrix-003.html_sec3
139
          checkDOMMatrix(result, expected);
139
          checkDOMMatrix(result, expected);
140
        },"test scale() with offsets");
140
        },"test scale() with offsets");
141
141
142
        test(function() {
143
          var result = new DOMMatrixReadOnly([1, 2, 3, 4, 5, 6])
144
                          .scale(1, 1, 1, 1, 1, 1);
145
          var expected = new DOMMatrixReadOnly([1, 2, 0, 0, 3, 4, 0, 0, 0, 0, 1, 0, 5, 6, 0, 1]);
146
          checkDOMMatrix(result, expected);
147
        },"test scale() with identity scale and nonzero originZ");
148
149
        test(function() {
150
          var result = initialDOMMatrix().scaleNonUniform();
151
          var expected = initialDOMMatrix()
152
                          .scale(1, 1, 1, 0, 0, 0);
153
          checkDOMMatrix(result, expected);
154
        },"test scaleNonUniform()");
155
156
        test(function() {
157
          var result = initialDOMMatrix().scaleNonUniform(6);
158
          var expected = initialDOMMatrix()
159
                          .scale(6, 1, 1, 0, 0, 0);
160
          checkDOMMatrix(result, expected);
161
        },"test scaleNonUniform() with sx");
162
163
        test(function() {
164
          var result = initialDOMMatrix().scaleNonUniform(5, 7);
165
          var expected = initialDOMMatrix()
166
                          .scale(5, 7, 1, 0, 0, 0);
167
          checkDOMMatrix(result, expected);
168
        },"test scaleNonUniform() with sx, sy");
169
142
        test(function() {
170
        test(function() {
143
          var result = initialDOMMatrix().scale3d(7, 5, 2, 3);
171
          var result = initialDOMMatrix().scale3d(7, 5, 2, 3);
144
          var expected = initialDOMMatrix()
172
          var expected = initialDOMMatrix()
Lines 160-171 a/LayoutTests/imported/w3c/web-platform-tests/css/geometry/DOMMatrix-003.html_sec4
160
          checkDOMMatrix(result, expected);
188
          checkDOMMatrix(result, expected);
161
        },"test rotate()");
189
        },"test rotate()");
162
190
191
        test(function() {
192
          var result = initialDOMMatrix().rotate(90, 90, 90);
193
          var expected = initialDOMMatrix()
194
                          .rotate(0, 0, 90)
195
                          .rotate(0, 90, 0)
196
                          .rotate(90, 0, 0);
197
          checkDOMMatrix(result, expected);
198
        },"test rotate() order");
199
163
        test(function() {
200
        test(function() {
164
          var result = initialDOMMatrix().rotateFromVector(1, 1);
201
          var result = initialDOMMatrix().rotateFromVector(1, 1);
165
          var expected = initialDOMMatrix().rotate(45);
202
          var expected = initialDOMMatrix().rotate(45);
166
          checkDOMMatrix(result, expected);
203
          checkDOMMatrix(result, expected);
167
        },"test rotateFromVector()");
204
        },"test rotateFromVector()");
168
205
206
        test(function() {
207
          var result = initialDOMMatrix().rotateFromVector(0, 1);
208
          var expected = initialDOMMatrix().rotate(90);
209
          checkDOMMatrix(result, expected);
210
        },"test rotateFromVector() with x being zero");
211
212
        test(function() {
213
          var result = initialDOMMatrix().rotateFromVector(1, 0);
214
          var expected = initialDOMMatrix()
215
          checkDOMMatrix(result, expected);
216
        },"test rotateFromVector() with y being zero");
217
218
        test(function() {
219
          var result = initialDOMMatrix().rotateFromVector(0, 0);
220
          var expected = initialDOMMatrix()
221
          checkDOMMatrix(result, expected);
222
        },"test rotateFromVector() with two zeros");
223
169
        test(function() {
224
        test(function() {
170
          var result = initialDOMMatrix().rotateAxisAngle(3, 3, 3, 120);
225
          var result = initialDOMMatrix().rotateAxisAngle(3, 3, 3, 120);
171
          var expected = initialDOMMatrix().multiply(getRotationMatrix(3, 3, 3, 120));
226
          var expected = initialDOMMatrix().multiply(getRotationMatrix(3, 3, 3, 120));
- a/LayoutTests/imported/w3c/web-platform-tests/css/geometry/DOMMatrix-attributes-expected.txt +24 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/geometry/DOMMatrix-attributes-expected.txt_sec1
1
2
PASS DOMMatrix.a 
3
PASS DOMMatrix.b 
4
PASS DOMMatrix.c 
5
PASS DOMMatrix.d 
6
PASS DOMMatrix.e 
7
PASS DOMMatrix.f 
8
PASS DOMMatrix.m11 
9
PASS DOMMatrix.m12 
10
PASS DOMMatrix.m21 
11
PASS DOMMatrix.m22 
12
PASS DOMMatrix.m41 
13
PASS DOMMatrix.m42 
14
PASS DOMMatrix.m13 
15
PASS DOMMatrix.m14 
16
PASS DOMMatrix.m23 
17
PASS DOMMatrix.m24 
18
PASS DOMMatrix.m31 
19
PASS DOMMatrix.m32 
20
PASS DOMMatrix.m34 
21
PASS DOMMatrix.m43 
22
PASS DOMMatrix.m33 
23
PASS DOMMatrix.m44 
24
- a/LayoutTests/imported/w3c/web-platform-tests/css/geometry/DOMMatrix-attributes.html +66 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/geometry/DOMMatrix-attributes.html_sec1
1
<!DOCTYPE html>
2
<title>Geometry Interfaces: DOMMatrix attributes</title>
3
<link rel="help" href="https://drafts.fxtf.org/geometry/#dommatrix-attributes">
4
<script src="/resources/testharness.js"></script>
5
<script src="/resources/testharnessreport.js"></script>
6
<script>
7
const initial = {
8
    a: 1, b: 0, c: 0, d: 1, e: 0, f: 0,
9
    m11: 1, m12: 0, m13: 0, m14: 0,
10
    m21: 0, m22: 1, m23: 0, m24: 0,
11
    m31: 0, m32: 0, m33: 1, m34: 0,
12
    m41: 0, m42: 0, m43: 0, m44: 1,
13
};
14
15
// Attributes that always preserve is2D.
16
["a", "b", "c", "d", "e", "f",
17
 "m11", "m12", "m21", "m22", "m41", "m42" ].forEach(attribute => {
18
    test(() => {
19
        let m = new DOMMatrix();
20
        assert_true(m.is2D);
21
        assert_equals(m[attribute], initial[attribute]);
22
        m[attribute] = 42;
23
        assert_true(m.is2D);
24
        assert_equals(m[attribute], 42);
25
    }, `DOMMatrix.${attribute}`);
26
});
27
28
// Attributes that clear is2D for values other than 0 or -0.
29
["m13", "m14", "m23", "m24", "m31", "m32", "m34", "m43" ].forEach(attribute => {
30
    test(() => {
31
        let m = new DOMMatrix();
32
        assert_true(m.is2D);
33
        assert_equals(m[attribute], initial[attribute]);
34
        m[attribute] = 0;
35
        assert_true(m.is2D, "0 preserves is2D");
36
        assert_equals(m[attribute], 0);
37
        m[attribute] = -0;
38
        assert_true(m.is2D, "-0 preserves is2D");
39
        assert_equals(m[attribute], -0);
40
        m[attribute] = 42;
41
        assert_false(m.is2D, "a value other than 0 or -0 clears is2D");
42
        assert_equals(m[attribute], 42);
43
        m[attribute] = 0;
44
        assert_false(m.is2D, "is2D can never be set to true after having been set to false");
45
        assert_equals(m[attribute], 0);
46
    }, `DOMMatrix.${attribute}`);
47
});
48
49
// Attributes that clear is2D for values other than 1.
50
["m33", "m44" ].forEach(attribute => {
51
    test(() => {
52
        let m = new DOMMatrix();
53
        assert_true(m.is2D);
54
        assert_equals(m[attribute], initial[attribute]);
55
        m[attribute] = 1;
56
        assert_true(m.is2D, "1 preserves is2D");
57
        assert_equals(m[attribute], 1);
58
        m[attribute] = 42;
59
        assert_false(m.is2D, "a value other than 1 clears is2D");
60
        assert_equals(m[attribute], 42);
61
        m[attribute] = 1;
62
        assert_false(m.is2D, "is2D can never be set to true after having been set to false");
63
        assert_equals(m[attribute], 1);
64
    }, `DOMMatrix.${attribute}`);
65
});
66
</script>
- a/LayoutTests/imported/w3c/web-platform-tests/css/geometry/DOMMatrix-css-string.worker.js -2 / +2 lines
Lines 5-16 importScripts("/resources/testharness.js"); a/LayoutTests/imported/w3c/web-platform-tests/css/geometry/DOMMatrix-css-string.worker.js_sec1
5
['DOMMatrix', 'DOMMatrixReadOnly'].forEach(constr => {
5
['DOMMatrix', 'DOMMatrixReadOnly'].forEach(constr => {
6
  test(() => {
6
  test(() => {
7
    assert_true(constr in self, `${constr} should exist`);
7
    assert_true(constr in self, `${constr} should exist`);
8
    assert_throws(new TypeError(), () => new self[constr]('matrix(1,0,0,1,0,0)') );
8
    assert_throws_js(TypeError, () => new self[constr]('matrix(1,0,0,1,0,0)') );
9
  }, `${constr} constructor with string argument in worker`);
9
  }, `${constr} constructor with string argument in worker`);
10
10
11
  test(() => {
11
  test(() => {
12
    assert_true(constr in self, `${constr} should exist`);
12
    assert_true(constr in self, `${constr} should exist`);
13
    assert_throws(new TypeError(), () => new self[constr]('') );
13
    assert_throws_js(TypeError, () => new self[constr]('') );
14
  }, `${constr} constructor with empty string argument in worker`);
14
  }, `${constr} constructor with empty string argument in worker`);
15
15
16
  test(() => {
16
  test(() => {
- a/LayoutTests/imported/w3c/web-platform-tests/css/geometry/DOMMatrix-stringifier.html -2 / +2 lines
Lines 22-33 a/LayoutTests/imported/w3c/web-platform-tests/css/geometry/DOMMatrix-stringifier.html_sec1
22
  [NaN, Infinity, -Infinity].forEach(num => {
22
  [NaN, Infinity, -Infinity].forEach(num => {
23
    test(() => {
23
    test(() => {
24
      const matrix = new self[constr]([1, 0, 0, 1, 0, num]);
24
      const matrix = new self[constr]([1, 0, 0, 1, 0, num]);
25
      assert_throws("InvalidStateError", () => String(matrix));
25
      assert_throws_dom("InvalidStateError", () => String(matrix));
26
    }, `${prefix} ${num} (2d)`);
26
    }, `${prefix} ${num} (2d)`);
27
27
28
    test(() => {
28
    test(() => {
29
      const matrix = new self[constr]([1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, num, 0, 1]);
29
      const matrix = new self[constr]([1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, num, 0, 1]);
30
      assert_throws("InvalidStateError", () => String(matrix));
30
      assert_throws_dom("InvalidStateError", () => String(matrix));
31
    }, `${prefix} ${num} (3d)`);
31
    }, `${prefix} ${num} (3d)`);
32
  });
32
  });
33
33
- a/LayoutTests/imported/w3c/web-platform-tests/css/geometry/DOMMatrix2DInit-validate-fixup-expected.txt +186 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/geometry/DOMMatrix2DInit-validate-fixup-expected.txt_sec1
1
2
PASS setTransform({a: 1, m11: 2}) (invalid) 
3
PASS addPath({a: 1, m11: 2}) (invalid) 
4
PASS setTransform({b: 0, m12: -1}) (invalid) 
5
PASS addPath({b: 0, m12: -1}) (invalid) 
6
PASS setTransform({c: Infinity, m21: -Infinity}) (invalid) 
7
PASS addPath({c: Infinity, m21: -Infinity}) (invalid) 
8
PASS setTransform({d: 0, m22: NaN}) (invalid) 
9
PASS addPath({d: 0, m22: NaN}) (invalid) 
10
PASS setTransform({e: 1, m41: 1.00000001}) (invalid) 
11
PASS addPath({e: 1, m41: 1.00000001}) (invalid) 
12
PASS setTransform({f: 0, m42: 5e-324}) (invalid) 
13
PASS addPath({f: 0, m42: 5e-324}) (invalid) 
14
PASS setTransform (Sanity check without dictionary) 
15
PASS addPath (Sanity check without second parameter) 
16
PASS setTransform({m13: 1, is2D: true}) 
17
PASS addPath({m13: 1, is2D: true}) 
18
PASS setTransform({m14: 1, is2D: true}) 
19
PASS addPath({m14: 1, is2D: true}) 
20
PASS setTransform({m23: 1, is2D: true}) 
21
PASS addPath({m23: 1, is2D: true}) 
22
PASS setTransform({m24: 1, is2D: true}) 
23
PASS addPath({m24: 1, is2D: true}) 
24
PASS setTransform({m31: 1, is2D: true}) 
25
PASS addPath({m31: 1, is2D: true}) 
26
PASS setTransform({m32: 1, is2D: true}) 
27
PASS addPath({m32: 1, is2D: true}) 
28
PASS setTransform({m33: 0, is2D: true}) 
29
PASS addPath({m33: 0, is2D: true}) 
30
PASS setTransform({m33: -0, is2D: true}) 
31
PASS addPath({m33: -0, is2D: true}) 
32
PASS setTransform({m33: -1, is2D: true}) 
33
PASS addPath({m33: -1, is2D: true}) 
34
PASS setTransform({m34: 1, is2D: true}) 
35
PASS addPath({m34: 1, is2D: true}) 
36
PASS setTransform({m43: 1, is2D: true}) 
37
PASS addPath({m43: 1, is2D: true}) 
38
PASS setTransform({m44: 0, is2D: true}) 
39
PASS addPath({m44: 0, is2D: true}) 
40
PASS setTransform({}) 
41
PASS addPath({}) 
42
PASS setTransform({is2D: undefined}) 
43
PASS addPath({is2D: undefined}) 
44
PASS setTransform({a: 1, m11: 1}) 
45
PASS addPath({a: 1, m11: 1}) 
46
PASS setTransform({b: 0, m12: undefined}) 
47
PASS addPath({b: 0, m12: undefined}) 
48
PASS setTransform({c: 0, m21: 0}) 
49
PASS addPath({c: 0, m21: 0}) 
50
FAIL setTransform({c: 0, m21: -0}) assert_equals: m21 expected -0 but got 0
51
PASS addPath({c: 0, m21: -0}) 
52
PASS setTransform({c: -0, m21: 0}) 
53
PASS addPath({c: -0, m21: 0}) 
54
FAIL setTransform({c: -0, m21: -0}) assert_equals: m21 expected -0 but got 0
55
PASS addPath({c: -0, m21: -0}) 
56
PASS setTransform({d: Infinity, m22: Infinity}) 
57
PASS addPath({d: Infinity, m22: Infinity}) 
58
PASS setTransform({e: -Infinity, m41: -Infinity}) 
59
PASS addPath({e: -Infinity, m41: -Infinity}) 
60
PASS setTransform({f: NaN, m42: NaN}) 
61
PASS addPath({f: NaN, m42: NaN}) 
62
PASS setTransform({f: NaN, m42: NaN, is2D: true}) 
63
PASS addPath({f: NaN, m42: NaN, is2D: true}) 
64
PASS setTransform({f: 0, m42: null}) 
65
PASS addPath({f: 0, m42: null}) 
66
PASS setTransform({f: -0, m42: null}) 
67
PASS addPath({f: -0, m42: null}) 
68
PASS setTransform({a: 2}) 
69
PASS addPath({a: 2}) 
70
PASS setTransform({b: 2}) 
71
FAIL addPath({b: 2}) assert_equals: expected "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAASwAAACWCAYAAABkW7XSAAAAAXNSR0IArs4c6QAABbZJREFUeAHt1utuEzEQgNECz8hLwvvwOJSOQqQ2ymW9idcz9uEP6iW7M8dW9b29+UeAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAhkF/iZfUDzESBQU+B7h7H9weqA6pEECPQReP94rD9afWw9lcDSAj0KK0D9wVr6WlmeQB2BKCyVVee8TEqgjECvwgoAlVXmGhiUwLoC58JSWeveAZsT6CLQs7BiYJXV5dg8lACBVwl8LiyV9SpVzyFA4K13YQWxynLRCBBIK3BZWCor7VEZjEAtgSMKK0RUVq17YVoCywhcKyyVtczxW5RAP4GjCis2UFn9ztGTCRDYKXCrsFTWTlAfI0DgJHBkYcUbVZabR4BAKoF7haWyUh2VYQjUEji6sEJHZdW6I6YlMLXAo8JSWVMfv+UI9BMYUVixjcrqd6aeTIBAg8CWwlJZDaB+lQCBk8Cowoq3qyy3kACB4QJbC0tlDT8qAxCoJTCysEJKZdW6L6YlMJ1AS2GprOmO30IE+gmMLqzYTGX1O19PJkDggUBrYamsB6B+TIDASSBDYcUkKsuNJEBgiMCewlJZQ47KSwnUEshSWKGmsmrdHdMSmELg18cWKmuKo7QEgVwCPQrr9xMrqqwn8HyUAIF9Aiprn5tPESBwR6BHYcXrVNYddD8iQCCfgMrKdyYmIlBaoFdhBYrKKn01DE9gPQGVtd6Z25hAN4GehRVDq6xuR+fBBAj0EFBZPVQ9k8CCAr0LK0hV1oIXy8oEKguorMqnZ3YCSQSOKKxYVWUlOXBjECCwTUBlbXPyWwQI3BA4qrDi9SrrxiH4NgECOQVUVs5zMRWBEgJHFlaAqKwS18KQBAicBVTWWcL/BAg0CRxdWDGcymo6Ir9MgMBoAZU1+gS8n0BBgRGFFUwqq+BlMTKBlQVU1sqnb3cCOwRGFVaMqrJ2HJiPECAwTkBljbP3ZgLlBEYWVmCprHJXxsAE1hZQWWufv+0JbBYYXVgxqMrafFx+kQCBDAIqK8MpmIFAcoEMhRVEKiv5RTEeAQJfBVTWVw9fESBwIZClsGIslXVxOL4kQCC3wN7K+pt7LdMRIPAKgUyFFfvsraxvr8DwDAIECLQK7K2s1vf4fQIEiglkK6zg21tZxeiNS4DALAJ7KmuW3e1BgMANgYyFFaOqrBsH5tsECOQUaK2snFuYigCBlwlkLaxYUGW97Jg9iACBIwRaKuuIebyDAIGBApkLK1hU1sDL4dUECLQLbK2s9if7BAECpQSyF1ZgqqxSV8qwBAhsqSxKBAhMLlChsOIIVNbkF9F6BGYTeFRZs+1rHwIELgSqFFaMrbIuDs+XBAjkFrhXWbknNx0BAk8LVCqsWFZlPX3kHkCAwJECtyrryBm8iwCBAQLVCiuIVNaAi+KVBAjsF7hWWfuf5pMECJQQqFhYAauySlwvQxIgcBa4rKzz9/1PgMCkAlULK45DZU16Ka1FYFaBz5U16472IkDgv0DlwooVVJarTIBAKYFzZZUa2rAECLQLVC+s2Dgq6719dZ8gQIDAGIGoLP8IEJhc4MdE+/2ZaBerECBwReAfzbLf0y0P4FYAAAAASUVORK5CYII=" but got "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAASwAAACWCAYAAABkW7XSAAAAAXNSR0IArs4c6QAABUJJREFUeAHt1kuOG1EIBdBI2Rg7z1aSlSR4YMmy/KkiUoOb40n3BAGnntD98cOPAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQmC4Q0wc0HwECBK4Cv67/+EuAAIHpAn9zwJg+pPkIECBwEbgcLCnLWyBA4CMELgdLyvqIT2VIAgSuB0vK8hYIEBgvcD1YUtb4T2VAAgRuD5aU5T0QIDBa4PZgSVmjP5XhCBC4P1hSljdBgMBYgfuDJWWN/VQGI0Dg0cGSsrwLAgRGCjw6WFLWyE9lKAIEnh0sKcvbIEBgnMCzgyVljftUBiJA4NXBkrK8DwIERgm8OlhS1qhPZRgCBN4dLCnLGyFAYIzAu4MlZY35VAYhQODIwZKyvBMCBEYIHDlYUtaIT2UIAgSOHiwpy1shQKBd4OjBkrLaP5UBCBA4c7CkLO+FAIFWgTMHS8pq/VSaEyBw9mBJWd4MAQJtAmcPlpTV9qk0JkCgcrCkLO+GAIEWgcrBkrJaPpWmBAhUD5aU5e0QIPDlApfDUz1a8eXTakiAwGqByO2rB0vKWv10LE+gR0DK6nHXlQCBgkBkjZRVgFNCgECPgJTV464rAQIFgcgaKasAp4QAgR4BKavHXVcCBAoCkTVSVgFOCQECPQJSVo+7rgQIFAQia6SsApwSAgR6BKSsHnddCRAoCETWSFkFOCUECPQISFk97roSIFAQiKyRsgpwSggQ6BGQsnrcdSVAoCAQWSNlFeCUECDQIyBl9bjrSoBAQSCyRsoqwCkhQKBHQMrqcdeVAIGCQGSNlFWAU0KAQI+AlNXjrisBAgWByBopqwCnhACBHgEpq8ddVwIECgKRNVJWAU4JAQI9AlJWj7uuBAgUBCJrpKwCnBICBHoEpKwed10JECgIRNZIWQU4JQQI9AhIWT3uuhIgUBCIrJGyCnBKCBDoEfiflNUzsa4ECKwViNy8mrLWolmcAIE+gWrK6ptYZwIE1gpEbl5JWWvBLE6AQK9AJWX1Tqw7AQJrBSI3P5uy1mJZnACBfoGzKat/YhMQILBWIHLzMylrLZTFCRCYIXAmZc2Y2BQECKwViNz8aMpai2RxAgTmCBxNWXMmNgkBAmsFIjc/krLWAlmcAIFZAkdS1qyJTUOAwFqByM3fpay1OBYnQGCewLuUNW9iExEgsFYgcvNXKWstjMUJEJgp8CplzZzYVAQIrBWI3PxZylqLYnECBOYKPEtZcyc2GQECawUiN3+UstaCWJwAgdkCj1LW7IlNR4DAWoHIze9T1loMixMgMF/gPmXNn9iEBAisFYjc/DZlrYWwOAECnyFwm7I+Y2JTEiCwViBy82vKWotgcQIEPkfgmrI+Z2KTEiCwViBy80vK8iNAgMBHCFxSlh8BAt9c4Oc32e9P7vH7m+xiDQIEngj8A75fgi48cJAVAAAAAElFTkSuQmCC"
72
PASS setTransform({c: 2}) 
73
FAIL addPath({c: 2}) assert_equals: expected "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAASwAAACWCAYAAABkW7XSAAAAAXNSR0IArs4c6QAAA5RJREFUeAHt1EEKg1AMQEEv2Ut6SO0PtHTtxvJkBKGbYpiEt20eAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECDwE3itn/t6zxvf4/PN+baHAAEClwX+Ea6J5MRSuC6vyx8IEBgB4XIHBAjkBIQrtzIDEyAgXG6AAIGcgHDlVmZgAgSEyw0QIJATEK7cygxMgIBwuQECBHICwpVbmYEJEBAuN0CAQE5AuHIrMzABAsLlBggQyAkIV25lBiZAQLjcAAECOQHhyq3MwAQICJcbIEAgJyBcuZUZmAAB4XIDBAjkBIQrtzIDEyAgXG6AAIGcgHDlVmZgAgSEyw0QIJATEK7cygxMgIBwuQECBHICwpVbmYEJEBAuN0CAQE5AuHIrMzABAsLlBggQyAl8w3Wsyc8b3319a77tIUCAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIEDggQJvT+eAqPH0HaQAAAAASUVORK5CYII=" but got "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAASwAAACWCAYAAABkW7XSAAAAAXNSR0IArs4c6QAAA9xJREFUeAHt1DEKQlEQA0CPlpt7NI2VnZDGbebDg9+EwCzk8fARIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAIGvQPr77Hv9+X060+cjQIDALJAmDNfMJkCAwKVAWm64Li+gmwCBWSBNGK6ZTYAAgUuBtNxwXV5ANwECs0CaMFwzmwABApcCabnhuryAbgIEZoE0YbhmNgECBC4F0nLDdXkB3QQIzAJpwnDNbAIECFwKpOWG6/ICugkQmAXShOGa2QQIELgUSMsN1+UFdBMgMAukCcM1swkQIHApkJYbrssL6CZAYBZIE4ZrZhMgQOBSIC03XJcX0E2AwCyQJgzXzCZAgMClQFpuuC4voJsAgVkgTRiumU2AAIFLgbTccF1eQDcBArNAmjBcM5sAAQKXAmm54bq8gG4CBGaBNGG4ZjYBAgQuBdJyw3V5Ad0ECMwCacJwzWwCBAhcCqTlhuvyAroJEJgF0oThmtkECBC4FEjLDdflBXQTIDALpAnDNbMJECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECDwS+ANiI6Aqlxbg1QAAAAASUVORK5CYII="
74
PASS setTransform({d: 2}) 
75
PASS addPath({d: 2}) 
76
PASS setTransform({e: 2}) 
77
PASS addPath({e: 2}) 
78
PASS setTransform({f: 2}) 
79
PASS addPath({f: 2}) 
80
FAIL setTransform({a: -0, b: -0, c: -0, d: -0, e: -0, f: -0}) assert_equals: m11 expected -0 but got 1
81
PASS addPath({a: -0, b: -0, c: -0, d: -0, e: -0, f: -0}) 
82
FAIL setTransform({a: -0, b: -0, c: -0, d: -0, e: -0, f: -0, is2D: true}) assert_equals: m11 expected -0 but got 1
83
PASS addPath({a: -0, b: -0, c: -0, d: -0, e: -0, f: -0, is2D: true}) 
84
PASS setTransform({m11: 2}) 
85
FAIL addPath({m11: 2}) assert_equals: expected "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAASwAAACWCAYAAABkW7XSAAAAAXNSR0IArs4c6QAAA6FJREFUeAHt1EEKhEAUQ0Fn7n9nPcCjtxKhXMZFh/qQ6/IRIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAwEngd/oxlN9DXd6o8oWbvOHgDQIR+CcRECBAYFTAYI0eRi0CBCpgsGoiIUBgVMBgjR5GLQIEKmCwaiIhQGBUwGCNHkYtAgQqYLBqIiFAYFTAYI0eRi0CBCpgsGoiIUBgVMBgjR5GLQIEKmCwaiIhQGBUwGCNHkYtAgQqYLBqIiFAYFTAYI0eRi0CBCpgsGoiIUBgVMBgjR5GLQIEKmCwaiIhQGBUwGCNHkYtAgQqYLBqIiFAYFTAYI0eRi0CBCpgsGoiIUBgVMBgjR5GLQIEKmCwaiIhQGBUwGCNHkYtAgQqYLBqIiFAYFTAYI0eRi0CBCpgsGoiIUBgVMBgjR5GLQIEKmCwaiIhQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAgYPAA8V2ATzPOX7TAAAAAElFTkSuQmCC" but got "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAASwAAACWCAYAAABkW7XSAAAAAXNSR0IArs4c6QAAA6JJREFUeAHt1LENhDAABEGg/575Coi8l7yG0MgrmOCuy0OAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECXwL314uD8/fg7snVxb+cfI+7BAjEAk/ckyNAgMBMwGDNaIUJEKgFDFYtqkeAwEzAYM1ohQkQqAUMVi2qR4DATMBgzWiFCRCoBQxWLapHgMBMwGDNaIUJEKgFDFYtqkeAwEzAYM1ohQkQqAUMVi2qR4DATMBgzWiFCRCoBQxWLapHgMBMwGDNaIUJEKgFDFYtqkeAwEzAYM1ohQkQqAUMVi2qR4DATMBgzWiFCRCoBQxWLapHgMBMwGDNaIUJEKgFDFYtqkeAwEzAYM1ohQkQqAUMVi2qR4DATMBgzWiFCRCoBQxWLapHgMBMwGDNaIUJEKgFDFYtqkeAwEzAYM1ohQkQqAUMVi2qR4AAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAgT8W+AEV/QE8XblneQAAAABJRU5ErkJggg=="
86
PASS setTransform({m12: 2}) 
87
FAIL addPath({m12: 2}) assert_equals: expected "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAASwAAACWCAYAAABkW7XSAAAAAXNSR0IArs4c6QAABbZJREFUeAHt1utuEzEQgNECz8hLwvvwOJSOQqQ2ymW9idcz9uEP6iW7M8dW9b29+UeAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAhkF/iZfUDzESBQU+B7h7H9weqA6pEECPQReP94rD9afWw9lcDSAj0KK0D9wVr6WlmeQB2BKCyVVee8TEqgjECvwgoAlVXmGhiUwLoC58JSWeveAZsT6CLQs7BiYJXV5dg8lACBVwl8LiyV9SpVzyFA4K13YQWxynLRCBBIK3BZWCor7VEZjEAtgSMKK0RUVq17YVoCywhcKyyVtczxW5RAP4GjCis2UFn9ztGTCRDYKXCrsFTWTlAfI0DgJHBkYcUbVZabR4BAKoF7haWyUh2VYQjUEji6sEJHZdW6I6YlMLXAo8JSWVMfv+UI9BMYUVixjcrqd6aeTIBAg8CWwlJZDaB+lQCBk8Cowoq3qyy3kACB4QJbC0tlDT8qAxCoJTCysEJKZdW6L6YlMJ1AS2GprOmO30IE+gmMLqzYTGX1O19PJkDggUBrYamsB6B+TIDASSBDYcUkKsuNJEBgiMCewlJZQ47KSwnUEshSWKGmsmrdHdMSmELg18cWKmuKo7QEgVwCPQrr9xMrqqwn8HyUAIF9Aiprn5tPESBwR6BHYcXrVNYddD8iQCCfgMrKdyYmIlBaoFdhBYrKKn01DE9gPQGVtd6Z25hAN4GehRVDq6xuR+fBBAj0EFBZPVQ9k8CCAr0LK0hV1oIXy8oEKguorMqnZ3YCSQSOKKxYVWUlOXBjECCwTUBlbXPyWwQI3BA4qrDi9SrrxiH4NgECOQVUVs5zMRWBEgJHFlaAqKwS18KQBAicBVTWWcL/BAg0CRxdWDGcymo6Ir9MgMBoAZU1+gS8n0BBgRGFFUwqq+BlMTKBlQVU1sqnb3cCOwRGFVaMqrJ2HJiPECAwTkBljbP3ZgLlBEYWVmCprHJXxsAE1hZQWWufv+0JbBYYXVgxqMrafFx+kQCBDAIqK8MpmIFAcoEMhRVEKiv5RTEeAQJfBVTWVw9fESBwIZClsGIslXVxOL4kQCC3wN7K+pt7LdMRIPAKgUyFFfvsraxvr8DwDAIECLQK7K2s1vf4fQIEiglkK6zg21tZxeiNS4DALAJ7KmuW3e1BgMANgYyFFaOqrBsH5tsECOQUaK2snFuYigCBlwlkLaxYUGW97Jg9iACBIwRaKuuIebyDAIGBApkLK1hU1sDL4dUECLQLbK2s9if7BAECpQSyF1ZgqqxSV8qwBAhsqSxKBAhMLlChsOIIVNbkF9F6BGYTeFRZs+1rHwIELgSqFFaMrbIuDs+XBAjkFrhXWbknNx0BAk8LVCqsWFZlPX3kHkCAwJECtyrryBm8iwCBAQLVCiuIVNaAi+KVBAjsF7hWWfuf5pMECJQQqFhYAauySlwvQxIgcBa4rKzz9/1PgMCkAlULK45DZU16Ka1FYFaBz5U16472IkDgv0DlwooVVJarTIBAKYFzZZUa2rAECLQLVC+s2Dgq6719dZ8gQIDAGIGoLP8IEJhc4MdE+/2ZaBerECBwReAfzbLf0y0P4FYAAAAASUVORK5CYII=" but got "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAASwAAACWCAYAAABkW7XSAAAAAXNSR0IArs4c6QAAA6JJREFUeAHt1LENhDAABEGg/575Coi8l7yG0MgrmOCuy0OAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECXwL314uD8/fg7snVxb+cfI+7BAjEAk/ckyNAgMBMwGDNaIUJEKgFDFYtqkeAwEzAYM1ohQkQqAUMVi2qR4DATMBgzWiFCRCoBQxWLapHgMBMwGDNaIUJEKgFDFYtqkeAwEzAYM1ohQkQqAUMVi2qR4DATMBgzWiFCRCoBQxWLapHgMBMwGDNaIUJEKgFDFYtqkeAwEzAYM1ohQkQqAUMVi2qR4DATMBgzWiFCRCoBQxWLapHgMBMwGDNaIUJEKgFDFYtqkeAwEzAYM1ohQkQqAUMVi2qR4DATMBgzWiFCRCoBQxWLapHgMBMwGDNaIUJEKgFDFYtqkeAwEzAYM1ohQkQqAUMVi2qR4AAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAgT8W+AEV/QE8XblneQAAAABJRU5ErkJggg=="
88
PASS setTransform({m21: 2}) 
89
FAIL addPath({m21: 2}) assert_equals: expected "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAASwAAACWCAYAAABkW7XSAAAAAXNSR0IArs4c6QAAA5RJREFUeAHt1EEKg1AMQEEv2Ut6SO0PtHTtxvJkBKGbYpiEt20eAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECDwE3itn/t6zxvf4/PN+baHAAEClwX+Ea6J5MRSuC6vyx8IEBgB4XIHBAjkBIQrtzIDEyAgXG6AAIGcgHDlVmZgAgSEyw0QIJATEK7cygxMgIBwuQECBHICwpVbmYEJEBAuN0CAQE5AuHIrMzABAsLlBggQyAkIV25lBiZAQLjcAAECOQHhyq3MwAQICJcbIEAgJyBcuZUZmAAB4XIDBAjkBIQrtzIDEyAgXG6AAIGcgHDlVmZgAgSEyw0QIJATEK7cygxMgIBwuQECBHICwpVbmYEJEBAuN0CAQE5AuHIrMzABAsLlBggQyAl8w3Wsyc8b3319a77tIUCAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIEDggQJvT+eAqPH0HaQAAAAASUVORK5CYII=" but got "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAASwAAACWCAYAAABkW7XSAAAAAXNSR0IArs4c6QAAA6JJREFUeAHt1LENhDAABEGg/575Coi8l7yG0MgrmOCuy0OAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECXwL314uD8/fg7snVxb+cfI+7BAjEAk/ckyNAgMBMwGDNaIUJEKgFDFYtqkeAwEzAYM1ohQkQqAUMVi2qR4DATMBgzWiFCRCoBQxWLapHgMBMwGDNaIUJEKgFDFYtqkeAwEzAYM1ohQkQqAUMVi2qR4DATMBgzWiFCRCoBQxWLapHgMBMwGDNaIUJEKgFDFYtqkeAwEzAYM1ohQkQqAUMVi2qR4DATMBgzWiFCRCoBQxWLapHgMBMwGDNaIUJEKgFDFYtqkeAwEzAYM1ohQkQqAUMVi2qR4DATMBgzWiFCRCoBQxWLapHgMBMwGDNaIUJEKgFDFYtqkeAwEzAYM1ohQkQqAUMVi2qR4AAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAgT8W+AEV/QE8XblneQAAAABJRU5ErkJggg=="
90
PASS setTransform({m22: 2}) 
91
FAIL addPath({m22: 2}) assert_equals: expected "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAASwAAACWCAYAAABkW7XSAAAAAXNSR0IArs4c6QAAA/1JREFUeAHt1LENg1AUBEGg/57tEhArfV0yjjkenmCvy48AAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIDAd4H7++R18Xt94swDJ/7LmS/1VgIEksCTVkYECBAYCAjWAN1JAgSagGA1NysCBAYCgjVAd5IAgSYgWM3NigCBgYBgDdCdJECgCQhWc7MiQGAgIFgDdCcJEGgCgtXcrAgQGAgI1gDdSQIEmoBgNTcrAgQGAoI1QHeSAIEmIFjNzYoAgYGAYA3QnSRAoAkIVnOzIkBgICBYA3QnCRBoAoLV3KwIEBgICNYA3UkCBJqAYDU3KwIEBgKCNUB3kgCBJiBYzc2KAIGBgGAN0J0kQKAJCFZzsyJAYCAgWAN0JwkQaAKC1dysCBAYCAjWAN1JAgSagGA1NysCBAYCgjVAd5IAgSYgWM3NigCBgYBgDdCdJECgCQhWc7MiQGAgIFgDdCcJEGgCgtXcrAgQGAgI1gDdSQIEmoBgNTcrAgQGAoI1QHeSAIEmIFjNzYoAgYGAYA3QnSRAoAkIVnOzIkBgICBYA3QnCRBoAoLV3KwIEBgICNYA3UkCBJqAYDU3KwIEBgKCNUB3kgCBJiBYzc2KAIGBgGAN0J0kQKAJCFZzsyJAYCAgWAN0JwkQaAKC1dysCBAYCAjWAN1JAgSagGA1NysCBAYCgjVAd5IAgSYgWM3NigCBgYBgDdCdJECgCQhWc7MiQGAgIFgDdCcJEGgCgtXcrAgQGAgI1gDdSQIEmoBgNTcrAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIBIE/pMcBeCvKjewAAAAASUVORK5CYII=" but got "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAASwAAACWCAYAAABkW7XSAAAAAXNSR0IArs4c6QAAA6JJREFUeAHt1LENhDAABEGg/575Coi8l7yG0MgrmOCuy0OAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECXwL314uD8/fg7snVxb+cfI+7BAjEAk/ckyNAgMBMwGDNaIUJEKgFDFYtqkeAwEzAYM1ohQkQqAUMVi2qR4DATMBgzWiFCRCoBQxWLapHgMBMwGDNaIUJEKgFDFYtqkeAwEzAYM1ohQkQqAUMVi2qR4DATMBgzWiFCRCoBQxWLapHgMBMwGDNaIUJEKgFDFYtqkeAwEzAYM1ohQkQqAUMVi2qR4DATMBgzWiFCRCoBQxWLapHgMBMwGDNaIUJEKgFDFYtqkeAwEzAYM1ohQkQqAUMVi2qR4DATMBgzWiFCRCoBQxWLapHgMBMwGDNaIUJEKgFDFYtqkeAwEzAYM1ohQkQqAUMVi2qR4AAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAgT8W+AEV/QE8XblneQAAAABJRU5ErkJggg=="
92
PASS setTransform({m41: 2}) 
93
FAIL addPath({m41: 2}) assert_equals: expected "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAASwAAACWCAYAAABkW7XSAAAAAXNSR0IArs4c6QAAA6NJREFUeAHt1LERgwAQA0Gg/56hAhLmFLEO8ViPN7jj8CFAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgACBN4Hz7Yvg+R1sfJlY/qcv7+M3BAhEAle0Y4YAAQJzAcGaEztAgEAlIFiVpB0CBOYCgjUndoAAgUpAsCpJOwQIzAUEa07sAAEClYBgVZJ2CBCYCwjWnNgBAgQqAcGqJO0QIDAXEKw5sQMECFQCglVJ2iFAYC4gWHNiBwgQqAQEq5K0Q4DAXECw5sQOECBQCQhWJWmHAIG5gGDNiR0gQKASEKxK0g4BAnMBwZoTO0CAQCUgWJWkHQIE5gKCNSd2gACBSkCwKkk7BAjMBQRrTuwAAQKVgGBVknYIEJgLCNac2AECBCoBwaok7RAgMBcQrDmxAwQIVAKCVUnaIUBgLiBYc2IHCBCoBASrkrRDgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgACBHwg8Df0BPNEPdCAAAAAASUVORK5CYII=" but got "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAASwAAACWCAYAAABkW7XSAAAAAXNSR0IArs4c6QAAA6JJREFUeAHt1LENhDAABEGg/575Coi8l7yG0MgrmOCuy0OAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECXwL314uD8/fg7snVxb+cfI+7BAjEAk/ckyNAgMBMwGDNaIUJEKgFDFYtqkeAwEzAYM1ohQkQqAUMVi2qR4DATMBgzWiFCRCoBQxWLapHgMBMwGDNaIUJEKgFDFYtqkeAwEzAYM1ohQkQqAUMVi2qR4DATMBgzWiFCRCoBQxWLapHgMBMwGDNaIUJEKgFDFYtqkeAwEzAYM1ohQkQqAUMVi2qR4DATMBgzWiFCRCoBQxWLapHgMBMwGDNaIUJEKgFDFYtqkeAwEzAYM1ohQkQqAUMVi2qR4DATMBgzWiFCRCoBQxWLapHgMBMwGDNaIUJEKgFDFYtqkeAwEzAYM1ohQkQqAUMVi2qR4AAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAgT8W+AEV/QE8XblneQAAAABJRU5ErkJggg=="
94
PASS setTransform({m42: 2}) 
95
FAIL addPath({m42: 2}) assert_equals: expected "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAASwAAACWCAYAAABkW7XSAAAAAXNSR0IArs4c6QAAA55JREFUeAHt1LENhEAQBEEg/5z5FJBG1+8UNtrRldHX5SNAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABApXAfWDoPXDzy8kTb/my6x8CBCKBJ9oxQ4AAgVlAsGZCBwgQqAQEq5K2Q4DALCBYM6EDBAhUAoJVSdshQGAWEKyZ0AECBCoBwaqk7RAgMAsI1kzoAAEClYBgVdJ2CBCYBQRrJnSAAIFKQLAqaTsECMwCgjUTOkCAQCUgWJW0HQIEZgHBmgkdIECgEhCsStoOAQKzgGDNhA4QIFAJCFYlbYcAgVlAsGZCBwgQqAQEq5K2Q4DALCBYM6EDBAhUAoJVSdshQGAWEKyZ0AECBCoBwaqk7RAgMAsI1kzoAAEClYBgVdJ2CBCYBQRrJnSAAIFKQLAqaTsECMwCgjUTOkCAQCUgWJW0HQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIE/iDwA4mzATwuYhK6AAAAAElFTkSuQmCC" but got "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAASwAAACWCAYAAABkW7XSAAAAAXNSR0IArs4c6QAAA6JJREFUeAHt1LENhDAABEGg/575Coi8l7yG0MgrmOCuy0OAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECXwL314uD8/fg7snVxb+cfI+7BAjEAk/ckyNAgMBMwGDNaIUJEKgFDFYtqkeAwEzAYM1ohQkQqAUMVi2qR4DATMBgzWiFCRCoBQxWLapHgMBMwGDNaIUJEKgFDFYtqkeAwEzAYM1ohQkQqAUMVi2qR4DATMBgzWiFCRCoBQxWLapHgMBMwGDNaIUJEKgFDFYtqkeAwEzAYM1ohQkQqAUMVi2qR4DATMBgzWiFCRCoBQxWLapHgMBMwGDNaIUJEKgFDFYtqkeAwEzAYM1ohQkQqAUMVi2qR4DATMBgzWiFCRCoBQxWLapHgMBMwGDNaIUJEKgFDFYtqkeAwEzAYM1ohQkQqAUMVi2qR4AAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAgT8W+AEV/QE8XblneQAAAABJRU5ErkJggg=="
96
FAIL setTransform({m11: -0, m12: -0, m21: -0, m22: -0, m41: -0, m42: -0}) assert_equals: m11 expected -0 but got 1
97
FAIL addPath({m11: -0, m12: -0, m21: -0, m22: -0, m41: -0, m42: -0}) assert_equals: expected "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAASwAAACWCAYAAABkW7XSAAAAAXNSR0IArs4c6QAAAylJREFUeAHt0DEBAAAAwqD1T20IX4hAYcCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYOAdGL/UAAEPpnR6AAAAAElFTkSuQmCC" but got "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAASwAAACWCAYAAABkW7XSAAAAAXNSR0IArs4c6QAAA6JJREFUeAHt1LENhDAABEGg/575Coi8l7yG0MgrmOCuy0OAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECXwL314uD8/fg7snVxb+cfI+7BAjEAk/ckyNAgMBMwGDNaIUJEKgFDFYtqkeAwEzAYM1ohQkQqAUMVi2qR4DATMBgzWiFCRCoBQxWLapHgMBMwGDNaIUJEKgFDFYtqkeAwEzAYM1ohQkQqAUMVi2qR4DATMBgzWiFCRCoBQxWLapHgMBMwGDNaIUJEKgFDFYtqkeAwEzAYM1ohQkQqAUMVi2qR4DATMBgzWiFCRCoBQxWLapHgMBMwGDNaIUJEKgFDFYtqkeAwEzAYM1ohQkQqAUMVi2qR4DATMBgzWiFCRCoBQxWLapHgMBMwGDNaIUJEKgFDFYtqkeAwEzAYM1ohQkQqAUMVi2qR4AAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAgT8W+AEV/QE8XblneQAAAABJRU5ErkJggg=="
98
FAIL setTransform({m11: -0, m12: -0, m21: -0, m22: -0, m41: -0, m42: -0, is2D: true}) assert_equals: m11 expected -0 but got 1
99
FAIL addPath({m11: -0, m12: -0, m21: -0, m22: -0, m41: -0, m42: -0, is2D: true}) assert_equals: expected "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAASwAAACWCAYAAABkW7XSAAAAAXNSR0IArs4c6QAAAylJREFUeAHt0DEBAAAAwqD1T20IX4hAYcCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYOAdGL/UAAEPpnR6AAAAAElFTkSuQmCC" but got "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAASwAAACWCAYAAABkW7XSAAAAAXNSR0IArs4c6QAAA6JJREFUeAHt1LENhDAABEGg/575Coi8l7yG0MgrmOCuy0OAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECXwL314uD8/fg7snVxb+cfI+7BAjEAk/ckyNAgMBMwGDNaIUJEKgFDFYtqkeAwEzAYM1ohQkQqAUMVi2qR4DATMBgzWiFCRCoBQxWLapHgMBMwGDNaIUJEKgFDFYtqkeAwEzAYM1ohQkQqAUMVi2qR4DATMBgzWiFCRCoBQxWLapHgMBMwGDNaIUJEKgFDFYtqkeAwEzAYM1ohQkQqAUMVi2qR4DATMBgzWiFCRCoBQxWLapHgMBMwGDNaIUJEKgFDFYtqkeAwEzAYM1ohQkQqAUMVi2qR4DATMBgzWiFCRCoBQxWLapHgMBMwGDNaIUJEKgFDFYtqkeAwEzAYM1ohQkQqAUMVi2qR4AAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAgT8W+AEV/QE8XblneQAAAABJRU5ErkJggg=="
100
PASS setTransform({m13: 0, is2D: true}) 
101
PASS addPath({m13: 0, is2D: true}) 
102
PASS setTransform({m13: -0, is2D: true}) 
103
PASS addPath({m13: -0, is2D: true}) 
104
PASS setTransform({m14: 0, is2D: true}) 
105
PASS addPath({m14: 0, is2D: true}) 
106
PASS setTransform({m14: -0, is2D: true}) 
107
PASS addPath({m14: -0, is2D: true}) 
108
PASS setTransform({m23: 0, is2D: true}) 
109
PASS addPath({m23: 0, is2D: true}) 
110
PASS setTransform({m23: -0, is2D: true}) 
111
PASS addPath({m23: -0, is2D: true}) 
112
PASS setTransform({m24: 0, is2D: true}) 
113
PASS addPath({m24: 0, is2D: true}) 
114
PASS setTransform({m24: -0, is2D: true}) 
115
PASS addPath({m24: -0, is2D: true}) 
116
PASS setTransform({m31: 0, is2D: true}) 
117
PASS addPath({m31: 0, is2D: true}) 
118
PASS setTransform({m31: -0, is2D: true}) 
119
PASS addPath({m31: -0, is2D: true}) 
120
PASS setTransform({m32: 0, is2D: true}) 
121
PASS addPath({m32: 0, is2D: true}) 
122
PASS setTransform({m32: -0, is2D: true}) 
123
PASS addPath({m32: -0, is2D: true}) 
124
PASS setTransform({m33: 1, is2D: true}) 
125
PASS addPath({m33: 1, is2D: true}) 
126
PASS setTransform({m34: 0, is2D: true}) 
127
PASS addPath({m34: 0, is2D: true}) 
128
PASS setTransform({m34: -0, is2D: true}) 
129
PASS addPath({m34: -0, is2D: true}) 
130
PASS setTransform({m43: 0, is2D: true}) 
131
PASS addPath({m43: 0, is2D: true}) 
132
PASS setTransform({m43: -0, is2D: true}) 
133
PASS addPath({m43: -0, is2D: true}) 
134
PASS setTransform({m44: 1, is2D: true}) 
135
PASS addPath({m44: 1, is2D: true}) 
136
PASS setTransform({is2D: true}) 
137
PASS addPath({is2D: true}) 
138
PASS setTransform({m13: 1, is2D: false}) 
139
PASS addPath({m13: 1, is2D: false}) 
140
PASS setTransform({m14: 1, is2D: false}) 
141
PASS addPath({m14: 1, is2D: false}) 
142
PASS setTransform({m23: 1, is2D: false}) 
143
PASS addPath({m23: 1, is2D: false}) 
144
PASS setTransform({m24: 1, is2D: false}) 
145
PASS addPath({m24: 1, is2D: false}) 
146
PASS setTransform({m31: 1, is2D: false}) 
147
PASS addPath({m31: 1, is2D: false}) 
148
PASS setTransform({m32: 1, is2D: false}) 
149
PASS addPath({m32: 1, is2D: false}) 
150
PASS setTransform({m33: 0, is2D: false}) 
151
PASS addPath({m33: 0, is2D: false}) 
152
PASS setTransform({m33: -0, is2D: false}) 
153
PASS addPath({m33: -0, is2D: false}) 
154
PASS setTransform({m33: -1, is2D: false}) 
155
PASS addPath({m33: -1, is2D: false}) 
156
PASS setTransform({m34: 1, is2D: false}) 
157
PASS addPath({m34: 1, is2D: false}) 
158
PASS setTransform({m43: 1, is2D: false}) 
159
PASS addPath({m43: 1, is2D: false}) 
160
PASS setTransform({m44: 0, is2D: false}) 
161
PASS addPath({m44: 0, is2D: false}) 
162
PASS setTransform({m13: 1}) 
163
PASS addPath({m13: 1}) 
164
PASS setTransform({m14: 1}) 
165
PASS addPath({m14: 1}) 
166
PASS setTransform({m23: 1}) 
167
PASS addPath({m23: 1}) 
168
PASS setTransform({m24: 1}) 
169
PASS addPath({m24: 1}) 
170
PASS setTransform({m31: 1}) 
171
PASS addPath({m31: 1}) 
172
PASS setTransform({m32: 1}) 
173
PASS addPath({m32: 1}) 
174
PASS setTransform({m33: 0}) 
175
PASS addPath({m33: 0}) 
176
PASS setTransform({m34: 1}) 
177
PASS addPath({m34: 1}) 
178
PASS setTransform({m43: 1}) 
179
PASS addPath({m43: 1}) 
180
PASS setTransform({m44: 0}) 
181
PASS addPath({m44: 0}) 
182
PASS setTransform({is2D: false}) 
183
PASS addPath({is2D: false}) 
184
PASS setTransform({is2D: null}) 
185
PASS addPath({is2D: null}) 
186
- a/LayoutTests/imported/w3c/web-platform-tests/css/geometry/DOMMatrix2DInit-validate-fixup.html +187 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/geometry/DOMMatrix2DInit-validate-fixup.html_sec1
1
<!DOCTYPE html>
2
<title>Geometry Interfaces: DOMMatrix2DInit validate and fixup</title>
3
<link rel="help" href="https://drafts.fxtf.org/geometry/#dommatrixinit-dictionary">
4
<link rel="help" href="https://html.spec.whatwg.org/multipage/#dom-context-2d-settransform">
5
<script src="/resources/testharness.js"></script>
6
<script src="/resources/testharnessreport.js"></script>
7
<script src="support/dommatrix-test-util.js"></script>
8
<canvas id=canvas hidden></canvas>
9
<script>
10
setup(() => {
11
  window.canvas = document.getElementById('canvas');
12
  window.ctx = canvas.getContext('2d');
13
  window.ctx.fillStyle = '#000';
14
});
15
16
function clearCanvas(ctx) {
17
  ctx.resetTransform();
18
  ctx.clearRect(0, 0, window.canvas.width, window.canvas.height);
19
}
20
21
function drawRectWithSetTransform(ctx, transform) {
22
  clearCanvas(ctx);
23
  ctx.setTransform(transform);
24
  ctx.fillRect(20, 20, 30, 30);
25
  return window.canvas.toDataURL();
26
}
27
28
function drawRectWithAddPathTransform(ctx, transform) {
29
  clearCanvas(ctx);
30
  var path = new Path2D();
31
  path.rect(20, 20, 30, 30);
32
  var transformedPath = new Path2D();
33
  if (transform === undefined) {
34
    transformedPath.addPath(path);
35
  } else {
36
    transformedPath.addPath(path, transform);
37
  }
38
  ctx.fill(transformedPath);
39
  return window.canvas.toDataURL();
40
}
41
42
var emptyCanvasURL = window.canvas.toDataURL();
43
44
[
45
  {a: 1, m11: 2},
46
  {b: 0, m12: -1},
47
  {c: Infinity, m21: -Infinity},
48
  {d: 0, m22: NaN},
49
  {e: 1, m41: 1.00000001},
50
  {f: 0, m42: Number.MIN_VALUE},
51
].forEach(dict => {
52
  test(() => {
53
    ctx.resetTransform();
54
    assert_throws_js(TypeError, () => ctx.setTransform(dict));
55
  }, `setTransform(${format_dict(dict)}) (invalid)`);
56
57
  test(() => {
58
    assert_throws_js(TypeError, () => drawRectWithAddPathTransform(ctx, dict));
59
  }, `addPath(${format_dict(dict)}) (invalid)`);
60
});
61
62
test(() => {
63
  ctx.resetTransform();
64
  ctx.setTransform(1, 2, 3, 4, 5, 6);
65
  const matrix = ctx.getTransform();
66
  checkMatrix(matrix, matrix2D({m11: 1, m12: 2, m21: 3, m22: 4, m41: 5, m42: 6}));
67
}, `setTransform (Sanity check without dictionary)`);
68
69
test(() => {
70
  var ident = matrix2D({});
71
  var expectedResultURL = drawRectWithSetTransform(ctx, ident);
72
  var actualResultURL = drawRectWithAddPathTransform(ctx);
73
  assert_equals(actualResultURL, expectedResultURL);
74
}, `addPath (Sanity check without second parameter)`);
75
76
[
77
  // Input dict that would throw if ignore3D was false
78
  [{m13: 1, is2D: true},           matrix2D({})],
79
  [{m14: 1, is2D: true},           matrix2D({})],
80
  [{m23: 1, is2D: true},           matrix2D({})],
81
  [{m24: 1, is2D: true},           matrix2D({})],
82
  [{m31: 1, is2D: true},           matrix2D({})],
83
  [{m32: 1, is2D: true},           matrix2D({})],
84
  [{m33: 0, is2D: true},           matrix2D({})],
85
  [{m33: -0, is2D: true},          matrix2D({})],
86
  [{m33: -1, is2D: true},          matrix2D({})],
87
  [{m34: 1, is2D: true},           matrix2D({})],
88
  [{m43: 1, is2D: true},           matrix2D({})],
89
  [{m44: 0, is2D: true},           matrix2D({})],
90
91
  // Input dict that are 2D
92
  [{},                             matrix2D({})],
93
  [{is2D: undefined},              matrix2D({})],
94
  [{a: 1, m11: 1},                 matrix2D({m11: 1})],
95
  [{b: 0, m12: undefined},         matrix2D({m12: 0})],
96
  [{c: 0, m21: 0},                 matrix2D({m21: 0})],
97
  [{c: 0, m21: -0},                matrix2D({m21: -0})],
98
  [{c: -0, m21: 0},                matrix2D({m21: 0})],
99
  [{c: -0, m21: -0},               matrix2D({m21: -0})],
100
  [{d: Infinity, m22: Infinity},   null], // setTransform: silently ignore / addPath: silently halt
101
  [{e: -Infinity, m41: -Infinity}, null], // setTransform: silently ignore / addPath: silently halt
102
  [{f: NaN, m42: NaN},             null], // setTransform: silently ignore / addPath: silently halt
103
  [{f: NaN, m42: NaN, is2D: true}, null], // setTransform: silently ignore / addPath: silently halt
104
  [{f: 0, m42: null},              matrix2D({m42: 0})], // null is converted to 0
105
  [{f: -0, m42: null},             matrix2D({m42: 0})], // null is converted to 0
106
  [{a: 2},                         matrix2D({m11: 2})],
107
  [{b: 2},                         matrix2D({m12: 2})],
108
  [{c: 2},                         matrix2D({m21: 2})],
109
  [{d: 2},                         matrix2D({m22: 2})],
110
  [{e: 2},                         matrix2D({m41: 2})],
111
  [{f: 2},                         matrix2D({m42: 2})],
112
  [{a: -0, b: -0, c: -0, d: -0, e: -0, f: -0},
113
                                   matrix2D({m11: -0, m12: -0, m21: -0, m22: -0, m41: -0, m42: -0})],
114
  [{a: -0, b: -0, c: -0, d: -0, e: -0, f: -0, is2D: true},
115
                                   matrix2D({m11: -0, m12: -0, m21: -0, m22: -0, m41: -0, m42: -0})],
116
  [{m11:2},                        matrix2D({m11: 2})],
117
  [{m12:2},                        matrix2D({m12: 2})],
118
  [{m21:2},                        matrix2D({m21: 2})],
119
  [{m22:2},                        matrix2D({m22: 2})],
120
  [{m41:2},                        matrix2D({m41: 2})],
121
  [{m42:2},                        matrix2D({m42: 2})],
122
  [{m11: -0, m12: -0, m21: -0, m22: -0, m41: -0, m42: -0},
123
                                   matrix2D({m11: -0, m12: -0, m21: -0, m22: -0, m41: -0, m42: -0})],
124
  [{m11: -0, m12: -0, m21: -0, m22: -0, m41: -0, m42: -0, is2D: true},
125
                                   matrix2D({m11: -0, m12: -0, m21: -0, m22: -0, m41: -0, m42: -0})],
126
  [{m13: 0, is2D: true},           matrix2D({})],
127
  [{m13: -0, is2D: true},          matrix2D({})],
128
  [{m14: 0, is2D: true},           matrix2D({})],
129
  [{m14: -0, is2D: true},          matrix2D({})],
130
  [{m23: 0, is2D: true},           matrix2D({})],
131
  [{m23: -0, is2D: true},          matrix2D({})],
132
  [{m24: 0, is2D: true},           matrix2D({})],
133
  [{m24: -0, is2D: true},          matrix2D({})],
134
  [{m31: 0, is2D: true},           matrix2D({})],
135
  [{m31: -0, is2D: true},          matrix2D({})],
136
  [{m32: 0, is2D: true},           matrix2D({})],
137
  [{m32: -0, is2D: true},          matrix2D({})],
138
  [{m33: 1, is2D: true},           matrix2D({})],
139
  [{m34: 0, is2D: true},           matrix2D({})],
140
  [{m34: -0, is2D: true},          matrix2D({})],
141
  [{m43: 0, is2D: true},           matrix2D({})],
142
  [{m43: -0, is2D: true},          matrix2D({})],
143
  [{m44: 1, is2D: true},           matrix2D({})],
144
  [{is2D: true},                   matrix2D({})],
145
146
  // Input dict that are 3D, but 3D members are ignored
147
  [{m13: 1, is2D: false},          matrix2D({})],
148
  [{m14: 1, is2D: false},          matrix2D({})],
149
  [{m23: 1, is2D: false},          matrix2D({})],
150
  [{m24: 1, is2D: false},          matrix2D({})],
151
  [{m31: 1, is2D: false},          matrix2D({})],
152
  [{m32: 1, is2D: false},          matrix2D({})],
153
  [{m33: 0, is2D: false},          matrix2D({})],
154
  [{m33: -0, is2D: false},         matrix2D({})],
155
  [{m33: -1, is2D: false},         matrix2D({})],
156
  [{m34: 1, is2D: false},          matrix2D({})],
157
  [{m43: 1, is2D: false},          matrix2D({})],
158
  [{m44: 0, is2D: false},          matrix2D({})],
159
  [{m13: 1},                       matrix2D({})],
160
  [{m14: 1},                       matrix2D({})],
161
  [{m23: 1},                       matrix2D({})],
162
  [{m24: 1},                       matrix2D({})],
163
  [{m31: 1},                       matrix2D({})],
164
  [{m32: 1},                       matrix2D({})],
165
  [{m33: 0},                       matrix2D({})],
166
  [{m34: 1},                       matrix2D({})],
167
  [{m43: 1},                       matrix2D({})],
168
  [{m44: 0},                       matrix2D({})],
169
  [{is2D: false},                  matrix2D({})],
170
  [{is2D: null},                   matrix2D({})],
171
].forEach(([dict, expected]) => {
172
  test(() => {
173
    ctx.resetTransform();
174
    ctx.setTransform(dict);
175
    const matrix = ctx.getTransform();
176
    checkMatrix(matrix, expected || matrix2D({}));
177
  }, `setTransform(${format_dict(dict)})`);
178
179
  test(() => {
180
    var expectedResultURL = expected ?
181
      drawRectWithSetTransform(ctx, expected) :
182
      emptyCanvasURL;
183
    var actualResultURL = drawRectWithAddPathTransform(ctx, dict);
184
    assert_equals(actualResultURL, expectedResultURL);
185
  }, `addPath(${format_dict(dict)})`);
186
 });
187
</script>
- a/LayoutTests/imported/w3c/web-platform-tests/css/geometry/DOMMatrixInit-validate-fixup.html -1 / +7 lines
Lines 27-33 a/LayoutTests/imported/w3c/web-platform-tests/css/geometry/DOMMatrixInit-validate-fixup.html_sec1
27
].forEach(dict => {
27
].forEach(dict => {
28
  test(() => {
28
  test(() => {
29
    assert_true('fromMatrix' in DOMMatrix, 'fromMatrix should exist');
29
    assert_true('fromMatrix' in DOMMatrix, 'fromMatrix should exist');
30
    assert_throws(new TypeError(), () => DOMMatrix.fromMatrix(dict));
30
    assert_throws_js(TypeError, () => DOMMatrix.fromMatrix(dict));
31
    assert_true('multiply' in DOMMatrix.prototype, 'multiply should exist');
32
    assert_throws_js(TypeError, () => new DOMMatrix().multiply(dict));
33
    assert_true('multiplySelf' in DOMMatrix.prototype, 'multiplySelf should exist');
34
    assert_throws_js(TypeError, () => new DOMMatrix().multiplySelf(dict));
35
    assert_true('preMultiplySelf' in DOMMatrix.prototype, 'preMultiplySelf should exist');
36
    assert_throws_js(TypeError, () => new DOMMatrix().preMultiplySelf(dict));
31
  }, `${format_dict(dict)} (invalid)`);
37
  }, `${format_dict(dict)} (invalid)`);
32
});
38
});
33
39
- a/LayoutTests/imported/w3c/web-platform-tests/css/geometry/DOMPoint-001-expected.txt -13 / +7 lines
Lines 2-26 Test DOMPoint and DOMPointReadOnly interfaces a/LayoutTests/imported/w3c/web-platform-tests/css/geometry/DOMPoint-001-expected.txt_sec1
2
2
3
3
4
PASS testConstructor0 
4
PASS testConstructor0 
5
FAIL testConstructor1 assert_throws: function "function () { new DOMPoint(1);}" did not throw
5
PASS testConstructor1 
6
PASS testConstructor2 
6
PASS testConstructor2 
7
PASS testConstructor3 
7
PASS testConstructor3 
8
PASS testConstructor4 
8
PASS testConstructor4 
9
PASS testConstructor5 
9
PASS testConstructor5 
10
PASS testConstructorDictionary0 
10
FAIL testConstructorDictionary0 assert_equals: Expected value for x is NaN expected NaN but got 0
11
PASS testConstructorDictionary1 
11
FAIL testConstructorDictionary1 assert_equals: Expected value for x is NaN expected NaN but got 1
12
PASS testConstructorDictionary2 
12
FAIL testConstructorDictionary2 assert_equals: Expected value for x is NaN expected NaN but got 1
13
PASS testConstructorDictionary3 
14
PASS testConstructorDictionary4 
15
PASS testConstructorDictionary5 
16
PASS testConstructorDictionary2irregular 
17
PASS testConstructorDictionary2undefined 
18
PASS testConstructorDOMPoint 
19
PASS testConstructor2undefined 
13
PASS testConstructor2undefined 
20
PASS testConstructorUndefined1 
14
PASS testConstructorUndefined1 
21
PASS testConstructorUndefined2 
15
FAIL testConstructorUndefined2 assert_equals: Expected value for y is 0 expected 0 but got NaN
22
FAIL testConstructorIllegal1 assert_throws: function "function () { new DOMPointReadOnly();}" did not throw
16
PASS DOMPointReadOnly constructor with no values 
23
FAIL testConstructorIllegal2 assert_throws: function "function () { new DOMPointReadOnly(1, 2, 3, 4);}" did not throw
17
PASS DOMPointReadOnly constructor with 4 values 
24
PASS testAttributesUndefined 
18
PASS testAttributesUndefined 
25
PASS testAttributesNaNInfinity 
19
PASS testAttributesNaNInfinity 
26
20
- a/LayoutTests/imported/w3c/web-platform-tests/css/geometry/DOMPoint-001.html -34 / +12 lines
Lines 3-15 a/LayoutTests/imported/w3c/web-platform-tests/css/geometry/DOMPoint-001.html_sec1
3
<head>
3
<head>
4
    <title>Geometry Interfaces: DOMPoint and DOMPointReadOnly interface tests</title>
4
    <title>Geometry Interfaces: DOMPoint and DOMPointReadOnly interface tests</title>
5
    <link rel="author" title="Dirk Schulze" href="mailto:dschulze@adobe.com" />
5
    <link rel="author" title="Dirk Schulze" href="mailto:dschulze@adobe.com" />
6
    <link rel="help" href="http://www.w3.org/TR/geometry-1/#DOMPoint">
6
    <link rel="help" href="https://www.w3.org/TR/geometry-1/#dictdef-dompointinit">
7
    <link rel="help" href="http://www.w3.org/TR/geometry-1/#dictdef-dompointinit">
7
    <link rel="help" href="https://www.w3.org/TR/geometry-1/#dom-dompoint-dompoint">
8
    <link rel="help" href="http://www.w3.org/TR/geometry-1/#dom-dompoint-dompoint">
8
    <link rel="help" href="https://www.w3.org/TR/geometry-1/#DOMPoint">
9
    <link rel="help" href="http://www.w3.org/TR/geometry-1/#dom-dompointreadonly-dompoint-x">
10
    <link rel="help" href="http://www.w3.org/TR/geometry-1/#dom-dompointreadonly-dompoint-y">
11
    <link rel="help" href="http://www.w3.org/TR/geometry-1/#dom-dompointreadonly-dompoint-z">
12
    <link rel="help" href="http://www.w3.org/TR/geometry-1/#dom-dompointreadonly-dompoint-w">
13
    <script src="/resources/testharness.js"></script>
9
    <script src="/resources/testharness.js"></script>
14
    <script src="/resources/testharnessreport.js"></script>
10
    <script src="/resources/testharnessreport.js"></script>
15
</head>
11
</head>
Lines 21-27 a/LayoutTests/imported/w3c/web-platform-tests/css/geometry/DOMPoint-001.html_sec2
21
            checkDOMPoint(new DOMPoint(), {x:0, y:0, z:0, w:1});
17
            checkDOMPoint(new DOMPoint(), {x:0, y:0, z:0, w:1});
22
        },'testConstructor0');
18
        },'testConstructor0');
23
        test(function() {
19
        test(function() {
24
            assert_throws(new TypeError(), function() { new DOMPoint(1);})
20
            checkDOMPoint(new DOMPoint(1), {x:1, y:0, z:0, w:1});
25
        },'testConstructor1');
21
        },'testConstructor1');
26
        test(function() {
22
        test(function() {
27
            checkDOMPoint(new DOMPoint(1, 2), {x:1, y:2, z:0, w:1});
23
            checkDOMPoint(new DOMPoint(1, 2), {x:1, y:2, z:0, w:1});
Lines 36-67 a/LayoutTests/imported/w3c/web-platform-tests/css/geometry/DOMPoint-001.html_sec3
36
            checkDOMPoint(new DOMPoint(1, 2, 3, 4, 5), {x:1, y:2, z:3, w:4});
32
            checkDOMPoint(new DOMPoint(1, 2, 3, 4, 5), {x:1, y:2, z:3, w:4});
37
        },'testConstructor5');
33
        },'testConstructor5');
38
        test(function() {
34
        test(function() {
39
            checkDOMPoint(new DOMPoint({}), {x:0, y:0, z:0, w:1});
35
            checkDOMPoint(new DOMPoint({}), {x:NaN, y:0, z:0, w:1});
40
        },'testConstructorDictionary0');
36
        },'testConstructorDictionary0');
41
        test(function() {
37
        test(function() {
42
            checkDOMPoint(new DOMPoint({x:1}), {x:1, y:0, z:0, w:1});
38
            checkDOMPoint(new DOMPoint({x:1}), {x:NaN, y:0, z:0, w:1});
43
        },'testConstructorDictionary1');
39
        },'testConstructorDictionary1');
44
        test(function() {
40
        test(function() {
45
            checkDOMPoint(new DOMPoint({x:1, y:2}), {x:1, y:2, z:0, w:1});
41
            checkDOMPoint(new DOMPoint({x:1, y:2}), {x:NaN, y:0, z:0, w:1});
46
        },'testConstructorDictionary2');
42
        },'testConstructorDictionary2');
47
        test(function() {
48
            checkDOMPoint(new DOMPoint({x:1, y:2, z:3}), {x:1, y:2, z:3, w:1});
49
        },'testConstructorDictionary3');
50
        test(function() {
51
            checkDOMPoint(new DOMPoint({x:1, y:2, z:3, w:4}), {x:1, y:2, z:3, w:4});
52
        },'testConstructorDictionary4');
53
        test(function() {
54
            checkDOMPoint(new DOMPoint({x:1, y:2, z:3, w:4, v:5}), {x:1, y:2, z:3, w:4});
55
        },'testConstructorDictionary5');
56
        test(function() {
57
            checkDOMPoint(new DOMPoint({x:1, z:3}), {x:1, y:0, z:3, w:1});
58
        },'testConstructorDictionary2irregular');
59
        test(function() {
60
            checkDOMPoint(new DOMPoint({x:1, y: undefined, z:3}), {x:1, y:0, z:3, w:1});
61
        },'testConstructorDictionary2undefined');
62
        test(function() {
63
            checkDOMPoint(new DOMPoint({x:1, z:3}), {x:1, y:0, z:3, w:1});
64
        },'testConstructorDOMPoint');
65
        test(function() {
43
        test(function() {
66
            checkDOMPoint(new DOMPoint(1, undefined), {x:1, y:0, z:0, w:1});
44
            checkDOMPoint(new DOMPoint(1, undefined), {x:1, y:0, z:0, w:1});
67
        },'testConstructor2undefined');
45
        },'testConstructor2undefined');
Lines 69-82 a/LayoutTests/imported/w3c/web-platform-tests/css/geometry/DOMPoint-001.html_sec4
69
            checkDOMPoint(new DOMPoint("a", "b"), {x:NaN, y:NaN, z:0, w:1});
47
            checkDOMPoint(new DOMPoint("a", "b"), {x:NaN, y:NaN, z:0, w:1});
70
        },'testConstructorUndefined1');
48
        },'testConstructorUndefined1');
71
        test(function() {
49
        test(function() {
72
            checkDOMPoint(new DOMPoint({x:"a", y:"b"}), {x:NaN, y:NaN, z:0, w:1});
50
            checkDOMPoint(new DOMPoint({x:"a", y:"b"}), {x:NaN, y:0, z:0, w:1});
73
        },'testConstructorUndefined2');
51
        },'testConstructorUndefined2');
74
        test(function() {
52
        test(function() {
75
            assert_throws(new TypeError(), function() { new DOMPointReadOnly();})
53
            checkDOMPoint(new DOMPointReadOnly(), {x:0, y:0, z:0, w:1});
76
        },'testConstructorIllegal1');
54
        },'DOMPointReadOnly constructor with no values');
77
        test(function() {
55
        test(function() {
78
            assert_throws(new TypeError(), function() { new DOMPointReadOnly(1, 2, 3, 4);})
56
            checkDOMPoint(new DOMPointReadOnly(1, 2, 3, 4), {x:1, y:2, z:3, w:4});
79
        },'testConstructorIllegal2');
57
        },'DOMPointReadOnly constructor with 4 values');
80
        test(function() {
58
        test(function() {
81
            var p = new DOMPoint(0, 0, 0, 1);
59
            var p = new DOMPoint(0, 0, 0, 1);
82
            p.x = undefined;
60
            p.x = undefined;
- a/LayoutTests/imported/w3c/web-platform-tests/css/geometry/DOMPoint-002.html -1 / +1 lines
Lines 78-84 a/LayoutTests/imported/w3c/web-platform-tests/css/geometry/DOMPoint-002.html_sec1
78
        },'test DOMPoint matrixTransform');
78
        },'test DOMPoint matrixTransform');
79
        test(function() {
79
        test(function() {
80
            var point = new DOMPoint(42, 84);
80
            var point = new DOMPoint(42, 84);
81
            assert_throws(new TypeError(), function() {
81
            assert_throws_js(TypeError, function() {
82
              point.matrixTransform({ is2D: true, m33: 1.0000001 });
82
              point.matrixTransform({ is2D: true, m33: 1.0000001 });
83
            });
83
            });
84
        },'test DOMPoint matrixTransform with inconsistent input');
84
        },'test DOMPoint matrixTransform with inconsistent input');
- a/LayoutTests/imported/w3c/web-platform-tests/css/geometry/DOMQuad-001-expected.txt -21 / +17 lines
Lines 2-41 Test DOMQuad interface a/LayoutTests/imported/w3c/web-platform-tests/css/geometry/DOMQuad-001-expected.txt_sec1
2
2
3
3
4
PASS testConstructor0: points 
4
PASS testConstructor0: points 
5
FAIL testConstructor0: bounds undefined is not an object (evaluating 'q.bounds.x')
5
PASS testConstructor0: bounds 
6
PASS testConstructor1 
6
PASS testConstructor1 
7
PASS testConstructor2 
7
PASS testConstructor2 
8
PASS testConstructor3 
8
PASS testConstructor3 
9
PASS testConstructor4 
9
PASS testConstructor4 
10
FAIL testConstructor5: points assert_equals: Expected value for p2.x is 110 expected 110 but got 0
10
PASS fromRect() method on DOMQuad: points 
11
FAIL testConstructor5: bounds undefined is not an object (evaluating 'q.bounds.x')
11
PASS fromRect() method on DOMQuad: bounds 
12
FAIL testConstructor6: points assert_equals: Expected value for p2.x is -90 expected -90 but got 0
12
PASS fromRect() method on DOMQuad with negatives: points 
13
FAIL testConstructor6: bounds undefined is not an object (evaluating 'q.bounds.x')
13
PASS fromRect() method on DOMQuad with negatives: bounds 
14
FAIL testConstructor7: points assert_equals: Expected value for p2.x is NaN expected NaN but got 0
14
PASS fromRect() method on DOMQuad with Infinity: points 
15
FAIL testConstructor7: bounds undefined is not an object (evaluating 'q.bounds.x')
15
PASS fromRect() method on DOMQuad with Infinity: bounds 
16
PASS testConstructor8: points 
16
PASS testConstructor8: points 
17
FAIL testConstructor8: bounds undefined is not an object (evaluating 'q.bounds.x')
17
PASS testConstructor8: bounds 
18
PASS testConstructor9: points 
18
PASS testConstructor9: points 
19
FAIL testConstructor9: bounds undefined is not an object (evaluating 'q.bounds.x')
19
PASS testConstructor9: bounds 
20
PASS testConstructor10: points 
20
PASS testConstructor10: points 
21
FAIL testConstructor10: bounds undefined is not an object (evaluating 'q.bounds.x')
21
PASS testConstructor10: bounds 
22
PASS testConstructor11: points 
22
PASS testConstructor11: points 
23
FAIL testConstructor11: bounds undefined is not an object (evaluating 'q.bounds.x')
23
PASS testConstructor11: bounds 
24
PASS testConstructor12: points 
24
PASS testConstructor12: points 
25
FAIL testConstructor12: bounds undefined is not an object (evaluating 'q.bounds.x')
25
PASS testConstructor12: bounds 
26
PASS testConstructor13: points 
26
PASS testConstructor13: points 
27
FAIL testConstructor13: bounds undefined is not an object (evaluating 'q.bounds.x')
27
PASS testConstructor13: bounds 
28
PASS testConstructor14: points 
28
PASS testConstructor14: points 
29
FAIL testConstructor14: bounds undefined is not an object (evaluating 'q.bounds.x')
29
PASS testConstructor14: bounds 
30
PASS testConstructor15 
30
PASS testConstructor15 
31
PASS testConstructor16: points 
31
PASS testConstructor16: points 
32
FAIL testConstructor16: bounds undefined is not an object (evaluating 'q.bounds.x')
32
PASS testConstructor16: bounds 
33
PASS p1Top4Attributes0: points 
33
PASS p1Top4Attributes0: points 
34
FAIL p1Top4Attributes0: bounds undefined is not an object (evaluating 'q.bounds.x')
34
PASS p1Top4Attributes0: bounds 
35
PASS p1Top4Attributes1: points 
35
PASS p1Top4Attributes1: points 
36
FAIL p1Top4Attributes1: bounds undefined is not an object (evaluating 'q.bounds.x')
36
PASS p1Top4Attributes1: bounds 
37
PASS boundsAttribute0: points 
38
FAIL boundsAttribute0: bounds assert_equals: Expected value for bounds.x is 0 expected 0 but got 10
39
FAIL boundsAttribute1: points undefined is not an object (evaluating 'q.bounds.x = 10')
40
FAIL boundsAttribute1: bounds undefined is not an object (evaluating 'q.bounds.x = 10')
41
37
- a/LayoutTests/imported/w3c/web-platform-tests/css/geometry/DOMQuad-001.html -38 / +22 lines
Lines 3-15 a/LayoutTests/imported/w3c/web-platform-tests/css/geometry/DOMQuad-001.html_sec1
3
<head>
3
<head>
4
    <title>Geometry Interfaces: DOMQuad interface tests</title>
4
    <title>Geometry Interfaces: DOMQuad interface tests</title>
5
    <link rel="author" title="Dirk Schulze" href="mailto:dschulze@adobe.com" />
5
    <link rel="author" title="Dirk Schulze" href="mailto:dschulze@adobe.com" />
6
    <link rel="help" href="http://www.w3.org/TR/geometry-1/#DOMQuad">
6
    <link rel="help" href="https://www.w3.org/TR/geometry-1/#dom-domquad-domquad">
7
    <link rel="help" href="http://www.w3.org/TR/geometry-1/#dom-domquad-domquad">
7
    <link rel="help" href="https://www.w3.org/TR/geometry-1/#dom-domquad-p1">
8
    <link rel="help" href="http://www.w3.org/TR/geometry-1/#dom-domquad-p1">
8
    <link rel="help" href="https://www.w3.org/TR/geometry-1/#dom-domquad-p2">
9
    <link rel="help" href="http://www.w3.org/TR/geometry-1/#dom-domquad-p2">
9
    <link rel="help" href="https://www.w3.org/TR/geometry-1/#dom-domquad-p3">
10
    <link rel="help" href="http://www.w3.org/TR/geometry-1/#dom-domquad-p3">
10
    <link rel="help" href="https://www.w3.org/TR/geometry-1/#dom-domquad-p4">
11
    <link rel="help" href="http://www.w3.org/TR/geometry-1/#dom-domquad-p4">
11
    <link rel="help" href="https://www.w3.org/TR/geometry-1/#DOMQuad">
12
    <link rel="help" href="http://www.w3.org/TR/geometry-1/#dom-domquad-bounds">
13
    <script src="/resources/testharness.js"></script>
12
    <script src="/resources/testharness.js"></script>
14
    <script src="/resources/testharnessreport.js"></script>
13
    <script src="/resources/testharnessreport.js"></script>
15
</head>
14
</head>
Lines 28-74 a/LayoutTests/imported/w3c/web-platform-tests/css/geometry/DOMQuad-001.html_sec2
28
        checkDOMQuad(function() { return new DOMQuad(); }, initial, 'testConstructor0');
27
        checkDOMQuad(function() { return new DOMQuad(); }, initial, 'testConstructor0');
29
28
30
        test(function() {
29
        test(function() {
31
            assert_throws(new TypeError(), function() { new DOMQuad(1); });
30
            assert_throws_js(TypeError, function() { new DOMQuad(1); });
32
        },'testConstructor1');
31
        },'testConstructor1');
33
32
34
        test(function() {
33
        test(function() {
35
            assert_throws(new TypeError(), function() { new DOMQuad(1, 2); });
34
            assert_throws_js(TypeError, function() { new DOMQuad(1, 2); });
36
        },'testConstructor2');
35
        },'testConstructor2');
37
36
38
        test(function() {
37
        test(function() {
39
            assert_throws(new TypeError(), function() { new DOMQuad(1, 2, 3); });
38
            assert_throws_js(TypeError, function() { new DOMQuad(1, 2, 3); });
40
        },'testConstructor3');
39
        },'testConstructor3');
41
40
42
        test(function() {
41
        test(function() {
43
            assert_throws(new TypeError(), function() { new DOMQuad(1, 2, 3, 4); });
42
            assert_throws_js(TypeError, function() { new DOMQuad(1, 2, 3, 4); });
44
        },'testConstructor4');
43
        },'testConstructor4');
45
44
46
        checkDOMQuad(
45
        checkDOMQuad(
47
                function() { return new DOMQuad(new DOMRect(10, 20, 100, 200)); },
46
                function() { return DOMQuad.fromRect(new DOMRect(10, 20, 100, 200)); },
48
                {   p1: { x: 10, y: 20, z: 0, w: 1 },
47
                {   p1: { x: 10, y: 20, z: 0, w: 1 },
49
                    p2: { x: 110, y: 20, z: 0, w: 1 },
48
                    p2: { x: 110, y: 20, z: 0, w: 1 },
50
                    p3: { x: 110, y: 220, z: 0, w: 1 },
49
                    p3: { x: 110, y: 220, z: 0, w: 1 },
51
                    p4: { x: 10, y: 220, z: 0, w: 1 },
50
                    p4: { x: 10, y: 220, z: 0, w: 1 },
52
                    bounds: { x: 10, y: 20, width: 100, height: 200 } },
51
                    bounds: { x: 10, y: 20, width: 100, height: 200 } },
53
                'testConstructor5');
52
                'fromRect() method on DOMQuad');
54
53
55
        checkDOMQuad(
54
        checkDOMQuad(
56
                function() { return new DOMQuad(new DOMRect(10, 20, -100, -200)) },
55
                function() { return DOMQuad.fromRect(new DOMRect(10, 20, -100, -200)) },
57
                {   p1: { x: 10, y: 20, z: 0, w: 1 },
56
                {   p1: { x: 10, y: 20, z: 0, w: 1 },
58
                    p2: { x: -90, y: 20, z: 0, w: 1 },
57
                    p2: { x: -90, y: 20, z: 0, w: 1 },
59
                    p3: { x: -90, y: -180, z: 0, w: 1 },
58
                    p3: { x: -90, y: -180, z: 0, w: 1 },
60
                    p4: { x: 10, y: -180, z: 0, w: 1 },
59
                    p4: { x: 10, y: -180, z: 0, w: 1 },
61
                    bounds: { x: -90, y: -180, width: 100, height: 200 } },
60
                    bounds: { x: -90, y: -180, width: 100, height: 200 } },
62
                'testConstructor6');
61
                'fromRect() method on DOMQuad with negatives');
63
62
64
        checkDOMQuad(
63
        checkDOMQuad(
65
                function() { return new DOMQuad(new DOMRect(-Infinity, -Infinity, Infinity, Infinity)) },
64
                function() { return DOMQuad.fromRect(new DOMRect(-Infinity, -Infinity, Infinity, Infinity)) },
66
                {   p1: { x: -Infinity, y: -Infinity, z: 0, w: 1 },
65
                {   p1: { x: -Infinity, y: -Infinity, z: 0, w: 1 },
67
                    p2: { x: NaN, y: -Infinity, z: 0, w: 1 },
66
                    p2: { x: NaN, y: -Infinity, z: 0, w: 1 },
68
                    p3: { x: NaN, y: NaN, z: 0, w: 1 },
67
                    p3: { x: NaN, y: NaN, z: 0, w: 1 },
69
                    p4: { x: -Infinity, y: NaN, z: 0, w: 1 },
68
                    p4: { x: -Infinity, y: NaN, z: 0, w: 1 },
70
                    bounds: { x: -Infinity, y: -Infinity, width: NaN, height: NaN } },
69
                    bounds: { x: NaN, y: NaN, width: NaN, height: NaN } },
71
                'testConstructor7');
70
                'fromRect() method on DOMQuad with Infinity');
72
71
73
        checkDOMQuad(function() { return new DOMQuad(new DOMRect()); }, initial, 'testConstructor8');
72
        checkDOMQuad(function() { return new DOMQuad(new DOMRect()); }, initial, 'testConstructor8');
74
73
Lines 85-91 a/LayoutTests/imported/w3c/web-platform-tests/css/geometry/DOMQuad-001.html_sec3
85
        checkDOMQuad(function() { return new DOMQuad({}, {}, {}, {}, NaN); }, initial, 'testConstructor14');
84
        checkDOMQuad(function() { return new DOMQuad({}, {}, {}, {}, NaN); }, initial, 'testConstructor14');
86
85
87
        test(function() {
86
        test(function() {
88
            assert_throws(new TypeError(), function() { new DOMQuad({}, {}, {}, NaN); });
87
            assert_throws_js(TypeError, function() { new DOMQuad({}, {}, {}, NaN); });
89
        },'testConstructor15');
88
        },'testConstructor15');
90
89
91
        checkDOMQuad(function() {
90
        checkDOMQuad(function() {
Lines 123-143 a/LayoutTests/imported/w3c/web-platform-tests/css/geometry/DOMQuad-001.html_sec4
123
            bounds: { x: 2, y: 0, width: 0, height: 0 } },
122
            bounds: { x: 2, y: 0, width: 0, height: 0 } },
124
        'p1Top4Attributes1');
123
        'p1Top4Attributes1');
125
124
126
        checkDOMQuad(function() {
127
            var q = new DOMQuad({}, {}, {}, {});
128
            q.bounds = new DOMRect(10, 10, 100, 100);
129
            return q;
130
        }, initial, 'boundsAttribute0');
131
132
        checkDOMQuad(function() {
133
            var q = new DOMQuad({}, {}, {}, {});
134
            q.bounds.x = 10;
135
            q.bounds.y = 10;
136
            q.bounds.width = 100;
137
            q.bounds.height = 100;
138
            return q;
139
        }, initial, 'boundsAttribute1');
140
141
        function checkDOMQuad(createQuad, exp, name) {
125
        function checkDOMQuad(createQuad, exp, name) {
142
            test(function() {
126
            test(function() {
143
                var q = createQuad();
127
                var q = createQuad();
Lines 161-170 a/LayoutTests/imported/w3c/web-platform-tests/css/geometry/DOMQuad-001.html_sec5
161
145
162
            test(function() {
146
            test(function() {
163
                var q = createQuad();
147
                var q = createQuad();
164
                assert_equals(q.bounds.x, exp.bounds.x, "Expected value for bounds.x is " + exp.bounds.x);
148
                assert_equals(q.getBounds().x, exp.bounds.x, "Expected value for getBounds().x is " + exp.bounds.x);
165
                assert_equals(q.bounds.y, exp.bounds.y, "Expected value for bounds.y is " + exp.bounds.y);
149
                assert_equals(q.getBounds().y, exp.bounds.y, "Expected value for getBounds().y is " + exp.bounds.y);
166
                assert_equals(q.bounds.width, exp.bounds.width, "Expected value for bounds.width is " + exp.bounds.width);
150
                assert_equals(q.getBounds().width, exp.bounds.width, "Expected value for getBounds().width is " + exp.bounds.width);
167
                assert_equals(q.bounds.height, exp.bounds.height, "Expected value for bounds.height is " + exp.bounds.height);
151
                assert_equals(q.getBounds().height, exp.bounds.height, "Expected value for getBounds().height is " + exp.bounds.height);
168
            }, name + ": bounds");
152
            }, name + ": bounds");
169
        }
153
        }
170
    </script>
154
    </script>
- a/LayoutTests/imported/w3c/web-platform-tests/css/geometry/DOMQuad-002.html -3 / +3 lines
Lines 73-87 a/LayoutTests/imported/w3c/web-platform-tests/css/geometry/DOMQuad-002.html_sec1
73
        },'test Constructor with four DOMPoint args');
73
        },'test Constructor with four DOMPoint args');
74
74
75
        test(function() {
75
        test(function() {
76
            assert_throws(new TypeError(), function() { new DOMQuad(1, 2, 3, 4); });
76
            assert_throws_js(TypeError, function() { new DOMQuad(1, 2, 3, 4); });
77
        },'test Constructor with invaild integer args');
77
        },'test Constructor with invaild integer args');
78
78
79
        test(function() {
79
        test(function() {
80
            assert_throws(new TypeError(), function() { new DOMQuad("1", "2", "3", "4"); });
80
            assert_throws_js(TypeError, function() { new DOMQuad("1", "2", "3", "4"); });
81
        },'test Constructor with invaild string args');
81
        },'test Constructor with invaild string args');
82
82
83
        test(function() {
83
        test(function() {
84
            assert_throws(new TypeError(), function() { new DOMQuad({}, {}, {}, NaN); });
84
            assert_throws_js(TypeError, function() { new DOMQuad({}, {}, {}, NaN); });
85
        },'test Constructor with NaN');
85
        },'test Constructor with NaN');
86
86
87
        test(function() {
87
        test(function() {
- a/LayoutTests/imported/w3c/web-platform-tests/css/geometry/DOMQuad-nan-expected.txt +10 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/geometry/DOMQuad-nan-expected.txt_sec1
1
2
PASS Setting DOMQuad's p1.x to NaN 
3
PASS Setting DOMQuad's p1.y to NaN 
4
PASS Setting DOMQuad's p2.x to NaN 
5
PASS Setting DOMQuad's p2.y to NaN 
6
PASS Setting DOMQuad's p3.x to NaN 
7
PASS Setting DOMQuad's p3.y to NaN 
8
PASS Setting DOMQuad's p4.x to NaN 
9
PASS Setting DOMQuad's p4.y to NaN 
10
- a/LayoutTests/imported/w3c/web-platform-tests/css/geometry/DOMQuad-nan.html +34 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/geometry/DOMQuad-nan.html_sec1
1
<!DOCTYPE html>
2
<meta charset=utf-8>
3
<title>DOMRect's handling of NaN in top/bottom/left/right</title>
4
<link rel=help href="https://drafts.fxtf.org/geometry/#dom-domrectreadonly-domrect-top">
5
<link rel=help href="https://drafts.fxtf.org/geometry/#dom-domrectreadonly-domrect-bottom">
6
<link rel=help href="https://drafts.fxtf.org/geometry/#dom-domrectreadonly-domrect-left">
7
<link rel=help href="https://drafts.fxtf.org/geometry/#dom-domrectreadonly-domrect-right">
8
<script src="/resources/testharness.js"></script>
9
<script src="/resources/testharnessreport.js"></script>
10
<script>
11
"use strict";
12
13
for (const i of [1, 2, 3, 4]) {
14
  for (const comp of ["x", "y"]) {
15
    test(() => {
16
      const args = [{ x: 0, y: 0 }, { x: 0, y: 0 }, { x: 0, y: 0 }, { x: 0, y: 0 }];
17
      args[i - 1][comp] = NaN;
18
      const quad = new DOMQuad(...args);
19
      const bounds = quad.getBounds();
20
      if (comp === "x") {
21
        assert_equals(bounds.x, NaN, "x coordinate");
22
        assert_equals(bounds.y, 0, "y coordinate");
23
        assert_equals(bounds.width, NaN, "width");
24
        assert_equals(bounds.height, 0, "height");
25
      } else {
26
        assert_equals(bounds.x, 0, "x coordinate");
27
        assert_equals(bounds.y, NaN, "y coordinate");
28
        assert_equals(bounds.width, 0, "width");
29
        assert_equals(bounds.height, NaN, "height");
30
      }
31
    }, `Setting DOMQuad's p${i}.${comp} to NaN`);
32
  }
33
}
34
</script>
- a/LayoutTests/imported/w3c/web-platform-tests/css/geometry/DOMRect-001.html -4 / +1 lines
Lines 3-12 a/LayoutTests/imported/w3c/web-platform-tests/css/geometry/DOMRect-001.html_sec1
3
<head>
3
<head>
4
    <title>Geometry Interfaces: DOMRect and DOMRectReadOnly interface tests</title>
4
    <title>Geometry Interfaces: DOMRect and DOMRectReadOnly interface tests</title>
5
    <link rel="author" title="Dirk Schulze" href="mailto:dschulze@adobe.com" />
5
    <link rel="author" title="Dirk Schulze" href="mailto:dschulze@adobe.com" />
6
    <link rel="help" href="http://www.w3.org/TR/geometry-1/#DOMRect">
6
    <link rel="help" href="https://www.w3.org/TR/geometry-1/#DOMRect">
7
    <link rel="help" href="http://www.w3.org/TR/geometry-1/#dom-domrect">
8
    <link rel="help" href="http://www.w3.org/TR/geometry-1/#dom-domrectreadonly">
9
    <link rel="help" href="http://www.w3.org/TR/geometry-1/#dom-domrect-domrect">
10
    <link rel="help" href="http://www.w3.org/TR/geometry-1/#dom-domrectreadonly-domrect-x">
7
    <link rel="help" href="http://www.w3.org/TR/geometry-1/#dom-domrectreadonly-domrect-x">
11
    <link rel="help" href="http://www.w3.org/TR/geometry-1/#dom-domrectreadonly-domrect-y">
8
    <link rel="help" href="http://www.w3.org/TR/geometry-1/#dom-domrectreadonly-domrect-y">
12
    <link rel="help" href="http://www.w3.org/TR/geometry-1/#dom-domrectreadonly-domrect-width">
9
    <link rel="help" href="http://www.w3.org/TR/geometry-1/#dom-domrectreadonly-domrect-width">
- a/LayoutTests/imported/w3c/web-platform-tests/css/geometry/DOMRect-002-expected.txt +34 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/geometry/DOMRect-002-expected.txt_sec1
1
2
PASS DOMRect constructor without parameter 
3
PASS DOMRect constructor with one parameter 
4
PASS DOMRect constructor with two parameters 
5
PASS DOMRect constructor with three parameters 
6
PASS DOMRect constructor with four parameters 
7
PASS DOMRect constructor with five parameters 
8
PASS DOMRect constructor with negative width 
9
PASS DOMRect constructor with negative height 
10
PASS DOMRect constructor with negative width and height 
11
PASS DOMRect constructor with undefined 
12
PASS DOMRect constructor with NaN and infinity and null 
13
PASS DOMRect constructor with number string 
14
PASS DOMRect constructor with character string 
15
PASS DOMRectReadOnly constructor without parameter 
16
PASS DOMRectReadOnly constructor with one parameter 
17
PASS DOMRectReadOnly constructor with two parameters 
18
PASS DOMRectReadOnly constructor with three parameters 
19
PASS DOMRectReadOnly constructor with four parameters 
20
PASS DOMRectReadOnly constructor with five parameters 
21
PASS DOMRectReadOnly constructor with negative width 
22
PASS DOMRectReadOnly constructor with negative height 
23
PASS DOMRectReadOnly constructor with negative width and height 
24
PASS DOMRectReadOnly constructor with undefined 
25
PASS DOMRectReadOnly constructor with NaN and infinity and null 
26
PASS DOMRectReadOnly constructor with number string 
27
PASS DOMRectReadOnly constructor with character string 
28
PASS DOMRect: set top/right/bottom/left 
29
PASS DOMRect: set x/y/width/height 
30
PASS DOMRectReadOnly: set top/right/bottom/left 
31
PASS DOMRectReadOnly: set x/y/width/height 
32
PASS DOMRect.fromRect 
33
PASS DOMRectReadOnly.fromRect 
34
- a/LayoutTests/imported/w3c/web-platform-tests/css/geometry/DOMRect-002.html +171 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/geometry/DOMRect-002.html_sec1
1
<!DOCTYPE html>
2
<html>
3
<head>
4
    <title>Geometry Interfaces: DOMRect and DOMRectReadOnly interface tests</title>
5
    <link rel="author" title="Hwanseung Lee" href="mailto:hs1217.lee@samsung.com" />
6
    <link rel="help" href="https://drafts.fxtf.org/geometry-1/#DOMRect">
7
    <script src="/resources/testharness.js"></script>
8
    <script src="/resources/testharnessreport.js"></script>
9
</head>
10
<body>
11
    <div id="log"></div>
12
    <script>
13
        testConstructor("DOMRect");
14
        testConstructor("DOMRectReadOnly");
15
        test(function() {
16
            var r = new DOMRect();
17
            r.top = 5;
18
            assert_equals(r.top, 0, "top");
19
            r.right = 5;
20
            assert_equals(r.right, 0, "right");
21
            r.bottom = 5;
22
            assert_equals(r.bottom, 0, "bottom");
23
            r.left = 5;
24
            assert_equals(r.left, 0, "left");
25
        }, 'DOMRect: set top/right/bottom/left');
26
27
        test(function() {
28
            var r = new DOMRect();
29
            r.x = 5;
30
            assert_equals(r.x, 5, "Expected value for x is 5");
31
            assert_equals(r.left, 5, "Expected value for left is 5");
32
            assert_equals(r.right, 5, "Expected value for right is 5");
33
            r.y = 5;
34
            assert_equals(r.y, 5, "Expected value for y is 5");
35
            assert_equals(r.top, 5, "Expected value for top is 5");
36
            assert_equals(r.bottom, 5, "Expected value for bottom is 5");
37
            r.width = 5;
38
            assert_equals(r.width, 5, "Expected value for width is 5");
39
            assert_equals(r.left, 5, "Expected value for left is 5");
40
            assert_equals(r.right, 10, "Expected value for right is 10");
41
            r.height = 5;
42
            assert_equals(r.height, 5, "Expected value for height is 5");
43
            assert_equals(r.top, 5, "Expected value for top is 5");
44
            assert_equals(r.bottom, 10, "Expected value for bottom is 10");
45
        }, 'DOMRect: set x/y/width/height');
46
47
        test(function() {
48
            var r = new DOMRectReadOnly();
49
            r.top = 5;
50
            assert_equals(r.top, 0, "top after setting top");
51
            assert_equals(r.y, 0, "y after setting top");
52
            assert_equals(r.bottom, 0, "bottom after setting top");
53
            r.right = 5;
54
            assert_equals(r.right, 0, "right after setting right");
55
            assert_equals(r.x, 0, "x after setting right");
56
            assert_equals(r.left, 0, "left after setting right");
57
            r.bottom = 5;
58
            assert_equals(r.bottom, 0, "bottom after setting bottom");
59
            assert_equals(r.y, 0, "y after setting bottom");
60
            assert_equals(r.top, 0, "top after setting bottom");
61
            r.left = 5;
62
            assert_equals(r.left, 0, "left after setting left");
63
            assert_equals(r.x, 0, "x after setting left");
64
            assert_equals(r.right, 0, "right after setting left");
65
        }, 'DOMRectReadOnly: set top/right/bottom/left');
66
67
        test(function() {
68
            var r = new DOMRectReadOnly();
69
            r.x = 5;
70
            assert_equals(r.x, 0, "x after setting x");
71
            assert_equals(r.left, 0, "left after setting x");
72
            assert_equals(r.right, 0, "right after setting x");
73
            r.y = 5;
74
            assert_equals(r.y, 0, "y after setting y");
75
            assert_equals(r.top, 0, "top after setting y");
76
            assert_equals(r.bottom, 0, "bottom after setting y");
77
            r.width = 5;
78
            assert_equals(r.width, 0, "width after setting width");
79
            assert_equals(r.x, 0, "x after setting width");
80
            assert_equals(r.right, 0, "right after setting width");
81
            r.height = 5;
82
            assert_equals(r.height, 0, "height after setting height");
83
            assert_equals(r.y, 0, "y after setting height");
84
            assert_equals(r.bottom, 0, "bottom after setting height");
85
        }, 'DOMRectReadOnly: set x/y/width/height');
86
87
        test(function() {
88
            var actual = DOMRect.fromRect({x: 1, y: 2, width: 3, height: 4});
89
            var expected = new DOMRect(1, 2, 3, 4);
90
            checkDOMRect(actual, expected);
91
            assert_true(actual instanceof DOMRectReadOnly, "actual instanceof DOMRectReadOnly");
92
            assert_true(actual instanceof DOMRect, "actual instanceof DOMRect");
93
        }, 'DOMRect.fromRect');
94
95
        test(function() {
96
            var actual = DOMRectReadOnly.fromRect({x: 1, y: 2, width: 3, height: 4});
97
            var expected = new DOMRectReadOnly(1, 2, 3, 4);
98
            checkDOMRect(actual, expected);
99
            assert_true(actual instanceof DOMRectReadOnly, "actual instanceof DOMRectReadOnly");
100
            assert_false(actual instanceof DOMRect, "actual instanceof DOMRect");
101
        }, 'DOMRectReadOnly.fromRect');
102
103
        function testConstructor(constructorString) {
104
            var constructor = self[constructorString];
105
            test(function() {
106
                checkDOMRect(new constructor(),
107
                    { x: 0, y: 0, width: 0, height: 0, top: 0, right: 0, bottom: 0, left: 0 });
108
            }, constructorString + ' constructor without parameter');
109
            test(function() {
110
                checkDOMRect(new constructor(1),
111
                    { x: 1, y: 0, width: 0, height: 0, top: 0, right: 1, bottom: 0, left: 1 });
112
            }, constructorString + ' constructor with one parameter');
113
            test(function() {
114
                checkDOMRect(new constructor(1, 2),
115
                    { x: 1, y: 2, width: 0, height: 0, top: 2, right: 1, bottom: 2, left: 1 });
116
            }, constructorString + ' constructor with two parameters');
117
            test(function() {
118
                checkDOMRect(new constructor(1, 2, 3),
119
                    { x: 1, y: 2, width: 3, height: 0, top: 2, right: 4, bottom: 2, left: 1 });
120
            }, constructorString + ' constructor with three parameters');
121
            test(function() {
122
                checkDOMRect(new constructor(1, 2, 3, 4),
123
                    { x: 1, y: 2, width: 3, height: 4, top: 2, right: 4, bottom: 6, left: 1 });
124
            }, constructorString + ' constructor with four parameters');
125
            test(function() {
126
                checkDOMRect(new constructor(1, 2, 3, 4, 5),
127
                    { x: 1, y: 2, width: 3, height: 4, top: 2, right: 4, bottom: 6, left: 1 });
128
            }, constructorString + ' constructor with five parameters');
129
            test(function() {
130
                checkDOMRect(new constructor(2, 2, -4, 4),
131
                    { x: 2, y: 2, width: -4, height: 4, top: 2, right: 2, bottom: 6, left: -2 });
132
            }, constructorString + ' constructor with negative width');
133
            test(function() {
134
                checkDOMRect(new constructor(2, 2, 4, -4),
135
                    { x: 2, y: 2, width: 4, height: -4, top: -2, right: 6, bottom: 2, left: 2 });
136
            }, constructorString + ' constructor with negative height');
137
            test(function() {
138
                checkDOMRect(new constructor(2, 2, -4, -4),
139
                    { x: 2, y: 2, width: -4, height: -4, top: -2, right: 2, bottom: 2, left: -2 });
140
            }, constructorString + ' constructor with negative width and height');
141
            test(function() {
142
                checkDOMRect(new constructor(0, 0, undefined, 4),
143
                    { x: 0, y: 0, width: 0, height: 4, top: 0, right: 0, bottom: 4, left: 0 });
144
            }, constructorString + ' constructor with undefined');
145
            test(function() {
146
                checkDOMRect(new constructor(NaN, Number.NEGATIVE_INFINITY, Number.POSITIVE_INFINITY, null),
147
                    { x: NaN, y: -Infinity, width: Infinity, height: 0, top: -Infinity, right: NaN, bottom: -Infinity, left: NaN });
148
            }, constructorString + ' constructor with NaN and infinity and null');
149
            test(function() {
150
                checkDOMRect(new constructor("1", "2", "3", "4"),
151
                    { x: 1, y: 2, width: 3, height: 4, top: 2, right: 4, bottom: 6, left: 1 });
152
            }, constructorString + ' constructor with number string');
153
            test(function() {
154
                checkDOMRect(new constructor("a", "b", "c", "d"),
155
                    { x: NaN, y: NaN, width: NaN, height: NaN, top: NaN, right: NaN, bottom: NaN, left: NaN });
156
            }, constructorString + ' constructor with character string');
157
        }
158
159
        function checkDOMRect(r, exp) {
160
            assert_equals(r.x, exp.x, "x");
161
            assert_equals(r.y, exp.y, "y");
162
            assert_equals(r.width, exp.width, "width");
163
            assert_equals(r.height, exp.height, "height");
164
            assert_equals(r.top, exp.top, "top");
165
            assert_equals(r.left, exp.left, "left");
166
            assert_equals(r.bottom, exp.bottom, "bottom");
167
            assert_equals(r.right, exp.right, "right");
168
        }
169
    </script>
170
</body>
171
</html>
- a/LayoutTests/imported/w3c/web-platform-tests/css/geometry/DOMRect-nan-expected.txt +10 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/geometry/DOMRect-nan-expected.txt_sec1
1
2
PASS DOMRect's x coordinate is NaN 
3
PASS DOMRect's y coordinate is NaN 
4
PASS DOMRect's width is NaN 
5
PASS DOMRect's height is NaN 
6
PASS DOMRectReadOnly's x coordinate is NaN 
7
PASS DOMRectReadOnly's y coordinate is NaN 
8
PASS DOMRectReadOnly's width is NaN 
9
PASS DOMRectReadOnly's height is NaN 
10
- a/LayoutTests/imported/w3c/web-platform-tests/css/geometry/DOMRect-nan.html +79 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/geometry/DOMRect-nan.html_sec1
1
<!DOCTYPE html>
2
<meta charset=utf-8>
3
<title>DOMQuad's handling of NaN in getBounds()</title>
4
<link rel=help href="https://drafts.fxtf.org/geometry/#dom-domquad-getbounds">
5
<script src="/resources/testharness.js"></script>
6
<script src="/resources/testharnessreport.js"></script>
7
<script>
8
"use strict";
9
10
const testCases = [
11
  {
12
    name: "x coordinate is NaN",
13
    idx: 0,
14
    exp: {
15
      x: NaN,
16
      y: 0,
17
      width: 0,
18
      height: 0,
19
      top: 0,
20
      bottom: 0,
21
      left: NaN,
22
      right: NaN
23
    }
24
  },
25
  {
26
    name: "y coordinate is NaN",
27
    idx: 1,
28
    exp: {
29
      x: 0,
30
      y: NaN,
31
      width: 0,
32
      height: 0,
33
      top: NaN,
34
      bottom: NaN,
35
      left: 0,
36
      right: 0
37
    }
38
  },
39
  {
40
    name: "width is NaN",
41
    idx: 2,
42
    exp: {
43
      x: 0,
44
      y: 0,
45
      width: NaN,
46
      height: 0,
47
      top: 0,
48
      bottom: 0,
49
      left: NaN,
50
      right: NaN
51
    }
52
  },
53
  {
54
    name: "height is NaN",
55
    idx: 3,
56
    exp: {
57
      x: 0,
58
      y: 0,
59
      width: 0,
60
      height: NaN,
61
      top: NaN,
62
      bottom: NaN,
63
      left: 0,
64
      right: 0
65
    }
66
  },
67
];
68
69
for (const Rect of [DOMRect, DOMRectReadOnly]) {
70
  for (const testCase of testCases) {
71
    test(() => {
72
      const args = [0, 0, 0, 0];
73
      args[testCase.idx] = NaN;
74
      const rect = new Rect(...args);
75
      assert_object_equals(rect.toJSON(), testCase.exp);
76
    }, `${Rect.name}'s ${testCase.name}`);
77
  }
78
}
79
</script>
- a/LayoutTests/imported/w3c/web-platform-tests/css/geometry/DOMRectList-expected.txt +8 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/geometry/DOMRectList-expected.txt_sec1
1
x
2
3
PASS DOMRectList is not [NoInterfaceObject] 
4
PASS DOMRectList is not [LegacyArrayClass] 
5
PASS DOMRectList length 
6
PASS DOMRectList indexed getter 
7
PASS DOMRectList item() 
8
- a/LayoutTests/imported/w3c/web-platform-tests/css/geometry/DOMRectList.html +36 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/geometry/DOMRectList.html_sec1
1
<!DOCTYPE html>
2
<title>Geometry interfaces: DOMRectList</title>
3
<link rel="help" href="https://drafts.fxtf.org/geometry-1/#DOMRectList">
4
<script src=/resources/testharness.js></script>
5
<script src=/resources/testharnessreport.js></script>
6
<div id=x>x</div>
7
<script>
8
setup(() => {
9
  window.domRectList = document.getElementById('x').getClientRects();
10
});
11
12
test(() => {
13
  assert_true('DOMRectList' in window);
14
}, 'DOMRectList is not [NoInterfaceObject]');
15
16
test(() => {
17
  assert_false(domRectList instanceof Array);
18
}, 'DOMRectList is not [LegacyArrayClass]');
19
20
test(() => {
21
  assert_equals(domRectList.length, 1);
22
}, 'DOMRectList length');
23
24
test(() => {
25
  assert_equals(domRectList[-1], undefined, 'domRectList[-1]');
26
  assert_class_string(domRectList[0], 'DOMRect', 'domRectList[0]');
27
  assert_equals(domRectList[1], undefined, 'domRectList[1]');
28
}, 'DOMRectList indexed getter');
29
30
test(() => {
31
  assert_equals(domRectList.item(-1), null, 'domRectList.item(-1)');
32
  assert_class_string(domRectList.item(0), 'DOMRect', 'domRectList.item(0)');
33
  assert_equals(domRectList.item(1), null, 'domRectList.item(1)');
34
  assert_equals(domRectList.item(0), domRectList[0], 'domRectList.item(0) should equal domRectList[0]');
35
}, 'DOMRectList item()');
36
</script>
- a/LayoutTests/imported/w3c/web-platform-tests/css/geometry/META.yml +4 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/geometry/META.yml_sec1
1
spec: https://drafts.fxtf.org/geometry/
2
suggested_reviewers:
3
  - peterjoel
4
  - dirkschulze
- a/LayoutTests/imported/w3c/web-platform-tests/css/geometry/OWNERS -3 lines
Lines 1-3 a/LayoutTests/imported/w3c/web-platform-tests/css/geometry/OWNERS_sec1
1
@peterjoel
2
@tschneidereit
3
@dirkschulze
- a/LayoutTests/imported/w3c/web-platform-tests/css/geometry/historical-expected.txt -1 / +1 lines
Lines 1-5 a/LayoutTests/imported/w3c/web-platform-tests/css/geometry/historical-expected.txt_sec1
1
1
2
PASS DOMMatrixReadOnly scaleNonUniform must be nuked 
3
PASS DOMMatrix scaleNonUniformSelf must be nuked 
2
PASS DOMMatrix scaleNonUniformSelf must be nuked 
4
PASS DOMMatrix multiplyBy must be nuked 
3
PASS DOMMatrix multiplyBy must be nuked 
5
PASS DOMMatrix preMultiplyBy must be nuked 
4
PASS DOMMatrix preMultiplyBy must be nuked 
Lines 12-17 PASS DOMMatrix rotateFromVectorBy must be nuked a/LayoutTests/imported/w3c/web-platform-tests/css/geometry/historical-expected.txt_sec2
12
PASS DOMMatrix rotateAxisAngleBy must be nuked 
11
PASS DOMMatrix rotateAxisAngleBy must be nuked 
13
PASS DOMMatrix skewXBy must be nuked 
12
PASS DOMMatrix skewXBy must be nuked 
14
PASS DOMMatrix skewYBy must be nuked 
13
PASS DOMMatrix skewYBy must be nuked 
14
PASS DOMQuad bounds must be nuked 
15
PASS DOMMatrix fromString static member must be nuked 
15
PASS DOMMatrix fromString static member must be nuked 
16
PASS DOMMatrixReadOnly fromString static member must be nuked 
16
PASS DOMMatrixReadOnly fromString static member must be nuked 
17
PASS DOMMatrixReadOnly scale number of required arguments 
17
PASS DOMMatrixReadOnly scale number of required arguments 
- a/LayoutTests/imported/w3c/web-platform-tests/css/geometry/historical.html -1 / +2 lines
Lines 7-13 a/LayoutTests/imported/w3c/web-platform-tests/css/geometry/historical.html_sec1
7
// Removed members
7
// Removed members
8
[
8
[
9
  // https://github.com/w3c/fxtf-drafts/commit/99e3212469026b2f2f50926a41912d110a1741b7
9
  // https://github.com/w3c/fxtf-drafts/commit/99e3212469026b2f2f50926a41912d110a1741b7
10
  ['DOMMatrixReadOnly', 'scaleNonUniform'],
11
  ['DOMMatrix', 'scaleNonUniformSelf'],
10
  ['DOMMatrix', 'scaleNonUniformSelf'],
12
  // https://github.com/w3c/fxtf-drafts/commit/86da3dc961d442f9d8dc7ab59065a9804e109286
11
  // https://github.com/w3c/fxtf-drafts/commit/86da3dc961d442f9d8dc7ab59065a9804e109286
13
  ['DOMMatrix', 'multiplyBy'],
12
  ['DOMMatrix', 'multiplyBy'],
Lines 21-26 a/LayoutTests/imported/w3c/web-platform-tests/css/geometry/historical.html_sec2
21
  ['DOMMatrix', 'rotateAxisAngleBy'],
20
  ['DOMMatrix', 'rotateAxisAngleBy'],
22
  ['DOMMatrix', 'skewXBy'],
21
  ['DOMMatrix', 'skewXBy'],
23
  ['DOMMatrix', 'skewYBy'],
22
  ['DOMMatrix', 'skewYBy'],
23
  // https://github.com/w3c/fxtf-drafts/commit/555a8c0beb1b7b809ccebd861a0352df31530b56
24
  ['DOMQuad', 'bounds'],
24
].forEach(([interf, member]) => {
25
].forEach(([interf, member]) => {
25
  test(() => {
26
  test(() => {
26
    assert_true(interf in self, `${interf} should exist`);
27
    assert_true(interf in self, `${interf} should exist`);
- a/LayoutTests/imported/w3c/web-platform-tests/css/geometry/idlharness-expected.txt +385 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/geometry/idlharness-expected.txt_sec1
1
2
PASS Test driver 
3
PASS DOMPointReadOnly interface: existence and properties of interface object 
4
PASS DOMPointReadOnly interface object length 
5
PASS DOMPointReadOnly interface object name 
6
PASS DOMPointReadOnly interface: existence and properties of interface prototype object 
7
PASS DOMPointReadOnly interface: existence and properties of interface prototype object's "constructor" property 
8
PASS DOMPointReadOnly interface: existence and properties of interface prototype object's @@unscopables property 
9
PASS DOMPointReadOnly interface: operation fromPoint(optional DOMPointInit) 
10
PASS DOMPointReadOnly interface: attribute x 
11
PASS DOMPointReadOnly interface: attribute y 
12
PASS DOMPointReadOnly interface: attribute z 
13
PASS DOMPointReadOnly interface: attribute w 
14
PASS DOMPointReadOnly interface: operation matrixTransform(optional DOMMatrixInit) 
15
PASS DOMPointReadOnly interface: operation toJSON() 
16
PASS DOMPointReadOnly must be primary interface of new DOMPointReadOnly() 
17
PASS Stringification of new DOMPointReadOnly() 
18
PASS DOMPointReadOnly interface: new DOMPointReadOnly() must inherit property "fromPoint(optional DOMPointInit)" with the proper type 
19
PASS DOMPointReadOnly interface: calling fromPoint(optional DOMPointInit) on new DOMPointReadOnly() with too few arguments must throw TypeError 
20
PASS DOMPointReadOnly interface: new DOMPointReadOnly() must inherit property "x" with the proper type 
21
PASS DOMPointReadOnly interface: new DOMPointReadOnly() must inherit property "y" with the proper type 
22
PASS DOMPointReadOnly interface: new DOMPointReadOnly() must inherit property "z" with the proper type 
23
PASS DOMPointReadOnly interface: new DOMPointReadOnly() must inherit property "w" with the proper type 
24
PASS DOMPointReadOnly interface: new DOMPointReadOnly() must inherit property "matrixTransform(optional DOMMatrixInit)" with the proper type 
25
PASS DOMPointReadOnly interface: calling matrixTransform(optional DOMMatrixInit) on new DOMPointReadOnly() with too few arguments must throw TypeError 
26
PASS DOMPointReadOnly interface: new DOMPointReadOnly() must inherit property "toJSON()" with the proper type 
27
PASS DOMPointReadOnly interface: default toJSON operation on new DOMPointReadOnly() 
28
PASS DOMPoint interface: existence and properties of interface object 
29
PASS DOMPoint interface object length 
30
PASS DOMPoint interface object name 
31
FAIL DOMPoint interface: legacy window alias assert_equals: self.SVGPoint should be the same value as self.DOMPoint expected function "function DOMPoint() {
32
    [native code]
33
}" but got function "function SVGPoint() {
34
    [native code]
35
}"
36
PASS DOMPoint interface: existence and properties of interface prototype object 
37
PASS DOMPoint interface: existence and properties of interface prototype object's "constructor" property 
38
PASS DOMPoint interface: existence and properties of interface prototype object's @@unscopables property 
39
PASS DOMPoint interface: operation fromPoint(optional DOMPointInit) 
40
PASS DOMPoint interface: attribute x 
41
PASS DOMPoint interface: attribute y 
42
PASS DOMPoint interface: attribute z 
43
PASS DOMPoint interface: attribute w 
44
PASS DOMPoint must be primary interface of new DOMPoint() 
45
PASS Stringification of new DOMPoint() 
46
PASS DOMPoint interface: new DOMPoint() must inherit property "fromPoint(optional DOMPointInit)" with the proper type 
47
PASS DOMPoint interface: calling fromPoint(optional DOMPointInit) on new DOMPoint() with too few arguments must throw TypeError 
48
PASS DOMPoint interface: new DOMPoint() must inherit property "x" with the proper type 
49
PASS DOMPoint interface: new DOMPoint() must inherit property "y" with the proper type 
50
PASS DOMPoint interface: new DOMPoint() must inherit property "z" with the proper type 
51
PASS DOMPoint interface: new DOMPoint() must inherit property "w" with the proper type 
52
PASS DOMPointReadOnly interface: new DOMPoint() must inherit property "fromPoint(optional DOMPointInit)" with the proper type 
53
PASS DOMPointReadOnly interface: calling fromPoint(optional DOMPointInit) on new DOMPoint() with too few arguments must throw TypeError 
54
PASS DOMPointReadOnly interface: new DOMPoint() must inherit property "x" with the proper type 
55
PASS DOMPointReadOnly interface: new DOMPoint() must inherit property "y" with the proper type 
56
PASS DOMPointReadOnly interface: new DOMPoint() must inherit property "z" with the proper type 
57
PASS DOMPointReadOnly interface: new DOMPoint() must inherit property "w" with the proper type 
58
PASS DOMPointReadOnly interface: new DOMPoint() must inherit property "matrixTransform(optional DOMMatrixInit)" with the proper type 
59
PASS DOMPointReadOnly interface: calling matrixTransform(optional DOMMatrixInit) on new DOMPoint() with too few arguments must throw TypeError 
60
PASS DOMPointReadOnly interface: new DOMPoint() must inherit property "toJSON()" with the proper type 
61
PASS DOMPointReadOnly interface: default toJSON operation on new DOMPoint() 
62
PASS DOMRectReadOnly interface: existence and properties of interface object 
63
PASS DOMRectReadOnly interface object length 
64
PASS DOMRectReadOnly interface object name 
65
PASS DOMRectReadOnly interface: existence and properties of interface prototype object 
66
PASS DOMRectReadOnly interface: existence and properties of interface prototype object's "constructor" property 
67
PASS DOMRectReadOnly interface: existence and properties of interface prototype object's @@unscopables property 
68
PASS DOMRectReadOnly interface: operation fromRect(optional DOMRectInit) 
69
PASS DOMRectReadOnly interface: attribute x 
70
PASS DOMRectReadOnly interface: attribute y 
71
PASS DOMRectReadOnly interface: attribute width 
72
PASS DOMRectReadOnly interface: attribute height 
73
PASS DOMRectReadOnly interface: attribute top 
74
PASS DOMRectReadOnly interface: attribute right 
75
PASS DOMRectReadOnly interface: attribute bottom 
76
PASS DOMRectReadOnly interface: attribute left 
77
PASS DOMRectReadOnly interface: operation toJSON() 
78
PASS DOMRectReadOnly must be primary interface of new DOMRectReadOnly() 
79
PASS Stringification of new DOMRectReadOnly() 
80
PASS DOMRectReadOnly interface: new DOMRectReadOnly() must inherit property "fromRect(optional DOMRectInit)" with the proper type 
81
PASS DOMRectReadOnly interface: calling fromRect(optional DOMRectInit) on new DOMRectReadOnly() with too few arguments must throw TypeError 
82
PASS DOMRectReadOnly interface: new DOMRectReadOnly() must inherit property "x" with the proper type 
83
PASS DOMRectReadOnly interface: new DOMRectReadOnly() must inherit property "y" with the proper type 
84
PASS DOMRectReadOnly interface: new DOMRectReadOnly() must inherit property "width" with the proper type 
85
PASS DOMRectReadOnly interface: new DOMRectReadOnly() must inherit property "height" with the proper type 
86
PASS DOMRectReadOnly interface: new DOMRectReadOnly() must inherit property "top" with the proper type 
87
PASS DOMRectReadOnly interface: new DOMRectReadOnly() must inherit property "right" with the proper type 
88
PASS DOMRectReadOnly interface: new DOMRectReadOnly() must inherit property "bottom" with the proper type 
89
PASS DOMRectReadOnly interface: new DOMRectReadOnly() must inherit property "left" with the proper type 
90
PASS DOMRectReadOnly interface: new DOMRectReadOnly() must inherit property "toJSON()" with the proper type 
91
PASS DOMRectReadOnly interface: default toJSON operation on new DOMRectReadOnly() 
92
PASS DOMRect interface: existence and properties of interface object 
93
PASS DOMRect interface object length 
94
PASS DOMRect interface object name 
95
FAIL DOMRect interface: legacy window alias assert_equals: self.SVGRect should be the same value as self.DOMRect expected function "function DOMRect() {
96
    [native code]
97
}" but got function "function SVGRect() {
98
    [native code]
99
}"
100
PASS DOMRect interface: existence and properties of interface prototype object 
101
PASS DOMRect interface: existence and properties of interface prototype object's "constructor" property 
102
PASS DOMRect interface: existence and properties of interface prototype object's @@unscopables property 
103
PASS DOMRect interface: operation fromRect(optional DOMRectInit) 
104
PASS DOMRect interface: attribute x 
105
PASS DOMRect interface: attribute y 
106
PASS DOMRect interface: attribute width 
107
PASS DOMRect interface: attribute height 
108
PASS DOMRect must be primary interface of new DOMRect() 
109
PASS Stringification of new DOMRect() 
110
PASS DOMRect interface: new DOMRect() must inherit property "fromRect(optional DOMRectInit)" with the proper type 
111
PASS DOMRect interface: calling fromRect(optional DOMRectInit) on new DOMRect() with too few arguments must throw TypeError 
112
PASS DOMRect interface: new DOMRect() must inherit property "x" with the proper type 
113
PASS DOMRect interface: new DOMRect() must inherit property "y" with the proper type 
114
PASS DOMRect interface: new DOMRect() must inherit property "width" with the proper type 
115
PASS DOMRect interface: new DOMRect() must inherit property "height" with the proper type 
116
PASS DOMRectReadOnly interface: new DOMRect() must inherit property "fromRect(optional DOMRectInit)" with the proper type 
117
PASS DOMRectReadOnly interface: calling fromRect(optional DOMRectInit) on new DOMRect() with too few arguments must throw TypeError 
118
PASS DOMRectReadOnly interface: new DOMRect() must inherit property "x" with the proper type 
119
PASS DOMRectReadOnly interface: new DOMRect() must inherit property "y" with the proper type 
120
PASS DOMRectReadOnly interface: new DOMRect() must inherit property "width" with the proper type 
121
PASS DOMRectReadOnly interface: new DOMRect() must inherit property "height" with the proper type 
122
PASS DOMRectReadOnly interface: new DOMRect() must inherit property "top" with the proper type 
123
PASS DOMRectReadOnly interface: new DOMRect() must inherit property "right" with the proper type 
124
PASS DOMRectReadOnly interface: new DOMRect() must inherit property "bottom" with the proper type 
125
PASS DOMRectReadOnly interface: new DOMRect() must inherit property "left" with the proper type 
126
PASS DOMRectReadOnly interface: new DOMRect() must inherit property "toJSON()" with the proper type 
127
PASS DOMRectReadOnly interface: default toJSON operation on new DOMRect() 
128
PASS DOMRectList interface: existence and properties of interface object 
129
PASS DOMRectList interface object length 
130
PASS DOMRectList interface object name 
131
PASS DOMRectList interface: existence and properties of interface prototype object 
132
PASS DOMRectList interface: existence and properties of interface prototype object's "constructor" property 
133
PASS DOMRectList interface: existence and properties of interface prototype object's @@unscopables property 
134
PASS DOMRectList interface: attribute length 
135
PASS DOMRectList interface: operation item(unsigned long) 
136
PASS DOMRectList must be primary interface of [object DOMRectList] 
137
PASS Stringification of [object DOMRectList] 
138
PASS DOMRectList interface: [object DOMRectList] must inherit property "length" with the proper type 
139
PASS DOMRectList interface: [object DOMRectList] must inherit property "item(unsigned long)" with the proper type 
140
PASS DOMRectList interface: calling item(unsigned long) on [object DOMRectList] with too few arguments must throw TypeError 
141
PASS DOMQuad interface: existence and properties of interface object 
142
PASS DOMQuad interface object length 
143
PASS DOMQuad interface object name 
144
PASS DOMQuad interface: existence and properties of interface prototype object 
145
PASS DOMQuad interface: existence and properties of interface prototype object's "constructor" property 
146
PASS DOMQuad interface: existence and properties of interface prototype object's @@unscopables property 
147
PASS DOMQuad interface: operation fromRect(optional DOMRectInit) 
148
PASS DOMQuad interface: operation fromQuad(optional DOMQuadInit) 
149
PASS DOMQuad interface: attribute p1 
150
PASS DOMQuad interface: attribute p2 
151
PASS DOMQuad interface: attribute p3 
152
PASS DOMQuad interface: attribute p4 
153
PASS DOMQuad interface: operation getBounds() 
154
PASS DOMQuad interface: operation toJSON() 
155
PASS DOMQuad must be primary interface of new DOMQuad() 
156
PASS Stringification of new DOMQuad() 
157
PASS DOMQuad interface: new DOMQuad() must inherit property "fromRect(optional DOMRectInit)" with the proper type 
158
PASS DOMQuad interface: calling fromRect(optional DOMRectInit) on new DOMQuad() with too few arguments must throw TypeError 
159
PASS DOMQuad interface: new DOMQuad() must inherit property "fromQuad(optional DOMQuadInit)" with the proper type 
160
PASS DOMQuad interface: calling fromQuad(optional DOMQuadInit) on new DOMQuad() with too few arguments must throw TypeError 
161
PASS DOMQuad interface: new DOMQuad() must inherit property "p1" with the proper type 
162
PASS DOMQuad interface: new DOMQuad() must inherit property "p2" with the proper type 
163
PASS DOMQuad interface: new DOMQuad() must inherit property "p3" with the proper type 
164
PASS DOMQuad interface: new DOMQuad() must inherit property "p4" with the proper type 
165
PASS DOMQuad interface: new DOMQuad() must inherit property "getBounds()" with the proper type 
166
PASS DOMQuad interface: new DOMQuad() must inherit property "toJSON()" with the proper type 
167
FAIL DOMQuad interface: default toJSON operation on new DOMQuad() assert_true: instanceof DOMPoint expected true got false
168
PASS DOMMatrixReadOnly interface: existence and properties of interface object 
169
PASS DOMMatrixReadOnly interface object length 
170
PASS DOMMatrixReadOnly interface object name 
171
PASS DOMMatrixReadOnly interface: existence and properties of interface prototype object 
172
PASS DOMMatrixReadOnly interface: existence and properties of interface prototype object's "constructor" property 
173
PASS DOMMatrixReadOnly interface: existence and properties of interface prototype object's @@unscopables property 
174
PASS DOMMatrixReadOnly interface: operation fromMatrix(optional DOMMatrixInit) 
175
PASS DOMMatrixReadOnly interface: operation fromFloat32Array(Float32Array) 
176
PASS DOMMatrixReadOnly interface: operation fromFloat64Array(Float64Array) 
177
PASS DOMMatrixReadOnly interface: attribute a 
178
PASS DOMMatrixReadOnly interface: attribute b 
179
PASS DOMMatrixReadOnly interface: attribute c 
180
PASS DOMMatrixReadOnly interface: attribute d 
181
PASS DOMMatrixReadOnly interface: attribute e 
182
PASS DOMMatrixReadOnly interface: attribute f 
183
PASS DOMMatrixReadOnly interface: attribute m11 
184
PASS DOMMatrixReadOnly interface: attribute m12 
185
PASS DOMMatrixReadOnly interface: attribute m13 
186
PASS DOMMatrixReadOnly interface: attribute m14 
187
PASS DOMMatrixReadOnly interface: attribute m21 
188
PASS DOMMatrixReadOnly interface: attribute m22 
189
PASS DOMMatrixReadOnly interface: attribute m23 
190
PASS DOMMatrixReadOnly interface: attribute m24 
191
PASS DOMMatrixReadOnly interface: attribute m31 
192
PASS DOMMatrixReadOnly interface: attribute m32 
193
PASS DOMMatrixReadOnly interface: attribute m33 
194
PASS DOMMatrixReadOnly interface: attribute m34 
195
PASS DOMMatrixReadOnly interface: attribute m41 
196
PASS DOMMatrixReadOnly interface: attribute m42 
197
PASS DOMMatrixReadOnly interface: attribute m43 
198
PASS DOMMatrixReadOnly interface: attribute m44 
199
PASS DOMMatrixReadOnly interface: attribute is2D 
200
PASS DOMMatrixReadOnly interface: attribute isIdentity 
201
PASS DOMMatrixReadOnly interface: operation translate(optional unrestricted double, optional unrestricted double, optional unrestricted double) 
202
PASS DOMMatrixReadOnly interface: operation scale(optional unrestricted double, optional unrestricted double, optional unrestricted double, optional unrestricted double, optional unrestricted double, optional unrestricted double) 
203
FAIL DOMMatrixReadOnly interface: operation scaleNonUniform(optional unrestricted double, optional unrestricted double) assert_own_property: interface prototype object missing non-static operation expected property "scaleNonUniform" missing
204
PASS DOMMatrixReadOnly interface: operation scale3d(optional unrestricted double, optional unrestricted double, optional unrestricted double, optional unrestricted double) 
205
PASS DOMMatrixReadOnly interface: operation rotate(optional unrestricted double, optional unrestricted double, optional unrestricted double) 
206
PASS DOMMatrixReadOnly interface: operation rotateFromVector(optional unrestricted double, optional unrestricted double) 
207
PASS DOMMatrixReadOnly interface: operation rotateAxisAngle(optional unrestricted double, optional unrestricted double, optional unrestricted double, optional unrestricted double) 
208
PASS DOMMatrixReadOnly interface: operation skewX(optional unrestricted double) 
209
PASS DOMMatrixReadOnly interface: operation skewY(optional unrestricted double) 
210
PASS DOMMatrixReadOnly interface: operation multiply(optional DOMMatrixInit) 
211
PASS DOMMatrixReadOnly interface: operation flipX() 
212
PASS DOMMatrixReadOnly interface: operation flipY() 
213
PASS DOMMatrixReadOnly interface: operation inverse() 
214
PASS DOMMatrixReadOnly interface: operation transformPoint(optional DOMPointInit) 
215
PASS DOMMatrixReadOnly interface: operation toFloat32Array() 
216
PASS DOMMatrixReadOnly interface: operation toFloat64Array() 
217
PASS DOMMatrixReadOnly interface: stringifier 
218
PASS DOMMatrixReadOnly interface: operation toJSON() 
219
PASS DOMMatrixReadOnly must be primary interface of new DOMMatrixReadOnly() 
220
PASS Stringification of new DOMMatrixReadOnly() 
221
PASS DOMMatrixReadOnly interface: new DOMMatrixReadOnly() must inherit property "fromMatrix(optional DOMMatrixInit)" with the proper type 
222
PASS DOMMatrixReadOnly interface: calling fromMatrix(optional DOMMatrixInit) on new DOMMatrixReadOnly() with too few arguments must throw TypeError 
223
PASS DOMMatrixReadOnly interface: new DOMMatrixReadOnly() must inherit property "fromFloat32Array(Float32Array)" with the proper type 
224
PASS DOMMatrixReadOnly interface: calling fromFloat32Array(Float32Array) on new DOMMatrixReadOnly() with too few arguments must throw TypeError 
225
PASS DOMMatrixReadOnly interface: new DOMMatrixReadOnly() must inherit property "fromFloat64Array(Float64Array)" with the proper type 
226
PASS DOMMatrixReadOnly interface: calling fromFloat64Array(Float64Array) on new DOMMatrixReadOnly() with too few arguments must throw TypeError 
227
PASS DOMMatrixReadOnly interface: new DOMMatrixReadOnly() must inherit property "a" with the proper type 
228
PASS DOMMatrixReadOnly interface: new DOMMatrixReadOnly() must inherit property "b" with the proper type 
229
PASS DOMMatrixReadOnly interface: new DOMMatrixReadOnly() must inherit property "c" with the proper type 
230
PASS DOMMatrixReadOnly interface: new DOMMatrixReadOnly() must inherit property "d" with the proper type 
231
PASS DOMMatrixReadOnly interface: new DOMMatrixReadOnly() must inherit property "e" with the proper type 
232
PASS DOMMatrixReadOnly interface: new DOMMatrixReadOnly() must inherit property "f" with the proper type 
233
PASS DOMMatrixReadOnly interface: new DOMMatrixReadOnly() must inherit property "m11" with the proper type 
234
PASS DOMMatrixReadOnly interface: new DOMMatrixReadOnly() must inherit property "m12" with the proper type 
235
PASS DOMMatrixReadOnly interface: new DOMMatrixReadOnly() must inherit property "m13" with the proper type 
236
PASS DOMMatrixReadOnly interface: new DOMMatrixReadOnly() must inherit property "m14" with the proper type 
237
PASS DOMMatrixReadOnly interface: new DOMMatrixReadOnly() must inherit property "m21" with the proper type 
238
PASS DOMMatrixReadOnly interface: new DOMMatrixReadOnly() must inherit property "m22" with the proper type 
239
PASS DOMMatrixReadOnly interface: new DOMMatrixReadOnly() must inherit property "m23" with the proper type 
240
PASS DOMMatrixReadOnly interface: new DOMMatrixReadOnly() must inherit property "m24" with the proper type 
241
PASS DOMMatrixReadOnly interface: new DOMMatrixReadOnly() must inherit property "m31" with the proper type 
242
PASS DOMMatrixReadOnly interface: new DOMMatrixReadOnly() must inherit property "m32" with the proper type 
243
PASS DOMMatrixReadOnly interface: new DOMMatrixReadOnly() must inherit property "m33" with the proper type 
244
PASS DOMMatrixReadOnly interface: new DOMMatrixReadOnly() must inherit property "m34" with the proper type 
245
PASS DOMMatrixReadOnly interface: new DOMMatrixReadOnly() must inherit property "m41" with the proper type 
246
PASS DOMMatrixReadOnly interface: new DOMMatrixReadOnly() must inherit property "m42" with the proper type 
247
PASS DOMMatrixReadOnly interface: new DOMMatrixReadOnly() must inherit property "m43" with the proper type 
248
PASS DOMMatrixReadOnly interface: new DOMMatrixReadOnly() must inherit property "m44" with the proper type 
249
PASS DOMMatrixReadOnly interface: new DOMMatrixReadOnly() must inherit property "is2D" with the proper type 
250
PASS DOMMatrixReadOnly interface: new DOMMatrixReadOnly() must inherit property "isIdentity" with the proper type 
251
PASS DOMMatrixReadOnly interface: new DOMMatrixReadOnly() must inherit property "translate(optional unrestricted double, optional unrestricted double, optional unrestricted double)" with the proper type 
252
PASS DOMMatrixReadOnly interface: calling translate(optional unrestricted double, optional unrestricted double, optional unrestricted double) on new DOMMatrixReadOnly() with too few arguments must throw TypeError 
253
PASS DOMMatrixReadOnly interface: new DOMMatrixReadOnly() must inherit property "scale(optional unrestricted double, optional unrestricted double, optional unrestricted double, optional unrestricted double, optional unrestricted double, optional unrestricted double)" with the proper type 
254
PASS DOMMatrixReadOnly interface: calling scale(optional unrestricted double, optional unrestricted double, optional unrestricted double, optional unrestricted double, optional unrestricted double, optional unrestricted double) on new DOMMatrixReadOnly() with too few arguments must throw TypeError 
255
FAIL DOMMatrixReadOnly interface: new DOMMatrixReadOnly() must inherit property "scaleNonUniform(optional unrestricted double, optional unrestricted double)" with the proper type assert_inherits: property "scaleNonUniform" not found in prototype chain
256
FAIL DOMMatrixReadOnly interface: calling scaleNonUniform(optional unrestricted double, optional unrestricted double) on new DOMMatrixReadOnly() with too few arguments must throw TypeError assert_inherits: property "scaleNonUniform" not found in prototype chain
257
PASS DOMMatrixReadOnly interface: new DOMMatrixReadOnly() must inherit property "scale3d(optional unrestricted double, optional unrestricted double, optional unrestricted double, optional unrestricted double)" with the proper type 
258
PASS DOMMatrixReadOnly interface: calling scale3d(optional unrestricted double, optional unrestricted double, optional unrestricted double, optional unrestricted double) on new DOMMatrixReadOnly() with too few arguments must throw TypeError 
259
PASS DOMMatrixReadOnly interface: new DOMMatrixReadOnly() must inherit property "rotate(optional unrestricted double, optional unrestricted double, optional unrestricted double)" with the proper type 
260
PASS DOMMatrixReadOnly interface: calling rotate(optional unrestricted double, optional unrestricted double, optional unrestricted double) on new DOMMatrixReadOnly() with too few arguments must throw TypeError 
261
PASS DOMMatrixReadOnly interface: new DOMMatrixReadOnly() must inherit property "rotateFromVector(optional unrestricted double, optional unrestricted double)" with the proper type 
262
PASS DOMMatrixReadOnly interface: calling rotateFromVector(optional unrestricted double, optional unrestricted double) on new DOMMatrixReadOnly() with too few arguments must throw TypeError 
263
PASS DOMMatrixReadOnly interface: new DOMMatrixReadOnly() must inherit property "rotateAxisAngle(optional unrestricted double, optional unrestricted double, optional unrestricted double, optional unrestricted double)" with the proper type 
264
PASS DOMMatrixReadOnly interface: calling rotateAxisAngle(optional unrestricted double, optional unrestricted double, optional unrestricted double, optional unrestricted double) on new DOMMatrixReadOnly() with too few arguments must throw TypeError 
265
PASS DOMMatrixReadOnly interface: new DOMMatrixReadOnly() must inherit property "skewX(optional unrestricted double)" with the proper type 
266
PASS DOMMatrixReadOnly interface: calling skewX(optional unrestricted double) on new DOMMatrixReadOnly() with too few arguments must throw TypeError 
267
PASS DOMMatrixReadOnly interface: new DOMMatrixReadOnly() must inherit property "skewY(optional unrestricted double)" with the proper type 
268
PASS DOMMatrixReadOnly interface: calling skewY(optional unrestricted double) on new DOMMatrixReadOnly() with too few arguments must throw TypeError 
269
PASS DOMMatrixReadOnly interface: new DOMMatrixReadOnly() must inherit property "multiply(optional DOMMatrixInit)" with the proper type 
270
PASS DOMMatrixReadOnly interface: calling multiply(optional DOMMatrixInit) on new DOMMatrixReadOnly() with too few arguments must throw TypeError 
271
PASS DOMMatrixReadOnly interface: new DOMMatrixReadOnly() must inherit property "flipX()" with the proper type 
272
PASS DOMMatrixReadOnly interface: new DOMMatrixReadOnly() must inherit property "flipY()" with the proper type 
273
PASS DOMMatrixReadOnly interface: new DOMMatrixReadOnly() must inherit property "inverse()" with the proper type 
274
PASS DOMMatrixReadOnly interface: new DOMMatrixReadOnly() must inherit property "transformPoint(optional DOMPointInit)" with the proper type 
275
PASS DOMMatrixReadOnly interface: calling transformPoint(optional DOMPointInit) on new DOMMatrixReadOnly() with too few arguments must throw TypeError 
276
PASS DOMMatrixReadOnly interface: new DOMMatrixReadOnly() must inherit property "toFloat32Array()" with the proper type 
277
PASS DOMMatrixReadOnly interface: new DOMMatrixReadOnly() must inherit property "toFloat64Array()" with the proper type 
278
PASS DOMMatrixReadOnly interface: new DOMMatrixReadOnly() must inherit property "toJSON()" with the proper type 
279
PASS DOMMatrixReadOnly interface: default toJSON operation on new DOMMatrixReadOnly() 
280
PASS DOMMatrixReadOnly must be primary interface of DOMMatrixReadOnly.fromMatrix({is2D: false}) 
281
PASS Stringification of DOMMatrixReadOnly.fromMatrix({is2D: false}) 
282
PASS DOMMatrix interface: existence and properties of interface object 
283
PASS DOMMatrix interface object length 
284
PASS DOMMatrix interface object name 
285
FAIL DOMMatrix interface: legacy window alias assert_equals: self.SVGMatrix should be the same value as self.DOMMatrix expected function "function DOMMatrix() {
286
    [native code]
287
}" but got function "function SVGMatrix() {
288
    [native code]
289
}"
290
PASS DOMMatrix interface: existence and properties of interface prototype object 
291
PASS DOMMatrix interface: existence and properties of interface prototype object's "constructor" property 
292
PASS DOMMatrix interface: existence and properties of interface prototype object's @@unscopables property 
293
PASS DOMMatrix interface: operation fromMatrix(optional DOMMatrixInit) 
294
PASS DOMMatrix interface: operation fromFloat32Array(Float32Array) 
295
PASS DOMMatrix interface: operation fromFloat64Array(Float64Array) 
296
PASS DOMMatrix interface: attribute a 
297
PASS DOMMatrix interface: attribute b 
298
PASS DOMMatrix interface: attribute c 
299
PASS DOMMatrix interface: attribute d 
300
PASS DOMMatrix interface: attribute e 
301
PASS DOMMatrix interface: attribute f 
302
PASS DOMMatrix interface: attribute m11 
303
PASS DOMMatrix interface: attribute m12 
304
PASS DOMMatrix interface: attribute m13 
305
PASS DOMMatrix interface: attribute m14 
306
PASS DOMMatrix interface: attribute m21 
307
PASS DOMMatrix interface: attribute m22 
308
PASS DOMMatrix interface: attribute m23 
309
PASS DOMMatrix interface: attribute m24 
310
PASS DOMMatrix interface: attribute m31 
311
PASS DOMMatrix interface: attribute m32 
312
PASS DOMMatrix interface: attribute m33 
313
PASS DOMMatrix interface: attribute m34 
314
PASS DOMMatrix interface: attribute m41 
315
PASS DOMMatrix interface: attribute m42 
316
PASS DOMMatrix interface: attribute m43 
317
PASS DOMMatrix interface: attribute m44 
318
PASS DOMMatrix interface: operation multiplySelf(optional DOMMatrixInit) 
319
PASS DOMMatrix interface: operation preMultiplySelf(optional DOMMatrixInit) 
320
PASS DOMMatrix interface: operation translateSelf(optional unrestricted double, optional unrestricted double, optional unrestricted double) 
321
PASS DOMMatrix interface: operation scaleSelf(optional unrestricted double, optional unrestricted double, optional unrestricted double, optional unrestricted double, optional unrestricted double, optional unrestricted double) 
322
PASS DOMMatrix interface: operation scale3dSelf(optional unrestricted double, optional unrestricted double, optional unrestricted double, optional unrestricted double) 
323
PASS DOMMatrix interface: operation rotateSelf(optional unrestricted double, optional unrestricted double, optional unrestricted double) 
324
PASS DOMMatrix interface: operation rotateFromVectorSelf(optional unrestricted double, optional unrestricted double) 
325
PASS DOMMatrix interface: operation rotateAxisAngleSelf(optional unrestricted double, optional unrestricted double, optional unrestricted double, optional unrestricted double) 
326
PASS DOMMatrix interface: operation skewXSelf(optional unrestricted double) 
327
PASS DOMMatrix interface: operation skewYSelf(optional unrestricted double) 
328
PASS DOMMatrix interface: operation invertSelf() 
329
PASS DOMMatrix interface: operation setMatrixValue(DOMString) 
330
PASS DOMMatrix must be primary interface of new DOMMatrix() 
331
PASS Stringification of new DOMMatrix() 
332
PASS DOMMatrix interface: new DOMMatrix() must inherit property "fromMatrix(optional DOMMatrixInit)" with the proper type 
333
PASS DOMMatrix interface: calling fromMatrix(optional DOMMatrixInit) on new DOMMatrix() with too few arguments must throw TypeError 
334
PASS DOMMatrix interface: new DOMMatrix() must inherit property "fromFloat32Array(Float32Array)" with the proper type 
335
PASS DOMMatrix interface: calling fromFloat32Array(Float32Array) on new DOMMatrix() with too few arguments must throw TypeError 
336
PASS DOMMatrix interface: new DOMMatrix() must inherit property "fromFloat64Array(Float64Array)" with the proper type 
337
PASS DOMMatrix interface: calling fromFloat64Array(Float64Array) on new DOMMatrix() with too few arguments must throw TypeError 
338
PASS DOMMatrix interface: new DOMMatrix() must inherit property "a" with the proper type 
339
PASS DOMMatrix interface: new DOMMatrix() must inherit property "b" with the proper type 
340
PASS DOMMatrix interface: new DOMMatrix() must inherit property "c" with the proper type 
341
PASS DOMMatrix interface: new DOMMatrix() must inherit property "d" with the proper type 
342
PASS DOMMatrix interface: new DOMMatrix() must inherit property "e" with the proper type 
343
PASS DOMMatrix interface: new DOMMatrix() must inherit property "f" with the proper type 
344
PASS DOMMatrix interface: new DOMMatrix() must inherit property "m11" with the proper type 
345
PASS DOMMatrix interface: new DOMMatrix() must inherit property "m12" with the proper type 
346
PASS DOMMatrix interface: new DOMMatrix() must inherit property "m13" with the proper type 
347
PASS DOMMatrix interface: new DOMMatrix() must inherit property "m14" with the proper type 
348
PASS DOMMatrix interface: new DOMMatrix() must inherit property "m21" with the proper type 
349
PASS DOMMatrix interface: new DOMMatrix() must inherit property "m22" with the proper type 
350
PASS DOMMatrix interface: new DOMMatrix() must inherit property "m23" with the proper type 
351
PASS DOMMatrix interface: new DOMMatrix() must inherit property "m24" with the proper type 
352
PASS DOMMatrix interface: new DOMMatrix() must inherit property "m31" with the proper type 
353
PASS DOMMatrix interface: new DOMMatrix() must inherit property "m32" with the proper type 
354
PASS DOMMatrix interface: new DOMMatrix() must inherit property "m33" with the proper type 
355
PASS DOMMatrix interface: new DOMMatrix() must inherit property "m34" with the proper type 
356
PASS DOMMatrix interface: new DOMMatrix() must inherit property "m41" with the proper type 
357
PASS DOMMatrix interface: new DOMMatrix() must inherit property "m42" with the proper type 
358
PASS DOMMatrix interface: new DOMMatrix() must inherit property "m43" with the proper type 
359
PASS DOMMatrix interface: new DOMMatrix() must inherit property "m44" with the proper type 
360
PASS DOMMatrix interface: new DOMMatrix() must inherit property "multiplySelf(optional DOMMatrixInit)" with the proper type 
361
PASS DOMMatrix interface: calling multiplySelf(optional DOMMatrixInit) on new DOMMatrix() with too few arguments must throw TypeError 
362
PASS DOMMatrix interface: new DOMMatrix() must inherit property "preMultiplySelf(optional DOMMatrixInit)" with the proper type 
363
PASS DOMMatrix interface: calling preMultiplySelf(optional DOMMatrixInit) on new DOMMatrix() with too few arguments must throw TypeError 
364
PASS DOMMatrix interface: new DOMMatrix() must inherit property "translateSelf(optional unrestricted double, optional unrestricted double, optional unrestricted double)" with the proper type 
365
PASS DOMMatrix interface: calling translateSelf(optional unrestricted double, optional unrestricted double, optional unrestricted double) on new DOMMatrix() with too few arguments must throw TypeError 
366
PASS DOMMatrix interface: new DOMMatrix() must inherit property "scaleSelf(optional unrestricted double, optional unrestricted double, optional unrestricted double, optional unrestricted double, optional unrestricted double, optional unrestricted double)" with the proper type 
367
PASS DOMMatrix interface: calling scaleSelf(optional unrestricted double, optional unrestricted double, optional unrestricted double, optional unrestricted double, optional unrestricted double, optional unrestricted double) on new DOMMatrix() with too few arguments must throw TypeError 
368
PASS DOMMatrix interface: new DOMMatrix() must inherit property "scale3dSelf(optional unrestricted double, optional unrestricted double, optional unrestricted double, optional unrestricted double)" with the proper type 
369
PASS DOMMatrix interface: calling scale3dSelf(optional unrestricted double, optional unrestricted double, optional unrestricted double, optional unrestricted double) on new DOMMatrix() with too few arguments must throw TypeError 
370
PASS DOMMatrix interface: new DOMMatrix() must inherit property "rotateSelf(optional unrestricted double, optional unrestricted double, optional unrestricted double)" with the proper type 
371
PASS DOMMatrix interface: calling rotateSelf(optional unrestricted double, optional unrestricted double, optional unrestricted double) on new DOMMatrix() with too few arguments must throw TypeError 
372
PASS DOMMatrix interface: new DOMMatrix() must inherit property "rotateFromVectorSelf(optional unrestricted double, optional unrestricted double)" with the proper type 
373
PASS DOMMatrix interface: calling rotateFromVectorSelf(optional unrestricted double, optional unrestricted double) on new DOMMatrix() with too few arguments must throw TypeError 
374
PASS DOMMatrix interface: new DOMMatrix() must inherit property "rotateAxisAngleSelf(optional unrestricted double, optional unrestricted double, optional unrestricted double, optional unrestricted double)" with the proper type 
375
PASS DOMMatrix interface: calling rotateAxisAngleSelf(optional unrestricted double, optional unrestricted double, optional unrestricted double, optional unrestricted double) on new DOMMatrix() with too few arguments must throw TypeError 
376
PASS DOMMatrix interface: new DOMMatrix() must inherit property "skewXSelf(optional unrestricted double)" with the proper type 
377
PASS DOMMatrix interface: calling skewXSelf(optional unrestricted double) on new DOMMatrix() with too few arguments must throw TypeError 
378
PASS DOMMatrix interface: new DOMMatrix() must inherit property "skewYSelf(optional unrestricted double)" with the proper type 
379
PASS DOMMatrix interface: calling skewYSelf(optional unrestricted double) on new DOMMatrix() with too few arguments must throw TypeError 
380
PASS DOMMatrix interface: new DOMMatrix() must inherit property "invertSelf()" with the proper type 
381
PASS DOMMatrix interface: new DOMMatrix() must inherit property "setMatrixValue(DOMString)" with the proper type 
382
PASS DOMMatrix interface: calling setMatrixValue(DOMString) on new DOMMatrix() with too few arguments must throw TypeError 
383
PASS DOMMatrix must be primary interface of DOMMatrix.fromMatrix({is2D: false}) 
384
PASS Stringification of DOMMatrix.fromMatrix({is2D: false}) 
385
- a/LayoutTests/imported/w3c/web-platform-tests/css/geometry/idlharness.html +13 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/geometry/idlharness.html_sec1
1
<!doctype html>
2
<meta charset=utf-8>
3
<title>Geometry APIs interface IDL tests</title>
4
<link rel=help href=https://drafts.fxtf.org/geometry/#DOMPoint>
5
<link rel=help href=https://drafts.fxtf.org/geometry/#DOMRect>
6
<link rel=help href=https://drafts.fxtf.org/geometry/#DOMQuad>
7
<link rel=help href=https://drafts.fxtf.org/geometry/#DOMMatrix>
8
<script src=/resources/testharness.js></script>
9
<script src=/resources/testharnessreport.js></script>
10
<script src=/resources/WebIDLParser.js></script>
11
<script src=/resources/idlharness.js></script>
12
<div id=log></div>
13
<script src=support/interfaces.js></script>
- a/LayoutTests/imported/w3c/web-platform-tests/css/geometry/idlharness.worker-expected.txt +361 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/geometry/idlharness.worker-expected.txt_sec1
1
2
PASS Test driver 
3
PASS DOMPointReadOnly interface: existence and properties of interface object 
4
PASS DOMPointReadOnly interface object length 
5
PASS DOMPointReadOnly interface object name 
6
PASS DOMPointReadOnly interface: existence and properties of interface prototype object 
7
PASS DOMPointReadOnly interface: existence and properties of interface prototype object's "constructor" property 
8
PASS DOMPointReadOnly interface: existence and properties of interface prototype object's @@unscopables property 
9
PASS DOMPointReadOnly interface: operation fromPoint(optional DOMPointInit) 
10
PASS DOMPointReadOnly interface: attribute x 
11
PASS DOMPointReadOnly interface: attribute y 
12
PASS DOMPointReadOnly interface: attribute z 
13
PASS DOMPointReadOnly interface: attribute w 
14
PASS DOMPointReadOnly interface: operation matrixTransform(optional DOMMatrixInit) 
15
PASS DOMPointReadOnly interface: operation toJSON() 
16
PASS DOMPointReadOnly must be primary interface of new DOMPointReadOnly() 
17
PASS Stringification of new DOMPointReadOnly() 
18
PASS DOMPointReadOnly interface: new DOMPointReadOnly() must inherit property "fromPoint(optional DOMPointInit)" with the proper type 
19
PASS DOMPointReadOnly interface: calling fromPoint(optional DOMPointInit) on new DOMPointReadOnly() with too few arguments must throw TypeError 
20
PASS DOMPointReadOnly interface: new DOMPointReadOnly() must inherit property "x" with the proper type 
21
PASS DOMPointReadOnly interface: new DOMPointReadOnly() must inherit property "y" with the proper type 
22
PASS DOMPointReadOnly interface: new DOMPointReadOnly() must inherit property "z" with the proper type 
23
PASS DOMPointReadOnly interface: new DOMPointReadOnly() must inherit property "w" with the proper type 
24
PASS DOMPointReadOnly interface: new DOMPointReadOnly() must inherit property "matrixTransform(optional DOMMatrixInit)" with the proper type 
25
PASS DOMPointReadOnly interface: calling matrixTransform(optional DOMMatrixInit) on new DOMPointReadOnly() with too few arguments must throw TypeError 
26
PASS DOMPointReadOnly interface: new DOMPointReadOnly() must inherit property "toJSON()" with the proper type 
27
PASS DOMPointReadOnly interface: default toJSON operation on new DOMPointReadOnly() 
28
PASS DOMPoint interface: existence and properties of interface object 
29
PASS DOMPoint interface object length 
30
PASS DOMPoint interface object name 
31
PASS DOMPoint interface: legacy window alias 
32
PASS DOMPoint interface: existence and properties of interface prototype object 
33
PASS DOMPoint interface: existence and properties of interface prototype object's "constructor" property 
34
PASS DOMPoint interface: existence and properties of interface prototype object's @@unscopables property 
35
PASS DOMPoint interface: operation fromPoint(optional DOMPointInit) 
36
PASS DOMPoint interface: attribute x 
37
PASS DOMPoint interface: attribute y 
38
PASS DOMPoint interface: attribute z 
39
PASS DOMPoint interface: attribute w 
40
PASS DOMPoint must be primary interface of new DOMPoint() 
41
PASS Stringification of new DOMPoint() 
42
PASS DOMPoint interface: new DOMPoint() must inherit property "fromPoint(optional DOMPointInit)" with the proper type 
43
PASS DOMPoint interface: calling fromPoint(optional DOMPointInit) on new DOMPoint() with too few arguments must throw TypeError 
44
PASS DOMPoint interface: new DOMPoint() must inherit property "x" with the proper type 
45
PASS DOMPoint interface: new DOMPoint() must inherit property "y" with the proper type 
46
PASS DOMPoint interface: new DOMPoint() must inherit property "z" with the proper type 
47
PASS DOMPoint interface: new DOMPoint() must inherit property "w" with the proper type 
48
PASS DOMPointReadOnly interface: new DOMPoint() must inherit property "fromPoint(optional DOMPointInit)" with the proper type 
49
PASS DOMPointReadOnly interface: calling fromPoint(optional DOMPointInit) on new DOMPoint() with too few arguments must throw TypeError 
50
PASS DOMPointReadOnly interface: new DOMPoint() must inherit property "x" with the proper type 
51
PASS DOMPointReadOnly interface: new DOMPoint() must inherit property "y" with the proper type 
52
PASS DOMPointReadOnly interface: new DOMPoint() must inherit property "z" with the proper type 
53
PASS DOMPointReadOnly interface: new DOMPoint() must inherit property "w" with the proper type 
54
PASS DOMPointReadOnly interface: new DOMPoint() must inherit property "matrixTransform(optional DOMMatrixInit)" with the proper type 
55
PASS DOMPointReadOnly interface: calling matrixTransform(optional DOMMatrixInit) on new DOMPoint() with too few arguments must throw TypeError 
56
PASS DOMPointReadOnly interface: new DOMPoint() must inherit property "toJSON()" with the proper type 
57
PASS DOMPointReadOnly interface: default toJSON operation on new DOMPoint() 
58
PASS DOMRectReadOnly interface: existence and properties of interface object 
59
PASS DOMRectReadOnly interface object length 
60
PASS DOMRectReadOnly interface object name 
61
PASS DOMRectReadOnly interface: existence and properties of interface prototype object 
62
PASS DOMRectReadOnly interface: existence and properties of interface prototype object's "constructor" property 
63
PASS DOMRectReadOnly interface: existence and properties of interface prototype object's @@unscopables property 
64
PASS DOMRectReadOnly interface: operation fromRect(optional DOMRectInit) 
65
PASS DOMRectReadOnly interface: attribute x 
66
PASS DOMRectReadOnly interface: attribute y 
67
PASS DOMRectReadOnly interface: attribute width 
68
PASS DOMRectReadOnly interface: attribute height 
69
PASS DOMRectReadOnly interface: attribute top 
70
PASS DOMRectReadOnly interface: attribute right 
71
PASS DOMRectReadOnly interface: attribute bottom 
72
PASS DOMRectReadOnly interface: attribute left 
73
PASS DOMRectReadOnly interface: operation toJSON() 
74
PASS DOMRectReadOnly must be primary interface of new DOMRectReadOnly() 
75
PASS Stringification of new DOMRectReadOnly() 
76
PASS DOMRectReadOnly interface: new DOMRectReadOnly() must inherit property "fromRect(optional DOMRectInit)" with the proper type 
77
PASS DOMRectReadOnly interface: calling fromRect(optional DOMRectInit) on new DOMRectReadOnly() with too few arguments must throw TypeError 
78
PASS DOMRectReadOnly interface: new DOMRectReadOnly() must inherit property "x" with the proper type 
79
PASS DOMRectReadOnly interface: new DOMRectReadOnly() must inherit property "y" with the proper type 
80
PASS DOMRectReadOnly interface: new DOMRectReadOnly() must inherit property "width" with the proper type 
81
PASS DOMRectReadOnly interface: new DOMRectReadOnly() must inherit property "height" with the proper type 
82
PASS DOMRectReadOnly interface: new DOMRectReadOnly() must inherit property "top" with the proper type 
83
PASS DOMRectReadOnly interface: new DOMRectReadOnly() must inherit property "right" with the proper type 
84
PASS DOMRectReadOnly interface: new DOMRectReadOnly() must inherit property "bottom" with the proper type 
85
PASS DOMRectReadOnly interface: new DOMRectReadOnly() must inherit property "left" with the proper type 
86
PASS DOMRectReadOnly interface: new DOMRectReadOnly() must inherit property "toJSON()" with the proper type 
87
PASS DOMRectReadOnly interface: default toJSON operation on new DOMRectReadOnly() 
88
PASS DOMRect interface: existence and properties of interface object 
89
PASS DOMRect interface object length 
90
PASS DOMRect interface object name 
91
PASS DOMRect interface: legacy window alias 
92
PASS DOMRect interface: existence and properties of interface prototype object 
93
PASS DOMRect interface: existence and properties of interface prototype object's "constructor" property 
94
PASS DOMRect interface: existence and properties of interface prototype object's @@unscopables property 
95
PASS DOMRect interface: operation fromRect(optional DOMRectInit) 
96
PASS DOMRect interface: attribute x 
97
PASS DOMRect interface: attribute y 
98
PASS DOMRect interface: attribute width 
99
PASS DOMRect interface: attribute height 
100
PASS DOMRect must be primary interface of new DOMRect() 
101
PASS Stringification of new DOMRect() 
102
PASS DOMRect interface: new DOMRect() must inherit property "fromRect(optional DOMRectInit)" with the proper type 
103
PASS DOMRect interface: calling fromRect(optional DOMRectInit) on new DOMRect() with too few arguments must throw TypeError 
104
PASS DOMRect interface: new DOMRect() must inherit property "x" with the proper type 
105
PASS DOMRect interface: new DOMRect() must inherit property "y" with the proper type 
106
PASS DOMRect interface: new DOMRect() must inherit property "width" with the proper type 
107
PASS DOMRect interface: new DOMRect() must inherit property "height" with the proper type 
108
PASS DOMRectReadOnly interface: new DOMRect() must inherit property "fromRect(optional DOMRectInit)" with the proper type 
109
PASS DOMRectReadOnly interface: calling fromRect(optional DOMRectInit) on new DOMRect() with too few arguments must throw TypeError 
110
PASS DOMRectReadOnly interface: new DOMRect() must inherit property "x" with the proper type 
111
PASS DOMRectReadOnly interface: new DOMRect() must inherit property "y" with the proper type 
112
PASS DOMRectReadOnly interface: new DOMRect() must inherit property "width" with the proper type 
113
PASS DOMRectReadOnly interface: new DOMRect() must inherit property "height" with the proper type 
114
PASS DOMRectReadOnly interface: new DOMRect() must inherit property "top" with the proper type 
115
PASS DOMRectReadOnly interface: new DOMRect() must inherit property "right" with the proper type 
116
PASS DOMRectReadOnly interface: new DOMRect() must inherit property "bottom" with the proper type 
117
PASS DOMRectReadOnly interface: new DOMRect() must inherit property "left" with the proper type 
118
PASS DOMRectReadOnly interface: new DOMRect() must inherit property "toJSON()" with the proper type 
119
PASS DOMRectReadOnly interface: default toJSON operation on new DOMRect() 
120
PASS DOMRectList interface: existence and properties of interface object 
121
PASS DOMQuad interface: existence and properties of interface object 
122
PASS DOMQuad interface object length 
123
PASS DOMQuad interface object name 
124
PASS DOMQuad interface: existence and properties of interface prototype object 
125
PASS DOMQuad interface: existence and properties of interface prototype object's "constructor" property 
126
PASS DOMQuad interface: existence and properties of interface prototype object's @@unscopables property 
127
PASS DOMQuad interface: operation fromRect(optional DOMRectInit) 
128
PASS DOMQuad interface: operation fromQuad(optional DOMQuadInit) 
129
PASS DOMQuad interface: attribute p1 
130
PASS DOMQuad interface: attribute p2 
131
PASS DOMQuad interface: attribute p3 
132
PASS DOMQuad interface: attribute p4 
133
PASS DOMQuad interface: operation getBounds() 
134
PASS DOMQuad interface: operation toJSON() 
135
PASS DOMQuad must be primary interface of new DOMQuad() 
136
PASS Stringification of new DOMQuad() 
137
PASS DOMQuad interface: new DOMQuad() must inherit property "fromRect(optional DOMRectInit)" with the proper type 
138
PASS DOMQuad interface: calling fromRect(optional DOMRectInit) on new DOMQuad() with too few arguments must throw TypeError 
139
PASS DOMQuad interface: new DOMQuad() must inherit property "fromQuad(optional DOMQuadInit)" with the proper type 
140
PASS DOMQuad interface: calling fromQuad(optional DOMQuadInit) on new DOMQuad() with too few arguments must throw TypeError 
141
PASS DOMQuad interface: new DOMQuad() must inherit property "p1" with the proper type 
142
PASS DOMQuad interface: new DOMQuad() must inherit property "p2" with the proper type 
143
PASS DOMQuad interface: new DOMQuad() must inherit property "p3" with the proper type 
144
PASS DOMQuad interface: new DOMQuad() must inherit property "p4" with the proper type 
145
PASS DOMQuad interface: new DOMQuad() must inherit property "getBounds()" with the proper type 
146
PASS DOMQuad interface: new DOMQuad() must inherit property "toJSON()" with the proper type 
147
FAIL DOMQuad interface: default toJSON operation on new DOMQuad() assert_true: instanceof DOMPoint expected true got false
148
PASS DOMMatrixReadOnly interface: existence and properties of interface object 
149
PASS DOMMatrixReadOnly interface object length 
150
PASS DOMMatrixReadOnly interface object name 
151
PASS DOMMatrixReadOnly interface: existence and properties of interface prototype object 
152
PASS DOMMatrixReadOnly interface: existence and properties of interface prototype object's "constructor" property 
153
PASS DOMMatrixReadOnly interface: existence and properties of interface prototype object's @@unscopables property 
154
PASS DOMMatrixReadOnly interface: operation fromMatrix(optional DOMMatrixInit) 
155
PASS DOMMatrixReadOnly interface: operation fromFloat32Array(Float32Array) 
156
PASS DOMMatrixReadOnly interface: operation fromFloat64Array(Float64Array) 
157
PASS DOMMatrixReadOnly interface: attribute a 
158
PASS DOMMatrixReadOnly interface: attribute b 
159
PASS DOMMatrixReadOnly interface: attribute c 
160
PASS DOMMatrixReadOnly interface: attribute d 
161
PASS DOMMatrixReadOnly interface: attribute e 
162
PASS DOMMatrixReadOnly interface: attribute f 
163
PASS DOMMatrixReadOnly interface: attribute m11 
164
PASS DOMMatrixReadOnly interface: attribute m12 
165
PASS DOMMatrixReadOnly interface: attribute m13 
166
PASS DOMMatrixReadOnly interface: attribute m14 
167
PASS DOMMatrixReadOnly interface: attribute m21 
168
PASS DOMMatrixReadOnly interface: attribute m22 
169
PASS DOMMatrixReadOnly interface: attribute m23 
170
PASS DOMMatrixReadOnly interface: attribute m24 
171
PASS DOMMatrixReadOnly interface: attribute m31 
172
PASS DOMMatrixReadOnly interface: attribute m32 
173
PASS DOMMatrixReadOnly interface: attribute m33 
174
PASS DOMMatrixReadOnly interface: attribute m34 
175
PASS DOMMatrixReadOnly interface: attribute m41 
176
PASS DOMMatrixReadOnly interface: attribute m42 
177
PASS DOMMatrixReadOnly interface: attribute m43 
178
PASS DOMMatrixReadOnly interface: attribute m44 
179
PASS DOMMatrixReadOnly interface: attribute is2D 
180
PASS DOMMatrixReadOnly interface: attribute isIdentity 
181
PASS DOMMatrixReadOnly interface: operation translate(optional unrestricted double, optional unrestricted double, optional unrestricted double) 
182
PASS DOMMatrixReadOnly interface: operation scale(optional unrestricted double, optional unrestricted double, optional unrestricted double, optional unrestricted double, optional unrestricted double, optional unrestricted double) 
183
FAIL DOMMatrixReadOnly interface: operation scaleNonUniform(optional unrestricted double, optional unrestricted double) assert_own_property: interface prototype object missing non-static operation expected property "scaleNonUniform" missing
184
PASS DOMMatrixReadOnly interface: operation scale3d(optional unrestricted double, optional unrestricted double, optional unrestricted double, optional unrestricted double) 
185
PASS DOMMatrixReadOnly interface: operation rotate(optional unrestricted double, optional unrestricted double, optional unrestricted double) 
186
PASS DOMMatrixReadOnly interface: operation rotateFromVector(optional unrestricted double, optional unrestricted double) 
187
PASS DOMMatrixReadOnly interface: operation rotateAxisAngle(optional unrestricted double, optional unrestricted double, optional unrestricted double, optional unrestricted double) 
188
PASS DOMMatrixReadOnly interface: operation skewX(optional unrestricted double) 
189
PASS DOMMatrixReadOnly interface: operation skewY(optional unrestricted double) 
190
PASS DOMMatrixReadOnly interface: operation multiply(optional DOMMatrixInit) 
191
PASS DOMMatrixReadOnly interface: operation flipX() 
192
PASS DOMMatrixReadOnly interface: operation flipY() 
193
PASS DOMMatrixReadOnly interface: operation inverse() 
194
PASS DOMMatrixReadOnly interface: operation transformPoint(optional DOMPointInit) 
195
PASS DOMMatrixReadOnly interface: operation toFloat32Array() 
196
PASS DOMMatrixReadOnly interface: operation toFloat64Array() 
197
PASS DOMMatrixReadOnly interface: member  
198
PASS DOMMatrixReadOnly interface: operation toJSON() 
199
PASS DOMMatrixReadOnly must be primary interface of new DOMMatrixReadOnly() 
200
PASS Stringification of new DOMMatrixReadOnly() 
201
PASS DOMMatrixReadOnly interface: new DOMMatrixReadOnly() must inherit property "fromMatrix(optional DOMMatrixInit)" with the proper type 
202
PASS DOMMatrixReadOnly interface: calling fromMatrix(optional DOMMatrixInit) on new DOMMatrixReadOnly() with too few arguments must throw TypeError 
203
PASS DOMMatrixReadOnly interface: new DOMMatrixReadOnly() must inherit property "fromFloat32Array(Float32Array)" with the proper type 
204
PASS DOMMatrixReadOnly interface: calling fromFloat32Array(Float32Array) on new DOMMatrixReadOnly() with too few arguments must throw TypeError 
205
PASS DOMMatrixReadOnly interface: new DOMMatrixReadOnly() must inherit property "fromFloat64Array(Float64Array)" with the proper type 
206
PASS DOMMatrixReadOnly interface: calling fromFloat64Array(Float64Array) on new DOMMatrixReadOnly() with too few arguments must throw TypeError 
207
PASS DOMMatrixReadOnly interface: new DOMMatrixReadOnly() must inherit property "a" with the proper type 
208
PASS DOMMatrixReadOnly interface: new DOMMatrixReadOnly() must inherit property "b" with the proper type 
209
PASS DOMMatrixReadOnly interface: new DOMMatrixReadOnly() must inherit property "c" with the proper type 
210
PASS DOMMatrixReadOnly interface: new DOMMatrixReadOnly() must inherit property "d" with the proper type 
211
PASS DOMMatrixReadOnly interface: new DOMMatrixReadOnly() must inherit property "e" with the proper type 
212
PASS DOMMatrixReadOnly interface: new DOMMatrixReadOnly() must inherit property "f" with the proper type 
213
PASS DOMMatrixReadOnly interface: new DOMMatrixReadOnly() must inherit property "m11" with the proper type 
214
PASS DOMMatrixReadOnly interface: new DOMMatrixReadOnly() must inherit property "m12" with the proper type 
215
PASS DOMMatrixReadOnly interface: new DOMMatrixReadOnly() must inherit property "m13" with the proper type 
216
PASS DOMMatrixReadOnly interface: new DOMMatrixReadOnly() must inherit property "m14" with the proper type 
217
PASS DOMMatrixReadOnly interface: new DOMMatrixReadOnly() must inherit property "m21" with the proper type 
218
PASS DOMMatrixReadOnly interface: new DOMMatrixReadOnly() must inherit property "m22" with the proper type 
219
PASS DOMMatrixReadOnly interface: new DOMMatrixReadOnly() must inherit property "m23" with the proper type 
220
PASS DOMMatrixReadOnly interface: new DOMMatrixReadOnly() must inherit property "m24" with the proper type 
221
PASS DOMMatrixReadOnly interface: new DOMMatrixReadOnly() must inherit property "m31" with the proper type 
222
PASS DOMMatrixReadOnly interface: new DOMMatrixReadOnly() must inherit property "m32" with the proper type 
223
PASS DOMMatrixReadOnly interface: new DOMMatrixReadOnly() must inherit property "m33" with the proper type 
224
PASS DOMMatrixReadOnly interface: new DOMMatrixReadOnly() must inherit property "m34" with the proper type 
225
PASS DOMMatrixReadOnly interface: new DOMMatrixReadOnly() must inherit property "m41" with the proper type 
226
PASS DOMMatrixReadOnly interface: new DOMMatrixReadOnly() must inherit property "m42" with the proper type 
227
PASS DOMMatrixReadOnly interface: new DOMMatrixReadOnly() must inherit property "m43" with the proper type 
228
PASS DOMMatrixReadOnly interface: new DOMMatrixReadOnly() must inherit property "m44" with the proper type 
229
PASS DOMMatrixReadOnly interface: new DOMMatrixReadOnly() must inherit property "is2D" with the proper type 
230
PASS DOMMatrixReadOnly interface: new DOMMatrixReadOnly() must inherit property "isIdentity" with the proper type 
231
PASS DOMMatrixReadOnly interface: new DOMMatrixReadOnly() must inherit property "translate(optional unrestricted double, optional unrestricted double, optional unrestricted double)" with the proper type 
232
PASS DOMMatrixReadOnly interface: calling translate(optional unrestricted double, optional unrestricted double, optional unrestricted double) on new DOMMatrixReadOnly() with too few arguments must throw TypeError 
233
PASS DOMMatrixReadOnly interface: new DOMMatrixReadOnly() must inherit property "scale(optional unrestricted double, optional unrestricted double, optional unrestricted double, optional unrestricted double, optional unrestricted double, optional unrestricted double)" with the proper type 
234
PASS DOMMatrixReadOnly interface: calling scale(optional unrestricted double, optional unrestricted double, optional unrestricted double, optional unrestricted double, optional unrestricted double, optional unrestricted double) on new DOMMatrixReadOnly() with too few arguments must throw TypeError 
235
FAIL DOMMatrixReadOnly interface: new DOMMatrixReadOnly() must inherit property "scaleNonUniform(optional unrestricted double, optional unrestricted double)" with the proper type assert_inherits: property "scaleNonUniform" not found in prototype chain
236
FAIL DOMMatrixReadOnly interface: calling scaleNonUniform(optional unrestricted double, optional unrestricted double) on new DOMMatrixReadOnly() with too few arguments must throw TypeError assert_inherits: property "scaleNonUniform" not found in prototype chain
237
PASS DOMMatrixReadOnly interface: new DOMMatrixReadOnly() must inherit property "scale3d(optional unrestricted double, optional unrestricted double, optional unrestricted double, optional unrestricted double)" with the proper type 
238
PASS DOMMatrixReadOnly interface: calling scale3d(optional unrestricted double, optional unrestricted double, optional unrestricted double, optional unrestricted double) on new DOMMatrixReadOnly() with too few arguments must throw TypeError 
239
PASS DOMMatrixReadOnly interface: new DOMMatrixReadOnly() must inherit property "rotate(optional unrestricted double, optional unrestricted double, optional unrestricted double)" with the proper type 
240
PASS DOMMatrixReadOnly interface: calling rotate(optional unrestricted double, optional unrestricted double, optional unrestricted double) on new DOMMatrixReadOnly() with too few arguments must throw TypeError 
241
PASS DOMMatrixReadOnly interface: new DOMMatrixReadOnly() must inherit property "rotateFromVector(optional unrestricted double, optional unrestricted double)" with the proper type 
242
PASS DOMMatrixReadOnly interface: calling rotateFromVector(optional unrestricted double, optional unrestricted double) on new DOMMatrixReadOnly() with too few arguments must throw TypeError 
243
PASS DOMMatrixReadOnly interface: new DOMMatrixReadOnly() must inherit property "rotateAxisAngle(optional unrestricted double, optional unrestricted double, optional unrestricted double, optional unrestricted double)" with the proper type 
244
PASS DOMMatrixReadOnly interface: calling rotateAxisAngle(optional unrestricted double, optional unrestricted double, optional unrestricted double, optional unrestricted double) on new DOMMatrixReadOnly() with too few arguments must throw TypeError 
245
PASS DOMMatrixReadOnly interface: new DOMMatrixReadOnly() must inherit property "skewX(optional unrestricted double)" with the proper type 
246
PASS DOMMatrixReadOnly interface: calling skewX(optional unrestricted double) on new DOMMatrixReadOnly() with too few arguments must throw TypeError 
247
PASS DOMMatrixReadOnly interface: new DOMMatrixReadOnly() must inherit property "skewY(optional unrestricted double)" with the proper type 
248
PASS DOMMatrixReadOnly interface: calling skewY(optional unrestricted double) on new DOMMatrixReadOnly() with too few arguments must throw TypeError 
249
PASS DOMMatrixReadOnly interface: new DOMMatrixReadOnly() must inherit property "multiply(optional DOMMatrixInit)" with the proper type 
250
PASS DOMMatrixReadOnly interface: calling multiply(optional DOMMatrixInit) on new DOMMatrixReadOnly() with too few arguments must throw TypeError 
251
PASS DOMMatrixReadOnly interface: new DOMMatrixReadOnly() must inherit property "flipX()" with the proper type 
252
PASS DOMMatrixReadOnly interface: new DOMMatrixReadOnly() must inherit property "flipY()" with the proper type 
253
PASS DOMMatrixReadOnly interface: new DOMMatrixReadOnly() must inherit property "inverse()" with the proper type 
254
PASS DOMMatrixReadOnly interface: new DOMMatrixReadOnly() must inherit property "transformPoint(optional DOMPointInit)" with the proper type 
255
PASS DOMMatrixReadOnly interface: calling transformPoint(optional DOMPointInit) on new DOMMatrixReadOnly() with too few arguments must throw TypeError 
256
PASS DOMMatrixReadOnly interface: new DOMMatrixReadOnly() must inherit property "toFloat32Array()" with the proper type 
257
PASS DOMMatrixReadOnly interface: new DOMMatrixReadOnly() must inherit property "toFloat64Array()" with the proper type 
258
PASS DOMMatrixReadOnly interface: new DOMMatrixReadOnly() must not have property "" 
259
PASS DOMMatrixReadOnly interface: new DOMMatrixReadOnly() must inherit property "toJSON()" with the proper type 
260
PASS DOMMatrixReadOnly interface: default toJSON operation on new DOMMatrixReadOnly() 
261
PASS DOMMatrixReadOnly must be primary interface of DOMMatrixReadOnly.fromMatrix({is2D: false}) 
262
PASS Stringification of DOMMatrixReadOnly.fromMatrix({is2D: false}) 
263
PASS DOMMatrix interface: existence and properties of interface object 
264
PASS DOMMatrix interface object length 
265
PASS DOMMatrix interface object name 
266
PASS DOMMatrix interface: legacy window alias 
267
PASS DOMMatrix interface: existence and properties of interface prototype object 
268
PASS DOMMatrix interface: existence and properties of interface prototype object's "constructor" property 
269
PASS DOMMatrix interface: existence and properties of interface prototype object's @@unscopables property 
270
PASS DOMMatrix interface: operation fromMatrix(optional DOMMatrixInit) 
271
PASS DOMMatrix interface: operation fromFloat32Array(Float32Array) 
272
PASS DOMMatrix interface: operation fromFloat64Array(Float64Array) 
273
PASS DOMMatrix interface: attribute a 
274
PASS DOMMatrix interface: attribute b 
275
PASS DOMMatrix interface: attribute c 
276
PASS DOMMatrix interface: attribute d 
277
PASS DOMMatrix interface: attribute e 
278
PASS DOMMatrix interface: attribute f 
279
PASS DOMMatrix interface: attribute m11 
280
PASS DOMMatrix interface: attribute m12 
281
PASS DOMMatrix interface: attribute m13 
282
PASS DOMMatrix interface: attribute m14 
283
PASS DOMMatrix interface: attribute m21 
284
PASS DOMMatrix interface: attribute m22 
285
PASS DOMMatrix interface: attribute m23 
286
PASS DOMMatrix interface: attribute m24 
287
PASS DOMMatrix interface: attribute m31 
288
PASS DOMMatrix interface: attribute m32 
289
PASS DOMMatrix interface: attribute m33 
290
PASS DOMMatrix interface: attribute m34 
291
PASS DOMMatrix interface: attribute m41 
292
PASS DOMMatrix interface: attribute m42 
293
PASS DOMMatrix interface: attribute m43 
294
PASS DOMMatrix interface: attribute m44 
295
PASS DOMMatrix interface: operation multiplySelf(optional DOMMatrixInit) 
296
PASS DOMMatrix interface: operation preMultiplySelf(optional DOMMatrixInit) 
297
PASS DOMMatrix interface: operation translateSelf(optional unrestricted double, optional unrestricted double, optional unrestricted double) 
298
PASS DOMMatrix interface: operation scaleSelf(optional unrestricted double, optional unrestricted double, optional unrestricted double, optional unrestricted double, optional unrestricted double, optional unrestricted double) 
299
PASS DOMMatrix interface: operation scale3dSelf(optional unrestricted double, optional unrestricted double, optional unrestricted double, optional unrestricted double) 
300
PASS DOMMatrix interface: operation rotateSelf(optional unrestricted double, optional unrestricted double, optional unrestricted double) 
301
PASS DOMMatrix interface: operation rotateFromVectorSelf(optional unrestricted double, optional unrestricted double) 
302
PASS DOMMatrix interface: operation rotateAxisAngleSelf(optional unrestricted double, optional unrestricted double, optional unrestricted double, optional unrestricted double) 
303
PASS DOMMatrix interface: operation skewXSelf(optional unrestricted double) 
304
PASS DOMMatrix interface: operation skewYSelf(optional unrestricted double) 
305
PASS DOMMatrix interface: operation invertSelf() 
306
PASS DOMMatrix interface: member setMatrixValue 
307
PASS DOMMatrix must be primary interface of new DOMMatrix() 
308
PASS Stringification of new DOMMatrix() 
309
PASS DOMMatrix interface: new DOMMatrix() must inherit property "fromMatrix(optional DOMMatrixInit)" with the proper type 
310
PASS DOMMatrix interface: calling fromMatrix(optional DOMMatrixInit) on new DOMMatrix() with too few arguments must throw TypeError 
311
PASS DOMMatrix interface: new DOMMatrix() must inherit property "fromFloat32Array(Float32Array)" with the proper type 
312
PASS DOMMatrix interface: calling fromFloat32Array(Float32Array) on new DOMMatrix() with too few arguments must throw TypeError 
313
PASS DOMMatrix interface: new DOMMatrix() must inherit property "fromFloat64Array(Float64Array)" with the proper type 
314
PASS DOMMatrix interface: calling fromFloat64Array(Float64Array) on new DOMMatrix() with too few arguments must throw TypeError 
315
PASS DOMMatrix interface: new DOMMatrix() must inherit property "a" with the proper type 
316
PASS DOMMatrix interface: new DOMMatrix() must inherit property "b" with the proper type 
317
PASS DOMMatrix interface: new DOMMatrix() must inherit property "c" with the proper type 
318
PASS DOMMatrix interface: new DOMMatrix() must inherit property "d" with the proper type 
319
PASS DOMMatrix interface: new DOMMatrix() must inherit property "e" with the proper type 
320
PASS DOMMatrix interface: new DOMMatrix() must inherit property "f" with the proper type 
321
PASS DOMMatrix interface: new DOMMatrix() must inherit property "m11" with the proper type 
322
PASS DOMMatrix interface: new DOMMatrix() must inherit property "m12" with the proper type 
323
PASS DOMMatrix interface: new DOMMatrix() must inherit property "m13" with the proper type 
324
PASS DOMMatrix interface: new DOMMatrix() must inherit property "m14" with the proper type 
325
PASS DOMMatrix interface: new DOMMatrix() must inherit property "m21" with the proper type 
326
PASS DOMMatrix interface: new DOMMatrix() must inherit property "m22" with the proper type 
327
PASS DOMMatrix interface: new DOMMatrix() must inherit property "m23" with the proper type 
328
PASS DOMMatrix interface: new DOMMatrix() must inherit property "m24" with the proper type 
329
PASS DOMMatrix interface: new DOMMatrix() must inherit property "m31" with the proper type 
330
PASS DOMMatrix interface: new DOMMatrix() must inherit property "m32" with the proper type 
331
PASS DOMMatrix interface: new DOMMatrix() must inherit property "m33" with the proper type 
332
PASS DOMMatrix interface: new DOMMatrix() must inherit property "m34" with the proper type 
333
PASS DOMMatrix interface: new DOMMatrix() must inherit property "m41" with the proper type 
334
PASS DOMMatrix interface: new DOMMatrix() must inherit property "m42" with the proper type 
335
PASS DOMMatrix interface: new DOMMatrix() must inherit property "m43" with the proper type 
336
PASS DOMMatrix interface: new DOMMatrix() must inherit property "m44" with the proper type 
337
PASS DOMMatrix interface: new DOMMatrix() must inherit property "multiplySelf(optional DOMMatrixInit)" with the proper type 
338
PASS DOMMatrix interface: calling multiplySelf(optional DOMMatrixInit) on new DOMMatrix() with too few arguments must throw TypeError 
339
PASS DOMMatrix interface: new DOMMatrix() must inherit property "preMultiplySelf(optional DOMMatrixInit)" with the proper type 
340
PASS DOMMatrix interface: calling preMultiplySelf(optional DOMMatrixInit) on new DOMMatrix() with too few arguments must throw TypeError 
341
PASS DOMMatrix interface: new DOMMatrix() must inherit property "translateSelf(optional unrestricted double, optional unrestricted double, optional unrestricted double)" with the proper type 
342
PASS DOMMatrix interface: calling translateSelf(optional unrestricted double, optional unrestricted double, optional unrestricted double) on new DOMMatrix() with too few arguments must throw TypeError 
343
PASS DOMMatrix interface: new DOMMatrix() must inherit property "scaleSelf(optional unrestricted double, optional unrestricted double, optional unrestricted double, optional unrestricted double, optional unrestricted double, optional unrestricted double)" with the proper type 
344
PASS DOMMatrix interface: calling scaleSelf(optional unrestricted double, optional unrestricted double, optional unrestricted double, optional unrestricted double, optional unrestricted double, optional unrestricted double) on new DOMMatrix() with too few arguments must throw TypeError 
345
PASS DOMMatrix interface: new DOMMatrix() must inherit property "scale3dSelf(optional unrestricted double, optional unrestricted double, optional unrestricted double, optional unrestricted double)" with the proper type 
346
PASS DOMMatrix interface: calling scale3dSelf(optional unrestricted double, optional unrestricted double, optional unrestricted double, optional unrestricted double) on new DOMMatrix() with too few arguments must throw TypeError 
347
PASS DOMMatrix interface: new DOMMatrix() must inherit property "rotateSelf(optional unrestricted double, optional unrestricted double, optional unrestricted double)" with the proper type 
348
PASS DOMMatrix interface: calling rotateSelf(optional unrestricted double, optional unrestricted double, optional unrestricted double) on new DOMMatrix() with too few arguments must throw TypeError 
349
PASS DOMMatrix interface: new DOMMatrix() must inherit property "rotateFromVectorSelf(optional unrestricted double, optional unrestricted double)" with the proper type 
350
PASS DOMMatrix interface: calling rotateFromVectorSelf(optional unrestricted double, optional unrestricted double) on new DOMMatrix() with too few arguments must throw TypeError 
351
PASS DOMMatrix interface: new DOMMatrix() must inherit property "rotateAxisAngleSelf(optional unrestricted double, optional unrestricted double, optional unrestricted double, optional unrestricted double)" with the proper type 
352
PASS DOMMatrix interface: calling rotateAxisAngleSelf(optional unrestricted double, optional unrestricted double, optional unrestricted double, optional unrestricted double) on new DOMMatrix() with too few arguments must throw TypeError 
353
PASS DOMMatrix interface: new DOMMatrix() must inherit property "skewXSelf(optional unrestricted double)" with the proper type 
354
PASS DOMMatrix interface: calling skewXSelf(optional unrestricted double) on new DOMMatrix() with too few arguments must throw TypeError 
355
PASS DOMMatrix interface: new DOMMatrix() must inherit property "skewYSelf(optional unrestricted double)" with the proper type 
356
PASS DOMMatrix interface: calling skewYSelf(optional unrestricted double) on new DOMMatrix() with too few arguments must throw TypeError 
357
PASS DOMMatrix interface: new DOMMatrix() must inherit property "invertSelf()" with the proper type 
358
PASS DOMMatrix interface: new DOMMatrix() must not have property "setMatrixValue" 
359
PASS DOMMatrix must be primary interface of DOMMatrix.fromMatrix({is2D: false}) 
360
PASS Stringification of DOMMatrix.fromMatrix({is2D: false}) 
361
- a/LayoutTests/imported/w3c/web-platform-tests/css/geometry/idlharness.worker.html +1 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/geometry/idlharness.worker.html_sec1
1
<!-- This file is required for WebKit test infrastructure to run the templated test -->
- a/LayoutTests/imported/w3c/web-platform-tests/css/geometry/idlharness.worker.js +9 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/geometry/idlharness.worker.js_sec1
1
"use strict";
2
// https://drafts.fxtf.org/geometry/#DOMPoint
3
// https://drafts.fxtf.org/geometry/#DOMRect
4
// https://drafts.fxtf.org/geometry/#DOMQuad
5
// https://drafts.fxtf.org/geometry/#DOMMatrix
6
7
importScripts("/resources/testharness.js");
8
importScripts("/resources/WebIDLParser.js", "/resources/idlharness.js");
9
importScripts("support/interfaces.js");
- a/LayoutTests/imported/w3c/web-platform-tests/css/geometry/interfaces-expected.txt -385 lines
Lines 1-385 a/LayoutTests/imported/w3c/web-platform-tests/css/geometry/interfaces-expected.txt_sec1
1
2
PASS Test driver 
3
PASS DOMPointReadOnly interface: existence and properties of interface object 
4
PASS DOMPointReadOnly interface object length 
5
PASS DOMPointReadOnly interface object name 
6
PASS DOMPointReadOnly interface: existence and properties of interface prototype object 
7
PASS DOMPointReadOnly interface: existence and properties of interface prototype object's "constructor" property 
8
PASS DOMPointReadOnly interface: existence and properties of interface prototype object's @@unscopables property 
9
PASS DOMPointReadOnly interface: operation fromPoint(optional DOMPointInit) 
10
PASS DOMPointReadOnly interface: attribute x 
11
PASS DOMPointReadOnly interface: attribute y 
12
PASS DOMPointReadOnly interface: attribute z 
13
PASS DOMPointReadOnly interface: attribute w 
14
PASS DOMPointReadOnly interface: operation matrixTransform(optional DOMMatrixInit) 
15
PASS DOMPointReadOnly interface: operation toJSON() 
16
PASS DOMPointReadOnly must be primary interface of new DOMPointReadOnly() 
17
PASS Stringification of new DOMPointReadOnly() 
18
PASS DOMPointReadOnly interface: new DOMPointReadOnly() must inherit property "fromPoint(optional DOMPointInit)" with the proper type 
19
PASS DOMPointReadOnly interface: calling fromPoint(optional DOMPointInit) on new DOMPointReadOnly() with too few arguments must throw TypeError 
20
PASS DOMPointReadOnly interface: new DOMPointReadOnly() must inherit property "x" with the proper type 
21
PASS DOMPointReadOnly interface: new DOMPointReadOnly() must inherit property "y" with the proper type 
22
PASS DOMPointReadOnly interface: new DOMPointReadOnly() must inherit property "z" with the proper type 
23
PASS DOMPointReadOnly interface: new DOMPointReadOnly() must inherit property "w" with the proper type 
24
PASS DOMPointReadOnly interface: new DOMPointReadOnly() must inherit property "matrixTransform(optional DOMMatrixInit)" with the proper type 
25
PASS DOMPointReadOnly interface: calling matrixTransform(optional DOMMatrixInit) on new DOMPointReadOnly() with too few arguments must throw TypeError 
26
PASS DOMPointReadOnly interface: new DOMPointReadOnly() must inherit property "toJSON()" with the proper type 
27
PASS DOMPointReadOnly interface: default toJSON operation on new DOMPointReadOnly() 
28
PASS DOMPoint interface: existence and properties of interface object 
29
PASS DOMPoint interface object length 
30
PASS DOMPoint interface object name 
31
FAIL DOMPoint interface: legacy window alias assert_equals: self.SVGPoint should be the same value as self.DOMPoint expected function "function DOMPoint() {
32
    [native code]
33
}" but got function "function SVGPoint() {
34
    [native code]
35
}"
36
PASS DOMPoint interface: existence and properties of interface prototype object 
37
PASS DOMPoint interface: existence and properties of interface prototype object's "constructor" property 
38
PASS DOMPoint interface: existence and properties of interface prototype object's @@unscopables property 
39
PASS DOMPoint interface: operation fromPoint(optional DOMPointInit) 
40
PASS DOMPoint interface: attribute x 
41
PASS DOMPoint interface: attribute y 
42
PASS DOMPoint interface: attribute z 
43
PASS DOMPoint interface: attribute w 
44
PASS DOMPoint must be primary interface of new DOMPoint() 
45
PASS Stringification of new DOMPoint() 
46
PASS DOMPoint interface: new DOMPoint() must inherit property "fromPoint(optional DOMPointInit)" with the proper type 
47
PASS DOMPoint interface: calling fromPoint(optional DOMPointInit) on new DOMPoint() with too few arguments must throw TypeError 
48
PASS DOMPoint interface: new DOMPoint() must inherit property "x" with the proper type 
49
PASS DOMPoint interface: new DOMPoint() must inherit property "y" with the proper type 
50
PASS DOMPoint interface: new DOMPoint() must inherit property "z" with the proper type 
51
PASS DOMPoint interface: new DOMPoint() must inherit property "w" with the proper type 
52
PASS DOMPointReadOnly interface: new DOMPoint() must inherit property "fromPoint(optional DOMPointInit)" with the proper type 
53
PASS DOMPointReadOnly interface: calling fromPoint(optional DOMPointInit) on new DOMPoint() with too few arguments must throw TypeError 
54
PASS DOMPointReadOnly interface: new DOMPoint() must inherit property "x" with the proper type 
55
PASS DOMPointReadOnly interface: new DOMPoint() must inherit property "y" with the proper type 
56
PASS DOMPointReadOnly interface: new DOMPoint() must inherit property "z" with the proper type 
57
PASS DOMPointReadOnly interface: new DOMPoint() must inherit property "w" with the proper type 
58
PASS DOMPointReadOnly interface: new DOMPoint() must inherit property "matrixTransform(optional DOMMatrixInit)" with the proper type 
59
PASS DOMPointReadOnly interface: calling matrixTransform(optional DOMMatrixInit) on new DOMPoint() with too few arguments must throw TypeError 
60
PASS DOMPointReadOnly interface: new DOMPoint() must inherit property "toJSON()" with the proper type 
61
PASS DOMPointReadOnly interface: default toJSON operation on new DOMPoint() 
62
PASS DOMRectReadOnly interface: existence and properties of interface object 
63
PASS DOMRectReadOnly interface object length 
64
PASS DOMRectReadOnly interface object name 
65
PASS DOMRectReadOnly interface: existence and properties of interface prototype object 
66
PASS DOMRectReadOnly interface: existence and properties of interface prototype object's "constructor" property 
67
PASS DOMRectReadOnly interface: existence and properties of interface prototype object's @@unscopables property 
68
PASS DOMRectReadOnly interface: operation fromRect(optional DOMRectInit) 
69
PASS DOMRectReadOnly interface: attribute x 
70
PASS DOMRectReadOnly interface: attribute y 
71
PASS DOMRectReadOnly interface: attribute width 
72
PASS DOMRectReadOnly interface: attribute height 
73
PASS DOMRectReadOnly interface: attribute top 
74
PASS DOMRectReadOnly interface: attribute right 
75
PASS DOMRectReadOnly interface: attribute bottom 
76
PASS DOMRectReadOnly interface: attribute left 
77
PASS DOMRectReadOnly interface: operation toJSON() 
78
PASS DOMRectReadOnly must be primary interface of new DOMRectReadOnly() 
79
PASS Stringification of new DOMRectReadOnly() 
80
PASS DOMRectReadOnly interface: new DOMRectReadOnly() must inherit property "fromRect(optional DOMRectInit)" with the proper type 
81
PASS DOMRectReadOnly interface: calling fromRect(optional DOMRectInit) on new DOMRectReadOnly() with too few arguments must throw TypeError 
82
PASS DOMRectReadOnly interface: new DOMRectReadOnly() must inherit property "x" with the proper type 
83
PASS DOMRectReadOnly interface: new DOMRectReadOnly() must inherit property "y" with the proper type 
84
PASS DOMRectReadOnly interface: new DOMRectReadOnly() must inherit property "width" with the proper type 
85
PASS DOMRectReadOnly interface: new DOMRectReadOnly() must inherit property "height" with the proper type 
86
PASS DOMRectReadOnly interface: new DOMRectReadOnly() must inherit property "top" with the proper type 
87
PASS DOMRectReadOnly interface: new DOMRectReadOnly() must inherit property "right" with the proper type 
88
PASS DOMRectReadOnly interface: new DOMRectReadOnly() must inherit property "bottom" with the proper type 
89
PASS DOMRectReadOnly interface: new DOMRectReadOnly() must inherit property "left" with the proper type 
90
PASS DOMRectReadOnly interface: new DOMRectReadOnly() must inherit property "toJSON()" with the proper type 
91
PASS DOMRectReadOnly interface: default toJSON operation on new DOMRectReadOnly() 
92
PASS DOMRect interface: existence and properties of interface object 
93
PASS DOMRect interface object length 
94
PASS DOMRect interface object name 
95
FAIL DOMRect interface: legacy window alias assert_equals: self.SVGRect should be the same value as self.DOMRect expected function "function DOMRect() {
96
    [native code]
97
}" but got function "function SVGRect() {
98
    [native code]
99
}"
100
PASS DOMRect interface: existence and properties of interface prototype object 
101
PASS DOMRect interface: existence and properties of interface prototype object's "constructor" property 
102
PASS DOMRect interface: existence and properties of interface prototype object's @@unscopables property 
103
PASS DOMRect interface: operation fromRect(optional DOMRectInit) 
104
PASS DOMRect interface: attribute x 
105
PASS DOMRect interface: attribute y 
106
PASS DOMRect interface: attribute width 
107
PASS DOMRect interface: attribute height 
108
PASS DOMRect must be primary interface of new DOMRect() 
109
PASS Stringification of new DOMRect() 
110
PASS DOMRect interface: new DOMRect() must inherit property "fromRect(optional DOMRectInit)" with the proper type 
111
PASS DOMRect interface: calling fromRect(optional DOMRectInit) on new DOMRect() with too few arguments must throw TypeError 
112
PASS DOMRect interface: new DOMRect() must inherit property "x" with the proper type 
113
PASS DOMRect interface: new DOMRect() must inherit property "y" with the proper type 
114
PASS DOMRect interface: new DOMRect() must inherit property "width" with the proper type 
115
PASS DOMRect interface: new DOMRect() must inherit property "height" with the proper type 
116
PASS DOMRectReadOnly interface: new DOMRect() must inherit property "fromRect(optional DOMRectInit)" with the proper type 
117
PASS DOMRectReadOnly interface: calling fromRect(optional DOMRectInit) on new DOMRect() with too few arguments must throw TypeError 
118
PASS DOMRectReadOnly interface: new DOMRect() must inherit property "x" with the proper type 
119
PASS DOMRectReadOnly interface: new DOMRect() must inherit property "y" with the proper type 
120
PASS DOMRectReadOnly interface: new DOMRect() must inherit property "width" with the proper type 
121
PASS DOMRectReadOnly interface: new DOMRect() must inherit property "height" with the proper type 
122
PASS DOMRectReadOnly interface: new DOMRect() must inherit property "top" with the proper type 
123
PASS DOMRectReadOnly interface: new DOMRect() must inherit property "right" with the proper type 
124
PASS DOMRectReadOnly interface: new DOMRect() must inherit property "bottom" with the proper type 
125
PASS DOMRectReadOnly interface: new DOMRect() must inherit property "left" with the proper type 
126
PASS DOMRectReadOnly interface: new DOMRect() must inherit property "toJSON()" with the proper type 
127
PASS DOMRectReadOnly interface: default toJSON operation on new DOMRect() 
128
PASS DOMRectList interface: existence and properties of interface object 
129
PASS DOMRectList interface object length 
130
PASS DOMRectList interface object name 
131
PASS DOMRectList interface: existence and properties of interface prototype object 
132
PASS DOMRectList interface: existence and properties of interface prototype object's "constructor" property 
133
PASS DOMRectList interface: existence and properties of interface prototype object's @@unscopables property 
134
PASS DOMRectList interface: attribute length 
135
PASS DOMRectList interface: operation item(unsigned long) 
136
PASS DOMRectList must be primary interface of [object DOMRectList] 
137
PASS Stringification of [object DOMRectList] 
138
PASS DOMRectList interface: [object DOMRectList] must inherit property "length" with the proper type 
139
PASS DOMRectList interface: [object DOMRectList] must inherit property "item(unsigned long)" with the proper type 
140
PASS DOMRectList interface: calling item(unsigned long) on [object DOMRectList] with too few arguments must throw TypeError 
141
PASS DOMQuad interface: existence and properties of interface object 
142
PASS DOMQuad interface object length 
143
PASS DOMQuad interface object name 
144
PASS DOMQuad interface: existence and properties of interface prototype object 
145
PASS DOMQuad interface: existence and properties of interface prototype object's "constructor" property 
146
PASS DOMQuad interface: existence and properties of interface prototype object's @@unscopables property 
147
PASS DOMQuad interface: operation fromRect(optional DOMRectInit) 
148
PASS DOMQuad interface: operation fromQuad(optional DOMQuadInit) 
149
PASS DOMQuad interface: attribute p1 
150
PASS DOMQuad interface: attribute p2 
151
PASS DOMQuad interface: attribute p3 
152
PASS DOMQuad interface: attribute p4 
153
PASS DOMQuad interface: operation getBounds() 
154
PASS DOMQuad interface: operation toJSON() 
155
PASS DOMQuad must be primary interface of new DOMQuad() 
156
PASS Stringification of new DOMQuad() 
157
PASS DOMQuad interface: new DOMQuad() must inherit property "fromRect(optional DOMRectInit)" with the proper type 
158
PASS DOMQuad interface: calling fromRect(optional DOMRectInit) on new DOMQuad() with too few arguments must throw TypeError 
159
PASS DOMQuad interface: new DOMQuad() must inherit property "fromQuad(optional DOMQuadInit)" with the proper type 
160
PASS DOMQuad interface: calling fromQuad(optional DOMQuadInit) on new DOMQuad() with too few arguments must throw TypeError 
161
PASS DOMQuad interface: new DOMQuad() must inherit property "p1" with the proper type 
162
PASS DOMQuad interface: new DOMQuad() must inherit property "p2" with the proper type 
163
PASS DOMQuad interface: new DOMQuad() must inherit property "p3" with the proper type 
164
PASS DOMQuad interface: new DOMQuad() must inherit property "p4" with the proper type 
165
PASS DOMQuad interface: new DOMQuad() must inherit property "getBounds()" with the proper type 
166
PASS DOMQuad interface: new DOMQuad() must inherit property "toJSON()" with the proper type 
167
FAIL DOMQuad interface: default toJSON operation on new DOMQuad() assert_true: instanceof DOMPoint expected true got false
168
PASS DOMMatrixReadOnly interface: existence and properties of interface object 
169
PASS DOMMatrixReadOnly interface object length 
170
PASS DOMMatrixReadOnly interface object name 
171
PASS DOMMatrixReadOnly interface: existence and properties of interface prototype object 
172
PASS DOMMatrixReadOnly interface: existence and properties of interface prototype object's "constructor" property 
173
PASS DOMMatrixReadOnly interface: existence and properties of interface prototype object's @@unscopables property 
174
PASS DOMMatrixReadOnly interface: operation fromMatrix(optional DOMMatrixInit) 
175
PASS DOMMatrixReadOnly interface: operation fromFloat32Array(Float32Array) 
176
PASS DOMMatrixReadOnly interface: operation fromFloat64Array(Float64Array) 
177
PASS DOMMatrixReadOnly interface: attribute a 
178
PASS DOMMatrixReadOnly interface: attribute b 
179
PASS DOMMatrixReadOnly interface: attribute c 
180
PASS DOMMatrixReadOnly interface: attribute d 
181
PASS DOMMatrixReadOnly interface: attribute e 
182
PASS DOMMatrixReadOnly interface: attribute f 
183
PASS DOMMatrixReadOnly interface: attribute m11 
184
PASS DOMMatrixReadOnly interface: attribute m12 
185
PASS DOMMatrixReadOnly interface: attribute m13 
186
PASS DOMMatrixReadOnly interface: attribute m14 
187
PASS DOMMatrixReadOnly interface: attribute m21 
188
PASS DOMMatrixReadOnly interface: attribute m22 
189
PASS DOMMatrixReadOnly interface: attribute m23 
190
PASS DOMMatrixReadOnly interface: attribute m24 
191
PASS DOMMatrixReadOnly interface: attribute m31 
192
PASS DOMMatrixReadOnly interface: attribute m32 
193
PASS DOMMatrixReadOnly interface: attribute m33 
194
PASS DOMMatrixReadOnly interface: attribute m34 
195
PASS DOMMatrixReadOnly interface: attribute m41 
196
PASS DOMMatrixReadOnly interface: attribute m42 
197
PASS DOMMatrixReadOnly interface: attribute m43 
198
PASS DOMMatrixReadOnly interface: attribute m44 
199
PASS DOMMatrixReadOnly interface: attribute is2D 
200
PASS DOMMatrixReadOnly interface: attribute isIdentity 
201
PASS DOMMatrixReadOnly interface: operation translate(optional unrestricted double, optional unrestricted double, optional unrestricted double) 
202
PASS DOMMatrixReadOnly interface: operation scale(optional unrestricted double, optional unrestricted double, optional unrestricted double, optional unrestricted double, optional unrestricted double, optional unrestricted double) 
203
FAIL DOMMatrixReadOnly interface: operation scaleNonUniform(optional unrestricted double, optional unrestricted double) assert_own_property: interface prototype object missing non-static operation expected property "scaleNonUniform" missing
204
PASS DOMMatrixReadOnly interface: operation scale3d(optional unrestricted double, optional unrestricted double, optional unrestricted double, optional unrestricted double) 
205
PASS DOMMatrixReadOnly interface: operation rotate(optional unrestricted double, optional unrestricted double, optional unrestricted double) 
206
PASS DOMMatrixReadOnly interface: operation rotateFromVector(optional unrestricted double, optional unrestricted double) 
207
PASS DOMMatrixReadOnly interface: operation rotateAxisAngle(optional unrestricted double, optional unrestricted double, optional unrestricted double, optional unrestricted double) 
208
PASS DOMMatrixReadOnly interface: operation skewX(optional unrestricted double) 
209
PASS DOMMatrixReadOnly interface: operation skewY(optional unrestricted double) 
210
PASS DOMMatrixReadOnly interface: operation multiply(optional DOMMatrixInit) 
211
PASS DOMMatrixReadOnly interface: operation flipX() 
212
PASS DOMMatrixReadOnly interface: operation flipY() 
213
PASS DOMMatrixReadOnly interface: operation inverse() 
214
PASS DOMMatrixReadOnly interface: operation transformPoint(optional DOMPointInit) 
215
PASS DOMMatrixReadOnly interface: operation toFloat32Array() 
216
PASS DOMMatrixReadOnly interface: operation toFloat64Array() 
217
PASS DOMMatrixReadOnly interface: stringifier 
218
PASS DOMMatrixReadOnly interface: operation toJSON() 
219
PASS DOMMatrixReadOnly must be primary interface of new DOMMatrixReadOnly() 
220
PASS Stringification of new DOMMatrixReadOnly() 
221
PASS DOMMatrixReadOnly interface: new DOMMatrixReadOnly() must inherit property "fromMatrix(optional DOMMatrixInit)" with the proper type 
222
PASS DOMMatrixReadOnly interface: calling fromMatrix(optional DOMMatrixInit) on new DOMMatrixReadOnly() with too few arguments must throw TypeError 
223
PASS DOMMatrixReadOnly interface: new DOMMatrixReadOnly() must inherit property "fromFloat32Array(Float32Array)" with the proper type 
224
PASS DOMMatrixReadOnly interface: calling fromFloat32Array(Float32Array) on new DOMMatrixReadOnly() with too few arguments must throw TypeError 
225
PASS DOMMatrixReadOnly interface: new DOMMatrixReadOnly() must inherit property "fromFloat64Array(Float64Array)" with the proper type 
226
PASS DOMMatrixReadOnly interface: calling fromFloat64Array(Float64Array) on new DOMMatrixReadOnly() with too few arguments must throw TypeError 
227
PASS DOMMatrixReadOnly interface: new DOMMatrixReadOnly() must inherit property "a" with the proper type 
228
PASS DOMMatrixReadOnly interface: new DOMMatrixReadOnly() must inherit property "b" with the proper type 
229
PASS DOMMatrixReadOnly interface: new DOMMatrixReadOnly() must inherit property "c" with the proper type 
230
PASS DOMMatrixReadOnly interface: new DOMMatrixReadOnly() must inherit property "d" with the proper type 
231
PASS DOMMatrixReadOnly interface: new DOMMatrixReadOnly() must inherit property "e" with the proper type 
232
PASS DOMMatrixReadOnly interface: new DOMMatrixReadOnly() must inherit property "f" with the proper type 
233
PASS DOMMatrixReadOnly interface: new DOMMatrixReadOnly() must inherit property "m11" with the proper type 
234
PASS DOMMatrixReadOnly interface: new DOMMatrixReadOnly() must inherit property "m12" with the proper type 
235
PASS DOMMatrixReadOnly interface: new DOMMatrixReadOnly() must inherit property "m13" with the proper type 
236
PASS DOMMatrixReadOnly interface: new DOMMatrixReadOnly() must inherit property "m14" with the proper type 
237
PASS DOMMatrixReadOnly interface: new DOMMatrixReadOnly() must inherit property "m21" with the proper type 
238
PASS DOMMatrixReadOnly interface: new DOMMatrixReadOnly() must inherit property "m22" with the proper type 
239
PASS DOMMatrixReadOnly interface: new DOMMatrixReadOnly() must inherit property "m23" with the proper type 
240
PASS DOMMatrixReadOnly interface: new DOMMatrixReadOnly() must inherit property "m24" with the proper type 
241
PASS DOMMatrixReadOnly interface: new DOMMatrixReadOnly() must inherit property "m31" with the proper type 
242
PASS DOMMatrixReadOnly interface: new DOMMatrixReadOnly() must inherit property "m32" with the proper type 
243
PASS DOMMatrixReadOnly interface: new DOMMatrixReadOnly() must inherit property "m33" with the proper type 
244
PASS DOMMatrixReadOnly interface: new DOMMatrixReadOnly() must inherit property "m34" with the proper type 
245
PASS DOMMatrixReadOnly interface: new DOMMatrixReadOnly() must inherit property "m41" with the proper type 
246
PASS DOMMatrixReadOnly interface: new DOMMatrixReadOnly() must inherit property "m42" with the proper type 
247
PASS DOMMatrixReadOnly interface: new DOMMatrixReadOnly() must inherit property "m43" with the proper type 
248
PASS DOMMatrixReadOnly interface: new DOMMatrixReadOnly() must inherit property "m44" with the proper type 
249
PASS DOMMatrixReadOnly interface: new DOMMatrixReadOnly() must inherit property "is2D" with the proper type 
250
PASS DOMMatrixReadOnly interface: new DOMMatrixReadOnly() must inherit property "isIdentity" with the proper type 
251
PASS DOMMatrixReadOnly interface: new DOMMatrixReadOnly() must inherit property "translate(optional unrestricted double, optional unrestricted double, optional unrestricted double)" with the proper type 
252
PASS DOMMatrixReadOnly interface: calling translate(optional unrestricted double, optional unrestricted double, optional unrestricted double) on new DOMMatrixReadOnly() with too few arguments must throw TypeError 
253
PASS DOMMatrixReadOnly interface: new DOMMatrixReadOnly() must inherit property "scale(optional unrestricted double, optional unrestricted double, optional unrestricted double, optional unrestricted double, optional unrestricted double, optional unrestricted double)" with the proper type 
254
PASS DOMMatrixReadOnly interface: calling scale(optional unrestricted double, optional unrestricted double, optional unrestricted double, optional unrestricted double, optional unrestricted double, optional unrestricted double) on new DOMMatrixReadOnly() with too few arguments must throw TypeError 
255
FAIL DOMMatrixReadOnly interface: new DOMMatrixReadOnly() must inherit property "scaleNonUniform(optional unrestricted double, optional unrestricted double)" with the proper type assert_inherits: property "scaleNonUniform" not found in prototype chain
256
FAIL DOMMatrixReadOnly interface: calling scaleNonUniform(optional unrestricted double, optional unrestricted double) on new DOMMatrixReadOnly() with too few arguments must throw TypeError assert_inherits: property "scaleNonUniform" not found in prototype chain
257
PASS DOMMatrixReadOnly interface: new DOMMatrixReadOnly() must inherit property "scale3d(optional unrestricted double, optional unrestricted double, optional unrestricted double, optional unrestricted double)" with the proper type 
258
PASS DOMMatrixReadOnly interface: calling scale3d(optional unrestricted double, optional unrestricted double, optional unrestricted double, optional unrestricted double) on new DOMMatrixReadOnly() with too few arguments must throw TypeError 
259
PASS DOMMatrixReadOnly interface: new DOMMatrixReadOnly() must inherit property "rotate(optional unrestricted double, optional unrestricted double, optional unrestricted double)" with the proper type 
260
PASS DOMMatrixReadOnly interface: calling rotate(optional unrestricted double, optional unrestricted double, optional unrestricted double) on new DOMMatrixReadOnly() with too few arguments must throw TypeError 
261
PASS DOMMatrixReadOnly interface: new DOMMatrixReadOnly() must inherit property "rotateFromVector(optional unrestricted double, optional unrestricted double)" with the proper type 
262
PASS DOMMatrixReadOnly interface: calling rotateFromVector(optional unrestricted double, optional unrestricted double) on new DOMMatrixReadOnly() with too few arguments must throw TypeError 
263
PASS DOMMatrixReadOnly interface: new DOMMatrixReadOnly() must inherit property "rotateAxisAngle(optional unrestricted double, optional unrestricted double, optional unrestricted double, optional unrestricted double)" with the proper type 
264
PASS DOMMatrixReadOnly interface: calling rotateAxisAngle(optional unrestricted double, optional unrestricted double, optional unrestricted double, optional unrestricted double) on new DOMMatrixReadOnly() with too few arguments must throw TypeError 
265
PASS DOMMatrixReadOnly interface: new DOMMatrixReadOnly() must inherit property "skewX(optional unrestricted double)" with the proper type 
266
PASS DOMMatrixReadOnly interface: calling skewX(optional unrestricted double) on new DOMMatrixReadOnly() with too few arguments must throw TypeError 
267
PASS DOMMatrixReadOnly interface: new DOMMatrixReadOnly() must inherit property "skewY(optional unrestricted double)" with the proper type 
268
PASS DOMMatrixReadOnly interface: calling skewY(optional unrestricted double) on new DOMMatrixReadOnly() with too few arguments must throw TypeError 
269
PASS DOMMatrixReadOnly interface: new DOMMatrixReadOnly() must inherit property "multiply(optional DOMMatrixInit)" with the proper type 
270
PASS DOMMatrixReadOnly interface: calling multiply(optional DOMMatrixInit) on new DOMMatrixReadOnly() with too few arguments must throw TypeError 
271
PASS DOMMatrixReadOnly interface: new DOMMatrixReadOnly() must inherit property "flipX()" with the proper type 
272
PASS DOMMatrixReadOnly interface: new DOMMatrixReadOnly() must inherit property "flipY()" with the proper type 
273
PASS DOMMatrixReadOnly interface: new DOMMatrixReadOnly() must inherit property "inverse()" with the proper type 
274
PASS DOMMatrixReadOnly interface: new DOMMatrixReadOnly() must inherit property "transformPoint(optional DOMPointInit)" with the proper type 
275
PASS DOMMatrixReadOnly interface: calling transformPoint(optional DOMPointInit) on new DOMMatrixReadOnly() with too few arguments must throw TypeError 
276
PASS DOMMatrixReadOnly interface: new DOMMatrixReadOnly() must inherit property "toFloat32Array()" with the proper type 
277
PASS DOMMatrixReadOnly interface: new DOMMatrixReadOnly() must inherit property "toFloat64Array()" with the proper type 
278
PASS DOMMatrixReadOnly interface: new DOMMatrixReadOnly() must inherit property "toJSON()" with the proper type 
279
PASS DOMMatrixReadOnly interface: default toJSON operation on new DOMMatrixReadOnly() 
280
PASS DOMMatrixReadOnly must be primary interface of DOMMatrixReadOnly.fromMatrix({is2D: false}) 
281
PASS Stringification of DOMMatrixReadOnly.fromMatrix({is2D: false}) 
282
PASS DOMMatrix interface: existence and properties of interface object 
283
PASS DOMMatrix interface object length 
284
PASS DOMMatrix interface object name 
285
FAIL DOMMatrix interface: legacy window alias assert_equals: self.SVGMatrix should be the same value as self.DOMMatrix expected function "function DOMMatrix() {
286
    [native code]
287
}" but got function "function SVGMatrix() {
288
    [native code]
289
}"
290
PASS DOMMatrix interface: existence and properties of interface prototype object 
291
PASS DOMMatrix interface: existence and properties of interface prototype object's "constructor" property 
292
PASS DOMMatrix interface: existence and properties of interface prototype object's @@unscopables property 
293
PASS DOMMatrix interface: operation fromMatrix(optional DOMMatrixInit) 
294
PASS DOMMatrix interface: operation fromFloat32Array(Float32Array) 
295
PASS DOMMatrix interface: operation fromFloat64Array(Float64Array) 
296
PASS DOMMatrix interface: attribute a 
297
PASS DOMMatrix interface: attribute b 
298
PASS DOMMatrix interface: attribute c 
299
PASS DOMMatrix interface: attribute d 
300
PASS DOMMatrix interface: attribute e 
301
PASS DOMMatrix interface: attribute f 
302
PASS DOMMatrix interface: attribute m11 
303
PASS DOMMatrix interface: attribute m12 
304
PASS DOMMatrix interface: attribute m13 
305
PASS DOMMatrix interface: attribute m14 
306
PASS DOMMatrix interface: attribute m21 
307
PASS DOMMatrix interface: attribute m22 
308
PASS DOMMatrix interface: attribute m23 
309
PASS DOMMatrix interface: attribute m24 
310
PASS DOMMatrix interface: attribute m31 
311
PASS DOMMatrix interface: attribute m32 
312
PASS DOMMatrix interface: attribute m33 
313
PASS DOMMatrix interface: attribute m34 
314
PASS DOMMatrix interface: attribute m41 
315
PASS DOMMatrix interface: attribute m42 
316
PASS DOMMatrix interface: attribute m43 
317
PASS DOMMatrix interface: attribute m44 
318
PASS DOMMatrix interface: operation multiplySelf(optional DOMMatrixInit) 
319
PASS DOMMatrix interface: operation preMultiplySelf(optional DOMMatrixInit) 
320
PASS DOMMatrix interface: operation translateSelf(optional unrestricted double, optional unrestricted double, optional unrestricted double) 
321
PASS DOMMatrix interface: operation scaleSelf(optional unrestricted double, optional unrestricted double, optional unrestricted double, optional unrestricted double, optional unrestricted double, optional unrestricted double) 
322
PASS DOMMatrix interface: operation scale3dSelf(optional unrestricted double, optional unrestricted double, optional unrestricted double, optional unrestricted double) 
323
PASS DOMMatrix interface: operation rotateSelf(optional unrestricted double, optional unrestricted double, optional unrestricted double) 
324
PASS DOMMatrix interface: operation rotateFromVectorSelf(optional unrestricted double, optional unrestricted double) 
325
PASS DOMMatrix interface: operation rotateAxisAngleSelf(optional unrestricted double, optional unrestricted double, optional unrestricted double, optional unrestricted double) 
326
PASS DOMMatrix interface: operation skewXSelf(optional unrestricted double) 
327
PASS DOMMatrix interface: operation skewYSelf(optional unrestricted double) 
328
PASS DOMMatrix interface: operation invertSelf() 
329
PASS DOMMatrix interface: operation setMatrixValue(DOMString) 
330
PASS DOMMatrix must be primary interface of new DOMMatrix() 
331
PASS Stringification of new DOMMatrix() 
332
PASS DOMMatrix interface: new DOMMatrix() must inherit property "fromMatrix(optional DOMMatrixInit)" with the proper type 
333
PASS DOMMatrix interface: calling fromMatrix(optional DOMMatrixInit) on new DOMMatrix() with too few arguments must throw TypeError 
334
PASS DOMMatrix interface: new DOMMatrix() must inherit property "fromFloat32Array(Float32Array)" with the proper type 
335
PASS DOMMatrix interface: calling fromFloat32Array(Float32Array) on new DOMMatrix() with too few arguments must throw TypeError 
336
PASS DOMMatrix interface: new DOMMatrix() must inherit property "fromFloat64Array(Float64Array)" with the proper type 
337
PASS DOMMatrix interface: calling fromFloat64Array(Float64Array) on new DOMMatrix() with too few arguments must throw TypeError 
338
PASS DOMMatrix interface: new DOMMatrix() must inherit property "a" with the proper type 
339
PASS DOMMatrix interface: new DOMMatrix() must inherit property "b" with the proper type 
340
PASS DOMMatrix interface: new DOMMatrix() must inherit property "c" with the proper type 
341
PASS DOMMatrix interface: new DOMMatrix() must inherit property "d" with the proper type 
342
PASS DOMMatrix interface: new DOMMatrix() must inherit property "e" with the proper type 
343
PASS DOMMatrix interface: new DOMMatrix() must inherit property "f" with the proper type 
344
PASS DOMMatrix interface: new DOMMatrix() must inherit property "m11" with the proper type 
345
PASS DOMMatrix interface: new DOMMatrix() must inherit property "m12" with the proper type 
346
PASS DOMMatrix interface: new DOMMatrix() must inherit property "m13" with the proper type 
347
PASS DOMMatrix interface: new DOMMatrix() must inherit property "m14" with the proper type 
348
PASS DOMMatrix interface: new DOMMatrix() must inherit property "m21" with the proper type 
349
PASS DOMMatrix interface: new DOMMatrix() must inherit property "m22" with the proper type 
350
PASS DOMMatrix interface: new DOMMatrix() must inherit property "m23" with the proper type 
351
PASS DOMMatrix interface: new DOMMatrix() must inherit property "m24" with the proper type 
352
PASS DOMMatrix interface: new DOMMatrix() must inherit property "m31" with the proper type 
353
PASS DOMMatrix interface: new DOMMatrix() must inherit property "m32" with the proper type 
354
PASS DOMMatrix interface: new DOMMatrix() must inherit property "m33" with the proper type 
355
PASS DOMMatrix interface: new DOMMatrix() must inherit property "m34" with the proper type 
356
PASS DOMMatrix interface: new DOMMatrix() must inherit property "m41" with the proper type 
357
PASS DOMMatrix interface: new DOMMatrix() must inherit property "m42" with the proper type 
358
PASS DOMMatrix interface: new DOMMatrix() must inherit property "m43" with the proper type 
359
PASS DOMMatrix interface: new DOMMatrix() must inherit property "m44" with the proper type 
360
PASS DOMMatrix interface: new DOMMatrix() must inherit property "multiplySelf(optional DOMMatrixInit)" with the proper type 
361
PASS DOMMatrix interface: calling multiplySelf(optional DOMMatrixInit) on new DOMMatrix() with too few arguments must throw TypeError 
362
PASS DOMMatrix interface: new DOMMatrix() must inherit property "preMultiplySelf(optional DOMMatrixInit)" with the proper type 
363
PASS DOMMatrix interface: calling preMultiplySelf(optional DOMMatrixInit) on new DOMMatrix() with too few arguments must throw TypeError 
364
PASS DOMMatrix interface: new DOMMatrix() must inherit property "translateSelf(optional unrestricted double, optional unrestricted double, optional unrestricted double)" with the proper type 
365
PASS DOMMatrix interface: calling translateSelf(optional unrestricted double, optional unrestricted double, optional unrestricted double) on new DOMMatrix() with too few arguments must throw TypeError 
366
PASS DOMMatrix interface: new DOMMatrix() must inherit property "scaleSelf(optional unrestricted double, optional unrestricted double, optional unrestricted double, optional unrestricted double, optional unrestricted double, optional unrestricted double)" with the proper type 
367
PASS DOMMatrix interface: calling scaleSelf(optional unrestricted double, optional unrestricted double, optional unrestricted double, optional unrestricted double, optional unrestricted double, optional unrestricted double) on new DOMMatrix() with too few arguments must throw TypeError 
368
PASS DOMMatrix interface: new DOMMatrix() must inherit property "scale3dSelf(optional unrestricted double, optional unrestricted double, optional unrestricted double, optional unrestricted double)" with the proper type 
369
PASS DOMMatrix interface: calling scale3dSelf(optional unrestricted double, optional unrestricted double, optional unrestricted double, optional unrestricted double) on new DOMMatrix() with too few arguments must throw TypeError 
370
PASS DOMMatrix interface: new DOMMatrix() must inherit property "rotateSelf(optional unrestricted double, optional unrestricted double, optional unrestricted double)" with the proper type 
371
PASS DOMMatrix interface: calling rotateSelf(optional unrestricted double, optional unrestricted double, optional unrestricted double) on new DOMMatrix() with too few arguments must throw TypeError 
372
PASS DOMMatrix interface: new DOMMatrix() must inherit property "rotateFromVectorSelf(optional unrestricted double, optional unrestricted double)" with the proper type 
373
PASS DOMMatrix interface: calling rotateFromVectorSelf(optional unrestricted double, optional unrestricted double) on new DOMMatrix() with too few arguments must throw TypeError 
374
PASS DOMMatrix interface: new DOMMatrix() must inherit property "rotateAxisAngleSelf(optional unrestricted double, optional unrestricted double, optional unrestricted double, optional unrestricted double)" with the proper type 
375
PASS DOMMatrix interface: calling rotateAxisAngleSelf(optional unrestricted double, optional unrestricted double, optional unrestricted double, optional unrestricted double) on new DOMMatrix() with too few arguments must throw TypeError 
376
PASS DOMMatrix interface: new DOMMatrix() must inherit property "skewXSelf(optional unrestricted double)" with the proper type 
377
PASS DOMMatrix interface: calling skewXSelf(optional unrestricted double) on new DOMMatrix() with too few arguments must throw TypeError 
378
PASS DOMMatrix interface: new DOMMatrix() must inherit property "skewYSelf(optional unrestricted double)" with the proper type 
379
PASS DOMMatrix interface: calling skewYSelf(optional unrestricted double) on new DOMMatrix() with too few arguments must throw TypeError 
380
PASS DOMMatrix interface: new DOMMatrix() must inherit property "invertSelf()" with the proper type 
381
PASS DOMMatrix interface: new DOMMatrix() must inherit property "setMatrixValue(DOMString)" with the proper type 
382
PASS DOMMatrix interface: calling setMatrixValue(DOMString) on new DOMMatrix() with too few arguments must throw TypeError 
383
PASS DOMMatrix must be primary interface of DOMMatrix.fromMatrix({is2D: false}) 
384
PASS Stringification of DOMMatrix.fromMatrix({is2D: false}) 
385
- a/LayoutTests/imported/w3c/web-platform-tests/css/geometry/interfaces.html -13 lines
Lines 1-13 a/LayoutTests/imported/w3c/web-platform-tests/css/geometry/interfaces.html_sec1
1
<!doctype html>
2
<meta charset=utf-8>
3
<title>Geometry APIs interface IDL tests</title>
4
<link rel=help href=https://drafts.fxtf.org/geometry/#DOMPoint>
5
<link rel=help href=https://drafts.fxtf.org/geometry/#DOMRect>
6
<link rel=help href=https://drafts.fxtf.org/geometry/#DOMQuad>
7
<link rel=help href=https://drafts.fxtf.org/geometry/#DOMMatrix>
8
<script src=/resources/testharness.js></script>
9
<script src=/resources/testharnessreport.js></script>
10
<script src=/resources/WebIDLParser.js></script>
11
<script src=/resources/idlharness.js></script>
12
<div id=log></div>
13
<script src=support/interfaces.js></script>
- a/LayoutTests/imported/w3c/web-platform-tests/css/geometry/interfaces.worker-expected.txt -361 lines
Lines 1-361 a/LayoutTests/imported/w3c/web-platform-tests/css/geometry/interfaces.worker-expected.txt_sec1
1
2
PASS Test driver 
3
PASS DOMPointReadOnly interface: existence and properties of interface object 
4
PASS DOMPointReadOnly interface object length 
5
PASS DOMPointReadOnly interface object name 
6
PASS DOMPointReadOnly interface: existence and properties of interface prototype object 
7
PASS DOMPointReadOnly interface: existence and properties of interface prototype object's "constructor" property 
8
PASS DOMPointReadOnly interface: existence and properties of interface prototype object's @@unscopables property 
9
PASS DOMPointReadOnly interface: operation fromPoint(optional DOMPointInit) 
10
PASS DOMPointReadOnly interface: attribute x 
11
PASS DOMPointReadOnly interface: attribute y 
12
PASS DOMPointReadOnly interface: attribute z 
13
PASS DOMPointReadOnly interface: attribute w 
14
PASS DOMPointReadOnly interface: operation matrixTransform(optional DOMMatrixInit) 
15
PASS DOMPointReadOnly interface: operation toJSON() 
16
PASS DOMPointReadOnly must be primary interface of new DOMPointReadOnly() 
17
PASS Stringification of new DOMPointReadOnly() 
18
PASS DOMPointReadOnly interface: new DOMPointReadOnly() must inherit property "fromPoint(optional DOMPointInit)" with the proper type 
19
PASS DOMPointReadOnly interface: calling fromPoint(optional DOMPointInit) on new DOMPointReadOnly() with too few arguments must throw TypeError 
20
PASS DOMPointReadOnly interface: new DOMPointReadOnly() must inherit property "x" with the proper type 
21
PASS DOMPointReadOnly interface: new DOMPointReadOnly() must inherit property "y" with the proper type 
22
PASS DOMPointReadOnly interface: new DOMPointReadOnly() must inherit property "z" with the proper type 
23
PASS DOMPointReadOnly interface: new DOMPointReadOnly() must inherit property "w" with the proper type 
24
PASS DOMPointReadOnly interface: new DOMPointReadOnly() must inherit property "matrixTransform(optional DOMMatrixInit)" with the proper type 
25
PASS DOMPointReadOnly interface: calling matrixTransform(optional DOMMatrixInit) on new DOMPointReadOnly() with too few arguments must throw TypeError 
26
PASS DOMPointReadOnly interface: new DOMPointReadOnly() must inherit property "toJSON()" with the proper type 
27
PASS DOMPointReadOnly interface: default toJSON operation on new DOMPointReadOnly() 
28
PASS DOMPoint interface: existence and properties of interface object 
29
PASS DOMPoint interface object length 
30
PASS DOMPoint interface object name 
31
PASS DOMPoint interface: legacy window alias 
32
PASS DOMPoint interface: existence and properties of interface prototype object 
33
PASS DOMPoint interface: existence and properties of interface prototype object's "constructor" property 
34
PASS DOMPoint interface: existence and properties of interface prototype object's @@unscopables property 
35
PASS DOMPoint interface: operation fromPoint(optional DOMPointInit) 
36
PASS DOMPoint interface: attribute x 
37
PASS DOMPoint interface: attribute y 
38
PASS DOMPoint interface: attribute z 
39
PASS DOMPoint interface: attribute w 
40
PASS DOMPoint must be primary interface of new DOMPoint() 
41
PASS Stringification of new DOMPoint() 
42
PASS DOMPoint interface: new DOMPoint() must inherit property "fromPoint(optional DOMPointInit)" with the proper type 
43
PASS DOMPoint interface: calling fromPoint(optional DOMPointInit) on new DOMPoint() with too few arguments must throw TypeError 
44
PASS DOMPoint interface: new DOMPoint() must inherit property "x" with the proper type 
45
PASS DOMPoint interface: new DOMPoint() must inherit property "y" with the proper type 
46
PASS DOMPoint interface: new DOMPoint() must inherit property "z" with the proper type 
47
PASS DOMPoint interface: new DOMPoint() must inherit property "w" with the proper type 
48
PASS DOMPointReadOnly interface: new DOMPoint() must inherit property "fromPoint(optional DOMPointInit)" with the proper type 
49
PASS DOMPointReadOnly interface: calling fromPoint(optional DOMPointInit) on new DOMPoint() with too few arguments must throw TypeError 
50
PASS DOMPointReadOnly interface: new DOMPoint() must inherit property "x" with the proper type 
51
PASS DOMPointReadOnly interface: new DOMPoint() must inherit property "y" with the proper type 
52
PASS DOMPointReadOnly interface: new DOMPoint() must inherit property "z" with the proper type 
53
PASS DOMPointReadOnly interface: new DOMPoint() must inherit property "w" with the proper type 
54
PASS DOMPointReadOnly interface: new DOMPoint() must inherit property "matrixTransform(optional DOMMatrixInit)" with the proper type 
55
PASS DOMPointReadOnly interface: calling matrixTransform(optional DOMMatrixInit) on new DOMPoint() with too few arguments must throw TypeError 
56
PASS DOMPointReadOnly interface: new DOMPoint() must inherit property "toJSON()" with the proper type 
57
PASS DOMPointReadOnly interface: default toJSON operation on new DOMPoint() 
58
PASS DOMRectReadOnly interface: existence and properties of interface object 
59
PASS DOMRectReadOnly interface object length 
60
PASS DOMRectReadOnly interface object name 
61
PASS DOMRectReadOnly interface: existence and properties of interface prototype object 
62
PASS DOMRectReadOnly interface: existence and properties of interface prototype object's "constructor" property 
63
PASS DOMRectReadOnly interface: existence and properties of interface prototype object's @@unscopables property 
64
PASS DOMRectReadOnly interface: operation fromRect(optional DOMRectInit) 
65
PASS DOMRectReadOnly interface: attribute x 
66
PASS DOMRectReadOnly interface: attribute y 
67
PASS DOMRectReadOnly interface: attribute width 
68
PASS DOMRectReadOnly interface: attribute height 
69
PASS DOMRectReadOnly interface: attribute top 
70
PASS DOMRectReadOnly interface: attribute right 
71
PASS DOMRectReadOnly interface: attribute bottom 
72
PASS DOMRectReadOnly interface: attribute left 
73
PASS DOMRectReadOnly interface: operation toJSON() 
74
PASS DOMRectReadOnly must be primary interface of new DOMRectReadOnly() 
75
PASS Stringification of new DOMRectReadOnly() 
76
PASS DOMRectReadOnly interface: new DOMRectReadOnly() must inherit property "fromRect(optional DOMRectInit)" with the proper type 
77
PASS DOMRectReadOnly interface: calling fromRect(optional DOMRectInit) on new DOMRectReadOnly() with too few arguments must throw TypeError 
78
PASS DOMRectReadOnly interface: new DOMRectReadOnly() must inherit property "x" with the proper type 
79
PASS DOMRectReadOnly interface: new DOMRectReadOnly() must inherit property "y" with the proper type 
80
PASS DOMRectReadOnly interface: new DOMRectReadOnly() must inherit property "width" with the proper type 
81
PASS DOMRectReadOnly interface: new DOMRectReadOnly() must inherit property "height" with the proper type 
82
PASS DOMRectReadOnly interface: new DOMRectReadOnly() must inherit property "top" with the proper type 
83
PASS DOMRectReadOnly interface: new DOMRectReadOnly() must inherit property "right" with the proper type 
84
PASS DOMRectReadOnly interface: new DOMRectReadOnly() must inherit property "bottom" with the proper type 
85
PASS DOMRectReadOnly interface: new DOMRectReadOnly() must inherit property "left" with the proper type 
86
PASS DOMRectReadOnly interface: new DOMRectReadOnly() must inherit property "toJSON()" with the proper type 
87
PASS DOMRectReadOnly interface: default toJSON operation on new DOMRectReadOnly() 
88
PASS DOMRect interface: existence and properties of interface object 
89
PASS DOMRect interface object length 
90
PASS DOMRect interface object name 
91
PASS DOMRect interface: legacy window alias 
92
PASS DOMRect interface: existence and properties of interface prototype object 
93
PASS DOMRect interface: existence and properties of interface prototype object's "constructor" property 
94
PASS DOMRect interface: existence and properties of interface prototype object's @@unscopables property 
95
PASS DOMRect interface: operation fromRect(optional DOMRectInit) 
96
PASS DOMRect interface: attribute x 
97
PASS DOMRect interface: attribute y 
98
PASS DOMRect interface: attribute width 
99
PASS DOMRect interface: attribute height 
100
PASS DOMRect must be primary interface of new DOMRect() 
101
PASS Stringification of new DOMRect() 
102
PASS DOMRect interface: new DOMRect() must inherit property "fromRect(optional DOMRectInit)" with the proper type 
103
PASS DOMRect interface: calling fromRect(optional DOMRectInit) on new DOMRect() with too few arguments must throw TypeError 
104
PASS DOMRect interface: new DOMRect() must inherit property "x" with the proper type 
105
PASS DOMRect interface: new DOMRect() must inherit property "y" with the proper type 
106
PASS DOMRect interface: new DOMRect() must inherit property "width" with the proper type 
107
PASS DOMRect interface: new DOMRect() must inherit property "height" with the proper type 
108
PASS DOMRectReadOnly interface: new DOMRect() must inherit property "fromRect(optional DOMRectInit)" with the proper type 
109
PASS DOMRectReadOnly interface: calling fromRect(optional DOMRectInit) on new DOMRect() with too few arguments must throw TypeError 
110
PASS DOMRectReadOnly interface: new DOMRect() must inherit property "x" with the proper type 
111
PASS DOMRectReadOnly interface: new DOMRect() must inherit property "y" with the proper type 
112
PASS DOMRectReadOnly interface: new DOMRect() must inherit property "width" with the proper type 
113
PASS DOMRectReadOnly interface: new DOMRect() must inherit property "height" with the proper type 
114
PASS DOMRectReadOnly interface: new DOMRect() must inherit property "top" with the proper type 
115
PASS DOMRectReadOnly interface: new DOMRect() must inherit property "right" with the proper type 
116
PASS DOMRectReadOnly interface: new DOMRect() must inherit property "bottom" with the proper type 
117
PASS DOMRectReadOnly interface: new DOMRect() must inherit property "left" with the proper type 
118
PASS DOMRectReadOnly interface: new DOMRect() must inherit property "toJSON()" with the proper type 
119
PASS DOMRectReadOnly interface: default toJSON operation on new DOMRect() 
120
PASS DOMRectList interface: existence and properties of interface object 
121
PASS DOMQuad interface: existence and properties of interface object 
122
PASS DOMQuad interface object length 
123
PASS DOMQuad interface object name 
124
PASS DOMQuad interface: existence and properties of interface prototype object 
125
PASS DOMQuad interface: existence and properties of interface prototype object's "constructor" property 
126
PASS DOMQuad interface: existence and properties of interface prototype object's @@unscopables property 
127
PASS DOMQuad interface: operation fromRect(optional DOMRectInit) 
128
PASS DOMQuad interface: operation fromQuad(optional DOMQuadInit) 
129
PASS DOMQuad interface: attribute p1 
130
PASS DOMQuad interface: attribute p2 
131
PASS DOMQuad interface: attribute p3 
132
PASS DOMQuad interface: attribute p4 
133
PASS DOMQuad interface: operation getBounds() 
134
PASS DOMQuad interface: operation toJSON() 
135
PASS DOMQuad must be primary interface of new DOMQuad() 
136
PASS Stringification of new DOMQuad() 
137
PASS DOMQuad interface: new DOMQuad() must inherit property "fromRect(optional DOMRectInit)" with the proper type 
138
PASS DOMQuad interface: calling fromRect(optional DOMRectInit) on new DOMQuad() with too few arguments must throw TypeError 
139
PASS DOMQuad interface: new DOMQuad() must inherit property "fromQuad(optional DOMQuadInit)" with the proper type 
140
PASS DOMQuad interface: calling fromQuad(optional DOMQuadInit) on new DOMQuad() with too few arguments must throw TypeError 
141
PASS DOMQuad interface: new DOMQuad() must inherit property "p1" with the proper type 
142
PASS DOMQuad interface: new DOMQuad() must inherit property "p2" with the proper type 
143
PASS DOMQuad interface: new DOMQuad() must inherit property "p3" with the proper type 
144
PASS DOMQuad interface: new DOMQuad() must inherit property "p4" with the proper type 
145
PASS DOMQuad interface: new DOMQuad() must inherit property "getBounds()" with the proper type 
146
PASS DOMQuad interface: new DOMQuad() must inherit property "toJSON()" with the proper type 
147
FAIL DOMQuad interface: default toJSON operation on new DOMQuad() assert_true: instanceof DOMPoint expected true got false
148
PASS DOMMatrixReadOnly interface: existence and properties of interface object 
149
PASS DOMMatrixReadOnly interface object length 
150
PASS DOMMatrixReadOnly interface object name 
151
PASS DOMMatrixReadOnly interface: existence and properties of interface prototype object 
152
PASS DOMMatrixReadOnly interface: existence and properties of interface prototype object's "constructor" property 
153
PASS DOMMatrixReadOnly interface: existence and properties of interface prototype object's @@unscopables property 
154
PASS DOMMatrixReadOnly interface: operation fromMatrix(optional DOMMatrixInit) 
155
PASS DOMMatrixReadOnly interface: operation fromFloat32Array(Float32Array) 
156
PASS DOMMatrixReadOnly interface: operation fromFloat64Array(Float64Array) 
157
PASS DOMMatrixReadOnly interface: attribute a 
158
PASS DOMMatrixReadOnly interface: attribute b 
159
PASS DOMMatrixReadOnly interface: attribute c 
160
PASS DOMMatrixReadOnly interface: attribute d 
161
PASS DOMMatrixReadOnly interface: attribute e 
162
PASS DOMMatrixReadOnly interface: attribute f 
163
PASS DOMMatrixReadOnly interface: attribute m11 
164
PASS DOMMatrixReadOnly interface: attribute m12 
165
PASS DOMMatrixReadOnly interface: attribute m13 
166
PASS DOMMatrixReadOnly interface: attribute m14 
167
PASS DOMMatrixReadOnly interface: attribute m21 
168
PASS DOMMatrixReadOnly interface: attribute m22 
169
PASS DOMMatrixReadOnly interface: attribute m23 
170
PASS DOMMatrixReadOnly interface: attribute m24 
171
PASS DOMMatrixReadOnly interface: attribute m31 
172
PASS DOMMatrixReadOnly interface: attribute m32 
173
PASS DOMMatrixReadOnly interface: attribute m33 
174
PASS DOMMatrixReadOnly interface: attribute m34 
175
PASS DOMMatrixReadOnly interface: attribute m41 
176
PASS DOMMatrixReadOnly interface: attribute m42 
177
PASS DOMMatrixReadOnly interface: attribute m43 
178
PASS DOMMatrixReadOnly interface: attribute m44 
179
PASS DOMMatrixReadOnly interface: attribute is2D 
180
PASS DOMMatrixReadOnly interface: attribute isIdentity 
181
PASS DOMMatrixReadOnly interface: operation translate(optional unrestricted double, optional unrestricted double, optional unrestricted double) 
182
PASS DOMMatrixReadOnly interface: operation scale(optional unrestricted double, optional unrestricted double, optional unrestricted double, optional unrestricted double, optional unrestricted double, optional unrestricted double) 
183
FAIL DOMMatrixReadOnly interface: operation scaleNonUniform(optional unrestricted double, optional unrestricted double) assert_own_property: interface prototype object missing non-static operation expected property "scaleNonUniform" missing
184
PASS DOMMatrixReadOnly interface: operation scale3d(optional unrestricted double, optional unrestricted double, optional unrestricted double, optional unrestricted double) 
185
PASS DOMMatrixReadOnly interface: operation rotate(optional unrestricted double, optional unrestricted double, optional unrestricted double) 
186
PASS DOMMatrixReadOnly interface: operation rotateFromVector(optional unrestricted double, optional unrestricted double) 
187
PASS DOMMatrixReadOnly interface: operation rotateAxisAngle(optional unrestricted double, optional unrestricted double, optional unrestricted double, optional unrestricted double) 
188
PASS DOMMatrixReadOnly interface: operation skewX(optional unrestricted double) 
189
PASS DOMMatrixReadOnly interface: operation skewY(optional unrestricted double) 
190
PASS DOMMatrixReadOnly interface: operation multiply(optional DOMMatrixInit) 
191
PASS DOMMatrixReadOnly interface: operation flipX() 
192
PASS DOMMatrixReadOnly interface: operation flipY() 
193
PASS DOMMatrixReadOnly interface: operation inverse() 
194
PASS DOMMatrixReadOnly interface: operation transformPoint(optional DOMPointInit) 
195
PASS DOMMatrixReadOnly interface: operation toFloat32Array() 
196
PASS DOMMatrixReadOnly interface: operation toFloat64Array() 
197
PASS DOMMatrixReadOnly interface: member  
198
PASS DOMMatrixReadOnly interface: operation toJSON() 
199
PASS DOMMatrixReadOnly must be primary interface of new DOMMatrixReadOnly() 
200
PASS Stringification of new DOMMatrixReadOnly() 
201
PASS DOMMatrixReadOnly interface: new DOMMatrixReadOnly() must inherit property "fromMatrix(optional DOMMatrixInit)" with the proper type 
202
PASS DOMMatrixReadOnly interface: calling fromMatrix(optional DOMMatrixInit) on new DOMMatrixReadOnly() with too few arguments must throw TypeError 
203
PASS DOMMatrixReadOnly interface: new DOMMatrixReadOnly() must inherit property "fromFloat32Array(Float32Array)" with the proper type 
204
PASS DOMMatrixReadOnly interface: calling fromFloat32Array(Float32Array) on new DOMMatrixReadOnly() with too few arguments must throw TypeError 
205
PASS DOMMatrixReadOnly interface: new DOMMatrixReadOnly() must inherit property "fromFloat64Array(Float64Array)" with the proper type 
206
PASS DOMMatrixReadOnly interface: calling fromFloat64Array(Float64Array) on new DOMMatrixReadOnly() with too few arguments must throw TypeError 
207
PASS DOMMatrixReadOnly interface: new DOMMatrixReadOnly() must inherit property "a" with the proper type 
208
PASS DOMMatrixReadOnly interface: new DOMMatrixReadOnly() must inherit property "b" with the proper type 
209
PASS DOMMatrixReadOnly interface: new DOMMatrixReadOnly() must inherit property "c" with the proper type 
210
PASS DOMMatrixReadOnly interface: new DOMMatrixReadOnly() must inherit property "d" with the proper type 
211
PASS DOMMatrixReadOnly interface: new DOMMatrixReadOnly() must inherit property "e" with the proper type 
212
PASS DOMMatrixReadOnly interface: new DOMMatrixReadOnly() must inherit property "f" with the proper type 
213
PASS DOMMatrixReadOnly interface: new DOMMatrixReadOnly() must inherit property "m11" with the proper type 
214
PASS DOMMatrixReadOnly interface: new DOMMatrixReadOnly() must inherit property "m12" with the proper type 
215
PASS DOMMatrixReadOnly interface: new DOMMatrixReadOnly() must inherit property "m13" with the proper type 
216
PASS DOMMatrixReadOnly interface: new DOMMatrixReadOnly() must inherit property "m14" with the proper type 
217
PASS DOMMatrixReadOnly interface: new DOMMatrixReadOnly() must inherit property "m21" with the proper type 
218
PASS DOMMatrixReadOnly interface: new DOMMatrixReadOnly() must inherit property "m22" with the proper type 
219
PASS DOMMatrixReadOnly interface: new DOMMatrixReadOnly() must inherit property "m23" with the proper type 
220
PASS DOMMatrixReadOnly interface: new DOMMatrixReadOnly() must inherit property "m24" with the proper type 
221
PASS DOMMatrixReadOnly interface: new DOMMatrixReadOnly() must inherit property "m31" with the proper type 
222
PASS DOMMatrixReadOnly interface: new DOMMatrixReadOnly() must inherit property "m32" with the proper type 
223
PASS DOMMatrixReadOnly interface: new DOMMatrixReadOnly() must inherit property "m33" with the proper type 
224
PASS DOMMatrixReadOnly interface: new DOMMatrixReadOnly() must inherit property "m34" with the proper type 
225
PASS DOMMatrixReadOnly interface: new DOMMatrixReadOnly() must inherit property "m41" with the proper type 
226
PASS DOMMatrixReadOnly interface: new DOMMatrixReadOnly() must inherit property "m42" with the proper type 
227
PASS DOMMatrixReadOnly interface: new DOMMatrixReadOnly() must inherit property "m43" with the proper type 
228
PASS DOMMatrixReadOnly interface: new DOMMatrixReadOnly() must inherit property "m44" with the proper type 
229
PASS DOMMatrixReadOnly interface: new DOMMatrixReadOnly() must inherit property "is2D" with the proper type 
230
PASS DOMMatrixReadOnly interface: new DOMMatrixReadOnly() must inherit property "isIdentity" with the proper type 
231
PASS DOMMatrixReadOnly interface: new DOMMatrixReadOnly() must inherit property "translate(optional unrestricted double, optional unrestricted double, optional unrestricted double)" with the proper type 
232
PASS DOMMatrixReadOnly interface: calling translate(optional unrestricted double, optional unrestricted double, optional unrestricted double) on new DOMMatrixReadOnly() with too few arguments must throw TypeError 
233
PASS DOMMatrixReadOnly interface: new DOMMatrixReadOnly() must inherit property "scale(optional unrestricted double, optional unrestricted double, optional unrestricted double, optional unrestricted double, optional unrestricted double, optional unrestricted double)" with the proper type 
234
PASS DOMMatrixReadOnly interface: calling scale(optional unrestricted double, optional unrestricted double, optional unrestricted double, optional unrestricted double, optional unrestricted double, optional unrestricted double) on new DOMMatrixReadOnly() with too few arguments must throw TypeError 
235
FAIL DOMMatrixReadOnly interface: new DOMMatrixReadOnly() must inherit property "scaleNonUniform(optional unrestricted double, optional unrestricted double)" with the proper type assert_inherits: property "scaleNonUniform" not found in prototype chain
236
FAIL DOMMatrixReadOnly interface: calling scaleNonUniform(optional unrestricted double, optional unrestricted double) on new DOMMatrixReadOnly() with too few arguments must throw TypeError assert_inherits: property "scaleNonUniform" not found in prototype chain
237
PASS DOMMatrixReadOnly interface: new DOMMatrixReadOnly() must inherit property "scale3d(optional unrestricted double, optional unrestricted double, optional unrestricted double, optional unrestricted double)" with the proper type 
238
PASS DOMMatrixReadOnly interface: calling scale3d(optional unrestricted double, optional unrestricted double, optional unrestricted double, optional unrestricted double) on new DOMMatrixReadOnly() with too few arguments must throw TypeError 
239
PASS DOMMatrixReadOnly interface: new DOMMatrixReadOnly() must inherit property "rotate(optional unrestricted double, optional unrestricted double, optional unrestricted double)" with the proper type 
240
PASS DOMMatrixReadOnly interface: calling rotate(optional unrestricted double, optional unrestricted double, optional unrestricted double) on new DOMMatrixReadOnly() with too few arguments must throw TypeError 
241
PASS DOMMatrixReadOnly interface: new DOMMatrixReadOnly() must inherit property "rotateFromVector(optional unrestricted double, optional unrestricted double)" with the proper type 
242
PASS DOMMatrixReadOnly interface: calling rotateFromVector(optional unrestricted double, optional unrestricted double) on new DOMMatrixReadOnly() with too few arguments must throw TypeError 
243
PASS DOMMatrixReadOnly interface: new DOMMatrixReadOnly() must inherit property "rotateAxisAngle(optional unrestricted double, optional unrestricted double, optional unrestricted double, optional unrestricted double)" with the proper type 
244
PASS DOMMatrixReadOnly interface: calling rotateAxisAngle(optional unrestricted double, optional unrestricted double, optional unrestricted double, optional unrestricted double) on new DOMMatrixReadOnly() with too few arguments must throw TypeError 
245
PASS DOMMatrixReadOnly interface: new DOMMatrixReadOnly() must inherit property "skewX(optional unrestricted double)" with the proper type 
246
PASS DOMMatrixReadOnly interface: calling skewX(optional unrestricted double) on new DOMMatrixReadOnly() with too few arguments must throw TypeError 
247
PASS DOMMatrixReadOnly interface: new DOMMatrixReadOnly() must inherit property "skewY(optional unrestricted double)" with the proper type 
248
PASS DOMMatrixReadOnly interface: calling skewY(optional unrestricted double) on new DOMMatrixReadOnly() with too few arguments must throw TypeError 
249
PASS DOMMatrixReadOnly interface: new DOMMatrixReadOnly() must inherit property "multiply(optional DOMMatrixInit)" with the proper type 
250
PASS DOMMatrixReadOnly interface: calling multiply(optional DOMMatrixInit) on new DOMMatrixReadOnly() with too few arguments must throw TypeError 
251
PASS DOMMatrixReadOnly interface: new DOMMatrixReadOnly() must inherit property "flipX()" with the proper type 
252
PASS DOMMatrixReadOnly interface: new DOMMatrixReadOnly() must inherit property "flipY()" with the proper type 
253
PASS DOMMatrixReadOnly interface: new DOMMatrixReadOnly() must inherit property "inverse()" with the proper type 
254
PASS DOMMatrixReadOnly interface: new DOMMatrixReadOnly() must inherit property "transformPoint(optional DOMPointInit)" with the proper type 
255
PASS DOMMatrixReadOnly interface: calling transformPoint(optional DOMPointInit) on new DOMMatrixReadOnly() with too few arguments must throw TypeError 
256
PASS DOMMatrixReadOnly interface: new DOMMatrixReadOnly() must inherit property "toFloat32Array()" with the proper type 
257
PASS DOMMatrixReadOnly interface: new DOMMatrixReadOnly() must inherit property "toFloat64Array()" with the proper type 
258
PASS DOMMatrixReadOnly interface: new DOMMatrixReadOnly() must not have property "" 
259
PASS DOMMatrixReadOnly interface: new DOMMatrixReadOnly() must inherit property "toJSON()" with the proper type 
260
PASS DOMMatrixReadOnly interface: default toJSON operation on new DOMMatrixReadOnly() 
261
PASS DOMMatrixReadOnly must be primary interface of DOMMatrixReadOnly.fromMatrix({is2D: false}) 
262
PASS Stringification of DOMMatrixReadOnly.fromMatrix({is2D: false}) 
263
PASS DOMMatrix interface: existence and properties of interface object 
264
PASS DOMMatrix interface object length 
265
PASS DOMMatrix interface object name 
266
PASS DOMMatrix interface: legacy window alias 
267
PASS DOMMatrix interface: existence and properties of interface prototype object 
268
PASS DOMMatrix interface: existence and properties of interface prototype object's "constructor" property 
269
PASS DOMMatrix interface: existence and properties of interface prototype object's @@unscopables property 
270
PASS DOMMatrix interface: operation fromMatrix(optional DOMMatrixInit) 
271
PASS DOMMatrix interface: operation fromFloat32Array(Float32Array) 
272
PASS DOMMatrix interface: operation fromFloat64Array(Float64Array) 
273
PASS DOMMatrix interface: attribute a 
274
PASS DOMMatrix interface: attribute b 
275
PASS DOMMatrix interface: attribute c 
276
PASS DOMMatrix interface: attribute d 
277
PASS DOMMatrix interface: attribute e 
278
PASS DOMMatrix interface: attribute f 
279
PASS DOMMatrix interface: attribute m11 
280
PASS DOMMatrix interface: attribute m12 
281
PASS DOMMatrix interface: attribute m13 
282
PASS DOMMatrix interface: attribute m14 
283
PASS DOMMatrix interface: attribute m21 
284
PASS DOMMatrix interface: attribute m22 
285
PASS DOMMatrix interface: attribute m23 
286
PASS DOMMatrix interface: attribute m24 
287
PASS DOMMatrix interface: attribute m31 
288
PASS DOMMatrix interface: attribute m32 
289
PASS DOMMatrix interface: attribute m33 
290
PASS DOMMatrix interface: attribute m34 
291
PASS DOMMatrix interface: attribute m41 
292
PASS DOMMatrix interface: attribute m42 
293
PASS DOMMatrix interface: attribute m43 
294
PASS DOMMatrix interface: attribute m44 
295
PASS DOMMatrix interface: operation multiplySelf(optional DOMMatrixInit) 
296
PASS DOMMatrix interface: operation preMultiplySelf(optional DOMMatrixInit) 
297
PASS DOMMatrix interface: operation translateSelf(optional unrestricted double, optional unrestricted double, optional unrestricted double) 
298
PASS DOMMatrix interface: operation scaleSelf(optional unrestricted double, optional unrestricted double, optional unrestricted double, optional unrestricted double, optional unrestricted double, optional unrestricted double) 
299
PASS DOMMatrix interface: operation scale3dSelf(optional unrestricted double, optional unrestricted double, optional unrestricted double, optional unrestricted double) 
300
PASS DOMMatrix interface: operation rotateSelf(optional unrestricted double, optional unrestricted double, optional unrestricted double) 
301
PASS DOMMatrix interface: operation rotateFromVectorSelf(optional unrestricted double, optional unrestricted double) 
302
PASS DOMMatrix interface: operation rotateAxisAngleSelf(optional unrestricted double, optional unrestricted double, optional unrestricted double, optional unrestricted double) 
303
PASS DOMMatrix interface: operation skewXSelf(optional unrestricted double) 
304
PASS DOMMatrix interface: operation skewYSelf(optional unrestricted double) 
305
PASS DOMMatrix interface: operation invertSelf() 
306
PASS DOMMatrix interface: member setMatrixValue 
307
PASS DOMMatrix must be primary interface of new DOMMatrix() 
308
PASS Stringification of new DOMMatrix() 
309
PASS DOMMatrix interface: new DOMMatrix() must inherit property "fromMatrix(optional DOMMatrixInit)" with the proper type 
310
PASS DOMMatrix interface: calling fromMatrix(optional DOMMatrixInit) on new DOMMatrix() with too few arguments must throw TypeError 
311
PASS DOMMatrix interface: new DOMMatrix() must inherit property "fromFloat32Array(Float32Array)" with the proper type 
312
PASS DOMMatrix interface: calling fromFloat32Array(Float32Array) on new DOMMatrix() with too few arguments must throw TypeError 
313
PASS DOMMatrix interface: new DOMMatrix() must inherit property "fromFloat64Array(Float64Array)" with the proper type 
314
PASS DOMMatrix interface: calling fromFloat64Array(Float64Array) on new DOMMatrix() with too few arguments must throw TypeError 
315
PASS DOMMatrix interface: new DOMMatrix() must inherit property "a" with the proper type 
316
PASS DOMMatrix interface: new DOMMatrix() must inherit property "b" with the proper type 
317
PASS DOMMatrix interface: new DOMMatrix() must inherit property "c" with the proper type 
318
PASS DOMMatrix interface: new DOMMatrix() must inherit property "d" with the proper type 
319
PASS DOMMatrix interface: new DOMMatrix() must inherit property "e" with the proper type 
320
PASS DOMMatrix interface: new DOMMatrix() must inherit property "f" with the proper type 
321
PASS DOMMatrix interface: new DOMMatrix() must inherit property "m11" with the proper type 
322
PASS DOMMatrix interface: new DOMMatrix() must inherit property "m12" with the proper type 
323
PASS DOMMatrix interface: new DOMMatrix() must inherit property "m13" with the proper type 
324
PASS DOMMatrix interface: new DOMMatrix() must inherit property "m14" with the proper type 
325
PASS DOMMatrix interface: new DOMMatrix() must inherit property "m21" with the proper type 
326
PASS DOMMatrix interface: new DOMMatrix() must inherit property "m22" with the proper type 
327
PASS DOMMatrix interface: new DOMMatrix() must inherit property "m23" with the proper type 
328
PASS DOMMatrix interface: new DOMMatrix() must inherit property "m24" with the proper type 
329
PASS DOMMatrix interface: new DOMMatrix() must inherit property "m31" with the proper type 
330
PASS DOMMatrix interface: new DOMMatrix() must inherit property "m32" with the proper type 
331
PASS DOMMatrix interface: new DOMMatrix() must inherit property "m33" with the proper type 
332
PASS DOMMatrix interface: new DOMMatrix() must inherit property "m34" with the proper type 
333
PASS DOMMatrix interface: new DOMMatrix() must inherit property "m41" with the proper type 
334
PASS DOMMatrix interface: new DOMMatrix() must inherit property "m42" with the proper type 
335
PASS DOMMatrix interface: new DOMMatrix() must inherit property "m43" with the proper type 
336
PASS DOMMatrix interface: new DOMMatrix() must inherit property "m44" with the proper type 
337
PASS DOMMatrix interface: new DOMMatrix() must inherit property "multiplySelf(optional DOMMatrixInit)" with the proper type 
338
PASS DOMMatrix interface: calling multiplySelf(optional DOMMatrixInit) on new DOMMatrix() with too few arguments must throw TypeError 
339
PASS DOMMatrix interface: new DOMMatrix() must inherit property "preMultiplySelf(optional DOMMatrixInit)" with the proper type 
340
PASS DOMMatrix interface: calling preMultiplySelf(optional DOMMatrixInit) on new DOMMatrix() with too few arguments must throw TypeError 
341
PASS DOMMatrix interface: new DOMMatrix() must inherit property "translateSelf(optional unrestricted double, optional unrestricted double, optional unrestricted double)" with the proper type 
342
PASS DOMMatrix interface: calling translateSelf(optional unrestricted double, optional unrestricted double, optional unrestricted double) on new DOMMatrix() with too few arguments must throw TypeError 
343
PASS DOMMatrix interface: new DOMMatrix() must inherit property "scaleSelf(optional unrestricted double, optional unrestricted double, optional unrestricted double, optional unrestricted double, optional unrestricted double, optional unrestricted double)" with the proper type 
344
PASS DOMMatrix interface: calling scaleSelf(optional unrestricted double, optional unrestricted double, optional unrestricted double, optional unrestricted double, optional unrestricted double, optional unrestricted double) on new DOMMatrix() with too few arguments must throw TypeError 
345
PASS DOMMatrix interface: new DOMMatrix() must inherit property "scale3dSelf(optional unrestricted double, optional unrestricted double, optional unrestricted double, optional unrestricted double)" with the proper type 
346
PASS DOMMatrix interface: calling scale3dSelf(optional unrestricted double, optional unrestricted double, optional unrestricted double, optional unrestricted double) on new DOMMatrix() with too few arguments must throw TypeError 
347
PASS DOMMatrix interface: new DOMMatrix() must inherit property "rotateSelf(optional unrestricted double, optional unrestricted double, optional unrestricted double)" with the proper type 
348
PASS DOMMatrix interface: calling rotateSelf(optional unrestricted double, optional unrestricted double, optional unrestricted double) on new DOMMatrix() with too few arguments must throw TypeError 
349
PASS DOMMatrix interface: new DOMMatrix() must inherit property "rotateFromVectorSelf(optional unrestricted double, optional unrestricted double)" with the proper type 
350
PASS DOMMatrix interface: calling rotateFromVectorSelf(optional unrestricted double, optional unrestricted double) on new DOMMatrix() with too few arguments must throw TypeError 
351
PASS DOMMatrix interface: new DOMMatrix() must inherit property "rotateAxisAngleSelf(optional unrestricted double, optional unrestricted double, optional unrestricted double, optional unrestricted double)" with the proper type 
352
PASS DOMMatrix interface: calling rotateAxisAngleSelf(optional unrestricted double, optional unrestricted double, optional unrestricted double, optional unrestricted double) on new DOMMatrix() with too few arguments must throw TypeError 
353
PASS DOMMatrix interface: new DOMMatrix() must inherit property "skewXSelf(optional unrestricted double)" with the proper type 
354
PASS DOMMatrix interface: calling skewXSelf(optional unrestricted double) on new DOMMatrix() with too few arguments must throw TypeError 
355
PASS DOMMatrix interface: new DOMMatrix() must inherit property "skewYSelf(optional unrestricted double)" with the proper type 
356
PASS DOMMatrix interface: calling skewYSelf(optional unrestricted double) on new DOMMatrix() with too few arguments must throw TypeError 
357
PASS DOMMatrix interface: new DOMMatrix() must inherit property "invertSelf()" with the proper type 
358
PASS DOMMatrix interface: new DOMMatrix() must not have property "setMatrixValue" 
359
PASS DOMMatrix must be primary interface of DOMMatrix.fromMatrix({is2D: false}) 
360
PASS Stringification of DOMMatrix.fromMatrix({is2D: false}) 
361
- a/LayoutTests/imported/w3c/web-platform-tests/css/geometry/interfaces.worker.html -1 lines
Line 1 a/LayoutTests/imported/w3c/web-platform-tests/css/geometry/interfaces.worker.html_sec1
1
<!-- This file is required for WebKit test infrastructure to run the templated test -->
- a/LayoutTests/imported/w3c/web-platform-tests/css/geometry/interfaces.worker.js -9 lines
Lines 1-9 a/LayoutTests/imported/w3c/web-platform-tests/css/geometry/interfaces.worker.js_sec1
1
"use strict";
2
// https://drafts.fxtf.org/geometry/#DOMPoint
3
// https://drafts.fxtf.org/geometry/#DOMRect
4
// https://drafts.fxtf.org/geometry/#DOMQuad
5
// https://drafts.fxtf.org/geometry/#DOMMatrix
6
7
importScripts("/resources/testharness.js");
8
importScripts("/resources/WebIDLParser.js", "/resources/idlharness.js");
9
importScripts("support/interfaces.js");
- a/LayoutTests/imported/w3c/web-platform-tests/css/geometry/spec-examples-expected.txt +9 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/geometry/spec-examples-expected.txt_sec1
1
2
PASS matrixTransform 
3
PASS DOMQuad 
4
PASS DOMQuad irregular 
5
PASS DOMMatrix 2D transformation 
6
PASS DOMMatrix 3D transformation 
7
PASS DOMMatrix NaN 
8
PASS DOMMatrix mutable 
9
- a/LayoutTests/imported/w3c/web-platform-tests/css/geometry/spec-examples.html +92 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/geometry/spec-examples.html_sec1
1
<!doctype html>
2
<title>Geometry APIs spec examples</title>
3
<script src=/resources/testharness.js></script>
4
<script src=/resources/testharnessreport.js></script>
5
<link rel=help href="https://drafts.fxtf.org/geometry/">
6
<script>
7
test(() => {
8
  var point = new DOMPoint(5, 4);
9
  var matrix = new DOMMatrix([2, 0, 0, 2, 10, 10]);
10
  var transformedPoint = point.matrixTransform(matrix);
11
  // The point variable is set to a new DOMPoint object with x coordinate initialized to 5 and y
12
  // coordinate initialized to 4.
13
  assert_equals(point.x, 5, 'point.x');
14
  assert_equals(point.y, 4, 'point.y');
15
  assert_equals(point.z, 0, 'point.z');
16
  assert_equals(point.w, 1, 'point.w');
17
  // This new DOMPoint is now scaled and the translated by matrix. This resulting transformedPoint
18
  // has the x coordinate 20 and y coordinate 18.
19
  assert_equals(transformedPoint.x, 20, 'transformedPoint.x');
20
  assert_equals(transformedPoint.y, 18, 'transformedPoint.x');
21
  assert_equals(transformedPoint.z, 0, 'transformedPoint.z');
22
  assert_equals(transformedPoint.w, 1, 'transformedPoint.w');
23
}, 'matrixTransform');
24
25
test(() => {
26
  var point = new DOMPoint(2, 0);
27
  var quad1 = new DOMQuad(point, {x: 12, y: 0}, {x: 12, y: 10}, {x: 2, y: 10});
28
  // The attribute values of the resulting DOMQuad quad1 above are also equivalent to the attribute
29
  // values of the following DOMQuad quad2:
30
  var rect = new DOMRect(2, 0, 10, 10);
31
  var quad2 = DOMQuad.fromRect(rect);
32
  for (var p of ['p1', 'p2', 'p3', 'p4']) {
33
    for (var attr of ['x', 'y', 'z', 'w']) {
34
      assert_equals(quad2[p][attr], quad1[p][attr], `${p}.${attr}`);
35
    }
36
  }
37
}, 'DOMQuad');
38
39
test(() => {
40
  var quad = new DOMQuad({x: 40, y: 25}, {x: 180, y: 8}, {x: 210, y: 150}, {x: 10, y: 180});
41
  // <circle cx="40" cy="25" r="3" fill="rgb(204, 51, 51)"/>
42
  assert_equals(quad.p1.x, 40, 'p1.x');
43
  assert_equals(quad.p1.y, 25, 'p1.y');
44
  // <circle cx="180" cy="8" r="3" fill="rgb(204, 51, 51)"/>
45
  assert_equals(quad.p2.x, 180, 'p2.x');
46
  assert_equals(quad.p2.y, 8, 'p2.y');
47
  // <circle cx="210" cy="150" r="3" fill="rgb(204, 51, 51)"/>
48
  assert_equals(quad.p3.x, 210, 'p3.x');
49
  assert_equals(quad.p3.y, 150, 'p3.y');
50
  // <circle cx="10" cy="180" r="3" fill="rgb(204, 51, 51)"/>
51
  assert_equals(quad.p4.x, 10, 'p4.x');
52
  assert_equals(quad.p4.y, 180, 'p4.y');
53
  var bounds = quad.getBounds();
54
  // <rect x="10" y="8" width="200" height="172" fill="none" stroke="black" stroke-dasharray="3 2"/>
55
  assert_equals(bounds.x, 10, 'bounds.x');
56
  assert_equals(bounds.y, 8, 'bounds.x');
57
  assert_equals(bounds.width, 200, 'bounds.width');
58
  assert_equals(bounds.height, 172, 'bounds.height');
59
}, 'DOMQuad irregular');
60
61
test(() => {
62
  // In this example, a matrix is created and several 2D transformation methods are called:
63
  var matrix = new DOMMatrix();
64
  matrix.scaleSelf(2);
65
  matrix.translateSelf(20,20);
66
  assert_equals(matrix.toString(), "matrix(2, 0, 0, 2, 40, 40)");
67
}, 'DOMMatrix 2D transformation');
68
69
test(() => {
70
  // In the following example, a matrix is created and several 3D transformation methods are called:
71
  var matrix = new DOMMatrix();
72
  matrix.scale3dSelf(2);
73
  assert_equals(matrix.toString(), "matrix3d(2, 0, 0, 0, 0, 2, 0, 0, 0, 0, 2, 0, 0, 0, 0, 1)");
74
}, 'DOMMatrix 3D transformation');
75
76
test(() => {
77
  // This example will throw an exception because there are non-finite values in the matrix.
78
  var matrix = new DOMMatrix([NaN, NaN, NaN, NaN, NaN, NaN, NaN, NaN, NaN, NaN, NaN, NaN, NaN, NaN, NaN, NaN]);
79
  assert_throws_dom("InvalidStateError", () => { var string = matrix + " Batman!"; });
80
}, 'DOMMatrix NaN');
81
82
test(() => {
83
  var matrix = new DOMMatrix();
84
  matrix.translateSelf(20, 20);
85
  matrix.scaleSelf(2);
86
  matrix.translateSelf(-20, -20);
87
  // is equivalent to:
88
  var matrix2 = new DOMMatrix();
89
  matrix2.translateSelf(20, 20).scaleSelf(2).translateSelf(-20, -20);
90
  assert_equals(matrix.toString(), matrix2.toString());
91
}, 'DOMMatrix mutable');
92
</script>
- a/LayoutTests/imported/w3c/web-platform-tests/css/geometry/structured-serialization.html -1 / +1 lines
Lines 160-165 function defineThrowingGetters(object, attrs) { a/LayoutTests/imported/w3c/web-platform-tests/css/geometry/structured-serialization.html_sec1
160
160
161
promise_test((t) => {
161
promise_test((t) => {
162
  const object = document.getElementById('log').getClientRects();
162
  const object = document.getElementById('log').getClientRects();
163
  return promise_rejects(t, "DataCloneError", clone(object));
163
  return promise_rejects_dom(t, "DataCloneError", clone(object));
164
}, 'DOMRectList clone');0
164
}, 'DOMRectList clone');0
165
</script>
165
</script>
- a/LayoutTests/imported/w3c/web-platform-tests/css/geometry/support/dommatrix-test-util.js -2 / +6 lines
Lines 35-43 function matrix2D(dict) { a/LayoutTests/imported/w3c/web-platform-tests/css/geometry/support/dommatrix-test-util.js_sec1
35
  return matrix;
35
  return matrix;
36
}
36
}
37
37
38
function checkMatrix(actual, expected) {
38
function checkMatrix(actual, expected, { epsilon = 0 } = {}) {
39
  for (let member in expected) {
39
  for (let member in expected) {
40
    assert_equals(actual[member], expected[member], member);
40
    if (epsilon && typeof expected[member] === "number") {
41
      assert_approx_equals(actual[member], expected[member], epsilon, member);
42
    } else {
43
      assert_equals(actual[member], expected[member], member);
44
    }
41
  }
45
  }
42
}
46
}
43
47
- a/LayoutTests/imported/w3c/web-platform-tests/css/geometry/support/w3c-import.log -1 / +1 lines
Lines 1-7 a/LayoutTests/imported/w3c/web-platform-tests/css/geometry/support/w3c-import.log_sec1
1
The tests in this directory were imported from the W3C repository.
1
The tests in this directory were imported from the W3C repository.
2
Do NOT modify these tests directly in WebKit.
2
Do NOT modify these tests directly in WebKit.
3
Instead, create a pull request on the WPT github:
3
Instead, create a pull request on the WPT github:
4
	https://github.com/w3c/web-platform-tests
4
	https://github.com/web-platform-tests/wpt
5
5
6
Then run the Tools/Scripts/import-w3c-tests in WebKit to reimport
6
Then run the Tools/Scripts/import-w3c-tests in WebKit to reimport
7
7
- a/LayoutTests/imported/w3c/web-platform-tests/css/geometry/w3c-import.log -4 / +11 lines
Lines 1-7 a/LayoutTests/imported/w3c/web-platform-tests/css/geometry/w3c-import.log_sec1
1
The tests in this directory were imported from the W3C repository.
1
The tests in this directory were imported from the W3C repository.
2
Do NOT modify these tests directly in WebKit.
2
Do NOT modify these tests directly in WebKit.
3
Instead, create a pull request on the WPT github:
3
Instead, create a pull request on the WPT github:
4
	https://github.com/w3c/web-platform-tests
4
	https://github.com/web-platform-tests/wpt
5
5
6
Then run the Tools/Scripts/import-w3c-tests in WebKit to reimport
6
Then run the Tools/Scripts/import-w3c-tests in WebKit to reimport
7
7
Lines 18-36 List of files: a/LayoutTests/imported/w3c/web-platform-tests/css/geometry/w3c-import.log_sec2
18
/LayoutTests/imported/w3c/web-platform-tests/css/geometry/DOMMatrix-002.html
18
/LayoutTests/imported/w3c/web-platform-tests/css/geometry/DOMMatrix-002.html
19
/LayoutTests/imported/w3c/web-platform-tests/css/geometry/DOMMatrix-003.html
19
/LayoutTests/imported/w3c/web-platform-tests/css/geometry/DOMMatrix-003.html
20
/LayoutTests/imported/w3c/web-platform-tests/css/geometry/DOMMatrix-a-f-alias.html
20
/LayoutTests/imported/w3c/web-platform-tests/css/geometry/DOMMatrix-a-f-alias.html
21
/LayoutTests/imported/w3c/web-platform-tests/css/geometry/DOMMatrix-attributes.html
21
/LayoutTests/imported/w3c/web-platform-tests/css/geometry/DOMMatrix-css-string.worker.js
22
/LayoutTests/imported/w3c/web-platform-tests/css/geometry/DOMMatrix-css-string.worker.js
22
/LayoutTests/imported/w3c/web-platform-tests/css/geometry/DOMMatrix-newobject.html
23
/LayoutTests/imported/w3c/web-platform-tests/css/geometry/DOMMatrix-newobject.html
23
/LayoutTests/imported/w3c/web-platform-tests/css/geometry/DOMMatrix-stringifier.html
24
/LayoutTests/imported/w3c/web-platform-tests/css/geometry/DOMMatrix-stringifier.html
25
/LayoutTests/imported/w3c/web-platform-tests/css/geometry/DOMMatrix2DInit-validate-fixup.html
24
/LayoutTests/imported/w3c/web-platform-tests/css/geometry/DOMMatrixInit-validate-fixup.html
26
/LayoutTests/imported/w3c/web-platform-tests/css/geometry/DOMMatrixInit-validate-fixup.html
25
/LayoutTests/imported/w3c/web-platform-tests/css/geometry/DOMPoint-001.html
27
/LayoutTests/imported/w3c/web-platform-tests/css/geometry/DOMPoint-001.html
26
/LayoutTests/imported/w3c/web-platform-tests/css/geometry/DOMPoint-002.html
28
/LayoutTests/imported/w3c/web-platform-tests/css/geometry/DOMPoint-002.html
27
/LayoutTests/imported/w3c/web-platform-tests/css/geometry/DOMQuad-001.html
29
/LayoutTests/imported/w3c/web-platform-tests/css/geometry/DOMQuad-001.html
28
/LayoutTests/imported/w3c/web-platform-tests/css/geometry/DOMQuad-002.html
30
/LayoutTests/imported/w3c/web-platform-tests/css/geometry/DOMQuad-002.html
31
/LayoutTests/imported/w3c/web-platform-tests/css/geometry/DOMQuad-nan.html
29
/LayoutTests/imported/w3c/web-platform-tests/css/geometry/DOMRect-001.html
32
/LayoutTests/imported/w3c/web-platform-tests/css/geometry/DOMRect-001.html
30
/LayoutTests/imported/w3c/web-platform-tests/css/geometry/OWNERS
33
/LayoutTests/imported/w3c/web-platform-tests/css/geometry/DOMRect-002.html
34
/LayoutTests/imported/w3c/web-platform-tests/css/geometry/DOMRect-nan.html
35
/LayoutTests/imported/w3c/web-platform-tests/css/geometry/DOMRectList.html
36
/LayoutTests/imported/w3c/web-platform-tests/css/geometry/META.yml
31
/LayoutTests/imported/w3c/web-platform-tests/css/geometry/WebKitCSSMatrix.html
37
/LayoutTests/imported/w3c/web-platform-tests/css/geometry/WebKitCSSMatrix.html
32
/LayoutTests/imported/w3c/web-platform-tests/css/geometry/WebKitCSSMatrix.worker.js
38
/LayoutTests/imported/w3c/web-platform-tests/css/geometry/WebKitCSSMatrix.worker.js
33
/LayoutTests/imported/w3c/web-platform-tests/css/geometry/historical.html
39
/LayoutTests/imported/w3c/web-platform-tests/css/geometry/historical.html
34
/LayoutTests/imported/w3c/web-platform-tests/css/geometry/interfaces.html
40
/LayoutTests/imported/w3c/web-platform-tests/css/geometry/idlharness.html
35
/LayoutTests/imported/w3c/web-platform-tests/css/geometry/interfaces.worker.js
41
/LayoutTests/imported/w3c/web-platform-tests/css/geometry/idlharness.worker.js
42
/LayoutTests/imported/w3c/web-platform-tests/css/geometry/spec-examples.html
36
/LayoutTests/imported/w3c/web-platform-tests/css/geometry/structured-serialization.html
43
/LayoutTests/imported/w3c/web-platform-tests/css/geometry/structured-serialization.html
- a/LayoutTests/imported/w3c/web-platform-tests/css/mediaqueries/META.yml +5 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/mediaqueries/META.yml_sec1
1
spec: https://drafts.csswg.org/mediaqueries/
2
suggested_reviewers:
3
  - dbaron
4
  - plinss
5
  - frivoal
- a/LayoutTests/imported/w3c/web-platform-tests/css/mediaqueries/OWNERS -3 lines
Lines 1-3 a/LayoutTests/imported/w3c/web-platform-tests/css/mediaqueries/OWNERS_sec1
1
@dbaron
2
@plinss
3
@frivoal
- a/LayoutTests/imported/w3c/web-platform-tests/css/mediaqueries/aspect-ratio-001.html -1 / +2 lines
Lines 7-13 a/LayoutTests/imported/w3c/web-platform-tests/css/mediaqueries/aspect-ratio-001.html_sec1
7
<link rel="match" href="../reference/ref-filled-green-100px-square.xht">
7
<link rel="match" href="../reference/ref-filled-green-100px-square.xht">
8
<meta name="flags" content="">
8
<meta name="flags" content="">
9
<meta name="assert" content="The 'aspect-ratio' property with prefix 'min' set '59/79' means that the minimum of ratio is '59/79',
9
<meta name="assert" content="The 'aspect-ratio' property with prefix 'min' set '59/79' means that the minimum of ratio is '59/79',
10
only and only if the value of the 'width' to the value of the 'height' is greater than value of 'min-aspect-ratio', the style sheet will be applied.">
10
only and only if the value of the 'width' to the value of the 'height' is greater than value of 'min-aspect-ratio', the style sheet will be applied.
11
The test runner will run this test in a 800/600 viewport (https://github.com/web-platform-tests/wpt/pull/12695).">
11
<style>
12
<style>
12
  div {
13
  div {
13
    background-color: red;
14
    background-color: red;
- a/LayoutTests/imported/w3c/web-platform-tests/css/mediaqueries/aspect-ratio-002.html -1 / +1 lines
Lines 6-12 a/LayoutTests/imported/w3c/web-platform-tests/css/mediaqueries/aspect-ratio-002.html_sec1
6
<link rel="help" title="4.6. aspect-ratio" href="http://www.w3.org/TR/css3-mediaqueries/#aspect-ratio">
6
<link rel="help" title="4.6. aspect-ratio" href="http://www.w3.org/TR/css3-mediaqueries/#aspect-ratio">
7
<link rel="match" href="../reference/ref-filled-green-100px-square.xht">
7
<link rel="match" href="../reference/ref-filled-green-100px-square.xht">
8
<meta name="flags" content="">
8
<meta name="flags" content="">
9
<meta name="assert" content="The 'aspect-ratio' property with prefix 'min' set '0/0' is invalid that means the style sheet specified by 'min-aspect-ratio' will not be applied.">
9
<meta name="assert" content="The 'aspect-ratio' property with prefix 'min' set '0/0' (which is converted into '1/0') is infinite that means the style sheet specified by 'min-aspect-ratio' will not be applied.">
10
<style>
10
<style>
11
  div {
11
  div {
12
    background-color: green;
12
    background-color: green;
- a/LayoutTests/imported/w3c/web-platform-tests/css/mediaqueries/aspect-ratio-003.html -1 / +3 lines
Lines 6-12 a/LayoutTests/imported/w3c/web-platform-tests/css/mediaqueries/aspect-ratio-003.html_sec1
6
<link rel="help" title="4.6. aspect-ratio" href="http://www.w3.org/TR/css3-mediaqueries/#aspect-ratio">
6
<link rel="help" title="4.6. aspect-ratio" href="http://www.w3.org/TR/css3-mediaqueries/#aspect-ratio">
7
<link rel="match" href="../reference/ref-filled-green-100px-square.xht">
7
<link rel="match" href="../reference/ref-filled-green-100px-square.xht">
8
<meta name="flags" content="">
8
<meta name="flags" content="">
9
<meta name="assert" content="The 'aspect-ratio' property with prefix 'max' set '1280/720' means that the maximum of ratio is '1280/720', only and only if the value of the 'width' to the value of the 'height' is lower than value of 'max-aspect-ratio', the style sheet will be applied.">
9
<meta name="assert" content="The 'aspect-ratio' property with prefix 'max' set '1280/720' means that the maximum of ratio is '1280/720',
10
only and only if the value of the 'width' to the value of the 'height' is lower than value of 'max-aspect-ratio', the style sheet will be applied.
11
The test runner will run this test in a 800/600 viewport (https://github.com/web-platform-tests/wpt/pull/12695)">
10
<style>
12
<style>
11
  div {
13
  div {
12
    background-color: red;
14
    background-color: red;
- a/LayoutTests/imported/w3c/web-platform-tests/css/mediaqueries/aspect-ratio-004.html -3 / +3 lines
Lines 6-21 a/LayoutTests/imported/w3c/web-platform-tests/css/mediaqueries/aspect-ratio-004.html_sec1
6
<link rel="help" title="4.6. aspect-ratio" href="http://www.w3.org/TR/css3-mediaqueries/#aspect-ratio">
6
<link rel="help" title="4.6. aspect-ratio" href="http://www.w3.org/TR/css3-mediaqueries/#aspect-ratio">
7
<link rel="match" href="../reference/ref-filled-green-100px-square.xht">
7
<link rel="match" href="../reference/ref-filled-green-100px-square.xht">
8
<meta name="flags" content="">
8
<meta name="flags" content="">
9
<meta name="assert" content="The 'aspect-ratio' property with prefix 'max' set '0/0' is invalid that means the style sheet specified by 'max-aspect-ratio' will not be applied.">
9
<meta name="assert" content="The 'aspect-ratio' property with prefix 'max' set '0/0' (which is converted into '1/0') is infinite that means the style sheet specified by 'max-aspect-ratio' will be applied.">
10
<style>
10
<style>
11
  div {
11
  div {
12
    background-color: green;
12
    background-color: red;
13
    height: 100px;
13
    height: 100px;
14
    width: 100px;
14
    width: 100px;
15
  }
15
  }
16
  @media screen and (max-aspect-ratio: 0/0) {
16
  @media screen and (max-aspect-ratio: 0/0) {
17
    div {
17
    div {
18
      background-color: red;
18
      background-color: green;
19
    }
19
    }
20
  }
20
  }
21
</style>
21
</style>
- a/LayoutTests/imported/w3c/web-platform-tests/css/mediaqueries/aspect-ratio-005-expected.xht +19 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/mediaqueries/aspect-ratio-005-expected.xht_sec1
1
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
2
<html xmlns="http://www.w3.org/1999/xhtml">
3
 <head>
4
  <title>CSS Reftest Reference</title>
5
  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
6
  <style type="text/css"><![CDATA[
7
  div
8
  {
9
  background-color: green;
10
  height: 100px;
11
  width: 100px;
12
  }
13
  ]]></style>
14
 </head>
15
 <body>
16
  <p>Test passes if there is a filled green square and <strong>no red</strong>.</p>
17
  <div></div>
18
 </body>
19
</html>
- a/LayoutTests/imported/w3c/web-platform-tests/css/mediaqueries/aspect-ratio-005.html +26 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/mediaqueries/aspect-ratio-005.html_sec1
1
<!DOCTYPE html>
2
<meta charset="utf-8">
3
<title>CSS Media Queries Test: max-aspect-ratio - 1280.1/720.01 ('aspect-ratio' property with prefix 'max')</title>
4
<link rel="author" title="Joel Olsson" href="mailto:joel_1st@hotmail.com">
5
<link rel="help" title="aspect-ratio" href="https://drafts.csswg.org/mediaqueries-4/#aspect-ratio">
6
<link rel="match" href="../reference/ref-filled-green-100px-square.xht">
7
<meta name="flags" content="">
8
<meta name="assert" content="The 'aspect-ratio' property with prefix 'max' set 1280.1/720.01. Only and only if the value of the 'width'
9
to the value of the 'height' is lower than value of 'max-aspect-ratio', the style sheet will be applied.
10
The test runner will run this test in a 800/600 viewport (https://github.com/web-platform-tests/wpt/pull/12695)">
11
<style>
12
  div {
13
    background-color: red;
14
    height: 100px;
15
    width: 100px;
16
  }
17
  @media screen and (max-aspect-ratio: 1280.1/720.01) {
18
    div {
19
      background-color: green;
20
    }
21
  }
22
</style>
23
<body>
24
  <p>Test passes if there is a filled green square and <strong>no red</strong>.</p>
25
  <div></div>
26
</body>
- a/LayoutTests/imported/w3c/web-platform-tests/css/mediaqueries/aspect-ratio-006-expected.xht +19 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/mediaqueries/aspect-ratio-006-expected.xht_sec1
1
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
2
<html xmlns="http://www.w3.org/1999/xhtml">
3
 <head>
4
  <title>CSS Reftest Reference</title>
5
  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
6
  <style type="text/css"><![CDATA[
7
  div
8
  {
9
  background-color: green;
10
  height: 100px;
11
  width: 100px;
12
  }
13
  ]]></style>
14
 </head>
15
 <body>
16
  <p>Test passes if there is a filled green square and <strong>no red</strong>.</p>
17
  <div></div>
18
 </body>
19
</html>
- a/LayoutTests/imported/w3c/web-platform-tests/css/mediaqueries/aspect-ratio-006.html +26 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/mediaqueries/aspect-ratio-006.html_sec1
1
<!DOCTYPE html>
2
<meta charset="utf-8">
3
<title>CSS Media Queries Test: min-aspect-ratio - 0.7 ('aspect-ratio' property with prefix 'min')</title>
4
<link rel="author" title="Joel Olsson" href="mailto:joel_1st@hotmail.com">
5
<link rel="help" title="aspect-ratio" href="https://drafts.csswg.org/mediaqueries-4/#aspect-ratio">
6
<link rel="match" href="../reference/ref-filled-green-100px-square.xht">
7
<meta name="flags" content="">
8
<meta name="assert" content="The 'aspect-ratio' property with prefix 'min' set '0.7' means that the minimum of ratio is '0.7',
9
only and only if the value of the 'width' to the value of the 'height' is greater than value of 'min-aspect-ratio', the style sheet will be applied.
10
The test runner will run this test in a 800/600 viewport (https://github.com/web-platform-tests/wpt/pull/12695)">
11
<style>
12
  div {
13
    background-color: red;
14
    height: 100px;
15
    width: 100px;
16
  }
17
  @media screen and (min-aspect-ratio: 0.2) {
18
    div {
19
      background-color: green;
20
    }
21
  }
22
</style>
23
<body>
24
  <p>Test passes if there is a filled green square and <strong>no red</strong>.</p>
25
  <div></div>
26
</body>
- a/LayoutTests/imported/w3c/web-platform-tests/css/mediaqueries/aspect-ratio-serialization-expected.txt +3 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/mediaqueries/aspect-ratio-serialization-expected.txt_sec1
1
2
FAIL <ratio> serializes with spaces around the integer. assert_equals: expected "(aspect-ratio: 1 / 3)" but got "(aspect-ratio: 1/3)"
3
- a/LayoutTests/imported/w3c/web-platform-tests/css/mediaqueries/aspect-ratio-serialization.html +13 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/mediaqueries/aspect-ratio-serialization.html_sec1
1
<!DOCTYPE html>
2
<meta charset="utf-8">
3
<title>CSS Media Queries Test: 'aspect-ratio' serializes with spaces around ' / '.</title>
4
<link rel="help" href="https://drafts.csswg.org/cssom/#serialize-a-css-component-value">
5
<link rel="author" href="mailto:emilio@crisal.io" title="Emilio Cobos Álvarez">
6
<link rel="author" href="https://mozilla.org" title="Mozilla">
7
<script src="/resources/testharness.js"></script>
8
<script src="/resources/testharnessreport.js"></script>
9
<script>
10
test(function() {
11
  assert_equals(matchMedia("(aspect-ratio: 1/3)").media, "(aspect-ratio: 1 / 3)");
12
}, "<ratio> serializes with spaces around the integer.");
13
</script>
- a/LayoutTests/imported/w3c/web-platform-tests/css/mediaqueries/device-aspect-ratio-002.html -3 / +3 lines
Lines 6-21 a/LayoutTests/imported/w3c/web-platform-tests/css/mediaqueries/device-aspect-ratio-002.html_sec1
6
<link rel="help" title="4.7. device-aspect-ratio" href="http://www.w3.org/TR/css3-mediaqueries/#device-aspect-ratio">
6
<link rel="help" title="4.7. device-aspect-ratio" href="http://www.w3.org/TR/css3-mediaqueries/#device-aspect-ratio">
7
<link rel="match" href="../reference/ref-filled-green-100px-square.xht">
7
<link rel="match" href="../reference/ref-filled-green-100px-square.xht">
8
<meta name="flags" content="">
8
<meta name="flags" content="">
9
<meta name="assert" content="The 'device-aspect-ratio' property with prefix 'max' set '0/0' is invalid that means the style sheet specified by 'max-device-aspect-ratio' will not be applied.">
9
<meta name="assert" content="The 'device-aspect-ratio' property with prefix 'max' set '0/0' (which is converted into '1/0') is infinite that means the style sheet specified by 'max-device-aspect-ratio' will be applied.">
10
<style>
10
<style>
11
  div {
11
  div {
12
    background-color: green;
12
    background-color: red;
13
    height: 100px;
13
    height: 100px;
14
    width: 100px;
14
    width: 100px;
15
  }
15
  }
16
  @media screen and (max-device-aspect-ratio: 0/0) {
16
  @media screen and (max-device-aspect-ratio: 0/0) {
17
    div {
17
    div {
18
      background-color: red;
18
      background-color: green;
19
    }
19
    }
20
  }
20
  }
21
</style>
21
</style>
- a/LayoutTests/imported/w3c/web-platform-tests/css/mediaqueries/device-aspect-ratio-004.html -1 / +1 lines
Lines 6-12 a/LayoutTests/imported/w3c/web-platform-tests/css/mediaqueries/device-aspect-ratio-004.html_sec1
6
<link rel="help" title="4.7. device-aspect-ratio" href="http://www.w3.org/TR/css3-mediaqueries/#device-aspect-ratio">
6
<link rel="help" title="4.7. device-aspect-ratio" href="http://www.w3.org/TR/css3-mediaqueries/#device-aspect-ratio">
7
<link rel="match" href="../reference/ref-filled-green-100px-square.xht">
7
<link rel="match" href="../reference/ref-filled-green-100px-square.xht">
8
<meta name="flags" content="">
8
<meta name="flags" content="">
9
<meta name="assert" content="The 'device-aspect-ratio' property with prefix 'min' set '0/0' is invalid that means the style sheet specified by 'min-device-aspect-ratio' will not be applied.">
9
<meta name="assert" content="The 'device-aspect-ratio' property with prefix 'min' set '0/0' (which is converted into '1/0') is infinite that means the style sheet specified by 'min-device-aspect-ratio' will not be applied.">
10
<style>
10
<style>
11
  div {
11
  div {
12
    background-color: green;
12
    background-color: green;
- a/LayoutTests/imported/w3c/web-platform-tests/css/mediaqueries/forced-colors-expected.txt +21 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/mediaqueries/forced-colors-expected.txt_sec1
1
2
FAIL Should be parseable in a CSS stylesheet: '(forced-colors)' assert_true: expected true got false
3
FAIL Should be parseable in a CSS stylesheet: '(forced-colors: none)' assert_true: expected true got false
4
FAIL Should be parseable in a CSS stylesheet: '(forced-colors: active)' assert_true: expected true got false
5
PASS Should not be parseable in a CSS stylesheet: '(forced-colors: 0)' 
6
PASS Should not be parseable in a CSS stylesheet: '(forced-colors: no-preference)' 
7
PASS Should not be parseable in a CSS stylesheet: '(forced-colors: 10px)' 
8
PASS Should not be parseable in a CSS stylesheet: '(forced-colors: active 0)' 
9
PASS Should not be parseable in a CSS stylesheet: '(forced-colors: none active)' 
10
PASS Should not be parseable in a CSS stylesheet: '(forced-colors: active/none)' 
11
FAIL Should be parseable in JS: '(forced-colors)' assert_true: expected true got false
12
FAIL Should be parseable in JS: '(forced-colors: none)' assert_true: expected true got false
13
FAIL Should be parseable in JS: '(forced-colors: active)' assert_true: expected true got false
14
PASS Should not be parseable in JS: '(forced-colors: 0)' 
15
PASS Should not be parseable in JS: '(forced-colors: no-preference)' 
16
PASS Should not be parseable in JS: '(forced-colors: 10px)' 
17
PASS Should not be parseable in JS: '(forced-colors: active 0)' 
18
PASS Should not be parseable in JS: '(forced-colors: none active)' 
19
PASS Should not be parseable in JS: '(forced-colors: active/none)' 
20
FAIL Check that none evaluates to false in the boolean context assert_equals: expected true but got false
21
- a/LayoutTests/imported/w3c/web-platform-tests/css/mediaqueries/forced-colors.html +35 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/mediaqueries/forced-colors.html_sec1
1
<!DOCTYPE html>
2
<link rel="help" href="https://drafts.csswg.org/mediaqueries-5/#forced-colors" />
3
<script type="text/javascript" src="/resources/testharness.js"></script>
4
<script type="text/javascript" src="/resources/testharnessreport.js"></script>
5
6
<script type="text/javascript" src="resources/matchmedia-utils.js"></script>
7
<script>
8
query_should_be_css_parseable("(forced-colors)");
9
query_should_be_css_parseable("(forced-colors: none)");
10
query_should_be_css_parseable("(forced-colors: active)");
11
12
query_should_not_be_css_parseable("(forced-colors: 0)");
13
query_should_not_be_css_parseable("(forced-colors: no-preference)");
14
query_should_not_be_css_parseable("(forced-colors: 10px)");
15
query_should_not_be_css_parseable("(forced-colors: active 0)");
16
query_should_not_be_css_parseable("(forced-colors: none active)");
17
query_should_not_be_css_parseable("(forced-colors: active/none)");
18
19
query_should_be_js_parseable("(forced-colors)");
20
query_should_be_js_parseable("(forced-colors: none)");
21
query_should_be_js_parseable("(forced-colors: active)");
22
23
query_should_not_be_js_parseable("(forced-colors: 0)");
24
query_should_not_be_js_parseable("(forced-colors: no-preference)");
25
query_should_not_be_js_parseable("(forced-colors: 10px)");
26
query_should_not_be_js_parseable("(forced-colors: active 0)");
27
query_should_not_be_js_parseable("(forced-colors: none active)");
28
query_should_not_be_js_parseable("(forced-colors: active/none)");
29
30
test(() => {
31
  let booleanContext = window.matchMedia("(forced-colors)");
32
  let none = window.matchMedia("(forced-colors: none)");
33
  assert_equals(booleanContext.matches, !none.matches);
34
}, "Check that none evaluates to false in the boolean context");
35
</script>
- a/LayoutTests/imported/w3c/web-platform-tests/css/mediaqueries/min-width-tables-001.html -3 / +3 lines
Lines 19-27 iframe { a/LayoutTests/imported/w3c/web-platform-tests/css/mediaqueries/min-width-tables-001.html_sec1
19
<body>
19
<body>
20
    <p>Test passes if there is a filled green square and <strong>no red</strong>.</p>
20
    <p>Test passes if there is a filled green square and <strong>no red</strong>.</p>
21
    <iframe id="toy" width="100" height="300" src="support/min-width-tables-001-iframe.html"></iframe>
21
    <iframe id="toy" width="100" height="300" src="support/min-width-tables-001-iframe.html"></iframe>
22
    <!--  See min-width-tables-001-iframe.html for the derivation of the 100px value  -->
22
    <!-- See min-width-tables-001-iframe.html for the derivation of the 100px value -->
23
    <!--  We use 300px height so the incorrect stacking is visible in failure cases  -->
23
    <!-- We use 300px height so the incorrect stacking is visible in failure cases -->
24
    <!--  This test is not about iframes specifically. It's just that resizing an iframe is more reliable than resizing the window, given browser security restrictions.  -->
24
    <!-- This test is not about iframes specifically. It's just that resizing an iframe is more reliable than resizing the window, given browser security restrictions. -->
25
    <script>
25
    <script>
26
    window.addEventListener('load', function () {
26
    window.addEventListener('load', function () {
27
        var PAINT_MS = 250;/* Assume the browser takes about this long to layout/paint this whole page */
27
        var PAINT_MS = 250;/* Assume the browser takes about this long to layout/paint this whole page */
- a/LayoutTests/imported/w3c/web-platform-tests/css/mediaqueries/mq-calc-006-expected.xht +19 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/mediaqueries/mq-calc-006-expected.xht_sec1
1
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
2
<html xmlns="http://www.w3.org/1999/xhtml">
3
 <head>
4
  <title>CSS Reftest Reference</title>
5
  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
6
  <style type="text/css"><![CDATA[
7
  div
8
  {
9
  background-color: green;
10
  height: 100px;
11
  width: 100px;
12
  }
13
  ]]></style>
14
 </head>
15
 <body>
16
  <p>Test passes if there is a filled green square and <strong>no red</strong>.</p>
17
  <div></div>
18
 </body>
19
</html>
- a/LayoutTests/imported/w3c/web-platform-tests/css/mediaqueries/mq-calc-006.html +20 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/mediaqueries/mq-calc-006.html_sec1
1
<!DOCTYPE html>
2
<link rel="author" title="Xiaocheng Hu" href="xiaochengh@chromium.org">
3
<link rel="help" href="http://www.w3.org/TR/css3-values/#calc-notation">
4
<link rel="help" href="https://www.w3.org/TR/css3-mediaqueries/#units">
5
<link rel="match" href="../reference/ref-filled-green-100px-square.xht">
6
<meta name="assert" content="The 'in' unit used in calc is not mistaken as 'px'.">
7
<style>
8
p { font-size: 16px; }
9
#target {
10
  width: 100px;
11
  height: 100px;
12
  background-color: green;
13
}
14
@media (min-width: calc(100in)) {
15
  /* Should not be selected */
16
  #target { background-color: red }
17
}
18
</style>
19
<p>Test passes if there is a filled green square and <strong>no red</strong>.</p>
20
<div id=target></div>
- a/LayoutTests/imported/w3c/web-platform-tests/css/mediaqueries/mq-case-insensitive-001-expected.xht +19 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/mediaqueries/mq-case-insensitive-001-expected.xht_sec1
1
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
2
<html xmlns="http://www.w3.org/1999/xhtml">
3
 <head>
4
  <title>CSS Reftest Reference</title>
5
  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
6
  <style type="text/css"><![CDATA[
7
  div
8
  {
9
  background-color: green;
10
  height: 100px;
11
  width: 100px;
12
  }
13
  ]]></style>
14
 </head>
15
 <body>
16
  <p>Test passes if there is a filled green square and <strong>no red</strong>.</p>
17
  <div></div>
18
 </body>
19
</html>
- a/LayoutTests/imported/w3c/web-platform-tests/css/mediaqueries/mq-case-insensitive-001.html +45 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/mediaqueries/mq-case-insensitive-001.html_sec1
1
<!doctype html>
2
<meta charset="utf-8">
3
<html>
4
 <head>
5
  <title>Test: ASCII-case-insensitivity of media queries</title>
6
  <link rel="author" title="Gerald Squelart" href="mailto:gerald@mozilla.com">
7
  <link rel="help" href="http://www.w3.org/TR/CSS21/syndata.html#characters">
8
  <link rel="help" href="https://drafts.csswg.org/mediaqueries-4/#mq-syntax">
9
  <link rel="help" href="https://drafts.csswg.org/css-syntax/#rule-defs">
10
  <link rel="match" href="../reference/ref-filled-green-100px-square.xht">
11
  <style type="text/css">
12
13
  div {
14
   width: 100px;
15
   height: 100px;
16
  }
17
18
  @media all and (height) and (min-width:0) and (orientation:landscape) {
19
   div { background-color: red; }
20
  }
21
  @media all and (height) and (min-width:0) and (orientation:portrait) {
22
   div { background-color: red; }
23
  }
24
25
  @MeDIa aLL and (Height) and (mIN-Width:0cM) and (orienTAtion:LandScape) {
26
   div { background-color: green; }
27
  }
28
  @MeDIa All and (heiGHt) and (Min-widtH:0MM) and (Orientation:porTrait) {
29
   div { background-color: green; }
30
  }
31
32
  /* In some languages Non-ASCII 'İ' (Latin capital I with dot above) may be
33
     lowercased to ASCII 'i'; This would make "heİght" compare the same as
34
     "height", which would be incorrect. */
35
  @media all and (heİght) {
36
   div { background-color: red; }
37
  }
38
39
  </style>
40
 </head>
41
 <body>
42
  <p>Test passes if there is a filled green square and <strong>no red</strong>.</p>
43
  <div></div>
44
 </body>
45
</html>
- a/LayoutTests/imported/w3c/web-platform-tests/css/mediaqueries/mq-deprecated-001-expected.xht +19 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/mediaqueries/mq-deprecated-001-expected.xht_sec1
1
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
2
<html xmlns="http://www.w3.org/1999/xhtml">
3
 <head>
4
  <title>CSS Reftest Reference</title>
5
  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
6
  <style type="text/css"><![CDATA[
7
  div
8
  {
9
  background-color: green;
10
  height: 100px;
11
  width: 100px;
12
  }
13
  ]]></style>
14
 </head>
15
 <body>
16
  <p>Test passes if there is a filled green square and <strong>no red</strong>.</p>
17
  <div></div>
18
 </body>
19
</html>
- a/LayoutTests/imported/w3c/web-platform-tests/css/mediaqueries/mq-deprecated-001.html +32 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/mediaqueries/mq-deprecated-001.html_sec1
1
<!doctype html>
2
<title>Test: deprecated media types</title>
3
<link rel="author" title="Florian Rivoal" href="https://florian.rivoal.net/">
4
<link rel="help" href="https://drafts.csswg.org/mediaqueries-4/#media-types">
5
<link rel="help" href="https://drafts.csswg.org/mediaqueries-4/#ref-for-media-type%E2%91%A0%E2%91%A6">
6
<link rel="match" href="../reference/ref-filled-green-100px-square.xht">
7
<meta name="assert" content="deprecated media types must not match">
8
<meta name="flags" content="">
9
<style>
10
div {
11
    width: 100px;
12
    height: 100px;
13
    background-color: green;
14
}
15
16
@media
17
    tty,
18
    tv,
19
    projection,
20
    handheld,
21
    braille,
22
    embossed,
23
    aural,
24
    speech
25
{
26
    div { background-color: red; }
27
}
28
</style>
29
30
<p>Test passes if there is a filled green square and <strong>no red</strong>.
31
32
<div></div>
- a/LayoutTests/imported/w3c/web-platform-tests/css/mediaqueries/mq-gamut-001-expected.xht +19 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/mediaqueries/mq-gamut-001-expected.xht_sec1
1
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
2
<html xmlns="http://www.w3.org/1999/xhtml">
3
 <head>
4
  <title>CSS Reftest Reference</title>
5
  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
6
  <style type="text/css"><![CDATA[
7
  div
8
  {
9
  background-color: green;
10
  height: 100px;
11
  width: 100px;
12
  }
13
  ]]></style>
14
 </head>
15
 <body>
16
  <p>Test passes if there is a filled green square and <strong>no red</strong>.</p>
17
  <div></div>
18
 </body>
19
</html>
- a/LayoutTests/imported/w3c/web-platform-tests/css/mediaqueries/mq-gamut-001.html +24 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/mediaqueries/mq-gamut-001.html_sec1
1
<!doctype html>
2
<title>Test: srgb color gamut</title>
3
<link rel="author" title="Florian Rivoal" href="https://florian.rivoal.net/">
4
<link rel="help" href="https://www.w3.org/TR/mediaqueries-4/#color-gamut">
5
<link rel="match" href="../reference/ref-filled-green-100px-square.xht">
6
<meta name="assert" content="the srgb color-gamut is syntactically supported">
7
<meta name="flags" content="">
8
<style>
9
div {
10
    width: 100px;
11
    height: 100px;
12
    background-color: red;
13
}
14
15
@media (color-gamut: srgb),
16
       not (color-gamut: srgb)
17
{
18
    div { background-color: green; }
19
}
20
</style>
21
22
<p>Test passes if there is a filled green square and <strong>no red</strong>.
23
24
<div></div>
- a/LayoutTests/imported/w3c/web-platform-tests/css/mediaqueries/mq-gamut-002-expected.xht +19 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/mediaqueries/mq-gamut-002-expected.xht_sec1
1
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
2
<html xmlns="http://www.w3.org/1999/xhtml">
3
 <head>
4
  <title>CSS Reftest Reference</title>
5
  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
6
  <style type="text/css"><![CDATA[
7
  div
8
  {
9
  background-color: green;
10
  height: 100px;
11
  width: 100px;
12
  }
13
  ]]></style>
14
 </head>
15
 <body>
16
  <p>Test passes if there is a filled green square and <strong>no red</strong>.</p>
17
  <div></div>
18
 </body>
19
</html>
- a/LayoutTests/imported/w3c/web-platform-tests/css/mediaqueries/mq-gamut-002.html +25 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/mediaqueries/mq-gamut-002.html_sec1
1
<!doctype html>
2
<title>Test: p3 color gamut</title>
3
<link rel="author" title="Florian Rivoal" href="https://florian.rivoal.net/">
4
<link rel="help" href="https://www.w3.org/TR/mediaqueries-4/#color-gamut">
5
<link rel="help" href="https://github.com/w3c/csswg-drafts/issues/276">
6
<link rel="match" href="../reference/ref-filled-green-100px-square.xht">
7
<meta name="assert" content="the p3 color-gamut is syntactically supported">
8
<meta name="flags" content="">
9
<style>
10
div {
11
    width: 100px;
12
    height: 100px;
13
    background-color: red;
14
}
15
16
@media (color-gamut: p3),
17
       not (color-gamut: p3)
18
{
19
    div { background-color: green; }
20
}
21
</style>
22
23
<p>Test passes if there is a filled green square and <strong>no red</strong>.
24
25
<div></div>
- a/LayoutTests/imported/w3c/web-platform-tests/css/mediaqueries/mq-gamut-003-expected.xht +19 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/mediaqueries/mq-gamut-003-expected.xht_sec1
1
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
2
<html xmlns="http://www.w3.org/1999/xhtml">
3
 <head>
4
  <title>CSS Reftest Reference</title>
5
  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
6
  <style type="text/css"><![CDATA[
7
  div
8
  {
9
  background-color: green;
10
  height: 100px;
11
  width: 100px;
12
  }
13
  ]]></style>
14
 </head>
15
 <body>
16
  <p>Test passes if there is a filled green square and <strong>no red</strong>.</p>
17
  <div></div>
18
 </body>
19
</html>
- a/LayoutTests/imported/w3c/web-platform-tests/css/mediaqueries/mq-gamut-003.html +26 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/mediaqueries/mq-gamut-003.html_sec1
1
<!doctype html>
2
<title>Test: p3 color gamut (old name)</title>
3
<link rel="author" title="Florian Rivoal" href="https://florian.rivoal.net/">
4
<link rel="help" href="https://www.w3.org/TR/mediaqueries-4/#color-gamut">
5
<link rel="help" href="https://github.com/w3c/csswg-drafts/issues/4535">
6
<link rel="help" href="https://github.com/w3c/csswg-drafts/issues/276">
7
<link rel="match" href="../reference/ref-filled-green-100px-square.xht">
8
<meta name="assert" content="the dci-p3 (old name for p3) color-gamut is not syntactically supported">
9
<meta name="flags" content="">
10
<style>
11
div {
12
    width: 100px;
13
    height: 100px;
14
    background-color: green;
15
}
16
17
@media (color-gamut: dci-p3),
18
       not (color-gamut: dci-p3)
19
{
20
    div { background-color: red; }
21
}
22
</style>
23
24
<p>Test passes if there is a filled green square and <strong>no red</strong>.
25
26
<div></div>
- a/LayoutTests/imported/w3c/web-platform-tests/css/mediaqueries/mq-gamut-004-expected.xht +19 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/mediaqueries/mq-gamut-004-expected.xht_sec1
1
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
2
<html xmlns="http://www.w3.org/1999/xhtml">
3
 <head>
4
  <title>CSS Reftest Reference</title>
5
  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
6
  <style type="text/css"><![CDATA[
7
  div
8
  {
9
  background-color: green;
10
  height: 100px;
11
  width: 100px;
12
  }
13
  ]]></style>
14
 </head>
15
 <body>
16
  <p>Test passes if there is a filled green square and <strong>no red</strong>.</p>
17
  <div></div>
18
 </body>
19
</html>
- a/LayoutTests/imported/w3c/web-platform-tests/css/mediaqueries/mq-gamut-004.html +25 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/mediaqueries/mq-gamut-004.html_sec1
1
<!doctype html>
2
<title>Test: rec2020 color gamut</title>
3
<link rel="author" title="Florian Rivoal" href="https://florian.rivoal.net/">
4
<link rel="help" href="https://www.w3.org/TR/mediaqueries-4/#color-gamut">
5
<link rel="help" href="https://github.com/w3c/csswg-drafts/issues/4535">
6
<link rel="match" href="../reference/ref-filled-green-100px-square.xht">
7
<meta name="assert" content="the rec2020 color-gamut is syntactically supported">
8
<meta name="flags" content="">
9
<style>
10
div {
11
    width: 100px;
12
    height: 100px;
13
    background-color: red;
14
}
15
16
@media (color-gamut: rec2020),
17
       not (color-gamut: rec2020)
18
{
19
    div { background-color: green; }
20
}
21
</style>
22
23
<p>Test passes if there is a filled green square and <strong>no red</strong>.
24
25
<div></div>
- a/LayoutTests/imported/w3c/web-platform-tests/css/mediaqueries/mq-gamut-005-expected.xht +19 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/mediaqueries/mq-gamut-005-expected.xht_sec1
1
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
2
<html xmlns="http://www.w3.org/1999/xhtml">
3
 <head>
4
  <title>CSS Reftest Reference</title>
5
  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
6
  <style type="text/css"><![CDATA[
7
  div
8
  {
9
  background-color: green;
10
  height: 100px;
11
  width: 100px;
12
  }
13
  ]]></style>
14
 </head>
15
 <body>
16
  <p>Test passes if there is a filled green square and <strong>no red</strong>.</p>
17
  <div></div>
18
 </body>
19
</html>
- a/LayoutTests/imported/w3c/web-platform-tests/css/mediaqueries/mq-gamut-005.html +25 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/mediaqueries/mq-gamut-005.html_sec1
1
<!doctype html>
2
<title>Test: rec2020 color gamut(old name)</title>
3
<link rel="author" title="Florian Rivoal" href="https://florian.rivoal.net/">
4
<link rel="help" href="https://www.w3.org/TR/mediaqueries-4/#color-gamut">
5
<link rel="help" href="https://github.com/w3c/csswg-drafts/issues/4535">
6
<link rel="match" href="../reference/ref-filled-green-100px-square.xht">
7
<meta name="assert" content="the rec-2020 (old name for rec2020) color-gamut is not syntactically supported">
8
<meta name="flags" content="">
9
<style>
10
div {
11
    width: 100px;
12
    height: 100px;
13
    background-color: green;
14
}
15
16
@media (color-gamut: rec-2020),
17
       not (color-gamut: rec-2020)
18
{
19
    div { background-color: red; }
20
}
21
</style>
22
23
<p>Test passes if there is a filled green square and <strong>no red</strong>.
24
25
<div></div>
- a/LayoutTests/imported/w3c/web-platform-tests/css/mediaqueries/mq-negative-range-001-expected.xht +19 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/mediaqueries/mq-negative-range-001-expected.xht_sec1
1
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
2
<html xmlns="http://www.w3.org/1999/xhtml">
3
 <head>
4
  <title>CSS Reftest Reference</title>
5
  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
6
  <style type="text/css"><![CDATA[
7
  div
8
  {
9
  background-color: green;
10
  height: 100px;
11
  width: 100px;
12
  }
13
  ]]></style>
14
 </head>
15
 <body>
16
  <p>Test passes if there is a filled green square and <strong>no red</strong>.</p>
17
  <div></div>
18
 </body>
19
</html>
- a/LayoutTests/imported/w3c/web-platform-tests/css/mediaqueries/mq-negative-range-001.html +40 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/mediaqueries/mq-negative-range-001.html_sec1
1
<!doctype html>
2
<title>Test: false in the negative range</title>
3
<link rel="author" title="Florian Rivoal" href="https://florian.rivoal.net/">
4
<link rel="help" href="https://drafts.csswg.org/mediaqueries-4/#mq-syntax">
5
<link rel="help" href="https://www.w3.org/TR/mediaqueries-4/#false-in-the-negative-range">
6
<link rel="help" href="https://github.com/w3c/csswg-drafts/issues/1454">
7
<link rel="match" href="../reference/ref-filled-green-100px-square.xht">
8
<meta name="assert" content="features that are 'false in the negative range' should still parse with negative values">
9
<meta name="flags" content="">
10
<style>
11
div {
12
    width: 100px;
13
    height: 100px;
14
    background-color: red;
15
}
16
17
@media
18
    (min-width: -100px)
19
    and
20
    (min-height: -100px)
21
    and
22
    (min-resolution: -1dpi)
23
    and
24
    (min-color: -10)
25
    and
26
    (min-color-index: -10)
27
    and
28
    (min-monochrome: -10)
29
    and
30
    (min-device-width: -100px)
31
    and
32
    (min-device-height: -100px)
33
{
34
    div { background-color: green; }
35
}
36
</style>
37
38
<p>Test passes if there is a filled green square and <strong>no red</strong>.
39
40
<div></div>
- a/LayoutTests/imported/w3c/web-platform-tests/css/mediaqueries/mq-range-001-expected.xht +19 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/mediaqueries/mq-range-001-expected.xht_sec1
1
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
2
<html xmlns="http://www.w3.org/1999/xhtml">
3
 <head>
4
  <title>CSS Reftest Reference</title>
5
  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
6
  <style type="text/css"><![CDATA[
7
  div
8
  {
9
  background-color: green;
10
  height: 100px;
11
  width: 100px;
12
  }
13
  ]]></style>
14
 </head>
15
 <body>
16
  <p>Test passes if there is a filled green square and <strong>no red</strong>.</p>
17
  <div></div>
18
 </body>
19
</html>
- a/LayoutTests/imported/w3c/web-platform-tests/css/mediaqueries/mq-range-001.html +27 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/mediaqueries/mq-range-001.html_sec1
1
<!doctype html>
2
<title>Test: invalid range syntax</title>
3
<link rel="author" title="Florian Rivoal" href="https://florian.rivoal.net/">
4
<link rel="help" href="https://drafts.csswg.org/mediaqueries-4/#mq-syntax">
5
<link rel="help" href="https://github.com/w3c/csswg-drafts/issues/2790">
6
<link rel="match" href="../reference/ref-filled-green-100px-square.xht">
7
<meta name="assert" content="range syntax without operator isn't valid syntax, unlike what some earlier iteration of the spec claimed">
8
<meta name="flags" content="">
9
<style>
10
div {
11
    width: 100px;
12
    height: 100px;
13
    background-color: red;
14
}
15
16
/* if the syntax is accepted, whether (width 500px) is true or not doesn't matter,
17
   as the second part of the "or" clause will be true,
18
   but if the syntax is rejected, then the whole thing is ignored.
19
*/
20
@media (width 500px) or (min-width: 0) {
21
    div { background-color: green; }
22
}
23
</style>
24
25
<p>Test passes if there is a filled green square and <strong>no red</strong>.
26
27
<div></div>
- a/LayoutTests/imported/w3c/web-platform-tests/css/mediaqueries/navigation-controls.tentative-expected.txt +13 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/mediaqueries/navigation-controls.tentative-expected.txt_sec1
1
2
FAIL Should be parseable in a CSS stylesheet: '(navigation-controls)' assert_true: expected true got false
3
FAIL Should be parseable in a CSS stylesheet: '(navigation-controls: none)' assert_true: expected true got false
4
FAIL Should be parseable in a CSS stylesheet: '(navigation-controls: back-button)' assert_true: expected true got false
5
PASS Should not be parseable in a CSS stylesheet: '(navigation-controls: none back-button)' 
6
PASS Should not be parseable in a CSS stylesheet: '(navigation-controls: back-button/none)' 
7
FAIL Should be parseable in JS: '(navigation-controls)' assert_true: expected true got false
8
FAIL Should be parseable in JS: '(navigation-controls: none)' assert_true: expected true got false
9
FAIL Should be parseable in JS: '(navigation-controls: back-button)' assert_true: expected true got false
10
PASS Should not be parseable in JS: '(navigation-controls: none back-button)' 
11
PASS Should not be parseable in JS: '(navigation-controls: back-button/none)' 
12
FAIL Check that none evaluates to false in the boolean context assert_equals: expected true but got false
13
- a/LayoutTests/imported/w3c/web-platform-tests/css/mediaqueries/navigation-controls.tentative.html +22 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/mediaqueries/navigation-controls.tentative.html_sec1
1
<!DOCTYPE html>
2
<link rel="help" href="https://github.com/fallaciousreasoning/backbutton-mediaquery/blob/master/explainer.md" />
3
<script type="text/javascript" src="/resources/testharness.js"></script>
4
<script type="text/javascript" src="/resources/testharnessreport.js"></script>
5
<script type="text/javascript" src="resources/matchmedia-utils.js"></script>
6
<script>
7
    query_should_be_css_parseable("(navigation-controls)");
8
    query_should_be_css_parseable("(navigation-controls: none)");
9
    query_should_be_css_parseable("(navigation-controls: back-button)");
10
    query_should_not_be_css_parseable("(navigation-controls: none back-button)");
11
    query_should_not_be_css_parseable("(navigation-controls: back-button/none)");
12
    query_should_be_js_parseable("(navigation-controls)");
13
    query_should_be_js_parseable("(navigation-controls: none)");
14
    query_should_be_js_parseable("(navigation-controls: back-button)");
15
    query_should_not_be_js_parseable("(navigation-controls: none back-button)");
16
    query_should_not_be_js_parseable("(navigation-controls: back-button/none)");
17
    test(() => {
18
        let booleanContext = window.matchMedia("(navigation-controls)");
19
        let none = window.matchMedia("(navigation-controls: none)");
20
        assert_equals(booleanContext.matches, !none.matches);
21
    }, "Check that none evaluates to false in the boolean context");
22
</script>
- a/LayoutTests/imported/w3c/web-platform-tests/css/mediaqueries/prefers-color-scheme-expected.txt +23 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/mediaqueries/prefers-color-scheme-expected.txt_sec1
1
2
PASS Should be parseable in a CSS stylesheet: '(prefers-color-scheme)' 
3
PASS Should be parseable in a CSS stylesheet: '(prefers-color-scheme: light)' 
4
PASS Should be parseable in a CSS stylesheet: '(prefers-color-scheme: dark)' 
5
PASS Should not be parseable in a CSS stylesheet: '(prefers-color-scheme: 0)' 
6
FAIL Should not be parseable in a CSS stylesheet: '(prefers-color-scheme: none)' assert_false: expected false got true
7
PASS Should not be parseable in a CSS stylesheet: '(prefers-color-scheme: 10px)' 
8
PASS Should not be parseable in a CSS stylesheet: '(prefers-color-scheme: dark 0)' 
9
PASS Should not be parseable in a CSS stylesheet: '(prefers-color-scheme: dark light)' 
10
PASS Should not be parseable in a CSS stylesheet: '(prefers-color-scheme: light/dark)' 
11
FAIL Should not be parseable in a CSS stylesheet: '(prefers-color-scheme: no-preference)' assert_false: expected false got true
12
PASS Should be parseable in JS: '(prefers-color-scheme)' 
13
PASS Should be parseable in JS: '(prefers-color-scheme: light)' 
14
PASS Should be parseable in JS: '(prefers-color-scheme: dark)' 
15
PASS Should not be parseable in JS: '(prefers-color-scheme: 0)' 
16
FAIL Should not be parseable in JS: '(prefers-color-scheme: none)' assert_false: expected false got true
17
PASS Should not be parseable in JS: '(prefers-color-scheme: 10px)' 
18
PASS Should not be parseable in JS: '(prefers-color-scheme: dark 0)' 
19
PASS Should not be parseable in JS: '(prefers-color-scheme: dark light)' 
20
PASS Should not be parseable in JS: '(prefers-color-scheme: light/dark)' 
21
FAIL Should not be parseable in JS: '(prefers-color-scheme: no-preference)' assert_false: expected false got true
22
PASS Check that prefer-color-scheme evaluates to true in the boolean context 
23
- a/LayoutTests/imported/w3c/web-platform-tests/css/mediaqueries/prefers-color-scheme.html +36 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/mediaqueries/prefers-color-scheme.html_sec1
1
<!DOCTYPE html>
2
<link rel="help" href="https://drafts.csswg.org/mediaqueries-5/#prefers-color-scheme" />
3
<script type="text/javascript" src="/resources/testharness.js"></script>
4
<script type="text/javascript" src="/resources/testharnessreport.js"></script>
5
6
<script type="text/javascript" src="resources/matchmedia-utils.js"></script>
7
<script>
8
query_should_be_css_parseable("(prefers-color-scheme)");
9
query_should_be_css_parseable("(prefers-color-scheme: light)");
10
query_should_be_css_parseable("(prefers-color-scheme: dark)");
11
12
query_should_not_be_css_parseable("(prefers-color-scheme: 0)");
13
query_should_not_be_css_parseable("(prefers-color-scheme: none)");
14
query_should_not_be_css_parseable("(prefers-color-scheme: 10px)");
15
query_should_not_be_css_parseable("(prefers-color-scheme: dark 0)");
16
query_should_not_be_css_parseable("(prefers-color-scheme: dark light)");
17
query_should_not_be_css_parseable("(prefers-color-scheme: light/dark)");
18
query_should_not_be_css_parseable("(prefers-color-scheme: no-preference)");
19
20
query_should_be_js_parseable("(prefers-color-scheme)");
21
query_should_be_js_parseable("(prefers-color-scheme: light)");
22
query_should_be_js_parseable("(prefers-color-scheme: dark)");
23
24
query_should_not_be_js_parseable("(prefers-color-scheme: 0)");
25
query_should_not_be_js_parseable("(prefers-color-scheme: none)");
26
query_should_not_be_js_parseable("(prefers-color-scheme: 10px)");
27
query_should_not_be_js_parseable("(prefers-color-scheme: dark 0)");
28
query_should_not_be_js_parseable("(prefers-color-scheme: dark light)");
29
query_should_not_be_js_parseable("(prefers-color-scheme: light/dark)");
30
query_should_not_be_js_parseable("(prefers-color-scheme: no-preference)");
31
32
test(() => {
33
  let booleanContext = window.matchMedia("(prefers-color-scheme)");
34
  assert_true(booleanContext.matches);
35
}, "Check that prefer-color-scheme evaluates to true in the boolean context");
36
</script>
- a/LayoutTests/imported/w3c/web-platform-tests/css/mediaqueries/prefers-reduced-data-expected.txt +22 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/mediaqueries/prefers-reduced-data-expected.txt_sec1
1
2
FAIL Should be parseable in a CSS stylesheet: '(prefers-reduced-data)' assert_true: expected true got false
3
FAIL Should be parseable in a CSS stylesheet: '(prefers-reduced-data: no-preference)' assert_true: expected true got false
4
FAIL Should be parseable in a CSS stylesheet: '(prefers-reduced-data: reduce)' assert_true: expected true got false
5
PASS Should not be parseable in a CSS stylesheet: '(prefers-reduced-data: 0)' 
6
PASS Should not be parseable in a CSS stylesheet: '(prefers-reduced-data: none)' 
7
PASS Should not be parseable in a CSS stylesheet: '(prefers-reduced-data: 10px)' 
8
PASS Should not be parseable in a CSS stylesheet: '(prefers-reduced-data: no-preference reduce)' 
9
PASS Should not be parseable in a CSS stylesheet: '(prefers-reduced-data: reduced)' 
10
PASS Should not be parseable in a CSS stylesheet: '(prefers-reduced-data: no-preference/reduce)' 
11
FAIL Should be parseable in JS: '(prefers-reduced-data)' assert_true: expected true got false
12
FAIL Should be parseable in JS: '(prefers-reduced-data: no-preference)' assert_true: expected true got false
13
FAIL Should be parseable in JS: '(prefers-reduced-data: reduce)' assert_true: expected true got false
14
PASS Should not be parseable in JS: '(prefers-reduced-data: 0)' 
15
PASS Should not be parseable in JS: '(prefers-reduced-data: none)' 
16
PASS Should not be parseable in JS: '(prefers-reduced-data: 10px)' 
17
PASS Should not be parseable in JS: '(prefers-reduced-data: no-preference reduce)' 
18
PASS Should not be parseable in JS: '(prefers-reduced-data: reduced)' 
19
PASS Should not be parseable in JS: '(prefers-reduced-data: no-preference/reduce)' 
20
FAIL Check that no-preference evaluates to false in the boolean context assert_equals: expected true but got false
21
PASS Check that invalid evaluates to false 
22
- a/LayoutTests/imported/w3c/web-platform-tests/css/mediaqueries/prefers-reduced-data.html +41 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/mediaqueries/prefers-reduced-data.html_sec1
1
<!DOCTYPE html>
2
<link rel="help" href="https://drafts.csswg.org/mediaqueries-5/#prefers-reduced-data" />
3
<script type="text/javascript" src="/resources/testharness.js"></script>
4
<script type="text/javascript" src="/resources/testharnessreport.js"></script>
5
6
<script type="text/javascript" src="resources/matchmedia-utils.js"></script>
7
<script>
8
query_should_be_css_parseable("(prefers-reduced-data)");
9
query_should_be_css_parseable("(prefers-reduced-data: no-preference)");
10
query_should_be_css_parseable("(prefers-reduced-data: reduce)");
11
12
query_should_not_be_css_parseable("(prefers-reduced-data: 0)");
13
query_should_not_be_css_parseable("(prefers-reduced-data: none)");
14
query_should_not_be_css_parseable("(prefers-reduced-data: 10px)");
15
query_should_not_be_css_parseable("(prefers-reduced-data: no-preference reduce)");
16
query_should_not_be_css_parseable("(prefers-reduced-data: reduced)");
17
query_should_not_be_css_parseable("(prefers-reduced-data: no-preference/reduce)");
18
19
query_should_be_js_parseable("(prefers-reduced-data)");
20
query_should_be_js_parseable("(prefers-reduced-data: no-preference)");
21
query_should_be_js_parseable("(prefers-reduced-data: reduce)");
22
23
query_should_not_be_js_parseable("(prefers-reduced-data: 0)");
24
query_should_not_be_js_parseable("(prefers-reduced-data: none)");
25
query_should_not_be_js_parseable("(prefers-reduced-data: 10px)");
26
query_should_not_be_js_parseable("(prefers-reduced-data: no-preference reduce)");
27
query_should_not_be_js_parseable("(prefers-reduced-data: reduced)");
28
query_should_not_be_js_parseable("(prefers-reduced-data: no-preference/reduce)");
29
30
test(() => {
31
  // https://drafts.csswg.org/mediaqueries-5/#boolean-context
32
  let booleanContext = window.matchMedia("(prefers-reduced-data)");
33
  let noPreference = window.matchMedia("(prefers-reduced-data: no-preference)");
34
  assert_equals(booleanContext.matches, !noPreference.matches);
35
}, "Check that no-preference evaluates to false in the boolean context");
36
37
test(() => {
38
  let invalid = window.matchMedia("(prefers-reduced-data: 10px)");
39
  assert_equals(invalid.matches, false);
40
}, "Check that invalid evaluates to false");
41
</script>
- a/LayoutTests/imported/w3c/web-platform-tests/css/mediaqueries/prefers-reduced-motion-expected.txt +21 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/mediaqueries/prefers-reduced-motion-expected.txt_sec1
1
2
PASS Should be parseable in a CSS stylesheet: '(prefers-reduced-motion)' 
3
PASS Should be parseable in a CSS stylesheet: '(prefers-reduced-motion: no-preference)' 
4
PASS Should be parseable in a CSS stylesheet: '(prefers-reduced-motion: reduce)' 
5
PASS Should not be parseable in a CSS stylesheet: '(prefers-reduced-motion: 0)' 
6
FAIL Should not be parseable in a CSS stylesheet: '(prefers-reduced-motion: none)' assert_false: expected false got true
7
PASS Should not be parseable in a CSS stylesheet: '(prefers-reduced-motion: 10px)' 
8
PASS Should not be parseable in a CSS stylesheet: '(prefers-reduced-motion: no-preference reduce)' 
9
FAIL Should not be parseable in a CSS stylesheet: '(prefers-reduced-motion: reduced)' assert_false: expected false got true
10
PASS Should not be parseable in a CSS stylesheet: '(prefers-reduced-motion: no-preference/reduce)' 
11
PASS Should be parseable in JS: '(prefers-reduced-motion)' 
12
PASS Should be parseable in JS: '(prefers-reduced-motion: no-preference)' 
13
PASS Should be parseable in JS: '(prefers-reduced-motion: reduce)' 
14
PASS Should not be parseable in JS: '(prefers-reduced-motion: 0)' 
15
FAIL Should not be parseable in JS: '(prefers-reduced-motion: none)' assert_false: expected false got true
16
PASS Should not be parseable in JS: '(prefers-reduced-motion: 10px)' 
17
PASS Should not be parseable in JS: '(prefers-reduced-motion: no-preference reduce)' 
18
PASS Should not be parseable in JS: '(prefers-reduced-motion: reduced)' 
19
PASS Should not be parseable in JS: '(prefers-reduced-motion: no-preference/reduce)' 
20
PASS Check that no-preference evaluates to false in the boolean context 
21
- a/LayoutTests/imported/w3c/web-platform-tests/css/mediaqueries/prefers-reduced-motion.html +38 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/mediaqueries/prefers-reduced-motion.html_sec1
1
<!DOCTYPE html>
2
<link rel="help" href="https://drafts.csswg.org/mediaqueries-5/#prefers-reduced-motion" />
3
<script type="text/javascript" src="/resources/testharness.js"></script>
4
<script type="text/javascript" src="/resources/testharnessreport.js"></script>
5
6
<script type="text/javascript" src="resources/matchmedia-utils.js"></script>
7
<script>
8
query_should_be_css_parseable("(prefers-reduced-motion)");
9
query_should_be_css_parseable("(prefers-reduced-motion: no-preference)");
10
query_should_be_css_parseable("(prefers-reduced-motion: reduce)");
11
12
query_should_not_be_css_parseable("(prefers-reduced-motion: 0)");
13
query_should_not_be_css_parseable("(prefers-reduced-motion: none)");
14
query_should_not_be_css_parseable("(prefers-reduced-motion: 10px)");
15
query_should_not_be_css_parseable("(prefers-reduced-motion: no-preference reduce)");
16
query_should_not_be_css_parseable("(prefers-reduced-motion: reduced)");
17
query_should_not_be_css_parseable("(prefers-reduced-motion: no-preference/reduce)");
18
19
query_should_be_js_parseable("(prefers-reduced-motion)");
20
query_should_be_js_parseable("(prefers-reduced-motion: no-preference)");
21
query_should_be_js_parseable("(prefers-reduced-motion: reduce)");
22
23
query_should_not_be_js_parseable("(prefers-reduced-motion: 0)");
24
query_should_not_be_js_parseable("(prefers-reduced-motion: none)");
25
query_should_not_be_js_parseable("(prefers-reduced-motion: 10px)");
26
query_should_not_be_js_parseable("(prefers-reduced-motion: no-preference reduce)");
27
query_should_not_be_js_parseable("(prefers-reduced-motion: reduced)");
28
query_should_not_be_js_parseable("(prefers-reduced-motion: no-preference/reduce)");
29
30
test(() => {
31
  // What this is saying is that 'no-preference' is not the default, so
32
  // irregardless of the current OS settings, (prefers-reduced-motion).matches
33
  // should not be equivalent to (prefers-reduced-motion: no-preference).matches.
34
  let booleanContext = window.matchMedia("(prefers-reduced-motion)");
35
  let noPreference = window.matchMedia("(prefers-reduced-motion: no-preference)");
36
  assert_equals(booleanContext.matches, !noPreference.matches);
37
}, "Check that no-preference evaluates to false in the boolean context");
38
</script>
- a/LayoutTests/imported/w3c/web-platform-tests/css/mediaqueries/resources/matchmedia-utils.js +49 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/mediaqueries/resources/matchmedia-utils.js_sec1
1
'use strict';
2
3
function query_is_css_parseable(query) {
4
  const style = document.createElement('style');
5
  style.type = 'text/css';
6
  document.head.appendChild(style);
7
8
  const sheet = style.sheet;
9
  try {
10
    sheet.insertRule("@media " + query + "{}", 0);
11
    return sheet.cssRules.length == 1 &&
12
        sheet.cssRules[0].media.mediaText != "not all";
13
  } finally {
14
    while (sheet.cssRules.length)
15
      sheet.deleteRule(0);
16
    style.remove();
17
  }
18
}
19
20
function query_should_be_css_parseable(query) {
21
  test(() => {
22
    assert_true(query_is_css_parseable(query));
23
  }, "Should be parseable in a CSS stylesheet: '" + query + "'");
24
}
25
26
function query_should_not_be_css_parseable(query) {
27
  test(() => {
28
    assert_false(query_is_css_parseable(query));
29
  }, "Should not be parseable in a CSS stylesheet: '" + query + "'");
30
}
31
32
function query_is_js_parseable(query) {
33
  // We cannot rely on whether a given feature is on or off, so only check the
34
  // 'media' member of the result.
35
  const match = window.matchMedia(query);
36
  return match.media == query;
37
}
38
39
function query_should_be_js_parseable(query) {
40
  test(() => {
41
    assert_true(query_is_js_parseable(query));
42
  }, "Should be parseable in JS: '" + query + "'");
43
}
44
45
function query_should_not_be_js_parseable(query) {
46
  test(() => {
47
    assert_false(query_is_js_parseable(query));
48
  }, "Should not be parseable in JS: '" + query + "'");
49
}
- a/LayoutTests/imported/w3c/web-platform-tests/css/mediaqueries/resources/w3c-import.log +17 lines
Line 0 a/LayoutTests/imported/w3c/web-platform-tests/css/mediaqueries/resources/w3c-import.log_sec1
1
The tests in this directory were imported from the W3C repository.
2
Do NOT modify these tests directly in WebKit.
3
Instead, create a pull request on the WPT github:
4
	https://github.com/web-platform-tests/wpt
5
6
Then run the Tools/Scripts/import-w3c-tests in WebKit to reimport
7
8
Do NOT modify or remove this file.
9
10
------------------------------------------------------------------------
11
Properties requiring vendor prefixes:
12
None
13
Property values requiring vendor prefixes:
14
None
15
------------------------------------------------------------------------
16
List of files:
17
/LayoutTests/imported/w3c/web-platform-tests/css/mediaqueries/resources/matchmedia-utils.js
- a/LayoutTests/imported/w3c/web-platform-tests/css/mediaqueries/support/w3c-import.log -1 / +1 lines
Lines 1-7 a/LayoutTests/imported/w3c/web-platform-tests/css/mediaqueries/support/w3c-import.log_sec1
1
The tests in this directory were imported from the W3C repository.
1
The tests in this directory were imported from the W3C repository.
2
Do NOT modify these tests directly in WebKit.
2
Do NOT modify these tests directly in WebKit.
3
Instead, create a pull request on the WPT github:
3
Instead, create a pull request on the WPT github:
4
	https://github.com/w3c/web-platform-tests
4
	https://github.com/web-platform-tests/wpt
5
5
6
Then run the Tools/Scripts/import-w3c-tests in WebKit to reimport
6
Then run the Tools/Scripts/import-w3c-tests in WebKit to reimport
7
7
- a/LayoutTests/imported/w3c/web-platform-tests/css/mediaqueries/test_media_queries-expected.txt -175 / +562 lines
Lines 1-14 a/LayoutTests/imported/w3c/web-platform-tests/css/mediaqueries/test_media_queries-expected.txt_sec1
1
CONSOLE MESSAGE: Error: assert_not_equals: overflow-block should be equivalent to not (overflow-block: none) got disallowed value false
2
3
Harness Error (FAIL), message = Error: assert_not_equals: overflow-block should be equivalent to not (overflow-block: none) got disallowed value false
1
4
2
PASS subtest_1 
5
PASS subtest_1 
3
PASS subtest_2 
6
FAIL subtest_2 assert_true: expected true got false
4
PASS subtest_3 
7
PASS subtest_3 
5
PASS subtest_4 
8
PASS subtest_4 
6
PASS subtest_5 
9
PASS subtest_5 
7
PASS subtest_6 
10
PASS subtest_6 
8
PASS subtest_7 
11
PASS subtest_7 
9
PASS subtest_8 
12
PASS subtest_8 
10
PASS subtest_9 
13
FAIL subtest_9 assert_true: expected true got false
11
PASS subtest_10 
14
FAIL subtest_10 assert_true: expected true got false
12
PASS subtest_11 
15
PASS subtest_11 
13
PASS subtest_12 
16
PASS subtest_12 
14
PASS subtest_13 
17
PASS subtest_13 
Lines 31-44 PASS subtest_29 a/LayoutTests/imported/w3c/web-platform-tests/css/mediaqueries/test_media_queries-expected.txt_sec2
31
PASS subtest_30 
34
PASS subtest_30 
32
PASS subtest_31 
35
PASS subtest_31 
33
PASS subtest_32 
36
PASS subtest_32 
34
PASS subtest_33 
37
FAIL subtest_33 assert_true: expected true got false
35
PASS subtest_34 
38
FAIL subtest_34 assert_true: expected true got false
36
PASS subtest_35 
39
FAIL subtest_35 assert_true: expected true got false
37
PASS subtest_36 
40
FAIL subtest_36 assert_true: expected true got false
38
PASS subtest_37 
41
FAIL subtest_37 assert_true: expected true got false
39
PASS subtest_38 
42
FAIL subtest_38 assert_true: expected true got false
40
PASS subtest_39 
43
FAIL subtest_39 assert_true: expected true got false
41
PASS subtest_40 
44
FAIL subtest_40 assert_true: expected true got false
42
PASS subtest_41 
45
PASS subtest_41 
43
PASS subtest_42 
46
PASS subtest_42 
44
PASS subtest_43 
47
PASS subtest_43 
Lines 46-59 PASS subtest_44 a/LayoutTests/imported/w3c/web-platform-tests/css/mediaqueries/test_media_queries-expected.txt_sec3
46
PASS subtest_45 
49
PASS subtest_45 
47
PASS subtest_46 
50
PASS subtest_46 
48
PASS subtest_47 
51
PASS subtest_47 
49
PASS subtest_48 
52
FAIL subtest_48 assert_true: expected true got false
50
PASS subtest_49 
53
FAIL subtest_49 assert_true: expected true got false
51
PASS subtest_50 
54
FAIL subtest_50 assert_true: expected true got false
52
PASS subtest_51 
55
FAIL subtest_51 assert_true: expected true got false
53
PASS subtest_52 
56
FAIL subtest_52 assert_true: expected true got false
54
PASS subtest_53 
57
FAIL subtest_53 assert_true: expected true got false
55
PASS subtest_54 
58
FAIL subtest_54 assert_true: expected true got false
56
PASS subtest_55 
59
FAIL subtest_55 assert_true: expected true got false
57
PASS subtest_56 
60
PASS subtest_56 
58
PASS subtest_57 
61
PASS subtest_57 
59
PASS subtest_58 
62
PASS subtest_58 
Lines 61-74 PASS subtest_59 a/LayoutTests/imported/w3c/web-platform-tests/css/mediaqueries/test_media_queries-expected.txt_sec4
61
PASS subtest_60 
64
PASS subtest_60 
62
PASS subtest_61 
65
PASS subtest_61 
63
PASS subtest_62 
66
PASS subtest_62 
64
PASS subtest_63 
67
FAIL subtest_63 assert_true: expected true got false
65
PASS subtest_64 
68
FAIL subtest_64 assert_true: expected true got false
66
PASS subtest_65 
69
FAIL subtest_65 assert_true: expected true got false
67
PASS subtest_66 
70
FAIL subtest_66 assert_true: expected true got false
68
PASS subtest_67 
71
FAIL subtest_67 assert_true: expected true got false
69
PASS subtest_68 
72
FAIL subtest_68 assert_true: expected true got false
70
PASS subtest_69 
73
FAIL subtest_69 assert_true: expected true got false
71
PASS subtest_70 
74
FAIL subtest_70 assert_true: expected true got false
72
PASS subtest_71 
75
PASS subtest_71 
73
PASS subtest_72 
76
PASS subtest_72 
74
PASS subtest_73 
77
PASS subtest_73 
Lines 76-89 PASS subtest_74 a/LayoutTests/imported/w3c/web-platform-tests/css/mediaqueries/test_media_queries-expected.txt_sec5
76
PASS subtest_75 
79
PASS subtest_75 
77
PASS subtest_76 
80
PASS subtest_76 
78
PASS subtest_77 
81
PASS subtest_77 
79
PASS subtest_78 
82
FAIL subtest_78 assert_true: expected true got false
80
PASS subtest_79 
83
FAIL subtest_79 assert_true: expected true got false
81
PASS subtest_80 
84
FAIL subtest_80 assert_true: expected true got false
82
PASS subtest_81 
85
FAIL subtest_81 assert_true: expected true got false
83
PASS subtest_82 
86
FAIL subtest_82 assert_true: expected true got false
84
PASS subtest_83 
87
FAIL subtest_83 assert_true: expected true got false
85
PASS subtest_84 
88
FAIL subtest_84 assert_true: expected true got false
86
PASS subtest_85 
89
FAIL subtest_85 assert_true: expected true got false
87
PASS subtest_86 
90
PASS subtest_86 
88
PASS subtest_87 
91
PASS subtest_87 
89
PASS subtest_88 
92
PASS subtest_88 
Lines 91-104 PASS subtest_89 a/LayoutTests/imported/w3c/web-platform-tests/css/mediaqueries/test_media_queries-expected.txt_sec6
91
PASS subtest_90 
94
PASS subtest_90 
92
PASS subtest_91 
95
PASS subtest_91 
93
PASS subtest_92 
96
PASS subtest_92 
94
PASS subtest_93 
97
FAIL subtest_93 assert_true: expected true got false
95
PASS subtest_94 
98
FAIL subtest_94 assert_true: expected true got false
96
PASS subtest_95 
99
FAIL subtest_95 assert_true: expected true got false
97
PASS subtest_96 
100
FAIL subtest_96 assert_true: expected true got false
98
PASS subtest_97 
101
FAIL subtest_97 assert_true: expected true got false
99
PASS subtest_98 
102
FAIL subtest_98 assert_true: expected true got false
100
PASS subtest_99 
103
FAIL subtest_99 assert_true: expected true got false
101
PASS subtest_100 
104
FAIL subtest_100 assert_true: expected true got false
102
PASS subtest_101 
105
PASS subtest_101 
103
PASS subtest_102 
106
PASS subtest_102 
104
PASS subtest_103 
107
PASS subtest_103 
Lines 124-137 PASS subtest_122 a/LayoutTests/imported/w3c/web-platform-tests/css/mediaqueries/test_media_queries-expected.txt_sec7
124
PASS subtest_123 
127
PASS subtest_123 
125
PASS subtest_124 
128
PASS subtest_124 
126
PASS subtest_125 
129
PASS subtest_125 
127
PASS subtest_126 
130
FAIL subtest_126 assert_true: expected true got false
128
PASS subtest_127 
131
FAIL subtest_127 assert_true: expected true got false
129
PASS subtest_128 
132
FAIL subtest_128 assert_true: expected true got false
130
PASS subtest_129 
133
FAIL subtest_129 assert_true: expected true got false
131
PASS subtest_130 
134
FAIL subtest_130 assert_true: expected true got false
132
PASS subtest_131 
135
FAIL subtest_131 assert_true: expected true got false
133
PASS subtest_132 
136
FAIL subtest_132 assert_true: expected true got false
134
PASS subtest_133 
137
FAIL subtest_133 assert_true: expected true got false
135
PASS subtest_134 
138
PASS subtest_134 
136
PASS subtest_135 
139
PASS subtest_135 
137
PASS subtest_136 
140
PASS subtest_136 
Lines 139-152 PASS subtest_137 a/LayoutTests/imported/w3c/web-platform-tests/css/mediaqueries/test_media_queries-expected.txt_sec8
139
PASS subtest_138 
142
PASS subtest_138 
140
PASS subtest_139 
143
PASS subtest_139 
141
PASS subtest_140 
144
PASS subtest_140 
142
PASS subtest_141 
145
FAIL subtest_141 assert_true: expected true got false
143
PASS subtest_142 
146
FAIL subtest_142 assert_true: expected true got false
144
PASS subtest_143 
147
FAIL subtest_143 assert_true: expected true got false
145
PASS subtest_144 
148
FAIL subtest_144 assert_true: expected true got false
146
PASS subtest_145 
149
FAIL subtest_145 assert_true: expected true got false
147
PASS subtest_146 
150
FAIL subtest_146 assert_true: expected true got false
148
PASS subtest_147 
151
FAIL subtest_147 assert_true: expected true got false
149
PASS subtest_148 
152
FAIL subtest_148 assert_true: expected true got false
150
PASS subtest_149 
153
PASS subtest_149 
151
PASS subtest_150 
154
PASS subtest_150 
152
PASS subtest_151 
155
PASS subtest_151 
Lines 154-167 PASS subtest_152 a/LayoutTests/imported/w3c/web-platform-tests/css/mediaqueries/test_media_queries-expected.txt_sec9
154
PASS subtest_153 
157
PASS subtest_153 
155
PASS subtest_154 
158
PASS subtest_154 
156
PASS subtest_155 
159
PASS subtest_155 
157
PASS subtest_156 
160
FAIL subtest_156 assert_true: expected true got false
158
PASS subtest_157 
161
FAIL subtest_157 assert_true: expected true got false
159
PASS subtest_158 
162
FAIL subtest_158 assert_true: expected true got false
160
PASS subtest_159 
163
FAIL subtest_159 assert_true: expected true got false
161
PASS subtest_160 
164
FAIL subtest_160 assert_true: expected true got false
162
PASS subtest_161 
165
FAIL subtest_161 assert_true: expected true got false
163
PASS subtest_162 
166
FAIL subtest_162 assert_true: expected true got false
164
PASS subtest_163 
167
FAIL subtest_163 assert_true: expected true got false
165
PASS subtest_164 
168
PASS subtest_164 
166
PASS subtest_165 
169
PASS subtest_165 
167
PASS subtest_166 
170
PASS subtest_166 
Lines 169-182 PASS subtest_167 a/LayoutTests/imported/w3c/web-platform-tests/css/mediaqueries/test_media_queries-expected.txt_sec10
169
PASS subtest_168 
172
PASS subtest_168 
170
PASS subtest_169 
173
PASS subtest_169 
171
PASS subtest_170 
174
PASS subtest_170 
172
PASS subtest_171 
175
FAIL subtest_171 assert_true: expected true got false
173
PASS subtest_172 
176
FAIL subtest_172 assert_true: expected true got false
174
PASS subtest_173 
177
FAIL subtest_173 assert_true: expected true got false
175
PASS subtest_174 
178
FAIL subtest_174 assert_true: expected true got false
176
PASS subtest_175 
179
FAIL subtest_175 assert_true: expected true got false
177
PASS subtest_176 
180
FAIL subtest_176 assert_true: expected true got false
178
PASS subtest_177 
181
FAIL subtest_177 assert_true: expected true got false
179
PASS subtest_178 
182
FAIL subtest_178 assert_true: expected true got false
180
PASS subtest_179 
183
PASS subtest_179 
181
PASS subtest_180 
184
PASS subtest_180 
182
PASS subtest_181 
185
PASS subtest_181 
Lines 184-197 PASS subtest_182 a/LayoutTests/imported/w3c/web-platform-tests/css/mediaqueries/test_media_queries-expected.txt_sec11
184
PASS subtest_183 
187
PASS subtest_183 
185
PASS subtest_184 
188
PASS subtest_184 
186
PASS subtest_185 
189
PASS subtest_185 
187
PASS subtest_186 
190
FAIL subtest_186 assert_true: expected true got false
188
PASS subtest_187 
191
FAIL subtest_187 assert_true: expected true got false
189
PASS subtest_188 
192
FAIL subtest_188 assert_true: expected true got false
190
PASS subtest_189 
193
FAIL subtest_189 assert_true: expected true got false
191
PASS subtest_190 
194
FAIL subtest_190 assert_true: expected true got false
192
PASS subtest_191 
195
FAIL subtest_191 assert_true: expected true got false
193
PASS subtest_192 
196
FAIL subtest_192 assert_true: expected true got false
194
PASS subtest_193 
197
FAIL subtest_193 assert_true: expected true got false
195
PASS subtest_194 
198
PASS subtest_194 
196
PASS subtest_195 
199
PASS subtest_195 
197
PASS subtest_196 
200
PASS subtest_196 
Lines 217-247 PASS subtest_215 a/LayoutTests/imported/w3c/web-platform-tests/css/mediaqueries/test_media_queries-expected.txt_sec12
217
PASS subtest_216 
220
PASS subtest_216 
218
PASS subtest_217 
221
PASS subtest_217 
219
PASS subtest_218 
222
PASS subtest_218 
220
PASS subtest_219 
223
FAIL subtest_219 assert_true: expected true got false
221
PASS subtest_220 
224
FAIL subtest_220 assert_true: expected true got false
222
PASS subtest_221 
225
FAIL subtest_221 assert_true: expected true got false
223
PASS subtest_222 
226
FAIL subtest_222 assert_true: expected true got false
224
PASS subtest_223 
227
FAIL subtest_223 assert_true: expected true got false
225
PASS subtest_224 
228
FAIL subtest_224 assert_true: expected true got false
226
PASS subtest_225 
229
FAIL subtest_225 assert_true: expected true got false
227
PASS subtest_226 
230
FAIL subtest_226 assert_true: expected true got false
228
PASS subtest_227 
231
PASS subtest_227 
229
PASS subtest_228 
232
PASS subtest_228 
230
PASS subtest_229 
233
PASS subtest_229 
231
PASS subtest_230 
234
PASS subtest_230 
232
PASS monochrome_and_color 
233
PASS find_depth 
234
PASS subtest_231 
235
PASS subtest_231 
235
PASS subtest_232 
236
PASS subtest_232 
236
PASS subtest_233 
237
PASS subtest_233 
237
PASS subtest_234 
238
FAIL subtest_234 assert_true: expected true got false
238
PASS subtest_235 
239
FAIL subtest_235 assert_true: expected true got false
239
PASS subtest_236 
240
FAIL subtest_236 assert_true: expected true got false
240
PASS subtest_237 
241
FAIL subtest_237 assert_true: expected true got false
241
PASS subtest_238 
242
FAIL subtest_238 assert_true: expected true got false
242
PASS subtest_239 
243
FAIL subtest_239 assert_true: expected true got false
243
PASS subtest_240 
244
FAIL subtest_240 assert_true: expected true got false
244
PASS subtest_241 
245
FAIL subtest_241 assert_true: expected true got false
245
PASS subtest_242 
246
PASS subtest_242 
246
PASS subtest_243 
247
PASS subtest_243 
247
PASS subtest_244 
248
PASS subtest_244 
Lines 249-262 PASS subtest_245 a/LayoutTests/imported/w3c/web-platform-tests/css/mediaqueries/test_media_queries-expected.txt_sec13
249
PASS subtest_246 
250
PASS subtest_246 
250
PASS subtest_247 
251
PASS subtest_247 
251
PASS subtest_248 
252
PASS subtest_248 
252
PASS subtest_249 
253
FAIL subtest_249 assert_true: expected true got false
253
PASS subtest_250 
254
FAIL subtest_250 assert_true: expected true got false
254
PASS subtest_251 
255
FAIL subtest_251 assert_true: expected true got false
255
PASS subtest_252 
256
FAIL subtest_252 assert_true: expected true got false
256
PASS subtest_253 
257
FAIL subtest_253 assert_true: expected true got false
257
PASS subtest_254 
258
FAIL subtest_254 assert_true: expected true got false
258
PASS subtest_255 
259
FAIL subtest_255 assert_true: expected true got false
259
PASS subtest_256 
260
FAIL subtest_256 assert_true: expected true got false
260
PASS subtest_257 
261
PASS subtest_257 
261
PASS subtest_258 
262
PASS subtest_258 
262
PASS subtest_259 
263
PASS subtest_259 
Lines 264-300 PASS subtest_260 a/LayoutTests/imported/w3c/web-platform-tests/css/mediaqueries/test_media_queries-expected.txt_sec14
264
PASS subtest_261 
265
PASS subtest_261 
265
PASS subtest_262 
266
PASS subtest_262 
266
PASS subtest_263 
267
PASS subtest_263 
267
PASS subtest_264 
268
FAIL subtest_264 assert_true: expected true got false
268
PASS subtest_265 
269
FAIL subtest_265 assert_true: expected true got false
269
PASS subtest_266 
270
FAIL subtest_266 assert_true: expected true got false
270
PASS subtest_267 
271
FAIL subtest_267 assert_true: expected true got false
271
PASS subtest_268 
272
FAIL subtest_268 assert_true: expected true got false
272
PASS subtest_269 
273
FAIL subtest_269 assert_true: expected true got false
273
PASS subtest_270 
274
FAIL subtest_270 assert_true: expected true got false
274
PASS subtest_271 
275
FAIL subtest_271 assert_true: expected true got false
275
PASS subtest_272 
276
PASS subtest_272 
276
PASS subtest_273 
277
PASS subtest_273 
277
PASS subtest_274 
278
PASS subtest_274 
278
PASS subtest_275 
279
PASS subtest_275 
279
PASS subtest_276 
280
PASS subtest_276 
280
PASS subtest_277 
281
PASS subtest_277 
281
FAIL subtest_278 assert_true: expected true got false
282
PASS subtest_278 
282
PASS subtest_279 
283
FAIL subtest_279 assert_true: expected true got false
283
FAIL subtest_280 assert_true: expected true got false
284
FAIL subtest_280 assert_true: expected true got false
284
PASS subtest_281 
285
FAIL subtest_281 assert_true: expected true got false
285
PASS subtest_282 
286
FAIL subtest_282 assert_true: expected true got false
286
PASS subtest_283 
287
FAIL subtest_283 assert_true: expected true got false
287
PASS subtest_284 
288
FAIL subtest_284 assert_true: expected true got false
288
PASS subtest_285 
289
FAIL subtest_285 assert_true: expected true got false
289
PASS subtest_286 
290
FAIL subtest_286 assert_true: expected true got false
290
PASS subtest_287 
291
PASS subtest_287 
291
PASS subtest_288 
292
PASS subtest_288 
292
PASS subtest_289 
293
PASS subtest_289 
293
PASS subtest_290 
294
PASS subtest_290 
294
PASS subtest_291 
295
PASS subtest_291 
295
FAIL subtest_292 assert_true: expected true got false
296
PASS subtest_292 
296
PASS subtest_293 
297
PASS subtest_293 
297
FAIL subtest_294 assert_true: expected true got false
298
PASS subtest_294 
298
PASS subtest_295 
299
PASS subtest_295 
299
PASS subtest_296 
300
PASS subtest_296 
300
PASS subtest_297 
301
PASS subtest_297 
Lines 306-371 PASS subtest_302 a/LayoutTests/imported/w3c/web-platform-tests/css/mediaqueries/test_media_queries-expected.txt_sec15
306
PASS subtest_303 
307
PASS subtest_303 
307
PASS subtest_304 
308
PASS subtest_304 
308
PASS subtest_305 
309
PASS subtest_305 
309
FAIL subtest_306 assert_true: expected true got false
310
PASS subtest_306 
310
PASS subtest_307 
311
PASS subtest_307 
311
FAIL subtest_308 assert_true: expected true got false
312
PASS subtest_308 
312
PASS subtest_309 
313
PASS subtest_309 
313
PASS subtest_310 
314
PASS subtest_310 
314
PASS subtest_311 
315
PASS subtest_311 
315
PASS subtest_312 
316
FAIL subtest_312 assert_true: expected true got false
316
PASS subtest_313 
317
FAIL subtest_313 assert_true: expected true got false
317
FAIL find_resolution assert_false: expected false got true
318
FAIL subtest_314 assert_true: expected true got false
318
PASS subtest_314 
319
FAIL subtest_315 assert_true: expected true got false
319
PASS subtest_315 
320
FAIL subtest_316 assert_true: expected true got false
320
FAIL subtest_316 assert_true: expected true got false
321
FAIL subtest_317 assert_false: expected false got true
321
FAIL subtest_317 assert_true: expected true got false
322
PASS subtest_318 
322
FAIL subtest_318 assert_true: expected true got false
323
PASS subtest_319 
323
FAIL subtest_319 assert_true: expected true got false
324
FAIL subtest_320 assert_true: expected true got false
324
PASS subtest_320 
325
FAIL subtest_321 assert_true: expected true got false
325
PASS subtest_321 
326
PASS subtest_322 
326
PASS subtest_322 
327
PASS subtest_323 
327
PASS subtest_323 
328
FAIL subtest_324 assert_true: expected true got false
328
PASS subtest_324 
329
FAIL subtest_325 assert_true: expected true got false
329
PASS subtest_325 
330
FAIL subtest_326 assert_true: expected true got false
330
PASS subtest_326 
331
PASS subtest_327 
331
FAIL subtest_327 assert_true: expected true got false
332
PASS subtest_328 
332
FAIL subtest_328 assert_true: expected true got false
333
PASS subtest_329 
333
FAIL subtest_329 assert_true: expected true got false
334
PASS subtest_330 
334
FAIL subtest_330 assert_true: expected true got false
335
PASS subtest_331 
335
FAIL subtest_331 assert_true: expected true got false
336
PASS subtest_332 
336
FAIL subtest_332 assert_true: expected true got false
337
PASS subtest_333 
337
FAIL subtest_333 assert_true: expected true got false
338
FAIL subtest_334 assert_true: expected true got false
338
FAIL subtest_334 assert_true: expected true got false
339
FAIL subtest_335 assert_true: expected true got false
339
PASS subtest_335 
340
FAIL subtest_336 assert_true: expected true got false
340
PASS subtest_336 
341
PASS subtest_337 
341
PASS subtest_337 
342
PASS subtest_338 
342
PASS subtest_338 
343
PASS subtest_339 
343
PASS subtest_339 
344
PASS subtest_340 
344
PASS subtest_340 
345
PASS subtest_341 
345
PASS subtest_341 
346
PASS subtest_342 
346
FAIL subtest_342 assert_true: expected true got false
347
PASS subtest_343 
347
FAIL subtest_343 assert_true: expected true got false
348
PASS subtest_344 
348
FAIL subtest_344 assert_true: expected true got false
349
PASS subtest_345 
349
FAIL subtest_345 assert_true: expected true got false
350
PASS subtest_346 
350
FAIL subtest_346 assert_true: expected true got false
351
PASS subtest_347 
351
FAIL subtest_347 assert_true: expected true got false
352
PASS subtest_348 
352
FAIL subtest_348 assert_true: expected true got false
353
PASS subtest_349 
353
FAIL subtest_349 assert_true: expected true got false
354
PASS subtest_350 
354
PASS subtest_350 
355
FAIL subtest_351 assert_true: expected true got false
355
PASS subtest_351 
356
PASS subtest_352 
356
PASS subtest_352 
357
PASS subtest_353 
357
PASS subtest_353 
358
PASS subtest_354 
358
PASS subtest_354 
359
PASS subtest_355 
359
PASS subtest_355 
360
PASS subtest_356 
360
PASS subtest_356 
361
PASS subtest_357 
361
FAIL subtest_357 assert_true: expected true got false
362
FAIL subtest_358 assert_true: expected true got false
362
FAIL subtest_358 assert_true: expected true got false
363
PASS subtest_359 
363
FAIL subtest_359 assert_true: expected true got false
364
PASS subtest_360 
364
FAIL subtest_360 assert_true: expected true got false
365
PASS subtest_361 
365
FAIL subtest_361 assert_true: expected true got false
366
PASS subtest_362 
366
FAIL subtest_362 assert_true: expected true got false
367
PASS subtest_363 
367
FAIL subtest_363 assert_true: expected true got false
368
PASS subtest_364 
368
FAIL subtest_364 assert_true: expected true got false
369
PASS subtest_365 
369
PASS subtest_365 
370
PASS subtest_366 
370
PASS subtest_366 
371
PASS subtest_367 
371
PASS subtest_367 
Lines 373-387 PASS subtest_368 a/LayoutTests/imported/w3c/web-platform-tests/css/mediaqueries/test_media_queries-expected.txt_sec16
373
PASS subtest_369 
373
PASS subtest_369 
374
PASS subtest_370 
374
PASS subtest_370 
375
PASS subtest_371 
375
PASS subtest_371 
376
PASS subtest_372 
376
FAIL subtest_372 assert_true: expected true got false
377
PASS subtest_373 
377
FAIL subtest_373 assert_true: expected true got false
378
PASS subtest_374 
378
FAIL subtest_374 assert_true: expected true got false
379
PASS subtest_375 
379
FAIL subtest_375 assert_true: expected true got false
380
PASS subtest_376 
380
FAIL subtest_376 assert_true: expected true got false
381
PASS subtest_377 
381
FAIL subtest_377 assert_true: expected true got false
382
PASS subtest_378 
382
FAIL subtest_378 assert_true: expected true got false
383
PASS subtest_379 
383
FAIL subtest_379 assert_true: expected true got false
384
PASS subtest_380 
384
PASS subtest_380 
385
PASS subtest_381 
385
PASS subtest_381 
386
PASS subtest_382 
386
PASS subtest_382 
387
PASS subtest_383 
388
PASS subtest_384 
389
PASS subtest_385 
390
PASS subtest_386 
391
PASS subtest_387 
392
FAIL subtest_388 assert_true: expected true got false
393
PASS subtest_389 
394
PASS subtest_390 
395
PASS subtest_391 
396
PASS subtest_392 
397
PASS subtest_393 
398
PASS subtest_394 
399
PASS subtest_395 
400
PASS subtest_396 
401
PASS subtest_397 
402
PASS subtest_398 
403
PASS subtest_399 
404
PASS subtest_400 
405
PASS subtest_401 
406
PASS subtest_402 
407
FAIL subtest_403 assert_true: expected true got false
408
FAIL subtest_404 assert_true: expected true got false
409
PASS subtest_405 
410
PASS subtest_406 
411
FAIL subtest_407 assert_true: expected true got false
412
FAIL subtest_408 assert_true: expected true got false
413
PASS subtest_409 
414
PASS subtest_410 
415
FAIL subtest_411 assert_true: expected true got false
416
FAIL subtest_412 assert_true: expected true got false
417
PASS subtest_413 
418
PASS subtest_414 
419
PASS subtest_415 
420
FAIL subtest_416 assert_true: expected true got false
421
PASS subtest_417 
422
PASS subtest_418 
423
PASS subtest_419 
424
PASS subtest_420 
425
PASS subtest_421 
426
PASS subtest_422 
427
PASS subtest_423 
428
PASS subtest_424 
429
PASS subtest_425 
430
PASS subtest_426 
431
PASS subtest_427 
432
PASS subtest_428 
433
PASS subtest_429 
434
PASS subtest_430 
435
FAIL subtest_431 assert_true: expected true got false
436
FAIL subtest_432 assert_true: expected true got false
437
PASS subtest_433 
438
PASS subtest_434 
439
FAIL subtest_435 assert_true: expected true got false
440
FAIL subtest_436 assert_true: expected true got false
441
PASS subtest_437 
442
PASS subtest_438 
443
FAIL subtest_439 assert_true: expected true got false
444
FAIL subtest_440 assert_true: expected true got false
445
PASS subtest_441 
446
PASS subtest_442 
447
PASS subtest_443 
448
FAIL subtest_444 assert_true: expected true got false
449
PASS subtest_445 
450
PASS subtest_446 
451
PASS subtest_447 
452
PASS subtest_448 
453
PASS subtest_449 
454
PASS subtest_450 
455
PASS subtest_451 
456
PASS subtest_452 
457
PASS subtest_453 
458
PASS subtest_454 
459
PASS subtest_455 
460
PASS subtest_456 
461
PASS subtest_457 
462
PASS subtest_458 
463
FAIL subtest_459 assert_true: expected true got false
464
FAIL subtest_460 assert_true: expected true got false
465
PASS subtest_461 
466
PASS subtest_462 
467
FAIL subtest_463 assert_true: expected true got false
468
FAIL subtest_464 assert_true: expected true got false
469
PASS subtest_465 
470
PASS subtest_466 
471
FAIL subtest_467 assert_true: expected true got false
472
FAIL subtest_468 assert_true: expected true got false
473
PASS subtest_469 
474
PASS subtest_470 
475
PASS subtest_471 
476
FAIL subtest_472 assert_true: expected true got false
477
PASS subtest_473 
478
PASS subtest_474 
479
PASS subtest_475 
480
PASS subtest_476 
481
PASS subtest_477 
482
PASS subtest_478 
483
PASS subtest_479 
484
PASS subtest_480 
485
PASS subtest_481 
486
PASS subtest_482 
487
PASS subtest_483 
488
PASS subtest_484 
489
PASS subtest_485 
490
PASS subtest_486 
491
FAIL subtest_487 assert_true: expected true got false
492
FAIL subtest_488 assert_true: expected true got false
493
PASS subtest_489 
494
PASS subtest_490 
495
FAIL subtest_491 assert_true: expected true got false
496
FAIL subtest_492 assert_true: expected true got false
497
PASS subtest_493 
498
PASS subtest_494 
499
FAIL subtest_495 assert_true: expected true got false
500
FAIL subtest_496 assert_true: expected true got false
501
PASS subtest_497 
502
PASS subtest_498 
503
PASS subtest_499 
504
PASS subtest_500 
505
PASS subtest_501 
506
PASS subtest_502 
507
PASS subtest_503 
508
PASS subtest_504 
509
PASS subtest_505 
510
PASS subtest_506 
511
PASS subtest_507 
512
PASS subtest_508 
513
PASS subtest_509 
514
PASS subtest_510 
515
PASS subtest_511 
516
PASS subtest_512 
517
PASS subtest_513 
518
PASS subtest_514 
519
PASS subtest_515 
520
PASS subtest_516 
521
PASS subtest_517 
522
PASS subtest_518 
523
PASS subtest_519 
524
PASS subtest_520 
525
PASS subtest_521 
526
PASS subtest_522 
527
PASS subtest_523 
528
PASS subtest_524 
529
PASS subtest_525 
530
PASS subtest_526 
531
PASS subtest_527 
532
PASS subtest_528 
533
PASS subtest_529 
534
PASS subtest_530 
535
PASS subtest_531 
536
PASS subtest_532 
537
PASS subtest_533 
538
PASS subtest_534 
539
PASS subtest_535 
540
PASS subtest_536 
541
PASS subtest_537 
542
PASS subtest_538 
543
PASS subtest_539 
544
PASS subtest_540 
545
PASS subtest_541 
546
PASS subtest_542 
547
PASS subtest_543 
548
PASS subtest_544 
549
PASS subtest_545 
550
PASS subtest_546 
551
PASS subtest_547 
552
PASS subtest_548 
553
PASS subtest_549 
554
PASS subtest_550 
555
PASS subtest_551 
556
PASS subtest_552 
557
PASS subtest_553 
558
PASS subtest_554 
559
PASS subtest_555 
560
PASS subtest_556 
561
PASS subtest_557 
562
PASS subtest_558 
563
PASS subtest_559 
564
PASS subtest_560 
565
PASS subtest_561 
566
PASS subtest_562 
567
PASS subtest_563 
568
PASS subtest_564 
569
PASS subtest_565 
570
PASS subtest_566 
571
PASS subtest_567 
572
PASS subtest_568 
573
PASS subtest_569 
574
PASS subtest_570 
575
PASS subtest_571 
576
PASS subtest_572 
577
FAIL subtest_573 assert_true: expected true got false
578
FAIL subtest_574 assert_true: expected true got false
579
FAIL subtest_575 assert_true: expected true got false
580
FAIL subtest_576 assert_true: expected true got false
581
FAIL subtest_577 assert_true: expected true got false
582
FAIL subtest_578 assert_true: expected true got false
583
FAIL subtest_579 assert_true: expected true got false
584
FAIL subtest_580 assert_true: expected true got false
585
PASS subtest_581 
586
PASS subtest_582 
587
PASS subtest_583 
588
PASS subtest_584 
589
PASS subtest_585 
590
PASS subtest_586 
591
PASS subtest_587 
592
PASS subtest_588 
593
PASS subtest_589 
594
PASS subtest_590 
595
PASS subtest_591 
596
PASS subtest_592 
597
FAIL subtest_593 assert_true: expected true got false
598
FAIL subtest_594 assert_true: expected true got false
599
FAIL subtest_595 assert_true: expected true got false
600
FAIL subtest_596 assert_true: expected true got false
601
FAIL subtest_597 assert_true: expected true got false
602
FAIL subtest_598 assert_true: expected true got false
603
FAIL subtest_599 assert_true: expected true got false
604
FAIL subtest_600 assert_true: expected true got false
605
PASS subtest_601 
606
PASS subtest_602 
607
PASS subtest_603 
608
PASS subtest_604 
609
PASS subtest_605 
610
PASS subtest_606 
611
PASS subtest_607 
612
PASS subtest_608 
613
PASS monochrome_and_color 
614
PASS find_depth 
615
PASS subtest_609 
616
PASS subtest_610 
617
PASS subtest_611 
618
PASS subtest_612 
619
PASS subtest_613 
620
PASS subtest_614 
621
PASS subtest_615 
622
PASS subtest_616 
623
PASS subtest_617 
624
PASS subtest_618 
625
PASS subtest_619 
626
PASS subtest_620 
627
PASS subtest_621 
628
PASS subtest_622 
629
PASS subtest_623 
630
PASS subtest_624 
631
PASS subtest_625 
632
PASS subtest_626 
633
PASS subtest_627 
634
PASS subtest_628 
635
PASS subtest_629 
636
PASS subtest_630 
637
PASS subtest_631 
638
PASS subtest_632 
639
PASS subtest_633 
640
PASS subtest_634 
641
PASS subtest_635 
642
PASS subtest_636 
643
PASS subtest_637 
644
PASS subtest_638 
645
PASS subtest_639 
646
PASS subtest_640 
647
PASS subtest_641 
648
PASS subtest_642 
649
PASS subtest_643 
650
PASS subtest_644 
651
PASS subtest_645 
652
PASS subtest_646 
653
PASS subtest_647 
654
PASS subtest_648 
655
PASS subtest_649 
656
PASS subtest_650 
657
PASS subtest_651 
658
PASS subtest_652 
659
PASS subtest_653 
660
PASS subtest_654 
661
PASS subtest_655 
662
FAIL subtest_656 assert_true: expected true got false
663
PASS subtest_657 
664
FAIL subtest_658 assert_true: expected true got false
665
PASS subtest_659 
666
PASS subtest_660 
667
PASS subtest_661 
668
PASS subtest_662 
669
PASS subtest_663 
670
PASS subtest_664 
671
PASS subtest_665 
672
PASS subtest_666 
673
PASS subtest_667 
674
PASS subtest_668 
675
PASS subtest_669 
676
FAIL subtest_670 assert_true: expected true got false
677
PASS subtest_671 
678
FAIL subtest_672 assert_true: expected true got false
679
PASS subtest_673 
680
PASS subtest_674 
681
PASS subtest_675 
682
PASS subtest_676 
683
PASS subtest_677 
684
PASS subtest_678 
685
PASS subtest_679 
686
PASS subtest_680 
687
PASS subtest_681 
688
PASS subtest_682 
689
PASS subtest_683 
690
FAIL subtest_684 assert_true: expected true got false
691
PASS subtest_685 
692
FAIL subtest_686 assert_true: expected true got false
693
PASS subtest_687 
694
PASS subtest_688 
695
PASS subtest_689 
696
PASS subtest_690 
697
PASS subtest_691 
698
FAIL find_resolution assert_false: expected false got true
699
PASS subtest_692 
700
PASS subtest_693 
701
FAIL subtest_694 assert_true: expected true got false
702
FAIL subtest_695 assert_false: expected false got true
703
PASS subtest_696 
704
PASS subtest_697 
705
FAIL subtest_698 assert_true: expected true got false
706
FAIL subtest_699 assert_true: expected true got false
707
PASS subtest_700 
708
PASS subtest_701 
709
FAIL subtest_702 assert_true: expected true got false
710
FAIL subtest_703 assert_true: expected true got false
711
FAIL subtest_704 assert_true: expected true got false
712
PASS subtest_705 
713
PASS subtest_706 
714
PASS subtest_707 
715
PASS subtest_708 
716
PASS subtest_709 
717
PASS subtest_710 
718
PASS subtest_711 
719
FAIL subtest_712 assert_true: expected true got false
720
FAIL subtest_713 assert_true: expected true got false
721
FAIL subtest_714 assert_true: expected true got false
722
PASS subtest_715 
723
PASS subtest_716 
724
PASS subtest_717 
725
PASS subtest_718 
726
PASS subtest_719 
727
PASS subtest_720 
728
PASS subtest_721 
729
PASS subtest_722 
730
PASS subtest_723 
731
PASS subtest_724 
732
PASS subtest_725 
733
PASS subtest_726 
734
PASS subtest_727 
735
PASS subtest_728 
736
FAIL subtest_729 assert_true: expected true got false
737
PASS subtest_730 
738
PASS subtest_731 
739
PASS subtest_732 
740
PASS subtest_733 
741
PASS subtest_734 
742
PASS subtest_735 
743
FAIL subtest_736 assert_true: expected true got false
744
PASS subtest_737 
745
PASS subtest_738 
746
PASS subtest_739 
747
PASS subtest_740 
748
PASS subtest_741 
749
PASS subtest_742 
750
PASS subtest_743 
751
PASS subtest_744 
752
PASS subtest_745 
753
PASS subtest_746 
754
PASS subtest_747 
755
PASS subtest_748 
756
PASS subtest_749 
757
PASS subtest_750 
758
PASS subtest_751 
759
PASS subtest_752 
760
PASS subtest_753 
761
PASS subtest_754 
762
PASS subtest_755 
763
PASS subtest_756 
764
PASS subtest_757 
765
PASS subtest_758 
766
PASS subtest_759 
767
PASS subtest_760 
768
FAIL subtest_761 assert_true: expected true got false
769
FAIL subtest_762 assert_true: expected true got false
770
FAIL subtest_763 assert_true: expected true got false
771
FAIL subtest_764 assert_true: expected true got false
772
FAIL subtest_765 assert_true: expected true got false
773
PASS subtest_766 
387
774
- a/LayoutTests/imported/w3c/web-platform-tests/css/mediaqueries/test_media_queries.html -35 / +139 lines
Lines 5-11 a/LayoutTests/imported/w3c/web-platform-tests/css/mediaqueries/test_media_queries.html_sec1
5
  <link rel="author" title="L. David Baron" href="https://dbaron.org/">
5
  <link rel="author" title="L. David Baron" href="https://dbaron.org/">
6
  <link rel="author" title="Anne van Kesteren" href="http://annevankesteren.nl/">
6
  <link rel="author" title="Anne van Kesteren" href="http://annevankesteren.nl/">
7
  <link rel="author" title="Ms2ger" href="mailto:Ms2ger@gmail.com">
7
  <link rel="author" title="Ms2ger" href="mailto:Ms2ger@gmail.com">
8
  <link rel="help" href="http://www.w3.org/TR/css3-mediaqueries/">
8
  <link rel="help" href="https://www.w3.org/TR/css3-mediaqueries/#media0">
9
  <script type="text/javascript" src="/resources/testharness.js"></script>
9
  <script type="text/javascript" src="/resources/testharness.js"></script>
10
  <script type="text/javascript" src="/resources/testharnessreport.js"></script>
10
  <script type="text/javascript" src="/resources/testharnessreport.js"></script>
11
</head>
11
</head>
Lines 33-45 function run() { a/LayoutTests/imported/w3c/web-platform-tests/css/mediaqueries/test_media_queries.html_sec2
33
    function should_apply(q) {
33
    function should_apply(q) {
34
      test(function() {
34
      test(function() {
35
        assert_true(query_applies(q));
35
        assert_true(query_applies(q));
36
      }, "subtest_" + ++testNum, {assert: q + " should apply"});
36
      }, "subtest_" + ++testNum);
37
    }
37
    }
38
38
39
    function should_not_apply(q) {
39
    function should_not_apply(q) {
40
      test(function() {
40
      test(function() {
41
        assert_false(query_applies(q));
41
        assert_false(query_applies(q));
42
      }, "subtest_" + ++testNum, {assert: q + " should not apply"});
42
      }, "subtest_" + ++testNum);
43
    }
43
    }
44
44
45
    /*
45
    /*
Lines 68-80 function run() { a/LayoutTests/imported/w3c/web-platform-tests/css/mediaqueries/test_media_queries.html_sec3
68
    function query_should_be_parseable(q) {
68
    function query_should_be_parseable(q) {
69
      test(function() {
69
      test(function() {
70
        assert_true(query_is_parseable(q))
70
        assert_true(query_is_parseable(q))
71
      }, "subtest_" + ++testNum, {assert: "query " + q + " should be parseable"});
71
      }, "subtest_" + ++testNum);
72
    }
72
    }
73
73
74
    function query_should_not_be_parseable(q) {
74
    function query_should_not_be_parseable(q) {
75
      test(function() {
75
      test(function() {
76
        assert_false(query_is_parseable(q))
76
        assert_false(query_is_parseable(q))
77
      }, "subtest_" + ++testNum, {assert: "query " + q + " should not be parseable"});
77
      }, "subtest_" + ++testNum);
78
    }
78
    }
79
79
80
    /*
80
    /*
Lines 88-133 function run() { a/LayoutTests/imported/w3c/web-platform-tests/css/mediaqueries/test_media_queries.html_sec4
88
    function expression_should_be_parseable(e) {
88
    function expression_should_be_parseable(e) {
89
      test(function() {
89
      test(function() {
90
        assert_true(expression_is_parseable(e));
90
        assert_true(expression_is_parseable(e));
91
      }, "subtest_" + ++testNum, {assert: "expression " + e + " should be parseable"});
91
      }, "subtest_" + ++testNum);
92
    }
92
    }
93
93
94
    function expression_should_not_be_parseable(e) {
94
    function expression_should_not_be_parseable(e) {
95
      test(function() {
95
      test(function() {
96
        assert_false(expression_is_parseable(e));
96
        assert_false(expression_is_parseable(e));
97
      }, "subtest_" + ++testNum, {assert: "expression " + e + " should not be parseable"});
97
      }, "subtest_" + ++testNum);
98
    }
98
    }
99
99
100
    // The no-type syntax doesn't mix with the not and only keywords.
100
    // The no-type syntax doesn't mix with the not and only keywords.
101
    query_should_be_parseable("(orientation)");
101
    query_should_be_parseable("(orientation)");
102
    query_should_not_be_parseable("not (orientation)");
102
    query_should_be_parseable("not (orientation)");
103
    query_should_not_be_parseable("only (orientation)");
103
    query_should_not_be_parseable("only (orientation)");
104
    query_should_be_parseable("all and (orientation)");
104
    query_should_be_parseable("all and (orientation)");
105
    query_should_be_parseable("not all and (orientation)");
105
    query_should_be_parseable("not all and (orientation)");
106
    query_should_be_parseable("only all and (orientation)");
106
    query_should_be_parseable("only all and (orientation)");
107
107
108
    query_should_not_be_parseable("not not (orientation)");
109
    query_should_be_parseable("(orientation) and (orientation)");
110
    query_should_be_parseable("(orientation) or (orientation)");
111
    query_should_be_parseable("(orientation) or ((orientation) and ((orientation) or (orientation) or (not (orientation))))");
112
113
    query_should_not_be_parseable("all and (orientation) or (orientation)");
114
    query_should_be_parseable("all and (orientation) and (orientation)");
115
116
    query_should_not_be_parseable("(orientation) and (orientation) or (orientation)");
117
    query_should_not_be_parseable("(orientation) and not (orientation)");
118
119
108
    var features = [ "width", "height", "device-width", "device-height" ];
120
    var features = [ "width", "height", "device-width", "device-height" ];
121
    var separators = [ ":", ">", ">=", "=", "<=", "<" ];
109
    var feature;
122
    var feature;
110
    var i;
123
    var i;
111
    for (i in features) {
124
    for (i in features) {
112
      feature = features[i];
125
      feature = features[i];
113
      expression_should_be_parseable(feature);
126
      expression_should_be_parseable(feature);
114
      expression_should_be_parseable(feature + ": 0");
115
      expression_should_be_parseable(feature + ": 0px");
116
      expression_should_be_parseable(feature + ": 0em");
117
      expression_should_be_parseable(feature + ": -0");
118
      expression_should_be_parseable("min-" + feature + ": -0");
119
      expression_should_be_parseable("max-" + feature + ": -0");
120
      expression_should_be_parseable(feature + ": -0cm");
121
      expression_should_be_parseable(feature + ": 1px");
122
      expression_should_be_parseable(feature + ": 0.001mm");
123
      expression_should_be_parseable(feature + ": 100000px");
124
      expression_should_not_be_parseable(feature + ": -1px");
125
      expression_should_not_be_parseable("min-" + feature + ": -1px");
126
      expression_should_not_be_parseable("max-" + feature + ": -1px");
127
      expression_should_not_be_parseable(feature + ": -0.00001mm");
128
      expression_should_not_be_parseable(feature + ": -100000em");
129
      expression_should_not_be_parseable("min-" + feature);
127
      expression_should_not_be_parseable("min-" + feature);
130
      expression_should_not_be_parseable("max-" + feature);
128
      expression_should_not_be_parseable("max-" + feature);
129
      for (let separator of separators) {
130
        expression_should_be_parseable(feature + " " + separator + " 0");
131
        expression_should_be_parseable(feature + " " + separator + " 0px");
132
        expression_should_be_parseable(feature + " " + separator + " 0em");
133
        expression_should_be_parseable(feature + " " + separator + " -0");
134
        expression_should_be_parseable(feature + " " + separator + " -0cm");
135
        expression_should_be_parseable(feature + " " + separator + " 1px");
136
        expression_should_be_parseable(feature + " " + separator + " 0.001mm");
137
        expression_should_be_parseable(feature + " " + separator + " 100000px");
138
        if (separator == ":") {
139
          expression_should_be_parseable("min-" + feature + " " + separator + " -0");
140
          expression_should_be_parseable("max-" + feature + " " + separator + " -0");
141
        } else {
142
          expression_should_not_be_parseable("min-" + feature + " " + separator + " -0");
143
          expression_should_not_be_parseable("max-" + feature + " " + separator + " -0");
144
        }
145
        expression_should_not_be_parseable(feature + " " + separator + " -1px");
146
        expression_should_not_be_parseable("min-" + feature + " " + separator + " -1px");
147
        expression_should_not_be_parseable("max-" + feature + " " + separator + " -1px");
148
        expression_should_not_be_parseable(feature + " " + separator + " -0.00001mm");
149
        expression_should_not_be_parseable(feature + " " + separator + " -100000em");
150
      }
131
    }
151
    }
132
152
133
    var content_div = document.getElementById("content");
153
    var content_div = document.getElementById("content");
Lines 142-156 function run() { a/LayoutTests/imported/w3c/web-platform-tests/css/mediaqueries/test_media_queries.html_sec5
142
    iframe_style.height = height_val + "px";
162
    iframe_style.height = height_val + "px";
143
    var device_width = window.screen.width;
163
    var device_width = window.screen.width;
144
    var device_height = window.screen.height;
164
    var device_height = window.screen.height;
145
    features = { "width": width_val,
165
    features = {
146
                      "height": height_val,
166
      "width": width_val,
147
                      "device-width": device_width,
167
      "height": height_val,
148
                      "device-height": device_height };
168
      "device-width": device_width,
169
      "device-height": device_height
170
    };
149
    for (feature in features) {
171
    for (feature in features) {
150
      var value = features[feature];
172
      var value = features[feature];
151
      should_apply("all and (" + feature + ": " + value + "px)");
173
      should_apply("all and (" + feature + ": " + value + "px)");
174
      should_apply("all and (" + feature + " = " + value + "px)");
152
      should_not_apply("all and (" + feature + ": " + (value + 1) + "px)");
175
      should_not_apply("all and (" + feature + ": " + (value + 1) + "px)");
153
      should_not_apply("all and (" + feature + ": " + (value - 1) + "px)");
176
      should_not_apply("all and (" + feature + ": " + (value - 1) + "px)");
177
      should_not_apply("all and (" + feature + " = " + (value + 1) + "px)");
178
      should_not_apply("all and (" + feature + " = " + (value - 1) + "px)");
179
154
      should_apply("all and (min-" + feature + ": " + value + "px)");
180
      should_apply("all and (min-" + feature + ": " + value + "px)");
155
      should_not_apply("all and (min-" + feature + ": " + (value + 1) + "px)");
181
      should_not_apply("all and (min-" + feature + ": " + (value + 1) + "px)");
156
      should_apply("all and (min-" + feature + ": " + (value - 1) + "px)");
182
      should_apply("all and (min-" + feature + ": " + (value - 1) + "px)");
Lines 165-170 function run() { a/LayoutTests/imported/w3c/web-platform-tests/css/mediaqueries/test_media_queries.html_sec6
165
                   (Math.ceil(value/em_size) + 1) + "em)");
191
                   (Math.ceil(value/em_size) + 1) + "em)");
166
      should_not_apply("all and (max-" + feature + ": " +
192
      should_not_apply("all and (max-" + feature + ": " +
167
                       (Math.floor(value/em_size) - 1) + "em)");
193
                       (Math.floor(value/em_size) - 1) + "em)");
194
195
      should_apply("(" + feature + " <= " + value + "px)");
196
      should_apply("(" + feature + " >= " + value + "px)");
197
      should_not_apply("(" + feature + " < " + value + "px)");
198
      should_not_apply("(" + feature + " > " + value + "px)");
199
200
      should_apply("(" + feature + " < " + (value + 1) + "px)");
201
      should_apply("(" + feature + " <= " + (value + 1) + "px)");
202
      should_not_apply("(" + feature + " > " + (value + 1) + "px)");
203
      should_not_apply("(" + feature + " >= " + (value + 1) + "px)");
204
205
      should_apply("(" + feature + " > " + (value - 1) + "px)");
206
      should_apply("(" + feature + " >= " + (value - 1) + "px)");
207
      should_not_apply("(" + feature + " < " + (value - 1) + "px)");
208
      should_not_apply("(" + feature + " <= " + (value - 1) + "px)");
168
    }
209
    }
169
210
170
    iframe_style.width = "0";
211
    iframe_style.width = "0";
Lines 266-282 function run() { a/LayoutTests/imported/w3c/web-platform-tests/css/mediaqueries/test_media_queries.html_sec7
266
      expression_should_be_parseable(feature + ": 1  /1");
307
      expression_should_be_parseable(feature + ": 1  /1");
267
      expression_should_be_parseable(feature + ": 1  / \t\n1");
308
      expression_should_be_parseable(feature + ": 1  / \t\n1");
268
      expression_should_be_parseable(feature + ": 1/\r1");
309
      expression_should_be_parseable(feature + ": 1/\r1");
269
      expression_should_not_be_parseable(feature + ": 1");
310
      expression_should_be_parseable(feature + ": 1");
270
      expression_should_not_be_parseable(feature + ": 0.5");
311
      expression_should_be_parseable(feature + ": 0.5");
271
      expression_should_not_be_parseable(feature + ": 1.0/1");
312
      expression_should_be_parseable(feature + ": 1.0/1");
272
      expression_should_not_be_parseable(feature + ": 1/1.0");
313
      expression_should_be_parseable(feature + ": 1/1.0");
273
      expression_should_not_be_parseable(feature + ": 1.0/1.0");
314
      expression_should_be_parseable(feature + ": 1.0/1.0");
274
      expression_should_not_be_parseable(feature + ": 0/1");
315
      expression_should_be_parseable(feature + ": 0/1");
275
      expression_should_not_be_parseable(feature + ": 1/0");
316
      expression_should_be_parseable(feature + ": 1/0");
276
      expression_should_not_be_parseable(feature + ": 0/0");
317
      expression_should_be_parseable(feature + ": 0/0");
277
      expression_should_not_be_parseable(feature + ": -1/1");
318
      expression_should_not_be_parseable(feature + ": -1/1");
278
      expression_should_not_be_parseable(feature + ": 1/-1");
319
      expression_should_not_be_parseable(feature + ": 1/-1");
279
      expression_should_not_be_parseable(feature + ": -1/-1");
320
      expression_should_not_be_parseable(feature + ": -1/-1");
321
      expression_should_not_be_parseable(feature + ": -1/-1");
322
      expression_should_not_be_parseable(feature + ": -1/-1");
323
      expression_should_not_be_parseable(feature + ": invalid");
324
      expression_should_not_be_parseable(feature + ": 1 / invalid");
325
      expression_should_not_be_parseable(feature + ": 1 invalid");
280
    }
326
    }
281
327
282
    var is_monochrome = query_applies("all and (min-monochrome: 1)");
328
    var is_monochrome = query_applies("all and (min-monochrome: 1)");
Lines 474-479 function run() { a/LayoutTests/imported/w3c/web-platform-tests/css/mediaqueries/test_media_queries.html_sec8
474
    should_not_apply("not all and (bogus)")
520
    should_not_apply("not all and (bogus)")
475
    should_not_apply("only all and (bogus)")
521
    should_not_apply("only all and (bogus)")
476
522
523
    // Parsing tests for overflow-block from mediaqueries-4
524
    expression_should_be_parseable("overflow-block")
525
    expression_should_be_parseable("overflow-block: none")
526
    expression_should_be_parseable("overflow-block: paged")
527
    expression_should_be_parseable("overflow-block: scroll")
528
    expression_should_be_parseable("overflow-block: optional-paged")
529
    expression_should_not_be_parseable("overflow-block: some-random-invalid-thing")
530
531
    // Sanity check for overflow-block
532
    var any_overflow_block = query_applies("(overflow-block)");
533
    var overflow_block_none = query_applies("(overflow-block: none)");
534
    assert_not_equals(any_overflow_block, overflow_block_none, "overflow-block should be equivalent to not (overflow-block: none)");
535
536
    // Parsing tests for overflow-inline from mediaqueries-4
537
    expression_should_be_parseable("overflow-inline")
538
    expression_should_be_parseable("overflow-inline: none")
539
    expression_should_be_parseable("overflow-inline: scroll")
540
    expression_should_not_be_parseable("overflow-inline: some-random-invalid-thing")
541
542
    // Sanity check for overflow-inline
543
    var any_overflow_inline = query_applies("(overflow-inline)");
544
    var overflow_inline_none = query_applies("(overflow-inline: none)");
545
    assert_not_equals(any_overflow_inline, overflow_inline_none, "overflow-inline should be equivalent to not (overflow-inline: none)");
546
547
    // Parsing tests for interaction media features.
548
    expression_should_be_parseable("hover")
549
    expression_should_be_parseable("hover: hover")
550
    expression_should_be_parseable("hover: none")
551
    expression_should_be_parseable("any-hover")
552
    expression_should_be_parseable("any-hover: hover")
553
    expression_should_be_parseable("any-hover: none")
554
555
    assert_equals(query_applies("(hover)"), query_applies("(hover: hover)"), "(hover) == (hover: hover)");
556
    assert_not_equals(query_applies("(hover)"), query_applies("(hover: none)"), "(hover) == not (hover: none)");
557
    assert_equals(query_applies("(any-hover)"), query_applies("(any-hover: hover)"), "(any-hover) == (any-hover: hover)");
558
    assert_not_equals(query_applies("(any-hover)"), query_applies("(any-hover: none)"), "(any-hover) == not (any-hover: none)");
559
560
    expression_should_be_parseable("pointer")
561
    expression_should_be_parseable("pointer: coarse")
562
    expression_should_be_parseable("pointer: fine")
563
    expression_should_be_parseable("pointer: none")
564
    expression_should_be_parseable("any-pointer")
565
    expression_should_be_parseable("any-pointer: coarse")
566
    expression_should_be_parseable("any-pointer: fine")
567
    expression_should_be_parseable("any-pointer: none")
568
    assert_equals(query_applies("(pointer)"),
569
                  query_applies("(pointer: coarse)") || query_applies("(pointer: fine)"),
570
                  "(pointer) == (pointer: coarse) or (pointer: fine)");
571
    assert_not_equals(query_applies("(pointer)"),
572
                      query_applies("(pointer: none)"),
573
                      "(pointer) == not (pointer: none)");
574
    assert_equals(query_applies("(any-pointer)"),
575
                  query_applies("(any-pointer: coarse)") || query_applies("(any-pointer: fine)"),
576
                  "(any-pointer) == (any-pointer: coarse) or (any-pointer: fine)");
577
    assert_not_equals(query_applies("(any-pointer)"),
578
                      query_applies("(any-pointer: none)"),
579
                      "(any-pointer) == not (any-pointer: none)");
580
477
    done();
581
    done();
478
}
582
}
479
583
- a/LayoutTests/imported/w3c/web-platform-tests/css/mediaqueries/viewport-script-dynamic.html -1 / +1 lines
Lines 14-20 p { color: green; } a/LayoutTests/imported/w3c/web-platform-tests/css/mediaqueries/viewport-script-dynamic.html_sec1
14
  }
14
  }
15
}
15
}
16
</style>
16
</style>
17
<!--  The broken script below is the point of the test, see the bugzilla bug.  -->
17
<!-- The broken script below is the point of the test, see the bugzilla bug. -->
18
<script src="intentionally-broken-url.js"></script>
18
<script src="intentionally-broken-url.js"></script>
19
<meta name="viewport" content="width=300">
19
<meta name="viewport" content="width=300">
20
<p>Should be green</p>
20
<p>Should be green</p>
- a/LayoutTests/imported/w3c/web-platform-tests/css/mediaqueries/w3c-import.log -2 / +32 lines
Lines 1-7 a/LayoutTests/imported/w3c/web-platform-tests/css/mediaqueries/w3c-import.log_sec1
1
The tests in this directory were imported from the W3C repository.
1
The tests in this directory were imported from the W3C repository.
2
Do NOT modify these tests directly in WebKit.
2
Do NOT modify these tests directly in WebKit.
3
Instead, create a pull request on the WPT github:
3
Instead, create a pull request on the WPT github:
4
	https://github.com/w3c/web-platform-tests
4
	https://github.com/web-platform-tests/wpt
5
5
6
Then run the Tools/Scripts/import-w3c-tests in WebKit to reimport
6
Then run the Tools/Scripts/import-w3c-tests in WebKit to reimport
7
7
Lines 14-20 Property values requiring vendor prefixes: a/LayoutTests/imported/w3c/web-platform-tests/css/mediaqueries/w3c-import.log_sec2
14
None
14
None
15
------------------------------------------------------------------------
15
------------------------------------------------------------------------
16
List of files:
16
List of files:
17
/LayoutTests/imported/w3c/web-platform-tests/css/mediaqueries/OWNERS
17
/LayoutTests/imported/w3c/web-platform-tests/css/mediaqueries/META.yml
18
/LayoutTests/imported/w3c/web-platform-tests/css/mediaqueries/aspect-ratio-001-expected.xht
18
/LayoutTests/imported/w3c/web-platform-tests/css/mediaqueries/aspect-ratio-001-expected.xht
19
/LayoutTests/imported/w3c/web-platform-tests/css/mediaqueries/aspect-ratio-001.html
19
/LayoutTests/imported/w3c/web-platform-tests/css/mediaqueries/aspect-ratio-001.html
20
/LayoutTests/imported/w3c/web-platform-tests/css/mediaqueries/aspect-ratio-002-expected.xht
20
/LayoutTests/imported/w3c/web-platform-tests/css/mediaqueries/aspect-ratio-002-expected.xht
Lines 23-28 List of files: a/LayoutTests/imported/w3c/web-platform-tests/css/mediaqueries/w3c-import.log_sec3
23
/LayoutTests/imported/w3c/web-platform-tests/css/mediaqueries/aspect-ratio-003.html
23
/LayoutTests/imported/w3c/web-platform-tests/css/mediaqueries/aspect-ratio-003.html
24
/LayoutTests/imported/w3c/web-platform-tests/css/mediaqueries/aspect-ratio-004-expected.xht
24
/LayoutTests/imported/w3c/web-platform-tests/css/mediaqueries/aspect-ratio-004-expected.xht
25
/LayoutTests/imported/w3c/web-platform-tests/css/mediaqueries/aspect-ratio-004.html
25
/LayoutTests/imported/w3c/web-platform-tests/css/mediaqueries/aspect-ratio-004.html
26
/LayoutTests/imported/w3c/web-platform-tests/css/mediaqueries/aspect-ratio-005-expected.xht
27
/LayoutTests/imported/w3c/web-platform-tests/css/mediaqueries/aspect-ratio-005.html
28
/LayoutTests/imported/w3c/web-platform-tests/css/mediaqueries/aspect-ratio-006-expected.xht
29
/LayoutTests/imported/w3c/web-platform-tests/css/mediaqueries/aspect-ratio-006.html
30
/LayoutTests/imported/w3c/web-platform-tests/css/mediaqueries/aspect-ratio-serialization.html
26
/LayoutTests/imported/w3c/web-platform-tests/css/mediaqueries/device-aspect-ratio-001-expected.xht
31
/LayoutTests/imported/w3c/web-platform-tests/css/mediaqueries/device-aspect-ratio-001-expected.xht
27
/LayoutTests/imported/w3c/web-platform-tests/css/mediaqueries/device-aspect-ratio-001.html
32
/LayoutTests/imported/w3c/web-platform-tests/css/mediaqueries/device-aspect-ratio-001.html
28
/LayoutTests/imported/w3c/web-platform-tests/css/mediaqueries/device-aspect-ratio-002-expected.xht
33
/LayoutTests/imported/w3c/web-platform-tests/css/mediaqueries/device-aspect-ratio-002-expected.xht
Lines 35-40 List of files: a/LayoutTests/imported/w3c/web-platform-tests/css/mediaqueries/w3c-import.log_sec4
35
/LayoutTests/imported/w3c/web-platform-tests/css/mediaqueries/device-aspect-ratio-005.html
40
/LayoutTests/imported/w3c/web-platform-tests/css/mediaqueries/device-aspect-ratio-005.html
36
/LayoutTests/imported/w3c/web-platform-tests/css/mediaqueries/device-aspect-ratio-006-expected.xht
41
/LayoutTests/imported/w3c/web-platform-tests/css/mediaqueries/device-aspect-ratio-006-expected.xht
37
/LayoutTests/imported/w3c/web-platform-tests/css/mediaqueries/device-aspect-ratio-006.html
42
/LayoutTests/imported/w3c/web-platform-tests/css/mediaqueries/device-aspect-ratio-006.html
43
/LayoutTests/imported/w3c/web-platform-tests/css/mediaqueries/forced-colors.html
38
/LayoutTests/imported/w3c/web-platform-tests/css/mediaqueries/media-queries-001.xht
44
/LayoutTests/imported/w3c/web-platform-tests/css/mediaqueries/media-queries-001.xht
39
/LayoutTests/imported/w3c/web-platform-tests/css/mediaqueries/media-queries-002.xht
45
/LayoutTests/imported/w3c/web-platform-tests/css/mediaqueries/media-queries-002.xht
40
/LayoutTests/imported/w3c/web-platform-tests/css/mediaqueries/media-queries-003.xht
46
/LayoutTests/imported/w3c/web-platform-tests/css/mediaqueries/media-queries-003.xht
Lines 52-57 List of files: a/LayoutTests/imported/w3c/web-platform-tests/css/mediaqueries/w3c-import.log_sec5
52
/LayoutTests/imported/w3c/web-platform-tests/css/mediaqueries/mq-calc-004.html
58
/LayoutTests/imported/w3c/web-platform-tests/css/mediaqueries/mq-calc-004.html
53
/LayoutTests/imported/w3c/web-platform-tests/css/mediaqueries/mq-calc-005-expected.xht
59
/LayoutTests/imported/w3c/web-platform-tests/css/mediaqueries/mq-calc-005-expected.xht
54
/LayoutTests/imported/w3c/web-platform-tests/css/mediaqueries/mq-calc-005.html
60
/LayoutTests/imported/w3c/web-platform-tests/css/mediaqueries/mq-calc-005.html
61
/LayoutTests/imported/w3c/web-platform-tests/css/mediaqueries/mq-calc-006-expected.xht
62
/LayoutTests/imported/w3c/web-platform-tests/css/mediaqueries/mq-calc-006.html
63
/LayoutTests/imported/w3c/web-platform-tests/css/mediaqueries/mq-case-insensitive-001-expected.xht
64
/LayoutTests/imported/w3c/web-platform-tests/css/mediaqueries/mq-case-insensitive-001.html
65
/LayoutTests/imported/w3c/web-platform-tests/css/mediaqueries/mq-deprecated-001-expected.xht
66
/LayoutTests/imported/w3c/web-platform-tests/css/mediaqueries/mq-deprecated-001.html
67
/LayoutTests/imported/w3c/web-platform-tests/css/mediaqueries/mq-gamut-001-expected.xht
68
/LayoutTests/imported/w3c/web-platform-tests/css/mediaqueries/mq-gamut-001.html
69
/LayoutTests/imported/w3c/web-platform-tests/css/mediaqueries/mq-gamut-002-expected.xht
70
/LayoutTests/imported/w3c/web-platform-tests/css/mediaqueries/mq-gamut-002.html
71
/LayoutTests/imported/w3c/web-platform-tests/css/mediaqueries/mq-gamut-003-expected.xht
72
/LayoutTests/imported/w3c/web-platform-tests/css/mediaqueries/mq-gamut-003.html
73
/LayoutTests/imported/w3c/web-platform-tests/css/mediaqueries/mq-gamut-004-expected.xht
74
/LayoutTests/imported/w3c/web-platform-tests/css/mediaqueries/mq-gamut-004.html
75
/LayoutTests/imported/w3c/web-platform-tests/css/mediaqueries/mq-gamut-005-expected.xht
76
/LayoutTests/imported/w3c/web-platform-tests/css/mediaqueries/mq-gamut-005.html
55
/LayoutTests/imported/w3c/web-platform-tests/css/mediaqueries/mq-invalid-media-type-001-expected.xht
77
/LayoutTests/imported/w3c/web-platform-tests/css/mediaqueries/mq-invalid-media-type-001-expected.xht
56
/LayoutTests/imported/w3c/web-platform-tests/css/mediaqueries/mq-invalid-media-type-001.html
78
/LayoutTests/imported/w3c/web-platform-tests/css/mediaqueries/mq-invalid-media-type-001.html
57
/LayoutTests/imported/w3c/web-platform-tests/css/mediaqueries/mq-invalid-media-type-002-expected.xht
79
/LayoutTests/imported/w3c/web-platform-tests/css/mediaqueries/mq-invalid-media-type-002-expected.xht
Lines 60-65 List of files: a/LayoutTests/imported/w3c/web-platform-tests/css/mediaqueries/w3c-import.log_sec6
60
/LayoutTests/imported/w3c/web-platform-tests/css/mediaqueries/mq-invalid-media-type-003.html
82
/LayoutTests/imported/w3c/web-platform-tests/css/mediaqueries/mq-invalid-media-type-003.html
61
/LayoutTests/imported/w3c/web-platform-tests/css/mediaqueries/mq-invalid-media-type-004-expected.xht
83
/LayoutTests/imported/w3c/web-platform-tests/css/mediaqueries/mq-invalid-media-type-004-expected.xht
62
/LayoutTests/imported/w3c/web-platform-tests/css/mediaqueries/mq-invalid-media-type-004.html
84
/LayoutTests/imported/w3c/web-platform-tests/css/mediaqueries/mq-invalid-media-type-004.html
85
/LayoutTests/imported/w3c/web-platform-tests/css/mediaqueries/mq-negative-range-001-expected.xht
86
/LayoutTests/imported/w3c/web-platform-tests/css/mediaqueries/mq-negative-range-001.html
87
/LayoutTests/imported/w3c/web-platform-tests/css/mediaqueries/mq-range-001-expected.xht
88
/LayoutTests/imported/w3c/web-platform-tests/css/mediaqueries/mq-range-001.html
89
/LayoutTests/imported/w3c/web-platform-tests/css/mediaqueries/navigation-controls.tentative.html
90
/LayoutTests/imported/w3c/web-platform-tests/css/mediaqueries/prefers-color-scheme.html
91
/LayoutTests/imported/w3c/web-platform-tests/css/mediaqueries/prefers-reduced-data.html
92
/LayoutTests/imported/w3c/web-platform-tests/css/mediaqueries/prefers-reduced-motion.html
63
/LayoutTests/imported/w3c/web-platform-tests/css/mediaqueries/relative-units-001-expected.xht
93
/LayoutTests/imported/w3c/web-platform-tests/css/mediaqueries/relative-units-001-expected.xht
64
/LayoutTests/imported/w3c/web-platform-tests/css/mediaqueries/relative-units-001.html
94
/LayoutTests/imported/w3c/web-platform-tests/css/mediaqueries/relative-units-001.html
65
/LayoutTests/imported/w3c/web-platform-tests/css/mediaqueries/relative-units-002-expected.xht
95
/LayoutTests/imported/w3c/web-platform-tests/css/mediaqueries/relative-units-002-expected.xht
- a/LayoutTests/imported/w3c/web-platform-tests/css/reference/OWNERS -1 lines
Line 1 a/LayoutTests/imported/w3c/web-platform-tests/css/reference/OWNERS_sec1
1
@gsnedders
- a/LayoutTests/imported/w3c/web-platform-tests/css/reference/w3c-import.log -2 / +1 lines
Lines 1-7 a/LayoutTests/imported/w3c/web-platform-tests/css/reference/w3c-import.log_sec1
1
The tests in this directory were imported from the W3C repository.
1
The tests in this directory were imported from the W3C repository.
2
Do NOT modify these tests directly in WebKit.
2
Do NOT modify these tests directly in WebKit.
3
Instead, create a pull request on the WPT github:
3
Instead, create a pull request on the WPT github:
4
	https://github.com/w3c/web-platform-tests
4
	https://github.com/web-platform-tests/wpt
5
5
6
Then run the Tools/Scripts/import-w3c-tests in WebKit to reimport
6
Then run the Tools/Scripts/import-w3c-tests in WebKit to reimport
7
7
Lines 14-20 Property values requiring vendor prefixes: a/LayoutTests/imported/w3c/web-platform-tests/css/reference/w3c-import.log_sec2
14
None
14
None
15
------------------------------------------------------------------------
15
------------------------------------------------------------------------
16
List of files:
16
List of files:
17
/LayoutTests/imported/w3c/web-platform-tests/css/reference/OWNERS
18
/LayoutTests/imported/w3c/web-platform-tests/css/reference/pass_if_filler_text_match_bold-expected.xht
17
/LayoutTests/imported/w3c/web-platform-tests/css/reference/pass_if_filler_text_match_bold-expected.xht
19
/LayoutTests/imported/w3c/web-platform-tests/css/reference/pass_if_filler_text_match_bold.xht
18
/LayoutTests/imported/w3c/web-platform-tests/css/reference/pass_if_filler_text_match_bold.xht
20
/LayoutTests/imported/w3c/web-platform-tests/css/reference/pass_if_filler_text_match_smallcaps-expected.xht
19
/LayoutTests/imported/w3c/web-platform-tests/css/reference/pass_if_filler_text_match_smallcaps-expected.xht
- a/LayoutTests/imported/w3c/web-platform-tests/css/requirements.txt -6 lines
Lines 1-6 a/LayoutTests/imported/w3c/web-platform-tests/css/requirements.txt_sec1
1
Template-Python==0.1.post1
2
html5lib==1.0.1
3
lxml==4.1.1
4
mercurial==4.5
5
six==1.11.0
6
webencodings==0.5.1
- a/LayoutTests/imported/w3c/web-platform-tests/css/selectors/utils/generators.pm -1319 lines
Lines 1-1319 a/LayoutTests/imported/w3c/web-platform-tests/css/selectors/utils/generators.pm_sec1
1
package utils::generators;
2
use strict;
3
use utils::helpers;
4
1;
5
6
sub extensions {
7
    my($type) = @_;
8
    return 'html' if $type eq 'tng';
9
    return $type =~ m/^(?:|.*[^x])html/o ? 'html' : 'xml';
10
}
11
12
##############################################################################
13
# Index Generators                                                           #
14
##############################################################################
15
16
sub generateTopIndex { # points to test type indexes
17
    my($testDatabase) = @_;
18
    open(FILE, '>dist/index.html') or die "failed to open output file: $!";
19
    local $" = ', ';
20
    # XXX Hardcoded to say Selectors
21
    print FILE '<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
22
<html>
23
 <head>
24
  <title>CSS3 Selectors Test Suite Index</title>
25
 </head>
26
 <body>
27
  <h1><a href="http://www.w3.org/"><img src="http://www.w3.org/Icons/WWW/w3c_home" alt="W3C" width="72" height="48"></a> CSS3 Selectors Test Suite Index</h1>
28
  <p>The tests are available in several variants.</p>
29
  <ul>';
30
    foreach my $type (split ' ', $utils::helpers::types{'DESTINATION_TYPES'}) {
31
        print FILE "\n   <li><a href=\"".&utils::helpers::escape("$type/index.html").'">'.&utils::helpers::escape($utils::helpers::DestinationTypeTitles{$type}).'</a></li>';
32
    }
33
    # XXX Most of the following should be stored in a config file or something
34
    print FILE '
35
  </ul>
36
  <p>A list of recent changes may be found in the <a
37
  href="CHANGES">CHANGES</a> file.</p>
38
  <h2>The Role Of This Test Suite</h2>
39
40
  <p>The role of this test is primarily to help implementors develop
41
  more comprehensive tests and to help authors gauge the level of
42
  support for the basics of the Selectors specification.</p>
43
44
  <p>It is also a key part of the Selectors specification exit
45
  criteria.  For this specification to exit the CR stage, the following
46
  conditions shall be met:</p>
47
  <ol>
48
  <li><p> There must be at least two interoperable implementations for
49
     every feature in the Selectors Module.</p>
50
     <p>For the purposes of this criterion, we define the following terms:</p>
51
      <dl><dt>feature</dt><dd><p>a section or subsection in the Selectors Module.</p></dd>
52
      <dt>interoperable</dt><dd><p>passing the respective test case(s) in the
53
      Selectors Module test suite, or, if the implementation is not a
54
      web browser, an equivalent test. Every relevant test in the test
55
      suite should have an equivalent test created if such a UA is to
56
      be used to claim interoperability. In addition if such a UA is
57
      to be used to claim interoperability, then there must one or
58
      more additional UAs which can also pass those equivalent tests
59
      in the same way for the purpose of interoperability. The
60
      equivalent tests must be made publically available for the
61
      purposes of peer review.</p></dd>
62
      <dt>implementation</dt><dd><p>a user agent which:</p>
63
     <ol>
64
        <li>implements the feature.</li>
65
        <li>is available (i.e. publicly downloadable or available
66
           through some other public point of sale mechanism). This is
67
           the "show me" requirement.</li>
68
        <li>is shipping (i.e. development, private or unofficial
69
           versions are insufficient).</li>
70
        <li>is not experimental (i.e. is intended for a wide audience
71
           and could be used on a daily basis.)</li></ol></dd></dl>
72
  <li><p>A minimum of six months of the CR period must have elapsed.
73
     This is to ensure that enough time is given for any remaining
74
     major errors to be caught.</p>
75
   </li></ol>
76
77
  <h2>Contributors</h2>
78
  <p>The authors of the test suite are ';
79
    my %authors;
80
    foreach my $test (values(%$testDatabase)) {
81
        foreach my $author (@{$test->{'author'}}) {
82
            $authors{$author}++;
83
        }
84
    }
85
    my @authors = sort(keys(%authors));
86
    foreach my $index (0..$#authors) {
87
        if ($index > 0) {
88
            if ($index eq $#authors) {
89
                print FILE ' and ';
90
            } else {
91
                print FILE ', ';
92
            }
93
        }
94
        print FILE $authors[$index];
95
    }
96
    print FILE '.</p>
97
  <p class=copyright><a href="http://www.w3.org/Consortium/Legal/ipr-notice-20000612#Copyright">Copyright</a> &copy;2001 <a href="http://www.w3.org/"><abbr title="World Wide Web Consortium">W3C</abbr></a><sup>&reg;</sup> (<a href="http://www.lcs.mit.edu/"><abbr title="Massachusetts Institute of Technology">MIT</abbr></a>, <a href="http://www.inria.fr/"><abbr lang=fr title="Institut National de Recherche en Informatique et Automatique">INRIA</abbr></a>, <a href="http://www.keio.ac.jp/">Keio</a>), All Rights Reserved. W3C <a href="http://www.w3.org/Consortium/Legal/ipr-notice-20000612#Legal_Disclaimer">liability</a>, <a href="http://www.w3.org/Consortium/Legal/ipr-notice-20000612#W3C_Trademarks">trademark</a>, <a href="http://www.w3.org/Consortium/Legal/copyright-documents-19990405">document use</a> and <a href="http://www.w3.org/Consortium/Legal/copyright-software-19980720">software licensing</a> rules apply.</p>
98
 </body>
99
</html>';
100
    close(FILE);
101
}
102
103
sub generateSubIndex { # points to mini test index and all indexes for this test type
104
    my($destinationType, $testList, $testDatabase) = @_;
105
    open(FILE, ">dist/$destinationType/index.html") or die "failed to open output file: $!";
106
    local $" = ', ';
107
    print FILE '<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
108
<html>
109
 <head>
110
  <title>'.&utils::helpers::escape($utils::helpers::DestinationTypeTitles{$destinationType}).' Test Index</title>
111
  <link rel="top" href="../index.html">
112
 </head>
113
 <body>
114
  <h1>'.&utils::helpers::escape($utils::helpers::DestinationTypeTitles{$destinationType}).' Test Index</h1>
115
  <p>The '.&utils::helpers::escape($utils::helpers::DestinationTypeTitles{$destinationType}).' tests are available in several variants.</p>
116
  <h2>Tests With Navigation Aids</h2>
117
  <p>Each category of test is available using several different harnesses. The name of the harness describes how the test markup is contained within it, for example the Xlink embed case uses an XLink with the show axis set to embed.</p>
118
  <ul>';
119
    foreach my $category (split ' ', $utils::helpers::types{'TEST_TYPES'}) {
120
        print FILE "\n   <li><a href=\"".&utils::helpers::escape($category).'/index.html" title="'.&utils::helpers::escape($utils::helpers::TestTypeDescriptions{$category}).'">'.&utils::helpers::escape($utils::helpers::TestTypeShortTitles{$category}).'</a>: ';
121
        print FILE '<a href="'.&utils::helpers::escape("$category/flat/index.html").'">Self Contained</a>';
122
        foreach my $type (split ' ', $utils::helpers::types{'SHELL_TYPES'}) {
123
            print FILE ', <a href="'.&utils::helpers::escape("$category/$type/index.html").'" title="'.&utils::helpers::escape($utils::helpers::ShellTypeDescriptions{$type}).'">'.&utils::helpers::escape($utils::helpers::ShellTypeTitles{$type}).'</a>';
124
        }
125
        print FILE '</li>';
126
    }
127
    print FILE '
128
  </ul>
129
  <h2>Unadorned Tests</h2>
130
  <ul>';
131
    foreach my $test (@$testList) {
132
        print FILE "\n   <li><a href=\"".&utils::helpers::escape("tests/$test.".&extensions($destinationType)).'">'.&utils::helpers::escape($testDatabase->{$test}->{'def'})."</a> (#".&utils::helpers::escape($testDatabase->{$test}->{'number'}).")</li>";
133
    }
134
    print FILE '
135
  </ul>
136
  <p>See also: <a href="../index.html">Index</a>';
137
    foreach my $type (split ' ', $utils::helpers::types{'DESTINATION_TYPES'}) {
138
        if ($type ne $destinationType) {
139
            print FILE ', <a href="'.&utils::helpers::escape("../$type/index.html").'">'.&utils::helpers::escape($utils::helpers::DestinationTypeTitles{$type}).'</a>';
140
        }
141
    }
142
    print FILE '</p>
143
 </body>
144
</html>';
145
    close(FILE);
146
}
147
148
sub generateMiniTestIndex { # points to all mini tests
149
    my($destinationType, $testList, $testDatabase) = @_;
150
    open(FILE, ">dist/$destinationType/tests/index.html") or die "failed to open output file: $!";
151
    local $" = ', ';
152
    print FILE '<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
153
<html>
154
 <head>
155
  <title>'.&utils::helpers::escape($utils::helpers::DestinationTypeTitles{$destinationType}).' Unadorned Test Index</title>
156
  <link rel="up" href="../index.html">
157
  <link rel="top" href="../../index.html">
158
 </head>
159
 <body>
160
  <h1>'.&utils::helpers::escape($utils::helpers::DestinationTypeTitles{$destinationType}).' Unadorned Test Index</h1>
161
  <ul>';
162
    foreach my $test (@$testList) {
163
        print FILE "\n   <li><a href=\"".&utils::helpers::escape("$test.".&extensions($destinationType)).'">'.&utils::helpers::escape($testDatabase->{$test}->{'def'})."</a> (#".&utils::helpers::escape($testDatabase->{$test}->{'number'}).")</li>";
164
    }
165
    print FILE '
166
  </ul>
167
  <p>See also: <a href="../../index.html">Index</a>, <a href="../index.html">'.&utils::helpers::escape($utils::helpers::DestinationTypeTitles{$destinationType}).' Index</a>';
168
    foreach my $type (split ' ', $utils::helpers::types{'DESTINATION_TYPES'}) {
169
        if ($type ne $destinationType) {
170
            print FILE ', <a href="'.&utils::helpers::escape("../../$type/index.html").'">'.&utils::helpers::escape($utils::helpers::DestinationTypeTitles{$type}).'</a>';
171
        }
172
    }
173
    print FILE '</p>
174
 </body>
175
</html>';
176
    close(FILE);
177
}
178
179
sub generateTestTypeIndex { # points to flat test index and each shell index
180
    my($destinationType, $testType, $testList, $testDatabase) = @_;
181
    open(FILE, ">dist/$destinationType/$testType/index.html") or die "failed to open output file: $!";
182
    local $" = ', ';
183
    print FILE '<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
184
<html>
185
 <head>
186
  <title>'.&utils::helpers::escape($utils::helpers::DestinationTypeTitles{$destinationType}).' '.&utils::helpers::escape($utils::helpers::TestTypeShortTitles{$testType}).' Index</title>
187
  <link rel="up" href="../index.html">
188
  <link rel="top" href="../../index.html">
189
 </head>
190
 <body>
191
  <h1>'.&utils::helpers::escape($utils::helpers::DestinationTypeTitles{$destinationType}).' '.&utils::helpers::escape($utils::helpers::TestTypeShortTitles{$testType}).' Index</h1>
192
  <p>'.&utils::helpers::escape($utils::helpers::TestTypeDescriptions{$testType}).'</p>
193
  <p>Please select the type of test harness you wish to use to embed the tests inside the navigation aids:</p>
194
  <dl>
195
   <dt><a href="'.&utils::helpers::escape("flat/index.html").'">Self Contained</a></dt>
196
   <dd>Tests consist of an '.&utils::helpers::escape($utils::helpers::DestinationTypeTitles{$destinationType}).' page describing the test and containing, inline, the test content.</dd>';
197
    foreach my $type (split ' ', $utils::helpers::types{'SHELL_TYPES'}) {
198
        print FILE "\n   <dt><a href=\"".&utils::helpers::escape("$type/index.html").'">'.&utils::helpers::escape($utils::helpers::ShellTypeTitles{$type}).'</a></dt>
199
   <dd>'.&utils::helpers::escape($utils::helpers::ShellTypeDescriptions{$type}).'</dd>';
200
    }
201
    print FILE '
202
  </dl>
203
  <p>See also: <a href="../../index.html">Index</a>, <a href="../index.html">'.&utils::helpers::escape($utils::helpers::DestinationTypeTitles{$destinationType}).' Index</a>';
204
    foreach my $type (split ' ', $utils::helpers::types{'DESTINATION_TYPES'}) {
205
        if ($type ne $destinationType) {
206
            print FILE ', <a href="'.&utils::helpers::escape("../../../$type/index.html").'">'.&utils::helpers::escape($utils::helpers::DestinationTypeTitles{$type}).'</a>';
207
        }
208
    }
209
    print FILE '</p>
210
 </body>
211
</html>';
212
    close(FILE);
213
}
214
215
sub generateFlatTestIndex { # points to flat tests
216
    my($destinationType, $testType, $testList, $testDatabase) = @_;
217
    open(FILE, ">dist/$destinationType/$testType/flat/index.html") or die "failed to open output file: $!";
218
    local $" = ', ';
219
    print FILE '<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
220
<html>
221
 <head>
222
  <title>'.&utils::helpers::escape($utils::helpers::DestinationTypeTitles{$destinationType}).' Self Contained '.&utils::helpers::escape($utils::helpers::TestTypeShortTitles{$testType}).' Index</title>
223
  <link rel="up" href="../index.html">
224
  <link rel="top" href="../../../index.html">
225
 </head>
226
 <body>
227
  <h1>'.&utils::helpers::escape($utils::helpers::DestinationTypeTitles{$destinationType}).' Self Contained '.&utils::helpers::escape($utils::helpers::TestTypeShortTitles{$testType}).' Index</h1>
228
  <ul>';
229
    foreach my $test (@$testList) {
230
        print FILE "\n   <li><a href=\"".&utils::helpers::escape("$test.".&extensions($destinationType)).'">'.&utils::helpers::escape($testDatabase->{$test}->{'def'})."</a> (#".&utils::helpers::escape($testDatabase->{$test}->{'number'}).")</li>";
231
    }
232
    print FILE '
233
  </ul>
234
  <p>See also: <a href="../../../index.html">Index</a>, <a href="../../index.html">'.&utils::helpers::escape($utils::helpers::DestinationTypeTitles{$destinationType}).' Index</a>';
235
    foreach my $type (split ' ', $utils::helpers::types{'DESTINATION_TYPES'}) {
236
        if ($type ne $destinationType) {
237
            print FILE ', <a href="'.&utils::helpers::escape("../../../$type/index.html").'">'.&utils::helpers::escape($utils::helpers::DestinationTypeTitles{$type}).'</a>';
238
        }
239
    }
240
    print FILE '</p>
241
 </body>
242
</html>';
243
    close(FILE);
244
}
245
246
sub generateShellTestIndex { # points to shell tests
247
    my($destinationType, $testType, $shellType, $testList, $testDatabase) = @_;
248
    open(FILE, ">dist/$destinationType/$testType/$shellType/index.html") or die "failed to open output file: $!";
249
    local $" = ', ';
250
    print FILE '<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
251
<html>
252
 <head>
253
  <title>'.&utils::helpers::escape($utils::helpers::DestinationTypeTitles{$destinationType}).' '.&utils::helpers::escape($utils::helpers::ShellTypeTitles{$shellType}).' '.&utils::helpers::escape($utils::helpers::TestTypeShortTitles{$testType}).' Index</title>
254
  <link rel="up" href="../index.html">
255
  <link rel="top" href="../../../index.html">
256
 </head>
257
 <body>
258
  <h1>'.&utils::helpers::escape($utils::helpers::DestinationTypeTitles{$destinationType}).' '.&utils::helpers::escape($utils::helpers::ShellTypeTitles{$shellType}).' '.&utils::helpers::escape($utils::helpers::TestTypeShortTitles{$testType}).' Index</h1>
259
  <p>'.&utils::helpers::escape($utils::helpers::ShellTypeDescriptions{$shellType}).'</p>
260
  <ul>';
261
    foreach my $test (@$testList) {
262
        print FILE "\n   <li><a href=\"".&utils::helpers::escape("$test.".&extensions($shellType)).'">'.&utils::helpers::escape($testDatabase->{$test}->{'def'})."</a> (#".&utils::helpers::escape($testDatabase->{$test}->{'number'}).")</li>";
263
    }
264
    print FILE '
265
  </ul>
266
  <p>See also: <a href="../../../index.html">Index</a>, <a href="../../index.html">'.&utils::helpers::escape($utils::helpers::DestinationTypeTitles{$destinationType}).' Index</a>';
267
    foreach my $type (split ' ', $utils::helpers::types{'DESTINATION_TYPES'}) {
268
        if ($type ne $destinationType) {
269
            print FILE ', <a href="'.&utils::helpers::escape("../../../$type/index.html").'">'.&utils::helpers::escape($utils::helpers::DestinationTypeTitles{$type}).'</a>';
270
        }
271
    }
272
    print FILE '</p>
273
 </body>
274
</html>';
275
    close(FILE);
276
}
277
278
279
##############################################################################
280
# Test Meta Generators                                                       #
281
##############################################################################
282
283
sub generateMiniTest {
284
    my($destinationType, $tests, $testDatabase, $testIndex) = @_;
285
    my $func = UNIVERSAL::can(__PACKAGE__, "print_mini_${destinationType}");
286
    if (defined($func)) {
287
        &$func($tests, $testDatabase, $testIndex);
288
    } else {
289
        die("No generator defined for mini $destinationType tests. Aborted while processing test $tests->[$testIndex]");
290
    }
291
}
292
293
sub generateFlatTest {
294
    my($destinationType, $testType, $tests, $testDatabase, $testIndex) = @_;
295
    my $func = UNIVERSAL::can(__PACKAGE__, "print_flat_${destinationType}");
296
    if (defined($func)) {
297
        &$func($testType, $tests, $testDatabase, $testIndex);
298
    } else {
299
        die("No generator defined for full $destinationType tests. Aborted while processing test $tests->[$testIndex]");
300
    }
301
}
302
303
sub generateShell {
304
    my($destinationType, $testType, $shellType, $tests, $testDatabase, $testIndex) = @_;
305
    my $func = UNIVERSAL::can(__PACKAGE__, "print_shell_${shellType}");
306
    if (defined($func)) {
307
        &$func($destinationType, $testType, $tests, $testDatabase, $testIndex);
308
    } else {
309
        die("No generator defined for $shellType shells of $destinationType tests. Aborted while processing test $tests->[$testIndex]");
310
    }
311
}
312
313
314
##############################################################################
315
# Test Generators                                                            #
316
##############################################################################
317
318
sub print_mini_xhtml {
319
    my($tests, $testDatabase, $testIndex) = @_;
320
    my $name = $tests->[$testIndex];
321
    my $data = $testDatabase->{$tests->[$testIndex]};
322
    open(FILE, ">dist/xhtml/tests/$name.xml") or die "failed to open output file: $!";
323
    local $" = ', ';
324
    print FILE "<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Strict//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd\">\n" unless defined($data->{'namespaced'});
325
    print FILE '<html xmlns="http://www.w3.org/1999/xhtml">
326
 <head>
327
  <title>'.&utils::helpers::escape($data->{'def'}).'</title>
328
  <style type="text/css"><![CDATA['."$data->{cssrules}]]></style>";
329
    if ($testIndex > 0) {
330
        print FILE "\n  <link rel=\"first\" href=\"".&utils::helpers::escape($tests->[0]).'.xml" title="'.&utils::helpers::escape($testDatabase->{$tests->[0]}->{'def'}).'"/>';
331
        print FILE "\n  <link rel=\"prev\" href=\"".&utils::helpers::escape($tests->[$testIndex-1]).'.xml" title="'.&utils::helpers::escape($testDatabase->{$tests->[$testIndex-1]}->{'def'}).'"/>';
332
    }
333
    if ($testIndex < $#$tests) {
334
        print FILE "\n  <link rel=\"next\" href=\"".&utils::helpers::escape($tests->[$testIndex+1]).'.xml" title="'.&utils::helpers::escape($testDatabase->{$tests->[$testIndex+1]}->{'def'}).'"/>';
335
        print FILE "\n  <link rel=\"last\" href=\"".&utils::helpers::escape($tests->[$#$tests]).'.xml" title="'.&utils::helpers::escape($testDatabase->{$tests->[$#$tests]}->{'def'}).'"/>';
336
    }
337
    # XXX shoud list alternates (i.e. flat and each shell)
338
    print FILE "
339
  <link rel=\"up\" href=\"./index.html\"/>
340
  <link rel=\"top\" href=\"../../index.html\"/>
341
 </head>
342
 <body$data->{'namespaces'}>$data->{'code-xhtml'}</body>
343
</html>";
344
    close(FILE);
345
}
346
347
sub print_mini_html {
348
    my($tests, $testDatabase, $testIndex) = @_;
349
    my $name = $tests->[$testIndex];
350
    my $data = $testDatabase->{$tests->[$testIndex]};
351
    open(FILE, ">dist/html/tests/$name.html") or die "failed to open output file: $!";
352
    local $" = ', ';
353
    print FILE '<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
354
<html>
355
 <head>
356
  <title>'.&utils::helpers::escape($data->{'def'}).'</title>
357
  <style type="text/css">'."$data->{cssrules}</style>";
358
    if ($testIndex > 0) {
359
        print FILE "\n  <link rel=\"first\" href=\"".&utils::helpers::escape($tests->[0]).".html\" title=\"".&utils::helpers::escape($testDatabase->{$tests->[0]}->{'def'}).'">';
360
        print FILE "\n  <link rel=\"prev\" href=\"".&utils::helpers::escape($tests->[$testIndex-1]).".html\" title=\"".&utils::helpers::escape($testDatabase->{$tests->[$testIndex-1]}->{'def'}).'">';
361
    }
362
    if ($testIndex < $#$tests) {
363
        print FILE "\n  <link rel=\"next\" href=\"".&utils::helpers::escape($tests->[$testIndex+1]).".html\" title=\"".&utils::helpers::escape($testDatabase->{$tests->[$testIndex+1]}->{'def'}).'">';
364
        print FILE "\n  <link rel=\"last\" href=\"".&utils::helpers::escape($tests->[$#$tests]).".html\" title=\"".&utils::helpers::escape($testDatabase->{$tests->[$#$tests]}->{'def'}).'">';
365
    }
366
    # XXX shoud list alternates (i.e. flat and each shell)
367
    print FILE "
368
  <link rel=\"up\" href=\"./index.html\">
369
  <link rel=\"top\" href=\"../../index.html\">
370
 </head>
371
 <body>$data->{'code-html'}</body>
372
</html>";
373
    close(FILE);
374
}
375
376
sub print_mini_xml {
377
    my($tests, $testDatabase, $testIndex) = @_;
378
    my $name = $tests->[$testIndex];
379
    my $data = $testDatabase->{$tests->[$testIndex]};
380
    open(FILE, ">dist/xml/tests/$name.xml") or die "failed to open output file: $!";
381
    local $" = ', ';
382
    print FILE '<?xml-stylesheet href="'.&utils::helpers::escape($name).".css\" type=\"text/css\"?>
383
<test$data->{'namespaces'}>$data->{'code-xml'}</test>";
384
    close(FILE);
385
    open(FILE, ">dist/xml/tests/$name.css") or die "failed to open output file: $!";
386
    print FILE $data->{cssrules};
387
    close(FILE);
388
}
389
390
391
sub print_flat_xhtml {
392
    my($testType, $tests, $testDatabase, $testIndex) = @_;
393
    my $name = $tests->[$testIndex];
394
    my $data = $testDatabase->{$tests->[$testIndex]};
395
    open(FILE, ">dist/xhtml/$testType/flat/$name.xml") or die "failed to open output file: $!";
396
    local $" = ', ';
397
    print FILE "<?xml-stylesheet href=\"../../../style/xhtml-full.css\" type=\"text/css\"?>\n";
398
    print FILE "<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Strict//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd\">\n" unless defined($data->{'namespaced'});
399
    print FILE '<html xmlns="http://www.w3.org/1999/xhtml">
400
 <head>
401
  <title>'.&utils::helpers::escape($data->{'def'}).'</title>
402
  <meta name="author" content="'.&utils::helpers::escape("@{$data->{'author'}}").'"/>
403
  <link rel="stylesheet" type="text/css" href="../../../style/xhtml-full.css"/> <!-- yes this means compliant UAs get to import this twice -->
404
  <style type="text/css"><![CDATA['."$data->{cssrules}]]></style>";
405
    if ($testIndex > 0) {
406
        print FILE "\n  <link rel=\"first\" href=\"".&utils::helpers::escape($tests->[0]).'.xml" title="'.&utils::helpers::escape($testDatabase->{$tests->[0]}->{'def'}).'"/>';
407
        print FILE "\n  <link rel=\"prev\" href=\"".&utils::helpers::escape($tests->[$testIndex-1]).'.xml" title="'.&utils::helpers::escape($testDatabase->{$tests->[$testIndex-1]}->{'def'}).'"/>';
408
    }
409
    if ($testIndex < $#$tests) {
410
        print FILE "\n  <link rel=\"next\" href=\"".&utils::helpers::escape($tests->[$testIndex+1]).'.xml" title="'.&utils::helpers::escape($testDatabase->{$tests->[$testIndex+1]}->{'def'}).'"/>';
411
        print FILE "\n  <link rel=\"last\" href=\"".&utils::helpers::escape($tests->[$#$tests]).'.xml" title="'.&utils::helpers::escape($testDatabase->{$tests->[$#$tests]}->{'def'}).'"/>';
412
    }
413
    # XXX shoud list alternates (i.e. mini and each shell)
414
    print FILE '
415
  <link rel="up" href="./index.html"/>
416
  <link rel="top" href="../../../index.html"/>
417
 </head>
418
 <body>
419
  <table class="testDescription">
420
   <tr>
421
    <th class="b">CSS 3 Module</th> <!-- XXX hard coded to say CSS 3 -->
422
    <th class="c" colspan="2">';
423
    if ($testIndex > 0) {
424
        print FILE "\n     <a href=\"".&utils::helpers::escape($tests->[$testIndex-1]).'.xml" title="'.&utils::helpers::escape($testDatabase->{$tests->[$testIndex-1]}->{'def'})."\">&lt;==</a>";
425
    } else {
426
        print FILE "\n     &lt;==";
427
    }
428
    print FILE "\n     Test #";
429
    if ($testIndex < $#$tests) {
430
        print FILE "\n     <a href=\"".&utils::helpers::escape($tests->[$testIndex+1]).'.xml" title="'.&utils::helpers::escape($testDatabase->{$tests->[$testIndex+1]}->{'def'})."\">==&gt;</a>";
431
    } else {
432
        print FILE "\n     ==&gt;";
433
    }
434
    print FILE '
435
    </th>
436
   </tr>
437
   <tr>
438
    <td class="b">'.&utils::helpers::escape($data->{'module'}).'</td>
439
    <td class="c" colspan="2">'.($testIndex+1).' of '.(scalar(@$tests));
440
    if ($utils::helpers::TestTypeTitles{$testType} ne '') {
441
        print FILE ' of the '.&utils::helpers::escape($utils::helpers::TestTypeTitles{$testType});
442
    }
443
    print FILE '</td>
444
   </tr>
445
   <tr>
446
    <th class="b">Testing</th>
447
    <th class="a">Date</th>
448
    <th class="a">Revision</th>
449
   </tr>
450
   <tr>
451
    <td class="b">'.&utils::helpers::escape($data->{'def'}).' (ID #'.&utils::helpers::escape($data->{'number'}).')</td>
452
    <td class="a">'.&utils::helpers::escape($data->{'date'}).'</td>
453
    <td class="a">'.&utils::helpers::escape($data->{'rev'}).'</td>
454
   </tr>
455
  </table>';
456
    if (defined($data->{'interactive'})) {
457
        print FILE "\n  <p class=\"WARNING\">NOTE: User interaction is required for this test.</p>";
458
    }
459
    if (defined($data->{'historyneeded'})) {
460
        print FILE "\n  <p class=\"WARNING\">NOTE: The UA must support the concept of a session history for this test.</p>";
461
    }
462
    if (defined($data->{'dynamic'})) {
463
        print FILE "\n  <p class=\"WARNING\">NOTE: The UA must support ECMA-262 and DOM Level 2 Core for this test.</p>";
464
    }
465
    if (defined($data->{'namespaced'})) {
466
        print FILE "\n  <p class=\"WARNING\">NOTE: The UA must support namespaces for this test.</p>";
467
    }
468
    print FILE "
469
  <div class=\"testSource\">
470
   <div class=\"testText\"$data->{'namespaces'}>$data->{'code-xhtml'}</div>
471
   <pre class=\"rules\">$data->{'escapedcode-css'}</pre>
472
   <pre class=\"rules\">$data->{'escapedcode-xhtml'}</pre>
473
  </div>
474
 </body>
475
</html>";
476
    close(FILE);
477
}
478
479
sub print_flat_html {
480
    my($testType, $tests, $testDatabase, $testIndex) = @_;
481
    my $name = $tests->[$testIndex];
482
    my $data = $testDatabase->{$tests->[$testIndex]};
483
    open(FILE, ">dist/html/$testType/flat/$name.html") or die "failed to open output file: $!";
484
    local $" = ', ';
485
    print FILE '<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
486
<html>
487
 <head>
488
  <title>'.&utils::helpers::escape($data->{'def'}).'</title>
489
  <meta name="author" content="'.&utils::helpers::escape("@{$data->{'author'}}").'">
490
  <link rel="stylesheet" type="text/css" href="../../../style/html-full.css">
491
  <style type="text/css">'."$data->{cssrules}</style>";
492
    if ($testIndex > 0) {
493
        print FILE "\n  <link rel=\"first\" href=\"".&utils::helpers::escape($tests->[0]).".html\" title=\"".&utils::helpers::escape($testDatabase->{$tests->[0]}->{'def'}).'">';
494
        print FILE "\n  <link rel=\"prev\" href=\"".&utils::helpers::escape($tests->[$testIndex-1]).".html\" title=\"".&utils::helpers::escape($testDatabase->{$tests->[$testIndex-1]}->{'def'}).'">';
495
    }
496
    if ($testIndex < $#$tests) {
497
        print FILE "\n  <link rel=\"next\" href=\"".&utils::helpers::escape($tests->[$testIndex+1]).".html\" title=\"".&utils::helpers::escape($testDatabase->{$tests->[$testIndex+1]}->{'def'}).'">';
498
        print FILE "\n  <link rel=\"last\" href=\"".&utils::helpers::escape($tests->[$#$tests]).".html\" title=\"".&utils::helpers::escape($testDatabase->{$tests->[$#$tests]}->{'def'}).'">';
499
    }
500
    # XXX shoud list alternates (i.e. mini and each shell)
501
    print FILE '
502
  <link rel="up" href="./index.html">
503
  <link rel="top" href="../../../index.html">
504
 </head>
505
 <body>
506
  <table class="testDescription">
507
   <tr>
508
    <th class="b">CSS 3 Module</th> <!-- XXX hard coded to say CSS 3 -->
509
    <th class="c" colspan="2">';
510
    if ($testIndex > 0) {
511
        print FILE "\n     <a href=\"".&utils::helpers::escape($tests->[$testIndex-1]).".html\" title=\"".&utils::helpers::escape($testDatabase->{$tests->[$testIndex-1]}->{'def'})."\">&lt;==</a>";
512
    } else {
513
        print FILE "\n     &lt;==";
514
    }
515
    print FILE "\n     Test #";
516
    if ($testIndex < $#$tests) {
517
        print FILE "\n     <a href=\"".&utils::helpers::escape($tests->[$testIndex+1]).".html\" title=\"".&utils::helpers::escape($testDatabase->{$tests->[$testIndex+1]}->{'def'})."\">==&gt;</a>";
518
    } else {
519
        print FILE "\n     ==&gt;";
520
    }
521
    print FILE '
522
    </th>
523
   </tr>
524
   <tr>
525
    <td class="b">'.&utils::helpers::escape($data->{'module'}).'</td>
526
    <td class="c" colspan="2">'.($testIndex+1).' of '.(scalar(@$tests));
527
    if ($utils::helpers::TestTypeTitles{$testType} ne '') {
528
        print FILE ' of the '.&utils::helpers::escape($utils::helpers::TestTypeTitles{$testType});
529
    }
530
    print FILE '</td>
531
   </tr>
532
   <tr>
533
    <th class="b">Testing</th>
534
    <th class="a">Date</th>
535
    <th class="a">Revision</th>
536
   </tr>
537
   <tr>
538
    <td class="b">'.&utils::helpers::escape($data->{'def'}).' (ID #'.&utils::helpers::escape($data->{'number'}).')</td>
539
    <td class="a">'.&utils::helpers::escape($data->{'date'}).'</td>
540
    <td class="a">'.&utils::helpers::escape($data->{'rev'}).'</td>
541
   </tr>
542
  </table>';
543
    if (defined($data->{'interactive'})) {
544
        print FILE "\n  <p class=\"WARNING\">NOTE: User interaction is required for this test.</p>";
545
    }
546
    if (defined($data->{'historyneeded'})) {
547
        print FILE "\n  <p class=\"WARNING\">NOTE: The UA must support the concept of a session history for this test.</p>";
548
    }
549
    if (defined($data->{'dynamic'})) {
550
        print FILE "\n  <p class=\"WARNING\">NOTE: The UA must support ECMA-262 and DOM Level 2 Core for this test.</p>";
551
    }
552
    if (defined($data->{'only-xml'})) {
553
        die("Inconsistency error: XML-specific test $name passed to HTML test generator");
554
    }
555
    print FILE "
556
  <div class=\"testSource\">
557
   <div class=\"testText\">$data->{'code-html'}</div>
558
   <pre class=\"rules\">$data->{'escapedcode-css'}</pre>
559
   <pre class=\"rules\">$data->{'escapedcode-html'}</pre>
560
  </div>
561
 </body>
562
</html>";
563
    close(FILE);
564
}
565
566
sub print_flat_xml {
567
    my($testType, $tests, $testDatabase, $testIndex) = @_;
568
    my $name = $tests->[$testIndex];
569
    my $data = $testDatabase->{$tests->[$testIndex]};
570
    open(FILE, ">dist/xml/$testType/flat/$name.xml") or die "failed to open output file: $!";
571
    local $" = ', ';
572
    print FILE '<?xml-stylesheet href="../../../style/xml-full.css" type="text/css"?>
573
<?xml-stylesheet href="'.&utils::helpers::escape($name).'.css" type="text/css"?>
574
<test xmlns:xlink="http://www.w3.org/1999/xlink">
575
 <title>'.&utils::helpers::escape($data->{'def'}).'</title>';
576
    foreach my $author (@{$data->{'author'}}) {
577
        print FILE "\n <author>".&utils::helpers::escape($author).'</author>';
578
    }
579
    print FILE '
580
 <metadata>
581
  <item> <name>CSS 3 Module</name> <data>'.&utils::helpers::escape($data->{'module'}).'</data> </item>'; # XXX HARD CODED
582
    if ($testIndex < $#$tests) {
583
        print FILE "\n  <item> <name>Next</name> <data xlink:type=\"simple\" xlink:href=\"".&utils::helpers::escape($tests->[$testIndex+1]).'.xml">'.($testDatabase->{$tests->[$testIndex+1]}->{'def'}).'</data> </item>';
584
    }
585
    if ($testIndex > 0) {
586
        print FILE "\n  <item> <name>Previous</name> <data xlink:type=\"simple\" xlink:href=\"".&utils::helpers::escape($tests->[$testIndex-1]).'.xml">'.($testDatabase->{$tests->[$testIndex-1]}->{'def'}).'</data> </item>';
587
    }
588
    print FILE '
589
  <item> <name>Test #</name> <data>'.($testIndex+1).' of '.(scalar(@$tests));
590
    if ($utils::helpers::TestTypeTitles{$testType} ne '') {
591
        print FILE ' of the '.&utils::helpers::escape($utils::helpers::TestTypeTitles{$testType});
592
    }
593
    print FILE '</data> </item>
594
  <item> <name>Testing</name> <data>'.&utils::helpers::escape($data->{'def'}).'</data> </item>
595
  <item> <name>ID</name> <data>'.&utils::helpers::escape($data->{'number'}).'</data> </item>
596
  <item> <name>Date</name> <data>'.&utils::helpers::escape($data->{'date'}).'</data> </item>
597
  <item> <name>Revision</name> <data>'.&utils::helpers::escape($data->{'rev'}).'</data> </item>
598
 </metadata>';
599
    if (defined($data->{'interactive'})) {
600
        print FILE "\n   <requirement>User interaction is required for this test.</requirement>";
601
    }
602
    if (defined($data->{'historyneeded'})) {
603
        print FILE "\n   <requirement>The UA must support the concept of a session history for this test.</requirement>";
604
    }
605
    if (defined($data->{'dynamic'})) {
606
        print FILE "\n   <requirement>The UA must support ECMA-262 and DOM Level 2 Core for this test.</requirement>";
607
    }
608
    if (defined($data->{'namespaced'})) {
609
        print FILE "\n   <requirement>The UA must support namespaces for this test.</requirement>";
610
    }
611
    print FILE "
612
  <content$data->{'namespaces'}>$data->{'code-xml'}</content>
613
  <source>
614
   <css>$data->{'escapedcode-css'}</css>
615
   <xml>$data->{'escapedcode-xml'}</xml>
616
  </source>
617
</test>";
618
    close(FILE);
619
    # XXX we generate one of these for each test file --
620
    # XXX we could put them up one directory, or just use the stylesheets from the mini tests
621
    open(FILE, ">dist/xml/$testType/flat/$name.css") or die "failed to open output file: $!";
622
    print FILE $data->{cssrules};
623
    close(FILE);
624
}
625
626
627
sub print_shell_xhtml_iframe {
628
    my($destinationType, $testType, $tests, $testDatabase, $testIndex) = @_;
629
    my $name = $tests->[$testIndex];
630
    my $data = $testDatabase->{$tests->[$testIndex]};
631
    open(FILE, ">dist/$destinationType/$testType/xhtml_iframe/$name.xml") or die "failed to open output file: $!";
632
    local $" = ', ';
633
    print FILE '<?xml-stylesheet href="../../../style/xhtml-shell.css" type="text/css"?>
634
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Frameset//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd">
635
<html xmlns="http://www.w3.org/1999/xhtml">
636
 <head>
637
  <title>'.&utils::helpers::escape($data->{'def'}).'</title>
638
  <meta name="author" content="'.&utils::helpers::escape("@{$data->{'author'}}").'"/>
639
  <link rel="stylesheet" type="text/css" href="../../../style/xhtml-shell.css"/> <!-- yes this means compliant UAs get to import this twice -->';
640
    if ($testIndex > 0) {
641
        print FILE "\n  <link rel=\"first\" href=\"".&utils::helpers::escape($tests->[0]).'.xml" title="'.&utils::helpers::escape($testDatabase->{$tests->[0]}->{'def'}).'"/>';
642
        print FILE "\n  <link rel=\"prev\" href=\"".&utils::helpers::escape($tests->[$testIndex-1]).'.xml" title="'.&utils::helpers::escape($testDatabase->{$tests->[$testIndex-1]}->{'def'}).'"/>';
643
    }
644
    if ($testIndex < $#$tests) {
645
        print FILE "\n  <link rel=\"next\" href=\"".&utils::helpers::escape($tests->[$testIndex+1]).'.xml" title="'.&utils::helpers::escape($testDatabase->{$tests->[$testIndex+1]}->{'def'}).'"/>';
646
        print FILE "\n  <link rel=\"last\" href=\"".&utils::helpers::escape($tests->[$#$tests]).'.xml" title="'.&utils::helpers::escape($testDatabase->{$tests->[$#$tests]}->{'def'}).'"/>';
647
    }
648
    # XXX shoud list alternates (i.e. mini, flat and the other shells)
649
    print FILE '
650
  <link rel="up" href="./index.html"/>
651
  <link rel="top" href="../../../index.html"/>
652
 </head>
653
 <body>
654
  <table class="testDescription">
655
   <tr>
656
    <th class="b">CSS 3 Module</th> <!-- XXX hard coded to say CSS 3 -->
657
    <th class="c" colspan="2">';
658
    if ($testIndex > 0) {
659
        print FILE "\n     <a href=\"".&utils::helpers::escape($tests->[$testIndex-1]).'.xml" title="'.&utils::helpers::escape($testDatabase->{$tests->[$testIndex-1]}->{'def'})."\">&lt;==</a>";
660
    } else {
661
        print FILE "\n     &lt;==";
662
    }
663
    print FILE "\n     Test #";
664
    if ($testIndex < $#$tests) {
665
        print FILE "\n     <a href=\"".&utils::helpers::escape($tests->[$testIndex+1]).'.xml" title="'.&utils::helpers::escape($testDatabase->{$tests->[$testIndex+1]}->{'def'})."\">==&gt;</a>";
666
    } else {
667
        print FILE "\n     ==&gt;";
668
    }
669
    print FILE '
670
    </th>
671
   </tr>
672
   <tr>
673
    <td class="b">'.&utils::helpers::escape($data->{'module'}).'</td>
674
    <td class="c" colspan="2">'.($testIndex+1).' of '.(scalar(@$tests));
675
    if ($utils::helpers::TestTypeTitles{$testType} ne '') {
676
        print FILE ' of the '.&utils::helpers::escape($utils::helpers::TestTypeTitles{$testType});
677
    }
678
    print FILE '</td>
679
   </tr>
680
   <tr>
681
    <th class="b">Testing</th>
682
    <th class="a">Date</th>
683
    <th class="a">Revision</th>
684
   </tr>
685
   <tr>
686
    <td class="b">'.&utils::helpers::escape($data->{'def'}).' (ID #'.&utils::helpers::escape($data->{'number'}).')</td>
687
    <td class="a">'.&utils::helpers::escape($data->{'date'}).'</td>
688
    <td class="a">'.&utils::helpers::escape($data->{'rev'}).'</td>
689
   </tr>
690
  </table>';
691
    if (defined($data->{'interactive'})) {
692
        print FILE "\n  <p class=\"WARNING\">NOTE: User interaction is required for this test.</p>";
693
    }
694
    if (defined($data->{'historyneeded'})) {
695
        print FILE "\n  <p class=\"WARNING\">NOTE: The UA must support the concept of a session history for this test.</p>";
696
    }
697
    if (defined($data->{'dynamic'})) {
698
        print FILE "\n  <p class=\"WARNING\">NOTE: The UA must support ECMA-262 and DOM Level 2 Core for this test.</p>";
699
    }
700
    if (defined($data->{'namespaced'})) {
701
        print FILE "\n  <p class=\"WARNING\">NOTE: The UA must support namespaces for this test.</p>";
702
    }
703
    my $extension = &extensions($destinationType); # having the extension in the filename is so wrong...
704
    print FILE "
705
  <iframe src=\"../../tests/$name.$extension\"/>
706
 </body>
707
</html>";
708
    close(FILE);
709
}
710
711
sub print_shell_xhtml_object {
712
    my($destinationType, $testType, $tests, $testDatabase, $testIndex) = @_;
713
    my $name = $tests->[$testIndex];
714
    my $data = $testDatabase->{$tests->[$testIndex]};
715
    open(FILE, ">dist/$destinationType/$testType/xhtml_object/$name.xml") or die "failed to open output file: $!";
716
    local $" = ', ';
717
    print FILE '<?xml-stylesheet href="../../../style/xhtml-shell.css" type="text/css"?>
718
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
719
<html xmlns="http://www.w3.org/1999/xhtml">
720
 <head>
721
  <title>'.&utils::helpers::escape($data->{'def'}).'</title>
722
  <meta name="author" content="'.&utils::helpers::escape("@{$data->{'author'}}").'"/>
723
  <link rel="stylesheet" type="text/css" href="../../../style/xhtml-shell.css"/> <!-- yes this means compliant UAs get to import this twice -->';
724
    if ($testIndex > 0) {
725
        print FILE "\n  <link rel=\"first\" href=\"".&utils::helpers::escape($tests->[0]).'.xml" title="'.&utils::helpers::escape($testDatabase->{$tests->[0]}->{'def'}).'"/>';
726
        print FILE "\n  <link rel=\"prev\" href=\"".&utils::helpers::escape($tests->[$testIndex-1]).'.xml" title="'.&utils::helpers::escape($testDatabase->{$tests->[$testIndex-1]}->{'def'}).'"/>';
727
    }
728
    if ($testIndex < $#$tests) {
729
        print FILE "\n  <link rel=\"next\" href=\"".&utils::helpers::escape($tests->[$testIndex+1]).'.xml" title="'.&utils::helpers::escape($testDatabase->{$tests->[$testIndex+1]}->{'def'}).'"/>';
730
        print FILE "\n  <link rel=\"last\" href=\"".&utils::helpers::escape($tests->[$#$tests]).'.xml" title="'.&utils::helpers::escape($testDatabase->{$tests->[$#$tests]}->{'def'}).'"/>';
731
    }
732
    # XXX shoud list alternates (i.e. mini, flat and the other shells)
733
    print FILE '
734
  <link rel="up" href="./index.html"/>
735
  <link rel="top" href="../../../index.html"/>
736
 </head>
737
 <body>
738
  <table class="testDescription">
739
   <tr>
740
    <th class="b">CSS 3 Module</th> <!-- XXX hard coded to say CSS 3 -->
741
    <th class="c" colspan="2">';
742
    if ($testIndex > 0) {
743
        print FILE "\n     <a href=\"".&utils::helpers::escape($tests->[$testIndex-1]).'.xml" title="'.&utils::helpers::escape($testDatabase->{$tests->[$testIndex-1]}->{'def'})."\">&lt;==</a>";
744
    } else {
745
        print FILE "\n     &lt;==";
746
    }
747
    print FILE "\n     Test #";
748
    if ($testIndex < $#$tests) {
749
        print FILE "\n     <a href=\"".&utils::helpers::escape($tests->[$testIndex+1]).'.xml" title="'.&utils::helpers::escape($testDatabase->{$tests->[$testIndex+1]}->{'def'})."\">==&gt;</a>";
750
    } else {
751
        print FILE "\n     ==&gt;";
752
    }
753
    print FILE '
754
    </th>
755
   </tr>
756
   <tr>
757
    <td class="b">'.&utils::helpers::escape($data->{'module'}).'</td>
758
    <td class="c" colspan="2">'.($testIndex+1).' of '.(scalar(@$tests));
759
    if ($utils::helpers::TestTypeTitles{$testType} ne '') {
760
        print FILE ' of the '.&utils::helpers::escape($utils::helpers::TestTypeTitles{$testType});
761
    }
762
    print FILE '</td>
763
   </tr>
764
   <tr>
765
    <th class="b">Testing</th>
766
    <th class="a">Date</th>
767
    <th class="a">Revision</th>
768
   </tr>
769
   <tr>
770
    <td class="b">'.&utils::helpers::escape($data->{'def'}).' (ID #'.&utils::helpers::escape($data->{'number'}).')</td>
771
    <td class="a">'.&utils::helpers::escape($data->{'date'}).'</td>
772
    <td class="a">'.&utils::helpers::escape($data->{'rev'}).'</td>
773
   </tr>
774
  </table>';
775
    if (defined($data->{'interactive'})) {
776
        print FILE "\n  <p class=\"WARNING\">NOTE: User interaction is required for this test.</p>";
777
    }
778
    if (defined($data->{'historyneeded'})) {
779
        print FILE "\n  <p class=\"WARNING\">NOTE: The UA must support the concept of a session history for this test.</p>";
780
    }
781
    if (defined($data->{'dynamic'})) {
782
        print FILE "\n  <p class=\"WARNING\">NOTE: The UA must support ECMA-262 and DOM Level 2 Core for this test.</p>";
783
    }
784
    if (defined($data->{'namespaced'})) {
785
        print FILE "\n  <p class=\"WARNING\">NOTE: The UA must support namespaces for this test.</p>";
786
    }
787
    my $extension = &extensions($destinationType); # having the extension in the filename is so wrong...
788
    print FILE "
789
  <object data=\"../../tests/$name.$extension\"/>
790
 </body>
791
</html>";
792
    close(FILE);
793
}
794
795
sub print_shell_xhtml_frames {
796
    my($destinationType, $testType, $tests, $testDatabase, $testIndex) = @_;
797
    my $name = $tests->[$testIndex];
798
    my $data = $testDatabase->{$tests->[$testIndex]};
799
    my $extension = &extensions($destinationType); # having the extension in the filename is so wrong...
800
    my $topframe = &utils::helpers::escape("$name-top.xml");
801
    my $bottomframe = &utils::helpers::escape("../../tests/$name.$extension");
802
    open(FILE, ">dist/$destinationType/$testType/xhtml_frames/$name-top.xml") or die "failed to open output file: $!";
803
    local $" = ', ';
804
    print FILE '<?xml-stylesheet href="../../../style/xhtml-shell.css" type="text/css"?>
805
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Frameset//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd">
806
<html xmlns="http://www.w3.org/1999/xhtml">
807
 <head>
808
  <title>'.&utils::helpers::escape($data->{'def'}).'</title>
809
  <meta name="author" content="'.&utils::helpers::escape("@{$data->{'author'}}").'"/>
810
  <link rel="stylesheet" type="text/css" href="../../../style/xhtml-shell.css" target="_top"/> <!-- yes this means compliant UAs get to import this twice -->';
811
    if ($testIndex > 0) {
812
        print FILE "\n  <link rel=\"first\" href=\"".&utils::helpers::escape($tests->[0]).'.xml" title="'.&utils::helpers::escape($testDatabase->{$tests->[0]}->{'def'}).'" target="_top"/>';
813
        print FILE "\n  <link rel=\"prev\" href=\"".&utils::helpers::escape($tests->[$testIndex-1]).'.xml" title="'.&utils::helpers::escape($testDatabase->{$tests->[$testIndex-1]}->{'def'})."\" target=\"_top\"/>";
814
    }
815
    if ($testIndex < $#$tests) {
816
        print FILE "\n  <link rel=\"next\" href=\"".&utils::helpers::escape($tests->[$testIndex+1]).'.xml" title="'.&utils::helpers::escape($testDatabase->{$tests->[$testIndex+1]}->{'def'})."\" target=\"_top\"/>";
817
        print FILE "\n  <link rel=\"last\" href=\"".&utils::helpers::escape($tests->[$#$tests]).'.xml" title="'.&utils::helpers::escape($testDatabase->{$tests->[$#$tests]}->{'def'}).'" target="_top"/>';
818
    }
819
    # XXX shoud list alternates (i.e. mini, flat and the other shells)
820
    print FILE '
821
  <link rel="up" href="./index.html" target="_top"/>
822
  <link rel="top" href="../../../index.html" target="_top"/>
823
 </head>
824
 <body>
825
  <table class="testDescription">
826
   <tr>
827
    <th class="b">CSS 3 Module</th> <!-- XXX hard coded to say CSS 3 -->
828
    <th class="c" colspan="2">';
829
    if ($testIndex > 0) {
830
        print FILE "\n     <a href=\"".&utils::helpers::escape($tests->[$testIndex-1]).'.xml" title="'.&utils::helpers::escape($testDatabase->{$tests->[$testIndex-1]}->{'def'})."\" target=\"_top\">&lt;==</a>";
831
    } else {
832
        print FILE "\n     &lt;==";
833
    }
834
    print FILE "\n     Test #";
835
    if ($testIndex < $#$tests) {
836
        print FILE "\n     <a href=\"".&utils::helpers::escape($tests->[$testIndex+1]).'.xml" title="'.&utils::helpers::escape($testDatabase->{$tests->[$testIndex+1]}->{'def'})."\" target=\"_top\">==&gt;</a>";
837
    } else {
838
        print FILE "\n     ==&gt;";
839
    }
840
    print FILE '
841
    </th>
842
   </tr>
843
   <tr>
844
    <td class="b">'.&utils::helpers::escape($data->{'module'}).'</td>
845
    <td class="c" colspan="2">'.($testIndex+1).' of '.(scalar(@$tests));
846
    if ($utils::helpers::TestTypeTitles{$testType} ne '') {
847
        print FILE ' of the '.&utils::helpers::escape($utils::helpers::TestTypeTitles{$testType});
848
    }
849
    print FILE '</td>
850
   </tr>
851
   <tr>
852
    <th class="b">Testing</th>
853
    <th class="a">Date</th>
854
    <th class="a">Revision</th>
855
   </tr>
856
   <tr>
857
    <td class="b">'.&utils::helpers::escape($data->{'def'}).' (ID #'.&utils::helpers::escape($data->{'number'}).')</td>
858
    <td class="a">'.&utils::helpers::escape($data->{'date'}).'</td>
859
    <td class="a">'.&utils::helpers::escape($data->{'rev'}).'</td>
860
   </tr>
861
  </table>';
862
    if (defined($data->{'interactive'})) {
863
        print FILE "\n  <p class=\"WARNING\">NOTE: User interaction is required for this test.</p>";
864
    }
865
    if (defined($data->{'historyneeded'})) {
866
        print FILE "\n  <p class=\"WARNING\">NOTE: The UA must support the concept of a session history for this test.</p>";
867
    }
868
    if (defined($data->{'dynamic'})) {
869
        print FILE "\n  <p class=\"WARNING\">NOTE: The UA must support ECMA-262 and DOM Level 2 Core for this test.</p>";
870
    }
871
    if (defined($data->{'namespaced'})) {
872
        print FILE "\n  <p class=\"WARNING\">NOTE: The UA must support namespaces for this test.</p>";
873
    }
874
    print FILE "
875
 </body>
876
</html>";
877
    close(FILE);
878
    open(FILE, ">dist/$destinationType/$testType/xhtml_frames/$name.xml") or die "failed to open output file: $!";
879
    print FILE '<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Frameset//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd">
880
<html xmlns="http://www.w3.org/1999/xhtml">
881
 <head>
882
  <title>'.&utils::helpers::escape($data->{'def'}).'</title>
883
  <meta name="author" content="'.&utils::helpers::escape("@{$data->{'author'}}").'"/>';
884
    if ($testIndex > 0) {
885
        print FILE "\n  <link rel=\"first\" href=\"".&utils::helpers::escape($tests->[0]).'.xml" title="'.&utils::helpers::escape($testDatabase->{$tests->[0]}->{'def'}).'" target="_top"/>';
886
        print FILE "\n  <link rel=\"prev\" href=\"".&utils::helpers::escape($tests->[$testIndex-1]).'.xml" title="'.&utils::helpers::escape($testDatabase->{$tests->[$testIndex-1]}->{'def'})."\" target=\"_top\"/>";
887
    }
888
    if ($testIndex < $#$tests) {
889
        print FILE "\n  <link rel=\"next\" href=\"".&utils::helpers::escape($tests->[$testIndex+1]).'.xml" title="'.&utils::helpers::escape($testDatabase->{$tests->[$testIndex+1]}->{'def'})."\" target=\"_top\"/>";
890
        print FILE "\n  <link rel=\"last\" href=\"".&utils::helpers::escape($tests->[$#$tests]).'.xml" title="'.&utils::helpers::escape($testDatabase->{$tests->[$#$tests]}->{'def'}).'" target="_top"/>';
891
    }
892
    print FILE "
893
  <link rel=\"up\" href=\"./index.html\" target=\"_top\"/>
894
  <link rel=\"top\" href=\"../../../index.html\" target=\"_top\"/>
895
 </head>
896
 <frameset rows=\"35%,*\" cols=\"*\">
897
  <frame src=\"$topframe\"/>
898
  <frame src=\"$bottomframe\"/>
899
 </frameset>
900
</html>";
901
    close(FILE);
902
}
903
904
sub print_shell_html_iframe {
905
    my($destinationType, $testType, $tests, $testDatabase, $testIndex) = @_;
906
    my $name = $tests->[$testIndex];
907
    my $data = $testDatabase->{$tests->[$testIndex]};
908
    open(FILE, ">dist/$destinationType/$testType/html_iframe/$name.html") or die "failed to open output file: $!";
909
    local $" = ', ';
910
    print FILE '<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN">
911
<html>
912
 <head>
913
  <title>'.&utils::helpers::escape($data->{'def'}).'</title>
914
  <meta name="author" content="'.&utils::helpers::escape("@{$data->{'author'}}").'">
915
  <link rel="stylesheet" type="text/css" href="../../../style/html-shell.css"> <!-- yes this means compliant UAs get to import this twice -->';
916
    if ($testIndex > 0) {
917
        print FILE "\n  <link rel=\"first\" href=\"".&utils::helpers::escape($tests->[0]).".html\" title=\"".&utils::helpers::escape($testDatabase->{$tests->[0]}->{'def'}).'">';
918
        print FILE "\n  <link rel=\"prev\" href=\"".&utils::helpers::escape($tests->[$testIndex-1]).".html\" title=\"".&utils::helpers::escape($testDatabase->{$tests->[$testIndex-1]}->{'def'}).'">';
919
    }
920
    if ($testIndex < $#$tests) {
921
        print FILE "\n  <link rel=\"next\" href=\"".&utils::helpers::escape($tests->[$testIndex+1]).".html\" title=\"".&utils::helpers::escape($testDatabase->{$tests->[$testIndex+1]}->{'def'}).'">';
922
        print FILE "\n  <link rel=\"last\" href=\"".&utils::helpers::escape($tests->[$#$tests]).".html\" title=\"".&utils::helpers::escape($testDatabase->{$tests->[$#$tests]}->{'def'}).'">';
923
    }
924
    # XXX shoud list alternates (i.e. mini, flat and the other shells)
925
    print FILE '
926
  <link rel="up" href="./index.html">
927
  <link rel="top" href="../../../index.html">
928
 </head>
929
 <body>
930
  <table class="testDescription">
931
   <tr>
932
    <th class="b">CSS 3 Module</th> <!-- XXX hard coded to say CSS 3 -->
933
    <th class="c" colspan="2">';
934
    if ($testIndex > 0) {
935
        print FILE "\n     <a href=\"".&utils::helpers::escape($tests->[$testIndex-1]).".html\" title=\"".&utils::helpers::escape($testDatabase->{$tests->[$testIndex-1]}->{'def'})."\">&lt;==</a>";
936
    } else {
937
        print FILE "\n     &lt;==";
938
    }
939
    print FILE "\n     Test #";
940
    if ($testIndex < $#$tests) {
941
        print FILE "\n     <a href=\"".&utils::helpers::escape($tests->[$testIndex+1]).".html\" title=\"".&utils::helpers::escape($testDatabase->{$tests->[$testIndex+1]}->{'def'})."\">==&gt;</a>";
942
    } else {
943
        print FILE "\n     ==&gt;";
944
    }
945
    print FILE '
946
    </th>
947
   </tr>
948
   <tr>
949
    <td class="b">'.&utils::helpers::escape($data->{'module'}).'</td>
950
    <td class="c" colspan="2">'.($testIndex+1).' of '.(scalar(@$tests));
951
    if ($utils::helpers::TestTypeTitles{$testType} ne '') {
952
        print FILE ' of the '.&utils::helpers::escape($utils::helpers::TestTypeTitles{$testType});
953
    }
954
    print FILE '</td>
955
   </tr>
956
   <tr>
957
    <th class="b">Testing</th>
958
    <th class="a">Date</th>
959
    <th class="a">Revision</th>
960
   </tr>
961
   <tr>
962
    <td class="b">'.&utils::helpers::escape($data->{'def'}).' (ID #'.&utils::helpers::escape($data->{'number'}).')</td>
963
    <td class="a">'.&utils::helpers::escape($data->{'date'}).'</td>
964
    <td class="a">'.&utils::helpers::escape($data->{'rev'}).'</td>
965
   </tr>
966
  </table>';
967
    if (defined($data->{'interactive'})) {
968
        print FILE "\n  <p class=\"WARNING\">NOTE: User interaction is required for this test.</p>";
969
    }
970
    if (defined($data->{'historyneeded'})) {
971
        print FILE "\n  <p class=\"WARNING\">NOTE: The UA must support the concept of a session history for this test.</p>";
972
    }
973
    if (defined($data->{'dynamic'})) {
974
        print FILE "\n  <p class=\"WARNING\">NOTE: The UA must support ECMA-262 and DOM Level 2 Core for this test.</p>";
975
    }
976
    if (defined($data->{'namespaced'})) {
977
        print FILE "\n  <p class=\"WARNING\">NOTE: The UA must support namespaces for this test.</p>";
978
    }
979
    my $extension = &extensions($destinationType); # having the extension in the filename is so wrong...
980
    print FILE "
981
  <iframe src=\"../../tests/$name.$extension\">
982
 </body>
983
</html>";
984
    close(FILE);
985
}
986
987
sub print_shell_html_object {
988
    my($destinationType, $testType, $tests, $testDatabase, $testIndex) = @_;
989
    my $name = $tests->[$testIndex];
990
    my $data = $testDatabase->{$tests->[$testIndex]};
991
    open(FILE, ">dist/$destinationType/$testType/html_object/$name.html") or die "failed to open output file: $!";
992
    local $" = ', ';
993
    print FILE '<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
994
<html>
995
 <head>
996
  <title>'.&utils::helpers::escape($data->{'def'}).'</title>
997
  <meta name="author" content="'.&utils::helpers::escape("@{$data->{'author'}}").'">
998
  <link rel="stylesheet" type="text/css" href="../../../style/html-shell.css">';
999
    if ($testIndex > 0) {
1000
        print FILE "\n  <link rel=\"first\" href=\"".&utils::helpers::escape($tests->[0]).".html\" title=\"".&utils::helpers::escape($testDatabase->{$tests->[0]}->{'def'}).'">';
1001
        print FILE "\n  <link rel=\"prev\" href=\"".&utils::helpers::escape($tests->[$testIndex-1]).".html\" title=\"".&utils::helpers::escape($testDatabase->{$tests->[$testIndex-1]}->{'def'}).'">';
1002
    }
1003
    if ($testIndex < $#$tests) {
1004
        print FILE "\n  <link rel=\"next\" href=\"".&utils::helpers::escape($tests->[$testIndex+1]).".html\" title=\"".&utils::helpers::escape($testDatabase->{$tests->[$testIndex+1]}->{'def'}).'">';
1005
        print FILE "\n  <link rel=\"last\" href=\"".&utils::helpers::escape($tests->[$#$tests]).".html\" title=\"".&utils::helpers::escape($testDatabase->{$tests->[$#$tests]}->{'def'}).'">';
1006
    }
1007
    # XXX shoud list alternates (i.e. mini, flat and the other shells)
1008
    print FILE '
1009
  <link rel="up" href="./index.html">
1010
  <link rel="top" href="../../../index.html">
1011
 </head>
1012
 <body>
1013
  <table class="testDescription">
1014
   <tr>
1015
    <th class="b">CSS 3 Module</th> <!-- XXX hard coded to say CSS 3 -->
1016
    <th class="c" colspan="2">';
1017
    if ($testIndex > 0) {
1018
        print FILE "\n     <a href=\"".&utils::helpers::escape($tests->[$testIndex-1]).".html\" title=\"".&utils::helpers::escape($testDatabase->{$tests->[$testIndex-1]}->{'def'})."\">&lt;==</a>";
1019
    } else {
1020
        print FILE "\n     &lt;==";
1021
    }
1022
    print FILE "\n     Test #";
1023
    if ($testIndex < $#$tests) {
1024
        print FILE "\n     <a href=\"".&utils::helpers::escape($tests->[$testIndex+1]).".html\" title=\"".&utils::helpers::escape($testDatabase->{$tests->[$testIndex+1]}->{'def'})."\">==&gt;</a>";
1025
    } else {
1026
        print FILE "\n     ==&gt;";
1027
    }
1028
    print FILE '
1029
    </th>
1030
   </tr>
1031
   <tr>
1032
    <td class="b">'.&utils::helpers::escape($data->{'module'}).'</td>
1033
    <td class="c" colspan="2">'.($testIndex+1).' of '.(scalar(@$tests));
1034
    if ($utils::helpers::TestTypeTitles{$testType} ne '') {
1035
        print FILE ' of the '.&utils::helpers::escape($utils::helpers::TestTypeTitles{$testType});
1036
    }
1037
    print FILE '</td>
1038
   </tr>
1039
   <tr>
1040
    <th class="b">Testing</th>
1041
    <th class="a">Date</th>
1042
    <th class="a">Revision</th>
1043
   </tr>
1044
   <tr>
1045
    <td class="b">'.&utils::helpers::escape($data->{'def'}).' (ID #'.&utils::helpers::escape($data->{'number'}).')</td>
1046
    <td class="a">'.&utils::helpers::escape($data->{'date'}).'</td>
1047
    <td class="a">'.&utils::helpers::escape($data->{'rev'}).'</td>
1048
   </tr>
1049
  </table>';
1050
    if (defined($data->{'interactive'})) {
1051
        print FILE "\n  <p class=\"WARNING\">NOTE: User interaction is required for this test.</p>";
1052
    }
1053
    if (defined($data->{'historyneeded'})) {
1054
        print FILE "\n  <p class=\"WARNING\">NOTE: The UA must support the concept of a session history for this test.</p>";
1055
    }
1056
    if (defined($data->{'dynamic'})) {
1057
        print FILE "\n  <p class=\"WARNING\">NOTE: The UA must support ECMA-262 and DOM Level 2 Core for this test.</p>";
1058
    }
1059
    if (defined($data->{'namespaced'})) {
1060
        print FILE "\n  <p class=\"WARNING\">NOTE: The UA must support namespaces for this test.</p>";
1061
    }
1062
    my $extension = &extensions($destinationType); # having the extension in the filename is so wrong...
1063
    print FILE "
1064
  <object data=\"../../tests/$name.$extension\"></object>
1065
 </body>
1066
</html>";
1067
    close(FILE);
1068
}
1069
1070
sub print_shell_tng {
1071
    my($destinationType, $testType, $tests, $testDatabase, $testIndex) = @_;
1072
    my $name = $tests->[$testIndex];
1073
    my $data = $testDatabase->{$tests->[$testIndex]};
1074
    open(FILE, ">dist/$destinationType/$testType/tng/$name.html") or die "failed to open output file: $!";
1075
    local $" = ', ';
1076
    print FILE '<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/REC-html40/loose.dtd">
1077
<HTML>
1078
<HEAD>
1079
<TITLE>CSS3 Test Suite: '.&utils::helpers::escape($data->{'def'}).'</TITLE>
1080
<META http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
1081
<META http-equiv="Content-Style-Type" content="text/css">
1082
1083
<LINK rel="stylesheet" type="text/css" media="screen" href="../../../style/tng.css"></HEAD>
1084
1085
<BODY>
1086
<DIV class="navigation">
1087
<H2>CSS3 Test Suite: '.&utils::helpers::escape($data->{'def'}).'</H2>
1088
1089
<HR>';
1090
    if ($testIndex > 0) {
1091
        print FILE "\n[<A HREF=\"".&utils::helpers::escape($tests->[$testIndex-1]).".html\">Previous</A>]";
1092
    } else {
1093
        print FILE "\n[Previous]";
1094
    }
1095
    if ($testIndex < $#$tests) {
1096
        print FILE ' <A HREF="'.&utils::helpers::escape($tests->[$testIndex+1]).'.html">[Next]</A>';
1097
    } else {
1098
        print FILE ' <A HREF="../index.html">[Next]</A>';
1099
    }
1100
    print FILE ' <A HREF="index.html">[Contents]</A>';
1101
1102
    my $extension = &extensions($destinationType); # having the extension in the filename is so wrong...
1103
    print FILE '<BR>';
1104
1105
    if (defined($data->{'interactive'})) {
1106
        print FILE "\n<P CLASS=\"WARNING\">NOTE: User interaction is required for this test.</P>";
1107
    }
1108
    if (defined($data->{'historyneeded'})) {
1109
        print FILE "\n<P CLASS=\"WARNING\">NOTE: The UA must support the concept of a session history for this test.</P>";
1110
    }
1111
    if (defined($data->{'dynamic'})) {
1112
        print FILE "\n<P CLASS=\"WARNING\">NOTE: The UA must support ECMA-262 and DOM Level 2 Core for this test.</P>";
1113
    }
1114
    if (defined($data->{'namespaced'})) {
1115
        print FILE "\n<P CLASS=\"WARNING\">NOTE: The UA must support namespaces for this test.</P>";
1116
1117
    }
1118
    print FILE '
1119
</DIV>
1120
<OBJECT height="100%" width="100%" border="0" type="text/html" data="'."../../tests/$name.$extension".'"><A class="navigation" href="'."../../tests/$name.$extension".'" target="testwindow">Test</A></OBJECT>
1121
</BODY>
1122
</HTML>';
1123
    close(FILE);
1124
}
1125
1126
sub print_shell_html_frames {
1127
    my($destinationType, $testType, $tests, $testDatabase, $testIndex) = @_;
1128
    my $name = $tests->[$testIndex];
1129
    my $data = $testDatabase->{$tests->[$testIndex]};
1130
    my $extension = &extensions($destinationType); # having the extension in the filename is so wrong...
1131
    my $topframe = &utils::helpers::escape("$name-top.html");
1132
    my $bottomframe = &utils::helpers::escape("../../tests/$name.$extension");
1133
    open(FILE, ">dist/$destinationType/$testType/html_frames/$name-top.html") or die "failed to open output file: $!";
1134
    local $" = ', ';
1135
    print FILE '<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN">
1136
<html>
1137
 <head>
1138
  <title>'.&utils::helpers::escape($data->{'def'}).'</title>
1139
  <meta name="author" content="'.&utils::helpers::escape("@{$data->{'author'}}").'">
1140
  <link rel="stylesheet" type="text/css" href="../../../style/html-shell.css" target="_top"> <!-- yes this means compliant UAs get to import this twice -->';
1141
    if ($testIndex > 0) {
1142
        print FILE "\n  <link rel=\"first\" href=\"".&utils::helpers::escape($tests->[0]).".html\" title=\"".&utils::helpers::escape($testDatabase->{$tests->[0]}->{'def'}).'" target="_top">';
1143
        print FILE "\n  <link rel=\"prev\" href=\"".&utils::helpers::escape($tests->[$testIndex-1]).".html\" title=\"".&utils::helpers::escape($testDatabase->{$tests->[$testIndex-1]}->{'def'})."\" target=\"_top\">";
1144
    }
1145
    if ($testIndex < $#$tests) {
1146
        print FILE "\n  <link rel=\"next\" href=\"".&utils::helpers::escape($tests->[$testIndex+1]).".html\" title=\"".&utils::helpers::escape($testDatabase->{$tests->[$testIndex+1]}->{'def'})."\" target=\"_top\">";
1147
        print FILE "\n  <link rel=\"last\" href=\"".&utils::helpers::escape($tests->[$#$tests]).".html\" title=\"".&utils::helpers::escape($testDatabase->{$tests->[$#$tests]}->{'def'}).'" target="_top">';
1148
    }
1149
    # XXX shoud list alternates (i.e. mini, flat and the other shells)
1150
    print FILE '
1151
  <link rel="up" href="./index.html" target="_top">
1152
  <link rel="top" href="../../../index.html" target="_top">
1153
 </head>
1154
 <body>
1155
  <table class="testDescription">
1156
   <tr>
1157
    <th class="b">CSS 3 Module</th> <!-- XXX hard coded to say CSS 3 -->
1158
    <th class="c" colspan="2">';
1159
    if ($testIndex > 0) {
1160
        print FILE "\n     <a href=\"".&utils::helpers::escape($tests->[$testIndex-1]).".html\" title=\"".&utils::helpers::escape($testDatabase->{$tests->[$testIndex-1]}->{'def'})."\" target=\"_top\">&lt;==</a>";
1161
    } else {
1162
        print FILE "\n     &lt;==";
1163
    }
1164
    print FILE "\n     Test #";
1165
    if ($testIndex < $#$tests) {
1166
        print FILE "\n     <a href=\"".&utils::helpers::escape($tests->[$testIndex+1]).".html\" title=\"".&utils::helpers::escape($testDatabase->{$tests->[$testIndex+1]}->{'def'})."\" target=\"_top\">==&gt;</a>";
1167
    } else {
1168
        print FILE "\n     ==&gt;";
1169
    }
1170
    print FILE '
1171
    </th>
1172
   </tr>
1173
   <tr>
1174
    <td class="b">'.&utils::helpers::escape($data->{'module'}).'</td>
1175
    <td class="c" colspan="2">'.($testIndex+1).' of '.(scalar(@$tests));
1176
    if ($utils::helpers::TestTypeTitles{$testType} ne '') {
1177
        print FILE ' of the '.&utils::helpers::escape($utils::helpers::TestTypeTitles{$testType});
1178
    }
1179
    print FILE '</td>
1180
   </tr>
1181
   <tr>
1182
    <th class="b">Testing</th>
1183
    <th class="a">Date</th>
1184
    <th class="a">Revision</th>
1185
   </tr>
1186
   <tr>
1187
    <td class="b">'.&utils::helpers::escape($data->{'def'}).' (ID #'.&utils::helpers::escape($data->{'number'}).')</td>
1188
    <td class="a">'.&utils::helpers::escape($data->{'date'}).'</td>
1189
    <td class="a">'.&utils::helpers::escape($data->{'rev'}).'</td>
1190
   </tr>
1191
  </table>';
1192
    if (defined($data->{'interactive'})) {
1193
        print FILE "\n  <p class=\"WARNING\">NOTE: User interaction is required for this test.</p>";
1194
    }
1195
    if (defined($data->{'historyneeded'})) {
1196
        print FILE "\n  <p class=\"WARNING\">NOTE: The UA must support the concept of a session history for this test.</p>";
1197
    }
1198
    if (defined($data->{'dynamic'})) {
1199
        print FILE "\n  <p class=\"WARNING\">NOTE: The UA must support ECMA-262 and DOM Level 2 Core for this test.</p>";
1200
    }
1201
    if (defined($data->{'namespaced'})) {
1202
        print FILE "\n  <p class=\"WARNING\">NOTE: The UA must support namespaces for this test.</p>";
1203
    }
1204
    print FILE "
1205
 </body>
1206
</html>";
1207
    close(FILE);
1208
    open(FILE, ">dist/$destinationType/$testType/html_frames/$name.html") or die "failed to open output file: $!";
1209
    print FILE '<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN">
1210
<html>
1211
 <head>
1212
  <title>'.&utils::helpers::escape($data->{'def'}).'</title>
1213
  <meta name="author" content="'.&utils::helpers::escape("@{$data->{'author'}}").'"/>';
1214
    if ($testIndex > 0) {
1215
        print FILE "\n  <link rel=\"first\" href=\"".&utils::helpers::escape($tests->[0]).".html\" title=\"".&utils::helpers::escape($testDatabase->{$tests->[0]}->{'def'}).'" target="_top">';
1216
        print FILE "\n  <link rel=\"prev\" href=\"".&utils::helpers::escape($tests->[$testIndex-1]).".html\" title=\"".&utils::helpers::escape($testDatabase->{$tests->[$testIndex-1]}->{'def'})."\" target=\"_top\">";
1217
    }
1218
    if ($testIndex < $#$tests) {
1219
        print FILE "\n  <link rel=\"next\" href=\"".&utils::helpers::escape($tests->[$testIndex+1]).".html\" title=\"".&utils::helpers::escape($testDatabase->{$tests->[$testIndex+1]}->{'def'})."\" target=\"_top\">";
1220
        print FILE "\n  <link rel=\"last\" href=\"".&utils::helpers::escape($tests->[$#$tests]).".html\" title=\"".&utils::helpers::escape($testDatabase->{$tests->[$#$tests]}->{'def'}).'" target="_top">';
1221
    }
1222
    # XXX shoud list alternates (i.e. mini, flat and the other shells)
1223
    print FILE "
1224
  <link rel=\"up\" href=\"./index.html\" target=\"_top\">
1225
  <link rel=\"top\" href=\"../../../index.html\" target=\"_top\">
1226
 </head>
1227
 <frameset rows=\"35%,*\" cols=\"*\">
1228
  <frame src=\"$topframe\">
1229
  <frame src=\"$bottomframe\">
1230
 </frameset>
1231
</html>";
1232
    close(FILE);
1233
}
1234
1235
sub print_shell_xlink_embed {
1236
    my($destinationType, $testType, $tests, $testDatabase, $testIndex) = @_;
1237
    my $name = $tests->[$testIndex];
1238
    my $data = $testDatabase->{$tests->[$testIndex]};
1239
    open(FILE, ">dist/$destinationType/$testType/xlink_embed/$name.xml") or die "failed to open output file: $!";
1240
    local $" = ', ';
1241
    print FILE '<?xml-stylesheet href="../../../style/xhtml-shell.css" type="text/css"?>
1242
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
1243
<html xmlns="http://www.w3.org/1999/xhtml">
1244
 <head>
1245
  <title>'.&utils::helpers::escape($data->{'def'}).'</title>
1246
  <meta name="author" content="'.&utils::helpers::escape("@{$data->{'author'}}").'"/>
1247
  <link rel="stylesheet" type="text/css" href="../../../style/xhtml-shell.css"/> <!-- yes this means compliant UAs get to import this twice -->';
1248
    if ($testIndex > 0) {
1249
        print FILE "\n  <link rel=\"first\" href=\"".&utils::helpers::escape($tests->[0]).'.xml" title="'.&utils::helpers::escape($testDatabase->{$tests->[0]}->{'def'}).'"/>';
1250
        print FILE "\n  <link rel=\"prev\" href=\"".&utils::helpers::escape($tests->[$testIndex-1]).'.xml" title="'.&utils::helpers::escape($testDatabase->{$tests->[$testIndex-1]}->{'def'}).'"/>';
1251
    }
1252
    if ($testIndex < $#$tests) {
1253
        print FILE "\n  <link rel=\"next\" href=\"".&utils::helpers::escape($tests->[$testIndex+1]).'.xml" title="'.&utils::helpers::escape($testDatabase->{$tests->[$testIndex+1]}->{'def'}).'"/>';
1254
        print FILE "\n  <link rel=\"last\" href=\"".&utils::helpers::escape($tests->[$#$tests]).'.xml" title="'.&utils::helpers::escape($testDatabase->{$tests->[$#$tests]}->{'def'}).'"/>';
1255
    }
1256
    # XXX shoud list alternates (i.e. mini, flat and the other shells)
1257
    print FILE '
1258
  <link rel="up" href="./index.html"/>
1259
  <link rel="top" href="../../../index.html"/>
1260
 </head>
1261
 <body>
1262
  <table class="testDescription">
1263
   <tr>
1264
    <th class="b">CSS 3 Module</th> <!-- XXX hard coded to say CSS 3 -->
1265
    <th class="c" colspan="2">';
1266
    if ($testIndex > 0) {
1267
        print FILE "\n     <a href=\"".&utils::helpers::escape($tests->[$testIndex-1]).'.xml" title="'.&utils::helpers::escape($testDatabase->{$tests->[$testIndex-1]}->{'def'})."\">&lt;==</a>";
1268
    } else {
1269
        print FILE "\n     &lt;==";
1270
    }
1271
    print FILE "\n     Test #";
1272
    if ($testIndex < $#$tests) {
1273
        print FILE "\n     <a href=\"".&utils::helpers::escape($tests->[$testIndex+1]).'.xml" title="'.&utils::helpers::escape($testDatabase->{$tests->[$testIndex+1]}->{'def'})."\">==&gt;</a>";
1274
    } else {
1275
        print FILE "\n     ==&gt;";
1276
    }
1277
    print FILE '
1278
    </th>
1279
   </tr>
1280
   <tr>
1281
    <td class="b">'.&utils::helpers::escape($data->{'module'}).'</td>
1282
    <td class="c" colspan="2">'.($testIndex+1).' of '.(scalar(@$tests));
1283
    if ($utils::helpers::TestTypeTitles{$testType} ne '') {
1284
        print FILE ' of the '.&utils::helpers::escape($utils::helpers::TestTypeTitles{$testType});
1285
    }
1286
    print FILE '</td>
1287
   </tr>
1288
   <tr>
1289
    <th class="b">Testing</th>
1290
    <th class="a">Date</th>
1291
    <th class="a">Revision</th>
1292
   </tr>
1293
   <tr>
1294
    <td class="b">'.&utils::helpers::escape($data->{'def'}).' (ID #'.&utils::helpers::escape($data->{'number'}).')</td>
1295
    <td class="a">'.&utils::helpers::escape($data->{'date'}).'</td>
1296
    <td class="a">'.&utils::helpers::escape($data->{'rev'}).'</td>
1297
   </tr>
1298
  </table>';
1299
    if (defined($data->{'interactive'})) {
1300
        print FILE "\n  <p class=\"WARNING\">NOTE: User interaction is required for this test.</p>";
1301
    }
1302
    if (defined($data->{'historyneeded'})) {
1303
        print FILE "\n  <p class=\"WARNING\">NOTE: The UA must support the concept of a session history for this test.</p>";
1304
    }
1305
    if (defined($data->{'dynamic'})) {
1306
        print FILE "\n  <p class=\"WARNING\">NOTE: The UA must support ECMA-262 and DOM Level 2 Core for this test.</p>";
1307
    }
1308
    if (defined($data->{'namespaced'})) {
1309
        print FILE "\n  <p class=\"WARNING\">NOTE: The UA must support namespaces for this test.</p>";
1310
    }
1311
    my $extension = &extensions($destinationType); # having the extension in the filename is so wrong...
1312
    print FILE "
1313
  <div xmlns:xlink=\"http://www.w3.org/1999/xlink\" xlink:type=\"simple\" xlink:show=\"embed\" xlink:href=\"../../../tests/$name.$extension\"/>
1314
 </body>
1315
</html>";
1316
    close(FILE);
1317
}
1318
1319
##############################################################################
- a/LayoutTests/imported/w3c/web-platform-tests/css/selectors/utils/helpers.pm -219 lines
Lines 1-219 a/LayoutTests/imported/w3c/web-platform-tests/css/selectors/utils/helpers.pm_sec1
1
package utils::helpers;
2
use Data::Dumper; # DEPENDENCY
3
use strict;
4
5
# The Test Type Hash
6
# Note: Adding types to this hash is not enough... you also have to
7
# add code to the Makefile, the parser, the shortlist functions in
8
# this file, and the generators in the generator.pm module.
9
%utils::helpers::types = (
10
                          'DESTINATION_TYPES' => 'xhtml html xml', # explicitly listed in Makefile, shortlister and generator
11
                          'SHELL_TYPES' => 'xhtml_iframe xhtml_object xhtml_frames html_iframe html_object html_frames xlink_embed tng', # explicitly listed in generator and just below
12
                          'TEST_TYPES' => 'full static history interactive', # explicitly listed in shortlister, generator, and just below
13
                          'TEST_TYPES' => 'full static history interactive dynamic', # explicitly listed in shortlister, generator, and just below
14
                         );
15
16
%utils::helpers::DestinationTypeTitles = (
17
                                   'xhtml' => 'XHTML',
18
                                   'html' => 'HTML',
19
                                   'xml' => 'XML',
20
                                  );
21
22
%utils::helpers::ShellTypeTitles  = (
23
                                     'xhtml_iframe' => 'XHTML <iframe>',
24
                                     'xhtml_object' => 'XHTML <object>',
25
                                     'xhtml_frames' => 'XHTML <frame>',
26
                                     'html_iframe' => 'HTML <iframe>',
27
                                     'html_object' => 'HTML <object>',
28
                                     'html_frames' => 'HTML <frame>',
29
                                     'xlink_embed' => 'XLink embed',
30
                                     'tng' => 'TNG Format',
31
                                 );
32
33
%utils::helpers::ShellTypeDescriptions  = (
34
                                     'xhtml_iframe' => 'Tests consist of an XHTML wrapper page summarising the test and linking to the actual test content using an <iframe> element.',
35
                                     'xhtml_object' => 'Tests consist of an XHTML wrapper page summarising the test and linking to the actual test content using an <object> element.',
36
                                     'xhtml_frames' => 'Tests consist of a two frame XHTML frameset, the top frame being an XHTML wrapper page summarising the test and the bottom frame being the actual test content.',
37
                                     'html_iframe' => 'Tests consist of an HTML wrapper page summarising the test and linking to the actual test content using an <iframe> element.',
38
                                     'html_object' => 'Tests consist of an HTML wrapper page summarising the test and linking to the actual test content using an <object> element.',
39
                                     'html_frames' => 'Tests consist of a two frame HTML frameset, the top frame being an HTML wrapper page summarising the test and the bottom frame being the actual test content.',
40
                                     'xlink_embed' => 'Tests consist of an XML page summarising the test and linking to the actual test content using an XLink with the show axis set to embed.',
41
                                     'tng' => 'Tests consist of an HTML page with a brief test summary and navigation aids and a link to the test content using an <object> tag. This test format is designed to be stylistically compatible with the TNG test format used for other CSS test suites.',
42
                                 );
43
44
%utils::helpers::TestTypeTitles = (
45
                                   'full' => '',
46
                                   'static' => 'static tests category',
47
                                   'history' => 'history-related tests category',
48
                                   'interactive' => 'interactive tests category',
49
                                   'dynamic' => 'dynamic tests category',
50
                                  );
51
52
%utils::helpers::TestTypeDescriptions = (
53
                                   'full' => 'The complete set of tests.',
54
                                   'static' => 'The list of static tests (those that involve in scripting and no user interaction).',
55
                                   'history' => 'Tests requiring that the UA have some sort of session history.',
56
                                   'interactive' => 'The tests that require user interaction.',
57
                                   'dynamic' => 'Pages consisting of a script that dynamically modifies the document in order to complete the test.',
58
                                  );
59
60
%utils::helpers::TestTypeShortTitles = (
61
                                   'full' => 'full',
62
                                   'static' => 'static',
63
                                   'history' => 'history-related',
64
                                   'interactive' => 'interactive',
65
                                   'dynamic' => 'dynamic',
66
                                  );
67
68
sub qualifyStartTag {
69
    my($parser, $localTagName, @localAttributes) = @_;
70
71
    # get the qualified tag name
72
    my $qualifiedTagName;
73
    my $namespace = $parser->namespace($localTagName);
74
    if (defined($namespace)) {
75
        $qualifiedTagName = "{$namespace}$localTagName";
76
    } else {
77
        $qualifiedTagName = $localTagName;
78
    }
79
80
    # get the qualified attributes
81
    my @qualifiedAttributes;
82
    my $isName = 1;
83
    foreach my $attribute (@localAttributes) {
84
        if ($isName) {
85
            $namespace = $parser->namespace($attribute);
86
            if (defined($namespace)) {
87
                push(@qualifiedAttributes, "{$namespace}$attribute");
88
            } else {
89
                push(@qualifiedAttributes, $attribute);
90
            }
91
        } else {
92
            #my $data = $attribute;
93
            #if ($data =~ s/^([^:]+)://o) {
94
            #    $namespace = $parser->expand_ns_prefix($1);
95
            #} else {
96
            #    $namespace = $parser->expand_ns_prefix('#default');
97
            #}
98
            #if (defined($namespace)) {
99
            #    push(@qualifiedAttributes, "{$namespace}$data"); # value
100
            #} else {
101
                push(@qualifiedAttributes, $attribute); # value
102
            #}
103
        }
104
        $isName = not $isName;
105
    }
106
107
    # add the namespace declarations
108
    foreach my $prefix ($parser->new_ns_prefixes) {
109
        if ($prefix eq '#default') {
110
            push(@qualifiedAttributes, 'xmlns', $parser->expand_ns_prefix($prefix));
111
        } else {
112
            push(@qualifiedAttributes, "xmlns:$prefix", $parser->expand_ns_prefix($prefix));
113
        }
114
    }
115
116
    # return it all
117
    return ($qualifiedTagName, @qualifiedAttributes);
118
}
119
120
sub matchContext {
121
    my($parser, $match, $loose) = @_;
122
    my @context = $parser->context;
123
    if (defined($loose)) {
124
        return 0 unless (scalar(@context) >= scalar(@$match));
125
    } else {
126
        return 0 unless (scalar(@context) == scalar(@$match));
127
    }
128
    foreach my $element (@context[0..$#$match]) {
129
        my($namespace, $tagName) = @{shift(@$match)};
130
        return 0 unless ($element eq $tagName);
131
        my $matchNamespace = $parser->namespace($element);
132
        return 0 unless ((defined($matchNamespace) == defined($namespace)) and
133
                         ($matchNamespace eq $namespace));
134
    }
135
    return 1;
136
}
137
138
sub shortlistTestsForDestination {
139
    my($type, $testList, $tests) = @_;
140
    my @result;
141
    foreach my $test (@$testList) {
142
        if (exists($tests->{$test})) {
143
            if ($type eq 'xhtml') {
144
                push(@result, $test);
145
            } elsif ($type eq 'xml') {
146
                push(@result, $test);
147
            } elsif ($type eq 'html') {
148
                if (not $tests->{$test}->{'only-xml'}) {
149
                    push(@result, $test);
150
                }
151
            } else {
152
                die("Don't know how to shortlist tests for $type");
153
            }
154
        }
155
    }
156
    return @result;
157
}
158
159
sub shortlistTestsForTypes {
160
    my($type, $testList, $tests) = @_;
161
    my @result;
162
    foreach my $test (@$testList) {
163
        if (exists($tests->{$test})) {
164
            if ($type eq 'full') {
165
                push(@result, $test);
166
            } elsif ($type eq 'static') {
167
                if (not ($tests->{$test}->{'dynamic'} or $tests->{$test}->{'interactive'})) {
168
                    push(@result, $test);
169
                }
170
            } elsif ($type eq 'history') {
171
                if ($tests->{$test}->{'historyneeded'}) {
172
                    push(@result, $test);
173
                }
174
            } elsif ($type eq 'interactive') {
175
                if ($tests->{$test}->{'interactive'}) {
176
                    push(@result, $test);
177
                }
178
            } elsif ($type eq 'dynamic') {
179
                if ($tests->{$test}->{'dynamic'}) {
180
                    push(@result, $test);
181
                }
182
            } else {
183
                die("Don't know how to shortlist $type tests");
184
            }
185
        }
186
    }
187
    return @result;
188
}
189
190
sub readCache {
191
    open(CACHE, '<cache') or return {};
192
    local $/ = undef;
193
    my $data = <CACHE>;
194
    close(CACHE);
195
    if ($data) {
196
        return eval $data;
197
    } else {
198
        return {};
199
    }
200
}
201
202
sub writeCache {
203
    open(CACHE, '>cache');
204
    print CACHE Data::Dumper->new([@_])->Purity(1)->Terse(1)->Indent(0)->Dump;
205
    close(CACHE);
206
}
207
208
sub escape {
209
    $_ = shift;
210
    # because XML::Parser::Expat::escape() doesn't correctly escape "]]>"...
211
    s/&/&amp;/go;
212
    s/</&lt;/go;
213
    s/>/&gt;/go;
214
    s/"/&quot;/go; #"; # (reset fontlock)
215
    s/'/&#39;/go; #'; # (reset fontlock) # note -- this would be apos but apos is not in HTML 4.01
216
    return $_;
217
}
218
219
##############################################################################
- a/LayoutTests/imported/w3c/web-platform-tests/css/selectors/utils/parser.pm -334 lines
Lines 1-334 a/LayoutTests/imported/w3c/web-platform-tests/css/selectors/utils/parser.pm_sec1
1
##############################################################################
2
# the processor                                                              #
3
##############################################################################
4
5
# This code is a mess and has numerous subtle bugs in its namespace
6
# handling. Do not expect it to pass any tests of its own.
7
8
package utils::parser;
9
use utils::helpers;
10
use strict;
11
12
my $NAMESPACE = 'http://www.example.org/css3tests';
13
my %months = (
14
              'january' => 1,
15
              'february' => 2,
16
              'march' => 3,
17
              'april' => 4,
18
              'may' => 5,
19
              'june' => 6,
20
              'july' => 7,
21
              'august' => 8,
22
              'september' => 9,
23
              'october' => 10,
24
              'november' => 11,
25
              'december' => 12,
26
             );
27
28
sub Init {
29
    my $parser = shift;
30
    $parser->{'Walker Data'} = {};
31
}
32
33
# This is the big workhorse -- it gets called for each start tag.
34
sub Start {
35
    my $parser = shift;
36
    my($tagName, @attrs) = @_;
37
    my @context = $parser->context;
38
    my($qualifiedTagName, @qualifiedAttrs) = &utils::helpers::qualifyStartTag($parser, $tagName, @attrs);
39
    my %qualifiedAttrs = (@qualifiedAttrs);
40
41
    # The root element
42
    if ((scalar(@context) == 0) and ($qualifiedTagName eq "{$NAMESPACE}csstest")) {
43
        foreach my $name (qw(def module modulename number rev)) {
44
            if (defined($qualifiedAttrs{$name})) {
45
                $parser->{'Walker Data'}->{$name} = $qualifiedAttrs{$name};
46
            }
47
        }
48
        if (defined($qualifiedAttrs{date})) {
49
          my $date = $qualifiedAttrs{date};
50
          $date =~ s/(.+)-(.+)-(.+)/sprintf('%02d-%02d-%02d', $3, $months{$2}, $1)/gose;
51
          $parser->{'Walker Data'}->{date} = $date;
52
        }
53
    } elsif (&utils::helpers::matchContext($parser, [[$NAMESPACE, 'csstest']]) and
54
             ($qualifiedTagName eq "{$NAMESPACE}author")) {
55
        if (defined($parser->{'Walker Data'}->{'author'})) {
56
            push(@{$parser->{'Walker Data'}->{'author'}}, '');
57
        } else {
58
            $parser->{'Walker Data'}->{'author'} = [''];
59
        }
60
    } elsif (&utils::helpers::matchContext($parser, [[$NAMESPACE, 'csstest']]) and
61
             ($qualifiedTagName eq "{$NAMESPACE}cssrules")) {
62
        # ok
63
    } elsif (&utils::helpers::matchContext($parser, [[$NAMESPACE, 'csstest']]) and
64
             ($qualifiedTagName eq "{$NAMESPACE}userinteraction")) {
65
        $parser->{'Walker Data'}->{'interactive'} = 1;
66
    } elsif (&utils::helpers::matchContext($parser, [[$NAMESPACE, 'csstest']]) and
67
             ($qualifiedTagName eq "{$NAMESPACE}dynamic")) {
68
        $parser->{'Walker Data'}->{'dynamic'} = 1;
69
    } elsif (&utils::helpers::matchContext($parser, [[$NAMESPACE, 'csstest']]) and
70
             ($qualifiedTagName eq "{$NAMESPACE}historyneeded")) {
71
        $parser->{'Walker Data'}->{'historyneeded'} = 1;
72
    } elsif (&utils::helpers::matchContext($parser, [[$NAMESPACE, 'csstest']]) and
73
             ($qualifiedTagName eq "{$NAMESPACE}code") and
74
             (not defined($parser->{'Walker Data'}->{'prefixes'}))) {
75
        # here we must begin to take stuff into account
76
        $parser->{'Walker Data'}->{'code-xml'} = '';
77
        $parser->{'Walker Data'}->{'code-xhtml'} = '';
78
        $parser->{'Walker Data'}->{'code-html'} = '';
79
        # first, all the namespace prefixes in scope
80
        $parser->{'Walker Data'}->{'prefixes'} = {};
81
        $parser->{'Walker Data'}->{'prefixesUsed'} = {};
82
        foreach my $prefix ($parser->current_ns_prefixes) {
83
            if ($prefix ne '#default') {
84
                $parser->{'Walker Data'}->{'prefixes'}->{$prefix} = $parser->expand_ns_prefix($prefix);
85
                $parser->{'Walker Data'}->{'prefixesUsed'}->{$prefix} = 0;
86
            }
87
        }
88
    } elsif (&utils::helpers::matchContext($parser, [[$NAMESPACE, 'csstest'],
89
                                                     [$NAMESPACE, 'code']])) { # child of code element
90
        $parser->xpcroak('restrict cannot be a child of code') if $qualifiedTagName eq "{$NAMESPACE}restrict";
91
        &processElement($parser, $tagName, 1, @attrs);
92
    } elsif (&utils::helpers::matchContext($parser, [[$NAMESPACE, 'csstest'],
93
                                                     [$NAMESPACE, 'code']], 1) and
94
             ($qualifiedTagName eq "{$NAMESPACE}restrict")) { # <restrict>, descendant of code element (must not be child)
95
        if (defined($parser->{'Walker Data'}->{'restrict'})) {
96
            $parser->xpcroak('<restrict> may not be nested');
97
        }
98
        if (defined($qualifiedAttrs{'for'})) {
99
            $parser->{'Walker Data'}->{'restrict'} = $qualifiedAttrs{'for'};
100
        } else {
101
            $parser->xpcroak('required attribute \'for\' missing');
102
        }
103
    } elsif (&utils::helpers::matchContext($parser, [[$NAMESPACE, 'csstest'],
104
                                                     [$NAMESPACE, 'code']], 1)) { # descendant of code element
105
        &processElement($parser, $tagName, 0, @attrs);
106
    } else {
107
        $parser->xpcroak("unexpected element $tagName in namespace ".$parser->namespace($tagName));
108
    }
109
}
110
111
sub CdataStart {
112
    my $parser = shift;
113
    if (&utils::helpers::matchContext($parser, [
114
             [$NAMESPACE, 'csstest'], [$NAMESPACE, 'code']], 1)) {
115
        $parser->{'Walker Data'}->{'code-xml'} .= '<![CDATA[' if applicable($parser, 'xml');
116
        $parser->{'Walker Data'}->{'code-xhtml'} .= '<![CDATA[' if applicable($parser, 'xhtml');
117
        # $parser->{'Walker Data'}->{'code-html'} .= '' if applicable($parser, 'html'); # HTML has no CDATA blocks
118
        $parser->{'Walker Data'}->{'cdata'} = 1;
119
    } else {
120
        # not technically invalid...
121
    }
122
}
123
124
sub CdataEnd {
125
    my $parser = shift;
126
    if (&utils::helpers::matchContext($parser, [
127
             [$NAMESPACE, 'csstest'], [$NAMESPACE, 'code']], 1)) {
128
        $parser->{'Walker Data'}->{'code-xml'} .= ']]>' if applicable($parser, 'xml');
129
        $parser->{'Walker Data'}->{'code-xhtml'} .= ']]>' if applicable($parser, 'xhtml');
130
        # $parser->{'Walker Data'}->{'code-html'} .= '' if applicable($parser, 'html'); # HTML has no CDATA blocks
131
        $parser->{'Walker Data'}->{'cdata'} = 0;
132
    } else {
133
        # not technically invalid...
134
    }
135
}
136
137
sub Comment {
138
    my $parser = shift;
139
    my($comment) = @_;
140
    if (&utils::helpers::matchContext($parser, [
141
             [$NAMESPACE, 'csstest'], [$NAMESPACE, 'code']], 1)) {
142
        $parser->{'Walker Data'}->{'code-xml'} .= "<!--$comment-->" if applicable($parser, 'xml');
143
        $parser->{'Walker Data'}->{'code-xhtml'} .= "<!--$comment-->" if applicable($parser, 'xhtml');
144
        $parser->{'Walker Data'}->{'code-html'} .= "<!--$comment-->" if applicable($parser, 'html');
145
    } else {
146
        # not technically invalid...
147
    }
148
}
149
150
sub Proc {
151
    my $parser = shift;
152
    my($target, $data) = @_;
153
    if (&utils::helpers::matchContext($parser, [
154
             [$NAMESPACE, 'csstest'], [$NAMESPACE, 'code']], 1)) {
155
        $parser->{'Walker Data'}->{'code-xml'} .= "<?$target $data?>" if applicable($parser, 'xml');
156
        $parser->{'Walker Data'}->{'code-xhtml'} .= "<?$target $data?>" if applicable($parser, 'xhtml');
157
        $parser->{'Walker Data'}->{'code-html'} .= "<?$target $data>" if applicable($parser, 'html');
158
    } else {
159
        # not technically invalid...
160
    }
161
}
162
163
# This is called for each line of a string of text (as well as the contents of any CDATA blocks, etc)
164
sub Char {
165
    my $parser = shift;
166
    my($text) = @_;
167
    if (&utils::helpers::matchContext($parser, [
168
             [$NAMESPACE, 'csstest'], [$NAMESPACE, 'author']])) {
169
        $parser->{'Walker Data'}->{'author'}->[$#{$parser->{'Walker Data'}->{'author'}}] .= $text;
170
    } elsif (&utils::helpers::matchContext($parser, [
171
             [$NAMESPACE, 'csstest'], [$NAMESPACE, 'cssrules']])) {
172
        $parser->{'Walker Data'}->{'cssrules'} .= $text;
173
    } elsif (&utils::helpers::matchContext($parser, [
174
             [$NAMESPACE, 'csstest']]) and ($text =~ /^\s+$/os)) {
175
        # ok
176
    } elsif (&utils::helpers::matchContext($parser, [
177
             [$NAMESPACE, 'csstest'], [$NAMESPACE, 'code']], 1)) {
178
        if (not $parser->{'Walker Data'}->{'cdata'}) {
179
            $text = &utils::helpers::escape($text);
180
        }
181
        $parser->{'Walker Data'}->{'code-xml'} .= $text if applicable($parser, 'xml');
182
        $parser->{'Walker Data'}->{'code-xhtml'} .= $text if applicable($parser, 'xhtml');
183
        $parser->{'Walker Data'}->{'code-html'} .= $text if applicable($parser, 'html');
184
    } else {
185
        $parser->xpcroak("found unexpected text");
186
    }
187
}
188
189
sub End {
190
    my $parser = shift;
191
    my($tagName) = @_;
192
    if (&utils::helpers::matchContext($parser, [[$NAMESPACE, 'csstest'],
193
                                                [$NAMESPACE, 'code']], 1) and
194
        (($tagName eq 'restrict') and ($parser->namespace($tagName) eq $NAMESPACE))) { # <restrict>, descendant of code element
195
        delete($parser->{'Walker Data'}->{'restrict'});
196
    } elsif (&utils::helpers::matchContext($parser, [[$NAMESPACE, 'csstest'],
197
                                               [$NAMESPACE, 'code']], 1)) {
198
        if ($parser->recognized_string ne '') {
199
            $parser->{'Walker Data'}->{'endTag'} = $parser->recognized_string;
200
        } else {
201
            # This was an empty tag with the short form <foo/>. This
202
            # guarentees that the element can have no children, so we
203
            # don't need to ensure the endTag bit is propagated
204
            # correctly across children.
205
        }
206
        # XML output
207
        $parser->{'Walker Data'}->{'code-xml'} .= $parser->{'Walker Data'}->{'endTag'} if applicable($parser, 'xml');
208
        # XHTML output
209
        $parser->{'Walker Data'}->{'code-xhtml'} .= $parser->{'Walker Data'}->{'endTag'} if applicable($parser, 'xhtml');
210
        # HTML output
211
        if (($parser->{'Walker Data'}->{'endTag'} ne '</input>') and
212
            ($parser->{'Walker Data'}->{'endTag'} ne '</br>')) {
213
            $parser->{'Walker Data'}->{'code-html'} .= $parser->{'Walker Data'}->{'endTag'} if applicable($parser, 'html');
214
        } # else HTML doesn't allow end tags for those
215
    } else {
216
        # ok
217
    }
218
}
219
220
sub Final {
221
    my $parser = shift;
222
    my $data = $parser->{'Walker Data'};
223
    $data->{'escapedcode-xml'} = &utils::helpers::escape($data->{'code-xml'});
224
    $data->{'escapedcode-xhtml'} = &utils::helpers::escape($data->{'code-xhtml'});
225
    $data->{'escapedcode-html'} = &utils::helpers::escape($data->{'code-html'});
226
    $data->{'escapedcode-css'} = &utils::helpers::escape($data->{'cssrules'});
227
    $data->{'namespaces'} = '';
228
    foreach my $prefix (keys %{$data->{'prefixes'}}) {
229
        if ($data->{'prefixesUsed'}->{$prefix}) {
230
            $data->{'namespaces'} .= " xmlns:${prefix}=\"$data->{'prefixes'}->{$prefix}\"";
231
        }
232
    }
233
    delete($parser->{'Walker Data'});
234
    return $data;
235
}
236
237
sub processElement {
238
    my $parser = shift;
239
    my($tagName, $child, @attrs) = @_;
240
    # $child is true if the element should declare its own default namespace if needed
241
    # (i.e. if element is a direct child of the <code> element)
242
    my @prefixes = $parser->current_ns_prefixes;
243
    # get the element stuff
244
    my $prefix = '';
245
    if ($parser->recognized_string =~ m/<([^\s:]+):/o) {
246
        $prefix = $1;
247
    }
248
    $parser->{'Walker Data'}->{'prefixesUsed'}->{$prefix} += 1 if exists $parser->{'Walker Data'}->{'prefixesUsed'}->{$prefix};
249
    my $default = $parser->expand_ns_prefix('#default');
250
    my $defaultXML = '';
251
    my $defaultXHTML = '';
252
    if ($child) {
253
        if (defined($default)) {
254
            if ($default ne 'http://www.w3.org/1999/xhtml') {
255
                $defaultXHTML = ' xmlns="'.&utils::helpers::escape($default).'"';
256
            }
257
            $defaultXML = ' xmlns="'.&utils::helpers::escape($default).'"';
258
        } else {
259
            $defaultXHTML = ' xmlns=""';
260
        }
261
    } # else handled as part of the new_ns_prefix fixup
262
    my $newNamespaces = '';
263
    my $newNamespacePrefixes = {};
264
    foreach my $newPrefix ($parser->new_ns_prefixes) {
265
        my $namespace = $parser->expand_ns_prefix($newPrefix);
266
        if (not defined($namespace)) {
267
            $namespace = '';
268
        }
269
        if ($newPrefix ne '#default') {
270
            $newNamespaces .= " xmlns:$newPrefix=\"".&utils::helpers::escape($namespace).'"';
271
            $newNamespacePrefixes->{$newPrefix} = $namespace;
272
        } elsif (not $child) {
273
            $newNamespaces .= ' xmlns="'.&utils::helpers::escape($namespace).'"';
274
        }
275
    }
276
    my %prefixLookup = map { if ($_ ne '#default') { $parser->expand_ns_prefix($_) => $_ } else { (); } } @prefixes;
277
    my $attributes = '';
278
    my $isName = 1;
279
    foreach my $attribute (@attrs) {
280
        if ($isName) {
281
            # we currently lose the actual prefix used and look it back up... this can be wrong if
282
            # there are multiple prefixes defined for the same namespace.
283
            my $attrNamespace;
284
            if ($attribute =~ s/^\|//o) {
285
                # this handles a bug in XML::Parser::Expat with attributes of the form:
286
                # <element xmlns="" xmlns:none="" none:this="will be called '|this' and not 'this' in $attribute" />
287
                # XXX actually the bug is that that doesn't throw a well-formedness exception XXX
288
                $attrNamespace = '';
289
            } else {
290
                $attrNamespace = $parser->namespace($attribute);
291
            }
292
            my $attrPrefix;
293
            if (defined($attrNamespace)) {
294
                $parser->{'Walker Data'}->{'namespaced'} = 1;
295
                $parser->{'Walker Data'}->{'only-xml'} = 1 if applicable($parser, 'html');
296
                if ($attrNamespace eq 'http://www.w3.org/XML/1998/namespace') {
297
                    $attrPrefix = 'xml';
298
                } else {
299
                    $attrPrefix = $prefixLookup{$attrNamespace};
300
                    $parser->{'Walker Data'}->{'prefixesUsed'}->{$attrPrefix} += 1 if exists $parser->{'Walker Data'}->{'prefixesUsed'}->{$attrPrefix};
301
                }
302
                $attrPrefix .= ':';
303
            } else {
304
                $attrPrefix = '';
305
            }
306
            $attributes .= " $attrPrefix$attribute=\"";
307
        } else {
308
            $attributes .= &utils::helpers::escape($attribute).'"';
309
        }
310
        $isName = not($isName);
311
    }
312
    $prefix .= ':' if $prefix ne '';
313
    # XML output:
314
    $parser->{'Walker Data'}->{'code-xml'} .= "<$prefix$tagName$defaultXML$newNamespaces$attributes>" if applicable($parser, 'xml');
315
    # XHTML output
316
    $parser->{'Walker Data'}->{'code-xhtml'} .= "<$prefix$tagName$defaultXHTML$newNamespaces$attributes>" if applicable($parser, 'xhtml');
317
    # HTML output is same as XHTML output except for namespaces - flag if there are any
318
    $parser->{'Walker Data'}->{'code-html'} .= "<$tagName$attributes>" if applicable($parser, 'html');
319
320
    if ($prefix ne '' or $defaultXHTML ne '' or $newNamespaces ne '') {
321
        $parser->{'Walker Data'}->{'namespaced'} = 1;
322
        $parser->{'Walker Data'}->{'only-xml'} = 1 if applicable($parser, 'html');
323
    }
324
    $parser->{'Walker Data'}->{'endTag'} = "</$prefix$tagName>"; # used to regenerate the end tag if required (i.e. if this was originally an empty start tag)
325
}
326
327
sub applicable {
328
    my($parser, $for) = @_;
329
    return ((not defined($parser->{'Walker Data'}->{'restrict'})) or
330
            ($parser->{'Walker Data'}->{'restrict'} =~ m/\b # word boundary
331
                                                   \Q$for\E # quote $for string (so that $for is not treated as regexp)
332
                                                         \b # word boundary
333
                                                          /x));
334
}
- a/LayoutTests/imported/w3c/web-platform-tests/css/selectors/utils/w3c-import.log -19 lines
Lines 1-19 a/LayoutTests/imported/w3c/web-platform-tests/css/selectors/utils/w3c-import.log_sec1
1
The tests in this directory were imported from the W3C repository.
2
Do NOT modify these tests directly in WebKit.
3
Instead, create a pull request on the WPT github:
4
	https://github.com/w3c/web-platform-tests
5
6
Then run the Tools/Scripts/import-w3c-tests in WebKit to reimport
7
8
Do NOT modify or remove this file.
9
10
------------------------------------------------------------------------
11
Properties requiring vendor prefixes:
12
None
13
Property values requiring vendor prefixes:
14
None
15
------------------------------------------------------------------------
16
List of files:
17
/LayoutTests/imported/w3c/web-platform-tests/css/selectors/utils/generators.pm
18
/LayoutTests/imported/w3c/web-platform-tests/css/selectors/utils/helpers.pm
19
/LayoutTests/imported/w3c/web-platform-tests/css/selectors/utils/parser.pm
- a/LayoutTests/platform/glib/TestExpectations -2 / +5 lines
Lines 573-585 webkit.org/b/214290 imported/w3c/web-platform-tests/css/css-text/overflow-wrap/o a/LayoutTests/platform/glib/TestExpectations_sec1
573
webkit.org/b/214299 imported/w3c/web-platform-tests/css/css-ui/outline-028.html [ ImageOnlyFailure ]
573
webkit.org/b/214299 imported/w3c/web-platform-tests/css/css-ui/outline-028.html [ ImageOnlyFailure ]
574
webkit.org/b/214299 imported/w3c/web-platform-tests/css/css-ui/outline-with-padding-001.html [ ImageOnlyFailure ]
574
webkit.org/b/214299 imported/w3c/web-platform-tests/css/css-ui/outline-with-padding-001.html [ ImageOnlyFailure ]
575
575
576
webkit.org/b/214300 imported/w3c/web-platform-tests/css/css-fonts/font-synthesis-05.html [ Pass ]
577
webkit.org/b/214300 imported/w3c/web-platform-tests/css/css-fonts/font-variant-position-01.html [ Pass ]
578
webkit.org/b/214300 imported/w3c/web-platform-tests/css/css-fonts/variations/font-slant-2a.html [ Pass ]
576
webkit.org/b/214300 imported/w3c/web-platform-tests/css/css-fonts/variations/font-slant-2a.html [ Pass ]
579
577
580
# Flaky Unhandled promise rejection messages
578
# Flaky Unhandled promise rejection messages
581
webkit.org/b/171094 imported/w3c/web-platform-tests/html/canvas/offscreen/fill-and-stroke-styles/2d.pattern.paint.repeat.coord1.html [ Pass Failure ]
579
webkit.org/b/171094 imported/w3c/web-platform-tests/html/canvas/offscreen/fill-and-stroke-styles/2d.pattern.paint.repeat.coord1.html [ Pass Failure ]
582
580
581
webkit.org/b/214472 imported/w3c/web-platform-tests/css/css-images/normalization-conic-degenerate.html [ Timeout ]
582
webkit.org/b/214472 imported/w3c/web-platform-tests/css/css-images/normalization-conic.html [ Timeout ]
583
584
webkit.org/b/214473 imported/w3c/web-platform-tests/css/css-images/image-orientation/image-orientation-from-image-computed-style.html [ Failure Pass ]
585
webkit.org/b/214473 imported/w3c/web-platform-tests/css/css-images/image-orientation/image-orientation-none-computed-style.html [ Failure Pass ]
583
586
584
#////////////////////////////////////////////////////////////////////////////////////////
587
#////////////////////////////////////////////////////////////////////////////////////////
585
# End of WPT-related bugs
588
# End of WPT-related bugs
- a/LayoutTests/platform/gtk/TestExpectations -4 / +12 lines
Lines 1137-1143 webkit.org/b/206756 imported/w3c/web-platform-tests/css/css-backgrounds/backgrou a/LayoutTests/platform/gtk/TestExpectations_sec1
1137
webkit.org/b/206756 imported/w3c/web-platform-tests/css/css-backgrounds/background-size-027.html [ ImageOnlyFailure ]
1137
webkit.org/b/206756 imported/w3c/web-platform-tests/css/css-backgrounds/background-size-027.html [ ImageOnlyFailure ]
1138
webkit.org/b/206756 imported/w3c/web-platform-tests/css/css-backgrounds/background-size-029.html [ ImageOnlyFailure ]
1138
webkit.org/b/206756 imported/w3c/web-platform-tests/css/css-backgrounds/background-size-029.html [ ImageOnlyFailure ]
1139
webkit.org/b/206756 imported/w3c/web-platform-tests/css/css-backgrounds/border-image-repeat-005.html [ ImageOnlyFailure ]
1139
webkit.org/b/206756 imported/w3c/web-platform-tests/css/css-backgrounds/border-image-repeat-005.html [ ImageOnlyFailure ]
1140
webkit.org/b/206756 imported/w3c/web-platform-tests/css/css-backgrounds/background-border-collapsed-gradient.html [ Pass ]
1141
webkit.org/b/206756 imported/w3c/web-platform-tests/css/css-backgrounds/background-size/background-size-cover-svg.html [ Pass ]
1140
webkit.org/b/206756 imported/w3c/web-platform-tests/css/css-backgrounds/background-size/background-size-cover-svg.html [ Pass ]
1142
webkit.org/b/206756 imported/w3c/web-platform-tests/css/css-backgrounds/background-size/vector/diagonal-percentage-vector-background.html [ Pass ]
1141
webkit.org/b/206756 imported/w3c/web-platform-tests/css/css-backgrounds/background-size/vector/diagonal-percentage-vector-background.html [ Pass ]
1143
1142
Lines 1252-1257 webkit.org/b/212233 fast/repaint/iframe-on-subpixel-position.html [ Failure ] a/LayoutTests/platform/gtk/TestExpectations_sec2
1252
1251
1253
webkit.org/b/213328 http/tests/inspector/network/intercept-request-properties.html [ Failure ]
1252
webkit.org/b/213328 http/tests/inspector/network/intercept-request-properties.html [ Failure ]
1254
1253
1254
webkit.org/b/214470 imported/w3c/web-platform-tests/css/css-backgrounds/background-repeat/background-repeat-round-roundup.xht [ ImageOnlyFailure ]
1255
webkit.org/b/214470 imported/w3c/web-platform-tests/css/css-backgrounds/background-repeat/background-repeat-round.xht [ ImageOnlyFailure ]
1256
webkit.org/b/214470 imported/w3c/web-platform-tests/css/css-backgrounds/background-repeat/background-repeat-space.xht [ ImageOnlyFailure ]
1257
webkit.org/b/214470 imported/w3c/web-platform-tests/css/css-backgrounds/background-size/background-size-contain.xht [ ImageOnlyFailure ]
1258
webkit.org/b/214470 imported/w3c/web-platform-tests/css/css-text-decor/text-decoration-thickness-from-font-variable.html [ ImageOnlyFailure ]
1259
webkit.org/b/214470 imported/w3c/web-platform-tests/css/css-text-decor/text-underline-offset-variable.html [ ImageOnlyFailure ]
1260
webkit.org/b/214470 imported/w3c/web-platform-tests/css/css-text-decor/text-underline-position-from-font-variable.html [ ImageOnlyFailure ]
1261
webkit.org/b/214470 imported/w3c/web-platform-tests/css/css-values/ch-unit-002.html [ ImageOnlyFailure ]
1262
webkit.org/b/214470 imported/w3c/web-platform-tests/css/css-values/ch-unit-011.html [ ImageOnlyFailure ]
1263
webkit.org/b/214470 imported/w3c/web-platform-tests/css/css-images/image-orientation/image-orientation-border-image.html [ ImageOnlyFailure ]
1264
webkit.org/b/214470 imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/replaced-element-003.tentative.html [ ImageOnlyFailure ]
1265
1255
#////////////////////////////////////////////////////////////////////////////////////////
1266
#////////////////////////////////////////////////////////////////////////////////////////
1256
# End of Expected failures.
1267
# End of Expected failures.
1257
#
1268
#
Lines 3660-3667 imported/w3c/canvas/2d.line.cap.round.html [ Pass ] a/LayoutTests/platform/gtk/TestExpectations_sec3
3660
3671
3661
imported/w3c/web-platform-tests/cors/preflight-failure.htm [ Pass ]
3672
imported/w3c/web-platform-tests/cors/preflight-failure.htm [ Pass ]
3662
3673
3663
imported/w3c/web-platform-tests/css/css-animations/animation-opacity-pause-and-set-time.html [ Pass ]
3664
imported/w3c/web-platform-tests/css/css-animations/animation-transform-pause-and-set-time.html [ Pass ]
3665
3674
3666
imported/w3c/web-platform-tests/css/css-color/t422-rgba-onscreen-b.xht [ Pass ]
3675
imported/w3c/web-platform-tests/css/css-color/t422-rgba-onscreen-b.xht [ Pass ]
3667
imported/w3c/web-platform-tests/css/css-color/t422-rgba-onscreen-multiple-boxes-c.xht [ Pass ]
3676
imported/w3c/web-platform-tests/css/css-color/t422-rgba-onscreen-multiple-boxes-c.xht [ Pass ]
Lines 3828-3834 fast/scrolling/rtl-scrollbars-listbox-scroll.html [ Pass ] a/LayoutTests/platform/gtk/TestExpectations_sec4
3828
3837
3829
imported/w3c/web-platform-tests/service-workers/service-worker/fetch-audio-tainting.https.html [ Pass ]
3838
imported/w3c/web-platform-tests/service-workers/service-worker/fetch-audio-tainting.https.html [ Pass ]
3830
3839
3831
webkit.org/b/214300 imported/w3c/web-platform-tests/css/css-fonts/font-language-override-02.html [ Pass ]
3832
3840
3833
#////////////////////////////////////////////////////////////////////////////////////////
3841
#////////////////////////////////////////////////////////////////////////////////////////
3834
# End of PASSING tests. See top of file where to put new expectations.
3842
# End of PASSING tests. See top of file where to put new expectations.
- a/LayoutTests/platform/gtk/imported/w3c/web-platform-tests/css/css-color-adjust/rendering/dark-color-scheme/color-scheme-color-property-expected.txt +4 lines
Line 0 a/LayoutTests/platform/gtk/imported/w3c/web-platform-tests/css/css-color-adjust/rendering/dark-color-scheme/color-scheme-color-property-expected.txt_sec1
1
2
FAIL Check that color:initial resolves to the intial color for the dark color-scheme. assert_not_equals: got disallowed value "rgb(0, 0, 0)"
3
FAIL Check that color:initial resolves to the intial color for the light color-scheme. assert_not_equals: got disallowed value "rgb(0, 0, 0)"
4
- a/LayoutTests/platform/gtk/imported/w3c/web-platform-tests/css/css-grid/parsing/grid-template-columns-computed-implicit-track-expected.txt +26 lines
Line 0 a/LayoutTests/platform/gtk/imported/w3c/web-platform-tests/css/css-grid/parsing/grid-template-columns-computed-implicit-track-expected.txt_sec1
1
2
PASS Property grid-template-columns value 'none' computes to '10px' 
3
PASS Property grid-template-columns value '1px' computes to '10px 1px' 
4
FAIL Property grid-template-columns value '1px [a]' computes to '10px 1px [a]' assert_equals: expected "10px 1px [a]" but got "10px [a] 1px"
5
FAIL Property grid-template-columns value '1px [a] 2px' computes to '10px 1px [a] 2px' assert_equals: expected "10px 1px [a] 2px" but got "10px [a] 1px 2px"
6
FAIL Property grid-template-columns value '[a] 1px' computes to '10px [a] 1px' assert_equals: expected "10px [a] 1px" but got "[a] 10px 1px"
7
FAIL Property grid-template-columns value '[a] 1px [b]' computes to '10px [a] 1px [b]' assert_equals: expected "10px [a] 1px [b]" but got "[a] 10px [b] 1px"
8
PASS Property grid-template-columns value '1px repeat(1, 2px) 3px' computes to '10px 1px 2px 3px' 
9
PASS Property grid-template-columns value '1px repeat(auto-fill, 2px) 3px' computes to '10px 1px 2px 3px' 
10
PASS Property grid-template-columns value '1px repeat(auto-fit, 2px) 3px' computes to '10px 1px 0px 3px' 
11
FAIL Property grid-template-columns value '1px [a] repeat(1, 2px 3px) [b] 4px' computes to '10px 1px [a] 2px 3px [b] 4px' assert_equals: expected "10px 1px [a] 2px 3px [b] 4px" but got "10px [a] 1px 2px [b] 3px 4px"
12
FAIL Property grid-template-columns value '1px [a] repeat(auto-fill, 2px 3px) [b] 4px' computes to '10px 1px [a] 2px 3px [b] 4px' assert_equals: expected "10px 1px [a] 2px 3px [b] 4px" but got "10px [a] 1px 2px [b] 3px 4px"
13
FAIL Property grid-template-columns value '1px [a] repeat(auto-fit, 2px 3px) [b] 4px' computes to '10px 1px [a] 0px 0px [b] 4px' assert_equals: expected "10px 1px [a] 0px 0px [b] 4px" but got "10px [a] 1px 0px [b] 0px 4px"
14
FAIL Property grid-template-columns value '1px [a] repeat(1, [b] 2px [c]) [d] 3px' computes to '10px 1px [a b] 2px [c d] 3px' assert_equals: expected "10px 1px [a b] 2px [c d] 3px" but got "10px [a b] 1px [c d] 2px 3px"
15
FAIL Property grid-template-columns value '1px [a] repeat(auto-fill, [b] 2px [c]) [d] 3px' computes to '10px 1px [a b] 2px [c d] 3px' assert_equals: expected "10px 1px [a b] 2px [c d] 3px" but got "10px [a b] 1px [c d] 2px 3px"
16
FAIL Property grid-template-columns value '1px [a] repeat(auto-fit, [b] 2px [c]) [d] 3px' computes to '10px 1px [a b] 0px [c d] 3px' assert_equals: expected "10px 1px [a b] 0px [c d] 3px" but got "10px [a b] 1px [c d] 0px 3px"
17
FAIL Property grid-template-columns value '[a] 1px repeat(1, 2px [b] 3px) 4px [d]' computes to '10px [a] 1px 2px [b] 3px 4px [d]' assert_equals: expected "10px [a] 1px 2px [b] 3px 4px [d]" but got "[a] 10px 1px [b] 2px 3px [d] 4px"
18
FAIL Property grid-template-columns value '[a] 1px repeat(auto-fill, 2px [b] 3px) 4px [d]' computes to '10px [a] 1px 2px [b] 3px 4px [d]' assert_equals: expected "10px [a] 1px 2px [b] 3px 4px [d]" but got "[a] 10px 1px [b] 2px 3px [d] 4px"
19
FAIL Property grid-template-columns value '[a] 1px repeat(auto-fit, 2px [b] 3px) 4px [d]' computes to '10px [a] 1px 0px [b] 0px 4px [d]' assert_equals: expected "10px [a] 1px 0px [b] 0px 4px [d]" but got "[a] 10px 1px [b] 0px 0px [d] 4px"
20
FAIL Property grid-template-columns value '100% [a] repeat(1, [b] 200% [c]) [d] 300%' computes to '10px 1px [a b] 2px [c d] 3px' assert_equals: expected "10px 1px [a b] 2px [c d] 3px" but got "10px [a b] 1px [c d] 2px 3px"
21
FAIL Property grid-template-columns value '100% [a] repeat(auto-fill, [b] 200% [c]) [d] 300%' computes to '10px 1px [a b] 2px [c d] 3px' assert_equals: expected "10px 1px [a b] 2px [c d] 3px" but got "10px [a b] 1px [c d] 2px 3px"
22
FAIL Property grid-template-columns value '100% [a] repeat(auto-fit, [b] 200% [c]) [d] 300%' computes to '10px 1px [a b] 0px [c d] 3px' assert_equals: expected "10px 1px [a b] 0px [c d] 3px" but got "10px [a b] 1px [c d] 0px 3px"
23
FAIL Property grid-template-columns value '[a] 1em repeat(1, 2em [b] 3em) 4em [d]' computes to '10px [a] 1px 2px [b] 3px 4px [d]' assert_equals: expected "10px [a] 1px 2px [b] 3px 4px [d]" but got "[a] 10px 1px [b] 2px 3px [d] 4px"
24
FAIL Property grid-template-columns value '[a] 1em repeat(auto-fill, 2em [b] 3em) 4em [d]' computes to '10px [a] 1px 2px [b] 3px 4px [d]' assert_equals: expected "10px [a] 1px 2px [b] 3px 4px [d]" but got "[a] 10px 1px [b] 2px 3px [d] 4px"
25
FAIL Property grid-template-columns value '[a] 1em repeat(auto-fit, 2em [b] 3em) 4em [d]' computes to '10px [a] 1px 0px [b] 0px 4px [d]' assert_equals: expected "10px [a] 1px 0px [b] 0px 4px [d]" but got "[a] 10px 1px [b] 0px 0px [d] 4px"
26
- a/LayoutTests/platform/gtk/imported/w3c/web-platform-tests/css/css-grid/parsing/grid-template-rows-computed-implicit-track-expected.txt +26 lines
Line 0 a/LayoutTests/platform/gtk/imported/w3c/web-platform-tests/css/css-grid/parsing/grid-template-rows-computed-implicit-track-expected.txt_sec1
1
2
PASS Property grid-template-rows value 'none' computes to '10px' 
3
PASS Property grid-template-rows value '1px' computes to '10px 1px' 
4
FAIL Property grid-template-rows value '1px [a]' computes to '10px 1px [a]' assert_equals: expected "10px 1px [a]" but got "10px [a] 1px"
5
FAIL Property grid-template-rows value '1px [a] 2px' computes to '10px 1px [a] 2px' assert_equals: expected "10px 1px [a] 2px" but got "10px [a] 1px 2px"
6
FAIL Property grid-template-rows value '[a] 1px' computes to '10px [a] 1px' assert_equals: expected "10px [a] 1px" but got "[a] 10px 1px"
7
FAIL Property grid-template-rows value '[a] 1px [b]' computes to '10px [a] 1px [b]' assert_equals: expected "10px [a] 1px [b]" but got "[a] 10px [b] 1px"
8
PASS Property grid-template-rows value '1px repeat(1, 2px) 3px' computes to '10px 1px 2px 3px' 
9
PASS Property grid-template-rows value '1px repeat(auto-fill, 2px) 3px' computes to '10px 1px 2px 3px' 
10
PASS Property grid-template-rows value '1px repeat(auto-fit, 2px) 3px' computes to '10px 1px 0px 3px' 
11
FAIL Property grid-template-rows value '1px [a] repeat(1, 2px 3px) [b] 4px' computes to '10px 1px [a] 2px 3px [b] 4px' assert_equals: expected "10px 1px [a] 2px 3px [b] 4px" but got "10px [a] 1px 2px [b] 3px 4px"
12
FAIL Property grid-template-rows value '1px [a] repeat(auto-fill, 2px 3px) [b] 4px' computes to '10px 1px [a] 2px 3px [b] 4px' assert_equals: expected "10px 1px [a] 2px 3px [b] 4px" but got "10px [a] 1px 2px [b] 3px 4px"
13
FAIL Property grid-template-rows value '1px [a] repeat(auto-fit, 2px 3px) [b] 4px' computes to '10px 1px [a] 0px 0px [b] 4px' assert_equals: expected "10px 1px [a] 0px 0px [b] 4px" but got "10px [a] 1px 0px [b] 0px 4px"
14
FAIL Property grid-template-rows value '1px [a] repeat(1, [b] 2px [c]) [d] 3px' computes to '10px 1px [a b] 2px [c d] 3px' assert_equals: expected "10px 1px [a b] 2px [c d] 3px" but got "10px [a b] 1px [c d] 2px 3px"
15
FAIL Property grid-template-rows value '1px [a] repeat(auto-fill, [b] 2px [c]) [d] 3px' computes to '10px 1px [a b] 2px [c d] 3px' assert_equals: expected "10px 1px [a b] 2px [c d] 3px" but got "10px [a b] 1px [c d] 2px 3px"
16
FAIL Property grid-template-rows value '1px [a] repeat(auto-fit, [b] 2px [c]) [d] 3px' computes to '10px 1px [a b] 0px [c d] 3px' assert_equals: expected "10px 1px [a b] 0px [c d] 3px" but got "10px [a b] 1px [c d] 0px 3px"
17
FAIL Property grid-template-rows value '[a] 1px repeat(1, 2px [b] 3px) 4px [d]' computes to '10px [a] 1px 2px [b] 3px 4px [d]' assert_equals: expected "10px [a] 1px 2px [b] 3px 4px [d]" but got "[a] 10px 1px [b] 2px 3px [d] 4px"
18
FAIL Property grid-template-rows value '[a] 1px repeat(auto-fill, 2px [b] 3px) 4px [d]' computes to '10px [a] 1px 2px [b] 3px 4px [d]' assert_equals: expected "10px [a] 1px 2px [b] 3px 4px [d]" but got "[a] 10px 1px [b] 2px 3px [d] 4px"
19
FAIL Property grid-template-rows value '[a] 1px repeat(auto-fit, 2px [b] 3px) 4px [d]' computes to '10px [a] 1px 0px [b] 0px 4px [d]' assert_equals: expected "10px [a] 1px 0px [b] 0px 4px [d]" but got "[a] 10px 1px [b] 0px 0px [d] 4px"
20
FAIL Property grid-template-rows value '100% [a] repeat(1, [b] 200% [c]) [d] 300%' computes to '10px 1px [a b] 2px [c d] 3px' assert_equals: expected "10px 1px [a b] 2px [c d] 3px" but got "10px [a b] 1px [c d] 2px 3px"
21
FAIL Property grid-template-rows value '100% [a] repeat(auto-fill, [b] 200% [c]) [d] 300%' computes to '10px 1px [a b] 2px [c d] 3px' assert_equals: expected "10px 1px [a b] 2px [c d] 3px" but got "10px [a b] 1px [c d] 2px 3px"
22
FAIL Property grid-template-rows value '100% [a] repeat(auto-fit, [b] 200% [c]) [d] 300%' computes to '10px 1px [a b] 0px [c d] 3px' assert_equals: expected "10px 1px [a b] 0px [c d] 3px" but got "10px [a b] 1px [c d] 0px 3px"
23
FAIL Property grid-template-rows value '[a] 1em repeat(1, 2em [b] 3em) 4em [d]' computes to '10px [a] 1px 2px [b] 3px 4px [d]' assert_equals: expected "10px [a] 1px 2px [b] 3px 4px [d]" but got "[a] 10px 1px [b] 2px 3px [d] 4px"
24
FAIL Property grid-template-rows value '[a] 1em repeat(auto-fill, 2em [b] 3em) 4em [d]' computes to '10px [a] 1px 2px [b] 3px 4px [d]' assert_equals: expected "10px [a] 1px 2px [b] 3px 4px [d]" but got "[a] 10px 1px [b] 2px 3px [d] 4px"
25
FAIL Property grid-template-rows value '[a] 1em repeat(auto-fit, 2em [b] 3em) 4em [d]' computes to '10px [a] 1px 0px [b] 0px 4px [d]' assert_equals: expected "10px [a] 1px 0px [b] 0px 4px [d]" but got "[a] 10px 1px [b] 0px 0px [d] 4px"
26
- a/LayoutTests/platform/gtk/imported/w3c/web-platform-tests/css/css-images/image-orientation/image-orientation-from-image-computed-style-expected.txt +4 lines
Line 0 a/LayoutTests/platform/gtk/imported/w3c/web-platform-tests/css/css-images/image-orientation/image-orientation-from-image-computed-style-expected.txt_sec1
1
               
2
3
PASS image-orientation:from-image computed style reports correct values 
4
- a/LayoutTests/platform/gtk/imported/w3c/web-platform-tests/css/css-images/image-orientation/image-orientation-none-computed-style-expected.txt +4 lines
Line 0 a/LayoutTests/platform/gtk/imported/w3c/web-platform-tests/css/css-images/image-orientation/image-orientation-none-computed-style-expected.txt_sec1
1
               
2
3
PASS image-orientation:none computed style reports correct values 
4
- a/LayoutTests/platform/gtk/imported/w3c/web-platform-tests/css/css-multicol/change-abspos-width-in-second-column-crash-expected.txt +16 lines
Line 0 a/LayoutTests/platform/gtk/imported/w3c/web-platform-tests/css/css-multicol/change-abspos-width-in-second-column-crash-expected.txt_sec1
1
layer at (0,0) size 800x600
2
  RenderView at (0,0) size 800x600
3
layer at (0,0) size 800x158
4
  RenderBlock {HTML} at (0,0) size 800x158
5
    RenderBody {BODY} at (8,16) size 784x134
6
      RenderBlock {P} at (0,0) size 784x18
7
        RenderText {#text} at (0,0) size 112x17
8
          text run at (0,0) width 112: "PASS if no crash."
9
layer at (8,50) size 784x100
10
  RenderBlock {DIV} at (0,34) size 784x100
11
    RenderMultiColumnSet at (0,0) size 784x100
12
layer at (8,50) size 384x150
13
  RenderMultiColumnFlowThread at (0,0) size 384x150
14
layer at (8,50) size 384x150
15
  RenderBlock (relative positioned) {DIV} at (0,0) size 384x150
16
    RenderBlock {DIV} at (0,0) size 384x150
- a/LayoutTests/platform/gtk/imported/w3c/web-platform-tests/css/css-multicol/change-out-of-flow-type-and-remove-inner-multicol-crash-expected.txt +14 lines
Line 0 a/LayoutTests/platform/gtk/imported/w3c/web-platform-tests/css/css-multicol/change-out-of-flow-type-and-remove-inner-multicol-crash-expected.txt_sec1
1
layer at (0,0) size 800x600
2
  RenderView at (0,0) size 800x600
3
layer at (0,0) size 800x41
4
  RenderBlock {HTML} at (0,0) size 800x41
5
layer at (8,8) size 784x25
6
  RenderBody {BODY} at (8,8) size 784x25
7
    RenderMultiColumnSet at (0,0) size 784x25
8
    RenderBlock {DIV} at (0,25) size 784x0
9
    RenderMultiColumnSet at (0,25) size 784x0
10
layer at (8,8) size 384x50
11
  RenderMultiColumnFlowThread at (0,0) size 384x50
12
    RenderBlock {P} at (0,16) size 384x18
13
      RenderText {#text} at (0,0) size 112x17
14
        text run at (0,0) width 112: "PASS if no crash."
- a/LayoutTests/platform/gtk/imported/w3c/web-platform-tests/css/css-properties-values-api/at-property-non-matching-media-crash-expected.txt +8 lines
Line 0 a/LayoutTests/platform/gtk/imported/w3c/web-platform-tests/css/css-properties-values-api/at-property-non-matching-media-crash-expected.txt_sec1
1
layer at (0,0) size 800x600
2
  RenderView at (0,0) size 800x600
3
layer at (0,0) size 800x50
4
  RenderBlock {HTML} at (0,0) size 800x50
5
    RenderBody {BODY} at (8,16) size 784x18
6
      RenderBlock {P} at (0,0) size 784x18
7
        RenderText {#text} at (0,0) size 108x17
8
          text run at (0,0) width 108: "PASS if no crash"
- a/LayoutTests/platform/gtk/imported/w3c/web-platform-tests/css/css-properties-values-api/typedom-expected.txt +6 lines
Line 0 a/LayoutTests/platform/gtk/imported/w3c/web-platform-tests/css/css-properties-values-api/typedom-expected.txt_sec1
1
CONSOLE MESSAGE: TypeError: undefined is not an object (evaluating 'target.attributeStyleMap.clear')
2
3
Harness Error (FAIL), message = TypeError: undefined is not an object (evaluating 'target.attributeStyleMap.clear')
4
5
FAIL Computed * is reified as CSSUnparsedValue target.computedStyleMap is not a function. (In 'target.computedStyleMap()', 'target.computedStyleMap' is undefined)
6
- a/LayoutTests/platform/gtk/imported/w3c/web-platform-tests/css/css-properties-values-api/unit-cycles-expected.txt +5 lines
Line 0 a/LayoutTests/platform/gtk/imported/w3c/web-platform-tests/css/css-properties-values-api/unit-cycles-expected.txt_sec1
1
CONSOLE MESSAGE: TypeError: undefined is not an object (evaluating 'element.attributeStyleMap.clear')
2
3
Harness Error (FAIL), message = TypeError: undefined is not an object (evaluating 'element.attributeStyleMap.clear')
4
5
- a/LayoutTests/platform/gtk/imported/w3c/web-platform-tests/css/css-pseudo/file-chooser-button-display-toggle-crash.tentative-expected.txt +12 lines
Line 0 a/LayoutTests/platform/gtk/imported/w3c/web-platform-tests/css/css-pseudo/file-chooser-button-display-toggle-crash.tentative-expected.txt_sec1
1
layer at (0,0) size 800x600
2
  RenderView at (0,0) size 800x600
3
layer at (0,0) size 800x47
4
  RenderBlock {HTML} at (0,0) size 800x47
5
    RenderBody {BODY} at (8,8) size 784x31
6
      RenderFileUploadControl {INPUT} at (2,2) size 306x27 "no file selected"
7
        RenderButton {INPUT} at (0,0) size 103x27 [bgcolor=#C0C0C0] [border: (2px outset #C0C0C0)]
8
          RenderBlock (anonymous) at (8,4) size 87x18
9
            RenderText at (0,0) size 87x17
10
              text run at (0,0) width 87: "Choose File"
11
      RenderText {#text} at (0,0) size 0x0
12
      RenderText {#text} at (0,0) size 0x0
- a/LayoutTests/platform/gtk/imported/w3c/web-platform-tests/css/css-pseudo/marker-intrinsic-contribution-001-expected.txt +10 lines
Line 0 a/LayoutTests/platform/gtk/imported/w3c/web-platform-tests/css/css-pseudo/marker-intrinsic-contribution-001-expected.txt_sec1
1
2
PASS Intrinsic contribution of outside symbol marker 
3
PASS Intrinsic contribution of outside decimal marker 
4
PASS Intrinsic contribution of outside string marker 
5
PASS Intrinsic contribution of outside content marker 
6
PASS Intrinsic contribution of inside symbol marker 
7
FAIL Intrinsic contribution of inside decimal marker assert_equals: clientWidth expected 30 but got 11
8
FAIL Intrinsic contribution of inside string marker assert_equals: clientWidth expected 60 but got 11
9
FAIL Intrinsic contribution of inside content marker assert_equals: clientWidth expected 70 but got 11
10
- a/LayoutTests/platform/gtk/imported/w3c/web-platform-tests/css/css-sizing/percentage-height-in-flexbox-expected.txt +5 lines
Line 0 a/LayoutTests/platform/gtk/imported/w3c/web-platform-tests/css/css-sizing/percentage-height-in-flexbox-expected.txt_sec1
1
2
3
FAIL #target offsetSize matches #container offsetSize assert_equals: expected 50 but got 0
4
FAIL #target offsetSize matches #container offsetSize after resize assert_equals: expected 100 but got 0
5
- a/LayoutTests/platform/gtk/imported/w3c/web-platform-tests/css/css-transitions/transition-base-response-001-expected.txt +5 lines
Line 0 a/LayoutTests/platform/gtk/imported/w3c/web-platform-tests/css/css-transitions/transition-base-response-001-expected.txt_sec1
1
2
FAIL em units respond to font-size transition assert_equals: expected "15px" but got "20px"
3
FAIL ex units respond to font-size transition assert_equals: expected "6.875px" but got "9.171875px"
4
PASS var() references respond to custom property transition 
5
- a/LayoutTests/platform/gtk/imported/w3c/web-platform-tests/css/css-values/minmax-angle-computed-expected.txt -32 / +32 lines
Lines 1-34 a/LayoutTests/platform/gtk/imported/w3c/web-platform-tests/css/css-values/minmax-angle-computed-expected.txt_sec1
1
1
2
PASS Property transform value 'rotate(min(1deg))' 
2
PASS min(1deg) should be used-value-equivalent to 1deg 
3
PASS Property transform value 'rotate(min(1grad))' 
3
PASS min(1grad) should be used-value-equivalent to 1grad 
4
PASS Property transform value 'rotate(min(1rad))' 
4
PASS min(1rad) should be used-value-equivalent to 1rad 
5
PASS Property transform value 'rotate(min(1turn))' 
5
PASS min(1turn) should be used-value-equivalent to 1turn 
6
PASS Property transform value 'rotate(max(1deg))' 
6
PASS max(1deg) should be used-value-equivalent to 1deg 
7
PASS Property transform value 'rotate(max(1grad))' 
7
PASS max(1grad) should be used-value-equivalent to 1grad 
8
PASS Property transform value 'rotate(max(1rad))' 
8
PASS max(1rad) should be used-value-equivalent to 1rad 
9
PASS Property transform value 'rotate(max(1turn))' 
9
PASS max(1turn) should be used-value-equivalent to 1turn 
10
PASS Property transform value 'rotate(min(1deg, 2deg))' 
10
PASS min(1deg, 2deg) should be used-value-equivalent to 1deg 
11
PASS Property transform value 'rotate(min(1grad, 2grad))' 
11
PASS min(1grad, 2grad) should be used-value-equivalent to 1grad 
12
PASS Property transform value 'rotate(min(1rad, 2rad))' 
12
PASS min(1rad, 2rad) should be used-value-equivalent to 1rad 
13
PASS Property transform value 'rotate(min(1turn, 2turn))' 
13
PASS min(1turn, 2turn) should be used-value-equivalent to 1turn 
14
PASS Property transform value 'rotate(max(1deg, 2deg))' 
14
PASS max(1deg, 2deg) should be used-value-equivalent to 2deg 
15
PASS Property transform value 'rotate(max(1grad, 2grad))' 
15
PASS max(1grad, 2grad) should be used-value-equivalent to 2grad 
16
PASS Property transform value 'rotate(max(1rad, 2rad))' 
16
PASS max(1rad, 2rad) should be used-value-equivalent to 2rad 
17
PASS Property transform value 'rotate(max(1turn, 2turn))' 
17
PASS max(1turn, 2turn) should be used-value-equivalent to 2turn 
18
PASS Property transform value 'rotate(min(90deg, 0.26turn))' 
18
PASS min(90deg, 0.26turn) should be used-value-equivalent to 90deg 
19
FAIL Property transform value 'rotate(min(1.57rad, 95deg))' assert_equals: expected "matrix(0.0007963267107332633, 0.9999996829318346, -0.9999996829318346, 0.0007963267107332633, 0, 0)" but got "matrix(0.0007963267107334854, 0.9999996829318346, -0.9999996829318346, 0.0007963267107334854, 0, 0)"
19
FAIL min(1.57rad, 95deg) should be used-value-equivalent to 1.57rad assert_equals: rotate(min(1.57rad, 95deg)) and rotate(1.57rad) serialize to the same thing in used values. expected "matrix(0.0007963267107332633, 0.9999996829318346, -0.9999996829318346, 0.0007963267107332633, 0, 0)" but got "matrix(0.0007963267107334854, 0.9999996829318346, -0.9999996829318346, 0.0007963267107334854, 0, 0)"
20
PASS Property transform value 'rotate(max(91deg, 0.25turn))' 
20
PASS max(91deg, 0.25turn) should be used-value-equivalent to 91deg 
21
PASS Property transform value 'rotate(max(1.58rad, 90deg))' 
21
PASS max(1.58rad, 90deg) should be used-value-equivalent to 1.58rad 
22
FAIL Property transform value 'rotate(min(270deg, max(0.25turn, 3.14rad)))' assert_equals: expected "matrix(-0.9999987317275395, 0.0015926529164868282, -0.0015926529164868282, -0.9999987317275395, 0, 0)" but got "matrix(-0.9999987317275395, 0.0015926529164872723, -0.0015926529164872723, -0.9999987317275395, 0, 0)"
22
FAIL min(270deg, max(0.25turn, 3.14rad)) should be used-value-equivalent to 3.14rad assert_equals: rotate(min(270deg, max(0.25turn, 3.14rad))) and rotate(3.14rad) serialize to the same thing in used values. expected "matrix(-0.9999987317275395, 0.0015926529164868282, -0.0015926529164868282, -0.9999987317275395, 0, 0)" but got "matrix(-0.9999987317275395, 0.0015926529164872723, -0.0015926529164872723, -0.9999987317275395, 0, 0)"
23
FAIL Property transform value 'rotate(max(0.25turn, min(270deg, 3.14rad)))' assert_equals: expected "matrix(-0.9999987317275395, 0.0015926529164868282, -0.0015926529164868282, -0.9999987317275395, 0, 0)" but got "matrix(-0.9999987317275395, 0.0015926529164872723, -0.0015926529164872723, -0.9999987317275395, 0, 0)"
23
FAIL max(0.25turn, min(270deg, 3.14rad)) should be used-value-equivalent to 3.14rad assert_equals: rotate(max(0.25turn, min(270deg, 3.14rad))) and rotate(3.14rad) serialize to the same thing in used values. expected "matrix(-0.9999987317275395, 0.0015926529164868282, -0.0015926529164868282, -0.9999987317275395, 0, 0)" but got "matrix(-0.9999987317275395, 0.0015926529164872723, -0.0015926529164872723, -0.9999987317275395, 0, 0)"
24
PASS Property transform value 'rotate(calc(min(90deg, 1.58rad) + 0.25turn))' 
24
PASS calc(min(90deg, 1.58rad) + 0.25turn) should be used-value-equivalent to 180deg 
25
PASS Property transform value 'rotate(calc(min(90deg, 1.58rad) - 0.125turn))' 
25
PASS calc(min(90deg, 1.58rad) - 0.125turn) should be used-value-equivalent to 45deg 
26
PASS Property transform value 'rotate(calc(min(90deg, 1.58rad) * 2)' 
26
PASS calc(min(90deg, 1.58rad) * 2 should be used-value-equivalent to 180deg 
27
PASS Property transform value 'rotate(calc(min(90deg, 1.58rad) / 2)' 
27
PASS calc(min(90deg, 1.58rad) / 2 should be used-value-equivalent to 45deg 
28
PASS Property transform value 'rotate(calc(max(90deg, 1.56rad) + 0.25turn))' 
28
PASS calc(max(90deg, 1.56rad) + 0.25turn) should be used-value-equivalent to 180deg 
29
PASS Property transform value 'rotate(calc(max(90deg, 1.56rad) - 0.125turn))' 
29
PASS calc(max(90deg, 1.56rad) - 0.125turn) should be used-value-equivalent to 45deg 
30
PASS Property transform value 'rotate(calc(max(90deg, 1.56rad) * 2)' 
30
PASS calc(max(90deg, 1.56rad) * 2 should be used-value-equivalent to 180deg 
31
PASS Property transform value 'rotate(calc(max(90deg, 1.56rad) / 2)' 
31
PASS calc(max(90deg, 1.56rad) / 2 should be used-value-equivalent to 45deg 
32
PASS Property transform value 'rotate(calc(min(90deg, 1.58rad) + max(0.25turn, 99grad)))' 
32
PASS calc(min(90deg, 1.58rad) + max(0.25turn, 99grad)) should be used-value-equivalent to 180deg 
33
PASS Property transform value 'rotate(calc(min(90deg, 1.58rad) - max(0.25turn, 99grad)))' 
33
PASS calc(min(90deg, 1.58rad) - max(0.25turn, 99grad)) should be used-value-equivalent to 0deg 
34
34
- a/LayoutTests/platform/gtk/imported/w3c/web-platform-tests/css/css-values/minmax-length-computed-expected.txt -82 / +80 lines
Lines 1-84 a/LayoutTests/platform/gtk/imported/w3c/web-platform-tests/css/css-values/minmax-length-computed-expected.txt_sec1
1
1
2
Harness Error (FAIL), message = 1 duplicate test name: "Property letter-spacing value 'min(15px, 1em)'"
2
PASS min(1px) should be used-value-equivalent to 1px 
3
3
PASS min(1cm) should be used-value-equivalent to 1cm 
4
PASS Property letter-spacing value 'min(1px)' 
4
PASS min(1mm) should be used-value-equivalent to 1mm 
5
PASS Property letter-spacing value 'min(1cm)' 
5
PASS min(1Q) should be used-value-equivalent to 1Q 
6
PASS Property letter-spacing value 'min(1mm)' 
6
PASS min(1in) should be used-value-equivalent to 1in 
7
PASS Property letter-spacing value 'min(1Q)' 
7
PASS min(1pc) should be used-value-equivalent to 1pc 
8
PASS Property letter-spacing value 'min(1in)' 
8
PASS min(1pt) should be used-value-equivalent to 1pt 
9
PASS Property letter-spacing value 'min(1pc)' 
9
PASS min(1em) should be used-value-equivalent to 1em 
10
PASS Property letter-spacing value 'min(1pt)' 
10
PASS min(1ex) should be used-value-equivalent to 1ex 
11
PASS Property letter-spacing value 'min(1em)' 
11
PASS min(1ch) should be used-value-equivalent to 1ch 
12
PASS Property letter-spacing value 'min(1ex)' 
12
PASS min(1rem) should be used-value-equivalent to 1rem 
13
PASS Property letter-spacing value 'min(1ch)' 
13
PASS min(1vh) should be used-value-equivalent to 1vh 
14
PASS Property letter-spacing value 'min(1rem)' 
14
PASS min(1vw) should be used-value-equivalent to 1vw 
15
PASS Property letter-spacing value 'min(1vh)' 
15
PASS min(1vmin) should be used-value-equivalent to 1vmin 
16
PASS Property letter-spacing value 'min(1vw)' 
16
PASS min(1vmax) should be used-value-equivalent to 1vmax 
17
PASS Property letter-spacing value 'min(1vmin)' 
17
PASS max(1px) should be used-value-equivalent to 1px 
18
PASS Property letter-spacing value 'min(1vmax)' 
18
PASS max(1cm) should be used-value-equivalent to 1cm 
19
PASS Property letter-spacing value 'max(1px)' 
19
PASS max(1mm) should be used-value-equivalent to 1mm 
20
PASS Property letter-spacing value 'max(1cm)' 
20
PASS max(1Q) should be used-value-equivalent to 1Q 
21
PASS Property letter-spacing value 'max(1mm)' 
21
PASS max(1in) should be used-value-equivalent to 1in 
22
PASS Property letter-spacing value 'max(1Q)' 
22
PASS max(1pc) should be used-value-equivalent to 1pc 
23
PASS Property letter-spacing value 'max(1in)' 
23
PASS max(1pt) should be used-value-equivalent to 1pt 
24
PASS Property letter-spacing value 'max(1pc)' 
24
PASS max(1em) should be used-value-equivalent to 1em 
25
PASS Property letter-spacing value 'max(1pt)' 
25
PASS max(1ex) should be used-value-equivalent to 1ex 
26
PASS Property letter-spacing value 'max(1em)' 
26
PASS max(1ch) should be used-value-equivalent to 1ch 
27
PASS Property letter-spacing value 'max(1ex)' 
27
PASS max(1rem) should be used-value-equivalent to 1rem 
28
PASS Property letter-spacing value 'max(1ch)' 
28
PASS max(1vh) should be used-value-equivalent to 1vh 
29
PASS Property letter-spacing value 'max(1rem)' 
29
PASS max(1vw) should be used-value-equivalent to 1vw 
30
PASS Property letter-spacing value 'max(1vh)' 
30
PASS max(1vmin) should be used-value-equivalent to 1vmin 
31
PASS Property letter-spacing value 'max(1vw)' 
31
PASS max(1vmax) should be used-value-equivalent to 1vmax 
32
PASS Property letter-spacing value 'max(1vmin)' 
32
PASS min(1px, 2px) should be used-value-equivalent to 1px 
33
PASS Property letter-spacing value 'max(1vmax)' 
33
PASS min(1cm, 2cm) should be used-value-equivalent to 1cm 
34
PASS Property letter-spacing value 'min(1px, 2px)' 
34
PASS min(1mm, 2mm) should be used-value-equivalent to 1mm 
35
PASS Property letter-spacing value 'min(1cm, 2cm)' 
35
PASS min(1Q, 2Q) should be used-value-equivalent to 1Q 
36
PASS Property letter-spacing value 'min(1mm, 2mm)' 
36
PASS min(1in, 2in) should be used-value-equivalent to 1in 
37
PASS Property letter-spacing value 'min(1Q, 2Q)' 
37
PASS min(1pc, 2pc) should be used-value-equivalent to 1pc 
38
PASS Property letter-spacing value 'min(1in, 2in)' 
38
PASS min(1pt, 2pt) should be used-value-equivalent to 1pt 
39
PASS Property letter-spacing value 'min(1pc, 2pc)' 
39
PASS min(1em, 2em) should be used-value-equivalent to 1em 
40
PASS Property letter-spacing value 'min(1pt, 2pt)' 
40
PASS min(1ex, 2ex) should be used-value-equivalent to 1ex 
41
PASS Property letter-spacing value 'min(1em, 2em)' 
41
PASS min(1ch, 2ch) should be used-value-equivalent to 1ch 
42
PASS Property letter-spacing value 'min(1ex, 2ex)' 
42
PASS min(1rem, 2rem) should be used-value-equivalent to 1rem 
43
PASS Property letter-spacing value 'min(1ch, 2ch)' 
43
PASS min(1vh, 2vh) should be used-value-equivalent to 1vh 
44
PASS Property letter-spacing value 'min(1rem, 2rem)' 
44
PASS min(1vw, 2vw) should be used-value-equivalent to 1vw 
45
PASS Property letter-spacing value 'min(1vh, 2vh)' 
45
PASS min(1vmin, 2vmin) should be used-value-equivalent to 1vmin 
46
PASS Property letter-spacing value 'min(1vw, 2vw)' 
46
PASS min(1vmax, 2vmax) should be used-value-equivalent to 1vmax 
47
PASS Property letter-spacing value 'min(1vmin, 2vmin)' 
47
PASS max(1px, 2px) should be used-value-equivalent to 2px 
48
PASS Property letter-spacing value 'min(1vmax, 2vmax)' 
48
PASS max(1cm, 2cm) should be used-value-equivalent to 2cm 
49
PASS Property letter-spacing value 'max(1px, 2px)' 
49
PASS max(1mm, 2mm) should be used-value-equivalent to 2mm 
50
PASS Property letter-spacing value 'max(1cm, 2cm)' 
50
PASS max(1Q, 2Q) should be used-value-equivalent to 2Q 
51
PASS Property letter-spacing value 'max(1mm, 2mm)' 
51
PASS max(1in, 2in) should be used-value-equivalent to 2in 
52
PASS Property letter-spacing value 'max(1Q, 2Q)' 
52
PASS max(1pc, 2pc) should be used-value-equivalent to 2pc 
53
PASS Property letter-spacing value 'max(1in, 2in)' 
53
PASS max(1pt, 2pt) should be used-value-equivalent to 2pt 
54
PASS Property letter-spacing value 'max(1pc, 2pc)' 
54
PASS max(1em, 2em) should be used-value-equivalent to 2em 
55
PASS Property letter-spacing value 'max(1pt, 2pt)' 
55
PASS max(1ex, 2ex) should be used-value-equivalent to 2ex 
56
PASS Property letter-spacing value 'max(1em, 2em)' 
56
PASS max(1ch, 2ch) should be used-value-equivalent to 2ch 
57
PASS Property letter-spacing value 'max(1ex, 2ex)' 
57
PASS max(1rem, 2rem) should be used-value-equivalent to 2rem 
58
PASS Property letter-spacing value 'max(1ch, 2ch)' 
58
PASS max(1vh, 2vh) should be used-value-equivalent to 2vh 
59
PASS Property letter-spacing value 'max(1rem, 2rem)' 
59
PASS max(1vw, 2vw) should be used-value-equivalent to 2vw 
60
PASS Property letter-spacing value 'max(1vh, 2vh)' 
60
PASS max(1vmin, 2vmin) should be used-value-equivalent to 2vmin 
61
PASS Property letter-spacing value 'max(1vw, 2vw)' 
61
PASS max(1vmax, 2vmax) should be used-value-equivalent to 2vmax 
62
PASS Property letter-spacing value 'max(1vmin, 2vmin)' 
62
PASS min(95px, 1in) should be used-value-equivalent to 95px 
63
PASS Property letter-spacing value 'max(1vmax, 2vmax)' 
63
PASS max(95px, 1in) should be used-value-equivalent to 1in 
64
PASS Property letter-spacing value 'min(95px, 1in)' 
64
PASS min(15px, 1em) should be used-value-equivalent to 15px 
65
PASS Property letter-spacing value 'max(95px, 1in)' 
65
PASS min(25px, 1em) should be used-value-equivalent to 20px 
66
PASS Property letter-spacing value 'min(15px, 1em)' 
66
PASS max(15px, 1em) should be used-value-equivalent to 20px 
67
PASS Property letter-spacing value 'min(25px, 1em)' 
67
PASS max(25px, 1em) should be used-value-equivalent to 25px 
68
PASS Property letter-spacing value 'max(15px, 1em)' 
68
PASS min(15px, 1em) should be used-value-equivalent to 10px; fontSize=10px 
69
PASS Property letter-spacing value 'max(25px, 1em)' 
69
PASS max(15px, 2em) should be used-value-equivalent to 20px; fontSize=10px 
70
PASS Property letter-spacing value 'min(15px, 1em)' 
70
PASS min(25px, max(15px, 1em)) should be used-value-equivalent to 20px 
71
PASS Property letter-spacing value 'max(15px, 2em)' 
71
PASS max(15px, min(25px, 1em)) should be used-value-equivalent to 20px 
72
PASS Property letter-spacing value 'min(25px, max(15px, 1em))' 
72
PASS calc(min(1em, 21px) + 10px) should be used-value-equivalent to 30px 
73
PASS Property letter-spacing value 'max(15px, min(25px, 1em))' 
73
PASS calc(min(1em, 21px) - 10px) should be used-value-equivalent to 10px 
74
PASS Property letter-spacing value 'calc(min(1em, 21px) + 10px)' 
74
PASS calc(min(1em, 21px) * 2 should be used-value-equivalent to 40px 
75
PASS Property letter-spacing value 'calc(min(1em, 21px) - 10px)' 
75
PASS calc(min(1em, 21px) / 2 should be used-value-equivalent to 10px 
76
PASS Property letter-spacing value 'calc(min(1em, 21px) * 2' 
76
PASS calc(max(1em, 19px) + 10px) should be used-value-equivalent to 30px 
77
PASS Property letter-spacing value 'calc(min(1em, 21px) / 2' 
77
PASS calc(max(1em, 19px) - 10px) should be used-value-equivalent to 10px 
78
PASS Property letter-spacing value 'calc(max(1em, 19px) + 10px)' 
78
PASS calc(max(1em, 19px) * 2 should be used-value-equivalent to 40px 
79
PASS Property letter-spacing value 'calc(max(1em, 19px) - 10px)' 
79
PASS calc(max(1em, 19px) / 2 should be used-value-equivalent to 10px 
80
PASS Property letter-spacing value 'calc(max(1em, 19px) * 2' 
80
PASS calc(min(1em, 21px) + max(0.9em, 20px)) should be used-value-equivalent to 40px 
81
PASS Property letter-spacing value 'calc(max(1em, 19px) / 2' 
81
PASS calc(min(1em, 21px) - max(0.9em, 20px)) should be used-value-equivalent to 0px 
82
PASS Property letter-spacing value 'calc(min(1em, 21px) + max(0.9em, 20px))' 
83
PASS Property letter-spacing value 'calc(min(1em, 21px) - max(0.9em, 20px))' 
84
82
- a/LayoutTests/platform/gtk/imported/w3c/web-platform-tests/css/css-values/minmax-length-percent-computed-expected.txt -52 / +50 lines
Lines 1-54 a/LayoutTests/platform/gtk/imported/w3c/web-platform-tests/css/css-values/minmax-length-percent-computed-expected.txt_sec1
1
1
2
Harness Error (FAIL), message = 4 duplicate test names: "Property margin-left value 'min(20px, 10%)'", "Property margin-left value 'min(1em, 10%)'", "Property margin-left value 'max(20px, 10%)'", "Property margin-left value 'max(1em, 10%)'"
2
PASS min(1px + 1%) should be used-value-equivalent to calc(1px + 1%) 
3
3
PASS min(1cm + 1%) should be used-value-equivalent to calc(1cm + 1%) 
4
PASS Property margin-left value 'min(1px + 1%)' 
4
PASS min(1mm + 1%) should be used-value-equivalent to calc(1mm + 1%) 
5
PASS Property margin-left value 'min(1cm + 1%)' 
5
PASS min(1Q + 1%) should be used-value-equivalent to calc(1Q + 1%) 
6
PASS Property margin-left value 'min(1mm + 1%)' 
6
PASS min(1in + 1%) should be used-value-equivalent to calc(1in + 1%) 
7
PASS Property margin-left value 'min(1Q + 1%)' 
7
PASS min(1pc + 1%) should be used-value-equivalent to calc(1pc + 1%) 
8
PASS Property margin-left value 'min(1in + 1%)' 
8
PASS min(1pt + 1%) should be used-value-equivalent to calc(1pt + 1%) 
9
PASS Property margin-left value 'min(1pc + 1%)' 
9
PASS min(1em + 1%) should be used-value-equivalent to calc(1em + 1%) 
10
PASS Property margin-left value 'min(1pt + 1%)' 
10
PASS min(1ex + 1%) should be used-value-equivalent to calc(1ex + 1%) 
11
PASS Property margin-left value 'min(1em + 1%)' 
11
PASS min(1ch + 1%) should be used-value-equivalent to calc(1ch + 1%) 
12
PASS Property margin-left value 'min(1ex + 1%)' 
12
PASS min(1rem + 1%) should be used-value-equivalent to calc(1rem + 1%) 
13
PASS Property margin-left value 'min(1ch + 1%)' 
13
PASS min(1vh + 1%) should be used-value-equivalent to calc(1vh + 1%) 
14
PASS Property margin-left value 'min(1rem + 1%)' 
14
PASS min(1vw + 1%) should be used-value-equivalent to calc(1vw + 1%) 
15
PASS Property margin-left value 'min(1vh + 1%)' 
15
PASS min(1vmin + 1%) should be used-value-equivalent to calc(1vmin + 1%) 
16
PASS Property margin-left value 'min(1vw + 1%)' 
16
PASS min(1vmax + 1%) should be used-value-equivalent to calc(1vmax + 1%) 
17
PASS Property margin-left value 'min(1vmin + 1%)' 
17
PASS max(1px + 1%) should be used-value-equivalent to calc(1px + 1%) 
18
PASS Property margin-left value 'min(1vmax + 1%)' 
18
PASS max(1cm + 1%) should be used-value-equivalent to calc(1cm + 1%) 
19
PASS Property margin-left value 'max(1px + 1%)' 
19
PASS max(1mm + 1%) should be used-value-equivalent to calc(1mm + 1%) 
20
PASS Property margin-left value 'max(1cm + 1%)' 
20
PASS max(1Q + 1%) should be used-value-equivalent to calc(1Q + 1%) 
21
PASS Property margin-left value 'max(1mm + 1%)' 
21
PASS max(1in + 1%) should be used-value-equivalent to calc(1in + 1%) 
22
PASS Property margin-left value 'max(1Q + 1%)' 
22
PASS max(1pc + 1%) should be used-value-equivalent to calc(1pc + 1%) 
23
PASS Property margin-left value 'max(1in + 1%)' 
23
PASS max(1pt + 1%) should be used-value-equivalent to calc(1pt + 1%) 
24
PASS Property margin-left value 'max(1pc + 1%)' 
24
PASS max(1em + 1%) should be used-value-equivalent to calc(1em + 1%) 
25
PASS Property margin-left value 'max(1pt + 1%)' 
25
PASS max(1ex + 1%) should be used-value-equivalent to calc(1ex + 1%) 
26
PASS Property margin-left value 'max(1em + 1%)' 
26
PASS max(1ch + 1%) should be used-value-equivalent to calc(1ch + 1%) 
27
PASS Property margin-left value 'max(1ex + 1%)' 
27
PASS max(1rem + 1%) should be used-value-equivalent to calc(1rem + 1%) 
28
PASS Property margin-left value 'max(1ch + 1%)' 
28
PASS max(1vh + 1%) should be used-value-equivalent to calc(1vh + 1%) 
29
PASS Property margin-left value 'max(1rem + 1%)' 
29
PASS max(1vw + 1%) should be used-value-equivalent to calc(1vw + 1%) 
30
PASS Property margin-left value 'max(1vh + 1%)' 
30
PASS max(1vmin + 1%) should be used-value-equivalent to calc(1vmin + 1%) 
31
PASS Property margin-left value 'max(1vw + 1%)' 
31
PASS max(1vmax + 1%) should be used-value-equivalent to calc(1vmax + 1%) 
32
PASS Property margin-left value 'max(1vmin + 1%)' 
32
PASS min(20px, 10%) should be used-value-equivalent to 20px 
33
PASS Property margin-left value 'max(1vmax + 1%)' 
33
PASS min(1em, 10%) should be used-value-equivalent to 20px 
34
PASS Property margin-left value 'min(20px, 10%)' 
34
PASS max(20px, 10%) should be used-value-equivalent to 40px 
35
PASS Property margin-left value 'min(1em, 10%)' 
35
PASS max(1em, 10%) should be used-value-equivalent to 40px 
36
PASS Property margin-left value 'max(20px, 10%)' 
36
PASS min(20px, 10%) should be used-value-equivalent to 10px; width=100px 
37
PASS Property margin-left value 'max(1em, 10%)' 
37
PASS min(1em, 10%) should be used-value-equivalent to 10px; width=100px 
38
PASS Property margin-left value 'min(20px, 10%)' 
38
PASS max(20px, 10%) should be used-value-equivalent to 20px; width=100px 
39
PASS Property margin-left value 'min(1em, 10%)' 
39
PASS max(1em, 10%) should be used-value-equivalent to 20px; width=100px 
40
PASS Property margin-left value 'max(20px, 10%)' 
40
PASS min(30px + 10%, 60px + 5%) should be used-value-equivalent to 70px 
41
PASS Property margin-left value 'max(1em, 10%)' 
41
PASS max(2em + 10%, 1em + 20%) should be used-value-equivalent to 100px 
42
PASS Property margin-left value 'min(30px + 10%, 60px + 5%)' 
42
PASS calc(min(1.5em, 10%) + 10px) should be used-value-equivalent to 40px 
43
PASS Property margin-left value 'max(2em + 10%, 1em + 20%)' 
43
PASS calc(min(1.5em, 10%) - 10px) should be used-value-equivalent to 20px 
44
PASS Property margin-left value 'calc(min(1.5em, 10%) + 10px)' 
44
PASS calc(min(1.5em, 10%) * 2) should be used-value-equivalent to 60px 
45
PASS Property margin-left value 'calc(min(1.5em, 10%) - 10px)' 
45
PASS calc(min(1.5em, 10%) / 2) should be used-value-equivalent to 15px 
46
PASS Property margin-left value 'calc(min(1.5em, 10%) * 2)' 
46
PASS calc(max(1em, 15%) + 10px) should be used-value-equivalent to 70px 
47
PASS Property margin-left value 'calc(min(1.5em, 10%) / 2)' 
47
PASS calc(max(1em, 15%) - 10px) should be used-value-equivalent to 50px 
48
PASS Property margin-left value 'calc(max(1em, 15%) + 10px)' 
48
PASS calc(max(1em, 15%) * 2) should be used-value-equivalent to 120px 
49
PASS Property margin-left value 'calc(max(1em, 15%) - 10px)' 
49
PASS calc(max(1em, 15%) / 2) should be used-value-equivalent to 30px 
50
PASS Property margin-left value 'calc(max(1em, 15%) * 2)' 
50
PASS calc(min(1.5em, 10%) + max(1em, 15%)) should be used-value-equivalent to 90px 
51
PASS Property margin-left value 'calc(max(1em, 15%) / 2)' 
51
PASS calc(min(1.5em, 10%) - max(1em, 15%)) should be used-value-equivalent to -30px 
52
PASS Property margin-left value 'calc(min(1.5em, 10%) + max(1em, 15%))' 
53
PASS Property margin-left value 'calc(min(1.5em, 10%) - max(1em, 15%))' 
54
52
- a/LayoutTests/platform/gtk/imported/w3c/web-platform-tests/css/cssom/css-style-attr-decl-block-expected.txt +9 lines
Line 0 a/LayoutTests/platform/gtk/imported/w3c/web-platform-tests/css/cssom/css-style-attr-decl-block-expected.txt_sec1
1
2
PASS Style attribute should create CSS declaration block based on its content 
3
FAIL Changes to style attribute should reflect on CSS declaration block assert_equals: CSS declaration block after removing the style attribute expected "" but got "z-index: 21;"
4
PASS Changes to CSS declaration block should reflect on style attribute 
5
PASS Changes to CSS declaration block should queue mutation record for style attribute 
6
PASS Removing non-existing property or setting invalid value on CSS declaration block shouldn't queue mutation record 
7
PASS Changes to CSS declaration block after a base URL change 
8
FAIL Expansion of all:unset and all:revert treated identically assert_equals: expected "color: unset; color-scheme: unset; display: unset; font-family: unset; font-feature-settings: unset; font-optical-sizing: unset; font-size: unset; font-stretch: unset; font-style: unset; font-synthesis: unset; font-variant-alternates: unset; font-variant-caps: unset; font-variant-east-asian: unset; font-variant-ligatures: unset; font-variant-numeric: unset; font-variant-position: unset; font-variation-settings: unset; font-weight: unset; text-rendering: unset; writing-mode: unset; zoom: unset; -webkit-font-kerning: unset; -webkit-font-smoothing: unset; -webkit-locale: unset; -webkit-text-orientation: unset; -webkit-text-zoom: unset; align-content: unset; align-items: unset; align-self: unset; alignment-baseline: unset; alt: unset; animation: unset unset unset unset unset unset unset unset; background-attachment: unset; background-blend-mode: unset; background-clip: unset; background-color: unset; background-image: unset; background-origin: unset; background-size: unset; baseline-shift: unset; block-size: unset; border-block-end-color: unset; border-block-end-style: unset; border-block-end-width: unset; border-block-start-color: unset; border-block-start-style: unset; border-block-start-width: unset; border: unset unset unset; border-bottom-right-radius: unset; border-collapse: unset; border-image-outset: unset; border-image-repeat: unset; border-image-slice: unset; border-image-source: unset; border-image-width: unset; border-inline-end-color: unset; border-inline-end-style: unset; border-inline-end-width: unset; border-inline-start-color: unset; border-inline-start-style: unset; border-inline-start-width: unset; border-top-left-radius: unset; border-top-right-radius: unset; bottom: unset; box-shadow: unset; box-sizing: unset; break-after: unset; break-before: unset; break-inside: unset; buffered-rendering: unset; caption-side: unset; caret-color: unset; clear: unset; clip: unset; clip-path: unset; clip-rule: unset; color-interpolation: unset; color-interpolation-filters: unset; color-profile: unset; color-rendering: unset; column-count: unset; column-fill: unset; column-gap: unset; column-rule-color: unset; column-rule-style: unset; column-rule-width: unset; column-span: unset; column-width: unset; content: unset; counter-increment: unset; counter-reset: unset; cursor: unset; cx: unset; cy: unset; dominant-baseline: unset; empty-cells: unset; enable-background: unset; fill: unset; fill-opacity: unset; fill-rule: unset; filter: unset; flex: unset unset unset; flex-flow: unset unset; float: unset; flood-color: unset; flood-opacity: unset; font-display: unset; glyph-orientation-horizontal: unset; glyph-orientation-vertical: unset; grid-auto-columns: unset; grid-auto-flow: unset; grid-auto-rows: unset; grid-column-end: unset; grid-column-start: unset; grid-row-end: unset; grid-row-start: unset; grid-template-areas: unset; grid-template-columns: unset; grid-template-rows: unset; hanging-punctuation: unset; height: unset; image-orientation: unset; image-rendering: unset; inline-size: unset; isolation: unset; justify-content: unset; justify-items: unset; justify-self: unset; kerning: unset; left: unset; letter-spacing: unset; lighting-color: unset; line-break: unset; line-height: unset; list-style: unset unset unset; margin-block-end: unset; margin-block-start: unset; margin: unset; margin-inline-end: unset; margin-inline-start: unset; marker-end: unset; marker-mid: unset; marker-start: unset; mask: unset; mask-type: unset; max-block-size: unset; max-height: unset; max-inline-size: unset; max-width: unset; min-block-size: unset; min-height: unset; min-inline-size: unset; min-width: unset; mix-blend-mode: unset; object-fit: unset; object-position: unset; opacity: unset; order: unset; orphans: unset; outline: unset unset unset; outline-offset: unset; overflow-wrap: unset; overflow: unset; padding-block-end: unset; padding-block-start: unset; padding: unset; padding-inline-end: unset; padding-inline-start: unset; page: unset; paint-order: unset; perspective: unset; perspective-origin: unset unset; pointer-events: unset; position: unset; quotes: unset; r: unset; resize: unset; right: unset; row-gap: unset; rx: unset; ry: unset; scroll-behavior: unset; shape-image-threshold: unset; shape-margin: unset; shape-outside: unset; shape-rendering: unset; size: unset; speak-as: unset; src: unset; stop-color: unset; stop-opacity: unset; stroke: unset; stroke-color: unset; stroke-dasharray: unset; stroke-dashoffset: unset; stroke-linecap: unset; stroke-linejoin: unset; stroke-miterlimit: unset; stroke-opacity: unset; stroke-width: unset; tab-size: unset; table-layout: unset; text-align: unset; text-anchor: unset; text-decoration: unset; text-decoration-color: unset; text-decoration-line: unset; text-decoration-skip: unset; text-decoration-style: unset; text-decoration-thickness: unset; text-indent: unset; text-overflow: unset; text-shadow: unset; text-transform: unset; text-underline-offset: unset; text-underline-position: unset; top: unset; touch-action: unset; transform: unset; transform-box: unset; transform-origin: unset unset unset; transform-style: unset; transition: unset unset unset unset; unicode-range: unset; vector-effect: unset; vertical-align: unset; visibility: unset; white-space: unset; widows: unset; width: unset; will-change: unset; word-break: unset; word-spacing: unset; word-wrap: unset; x: unset; y: unset; z-index: unset; -apple-color-filter: unset; -webkit-appearance: unset; -webkit-aspect-ratio: unset; -webkit-backface-visibility: unset; -webkit-background-clip: unset; -webkit-background-composite: unset; -webkit-background-origin: unset; -webkit-background-size: unset; -webkit-border-fit: unset; border-spacing: unset; -webkit-border-image: unset; -webkit-box-align: unset; -webkit-box-decoration-break: unset; -webkit-box-direction: unset; -webkit-box-flex: unset; -webkit-box-flex-group: unset; -webkit-box-lines: unset; -webkit-box-ordinal-group: unset; -webkit-box-orient: unset; -webkit-box-pack: unset; -webkit-box-reflect: unset; -webkit-box-shadow: unset; -webkit-column-axis: unset; -webkit-column-progression: unset; -webkit-cursor-visibility: unset; -webkit-font-size-delta: unset; -webkit-hyphenate-character: unset; -webkit-hyphenate-limit-after: unset; -webkit-hyphenate-limit-before: unset; -webkit-hyphenate-limit-lines: unset; -webkit-hyphens: unset; -webkit-initial-letter: unset; -webkit-line-align: unset; -webkit-line-box-contain: unset; -webkit-line-clamp: unset; -webkit-line-grid: unset; -webkit-line-snap: unset; -webkit-margin-after-collapse: unset; -webkit-margin-before-collapse: unset; -webkit-margin-bottom-collapse: unset; -webkit-margin-top-collapse: unset; -webkit-marquee-direction: unset; -webkit-marquee-increment: unset; -webkit-marquee-repetition: unset; -webkit-marquee-speed: unset; -webkit-marquee-style: unset; -webkit-mask-box-image: unset; -webkit-mask-box-image-outset: unset; -webkit-mask-box-image-repeat: unset; -webkit-mask-box-image-slice: unset; -webkit-mask-box-image-source: unset; -webkit-mask-box-image-width: unset; -webkit-mask: unset unset unset unset / unset unset unset unset unset; -webkit-mask-composite: unset; -webkit-mask-size: unset; -webkit-mask-source-type: unset; -webkit-nbsp-mode: unset; -webkit-print-color-adjust: unset; -webkit-rtl-ordering: unset; -webkit-ruby-position: unset; -webkit-tap-highlight-color: unset; -webkit-text-combine: unset; -webkit-text-decorations-in-effect: unset; -webkit-text-emphasis-color: unset; -webkit-text-emphasis-position: unset; -webkit-text-emphasis-style: unset; -webkit-text-fill-color: unset; -webkit-text-security: unset; -webkit-text-stroke-color: unset; -webkit-text-stroke-width: unset; -webkit-transform-style: unset; -webkit-user-drag: unset; -webkit-user-modify: unset; -webkit-user-select: unset; border-bottom-left-radius: 1px; background-position: unset unset; background-repeat: unset unset;" but got "color: Revert; color-scheme: Revert; display: Revert; font-family: Revert; font-feature-settings: Revert; font-optical-sizing: Revert; font-size: Revert; font-stretch: Revert; font-style: Revert; font-synthesis: Revert; font-variant-alternates: Revert; font-variant-caps: Revert; font-variant-east-asian: Revert; font-variant-ligatures: Revert; font-variant-numeric: Revert; font-variant-position: Revert; font-variation-settings: Revert; font-weight: Revert; text-rendering: Revert; writing-mode: Revert; zoom: Revert; -webkit-font-kerning: Revert; -webkit-font-smoothing: Revert; -webkit-locale: Revert; -webkit-text-orientation: Revert; -webkit-text-zoom: Revert; align-content: Revert; align-items: Revert; align-self: Revert; alignment-baseline: Revert; alt: Revert; animation: Revert Revert Revert Revert Revert Revert Revert Revert; background-attachment: Revert; background-blend-mode: Revert; background-clip: Revert; background-color: Revert; background-image: Revert; background-origin: Revert; background-size: Revert; baseline-shift: Revert; block-size: Revert; border-block-end-color: Revert; border-block-end-style: Revert; border-block-end-width: Revert; border-block-start-color: Revert; border-block-start-style: Revert; border-block-start-width: Revert; border: Revert Revert Revert; border-bottom-right-radius: Revert; border-collapse: Revert; border-image-outset: Revert; border-image-repeat: Revert; border-image-slice: Revert; border-image-source: Revert; border-image-width: Revert; border-inline-end-color: Revert; border-inline-end-style: Revert; border-inline-end-width: Revert; border-inline-start-color: Revert; border-inline-start-style: Revert; border-inline-start-width: Revert; border-top-left-radius: Revert; border-top-right-radius: Revert; bottom: Revert; box-shadow: Revert; box-sizing: Revert; break-after: Revert; break-before: Revert; break-inside: Revert; buffered-rendering: Revert; caption-side: Revert; caret-color: Revert; clear: Revert; clip: Revert; clip-path: Revert; clip-rule: Revert; color-interpolation: Revert; color-interpolation-filters: Revert; color-profile: Revert; color-rendering: Revert; column-count: Revert; column-fill: Revert; column-gap: Revert; column-rule-color: Revert; column-rule-style: Revert; column-rule-width: Revert; column-span: Revert; column-width: Revert; content: Revert; counter-increment: Revert; counter-reset: Revert; cursor: Revert; cx: Revert; cy: Revert; dominant-baseline: Revert; empty-cells: Revert; enable-background: Revert; fill: Revert; fill-opacity: Revert; fill-rule: Revert; filter: Revert; flex: Revert Revert Revert; flex-flow: Revert Revert; float: Revert; flood-color: Revert; flood-opacity: Revert; font-display: Revert; glyph-orientation-horizontal: Revert; glyph-orientation-vertical: Revert; grid-auto-columns: Revert; grid-auto-flow: Revert; grid-auto-rows: Revert; grid-column-end: Revert; grid-column-start: Revert; grid-row-end: Revert; grid-row-start: Revert; grid-template-areas: Revert; grid-template-columns: Revert; grid-template-rows: Revert; hanging-punctuation: Revert; height: Revert; image-orientation: Revert; image-rendering: Revert; inline-size: Revert; isolation: Revert; justify-content: Revert; justify-items: Revert; justify-self: Revert; kerning: Revert; left: Revert; letter-spacing: Revert; lighting-color: Revert; line-break: Revert; line-height: Revert; list-style: Revert Revert Revert; margin-block-end: Revert; margin-block-start: Revert; margin: Revert; margin-inline-end: Revert; margin-inline-start: Revert; marker-end: Revert; marker-mid: Revert; marker-start: Revert; mask: Revert; mask-type: Revert; max-block-size: Revert; max-height: Revert; max-inline-size: Revert; max-width: Revert; min-block-size: Revert; min-height: Revert; min-inline-size: Revert; min-width: Revert; mix-blend-mode: Revert; object-fit: Revert; object-position: Revert; opacity: Revert; order: Revert; orphans: Revert; outline: Revert Revert Revert; outline-offset: Revert; overflow-wrap: Revert; overflow: Revert; padding-block-end: Revert; padding-block-start: Revert; padding: Revert; padding-inline-end: Revert; padding-inline-start: Revert; page: Revert; paint-order: Revert; perspective: Revert; perspective-origin: Revert Revert; pointer-events: Revert; position: Revert; quotes: Revert; r: Revert; resize: Revert; right: Revert; row-gap: Revert; rx: Revert; ry: Revert; scroll-behavior: Revert; shape-image-threshold: Revert; shape-margin: Revert; shape-outside: Revert; shape-rendering: Revert; size: Revert; speak-as: Revert; src: Revert; stop-color: Revert; stop-opacity: Revert; stroke: Revert; stroke-color: Revert; stroke-dasharray: Revert; stroke-dashoffset: Revert; stroke-linecap: Revert; stroke-linejoin: Revert; stroke-miterlimit: Revert; stroke-opacity: Revert; stroke-width: Revert; tab-size: Revert; table-layout: Revert; text-align: Revert; text-anchor: Revert; text-decoration: Revert; text-decoration-color: Revert; text-decoration-line: Revert; text-decoration-skip: Revert; text-decoration-style: Revert; text-decoration-thickness: Revert; text-indent: Revert; text-overflow: Revert; text-shadow: Revert; text-transform: Revert; text-underline-offset: Revert; text-underline-position: Revert; top: Revert; touch-action: Revert; transform: Revert; transform-box: Revert; transform-origin: Revert Revert Revert; transform-style: Revert; transition: Revert Revert Revert Revert; unicode-range: Revert; vector-effect: Revert; vertical-align: Revert; visibility: Revert; white-space: Revert; widows: Revert; width: Revert; will-change: Revert; word-break: Revert; word-spacing: Revert; word-wrap: Revert; x: Revert; y: Revert; z-index: Revert; -apple-color-filter: Revert; -webkit-appearance: Revert; -webkit-aspect-ratio: Revert; -webkit-backface-visibility: Revert; -webkit-background-clip: Revert; -webkit-background-composite: Revert; -webkit-background-origin: Revert; -webkit-background-size: Revert; -webkit-border-fit: Revert; border-spacing: Revert; -webkit-border-image: Revert; -webkit-box-align: Revert; -webkit-box-decoration-break: Revert; -webkit-box-direction: Revert; -webkit-box-flex: Revert; -webkit-box-flex-group: Revert; -webkit-box-lines: Revert; -webkit-box-ordinal-group: Revert; -webkit-box-orient: Revert; -webkit-box-pack: Revert; -webkit-box-reflect: Revert; -webkit-box-shadow: Revert; -webkit-column-axis: Revert; -webkit-column-progression: Revert; -webkit-cursor-visibility: Revert; -webkit-font-size-delta: Revert; -webkit-hyphenate-character: Revert; -webkit-hyphenate-limit-after: Revert; -webkit-hyphenate-limit-before: Revert; -webkit-hyphenate-limit-lines: Revert; -webkit-hyphens: Revert; -webkit-initial-letter: Revert; -webkit-line-align: Revert; -webkit-line-box-contain: Revert; -webkit-line-clamp: Revert; -webkit-line-grid: Revert; -webkit-line-snap: Revert; -webkit-margin-after-collapse: Revert; -webkit-margin-before-collapse: Revert; -webkit-margin-bottom-collapse: Revert; -webkit-margin-top-collapse: Revert; -webkit-marquee-direction: Revert; -webkit-marquee-increment: Revert; -webkit-marquee-repetition: Revert; -webkit-marquee-speed: Revert; -webkit-marquee-style: Revert; -webkit-mask-box-image: Revert; -webkit-mask-box-image-outset: Revert; -webkit-mask-box-image-repeat: Revert; -webkit-mask-box-image-slice: Revert; -webkit-mask-box-image-source: Revert; -webkit-mask-box-image-width: Revert; -webkit-mask: Revert Revert Revert Revert / Revert Revert Revert Revert Revert; -webkit-mask-composite: Revert; -webkit-mask-size: Revert; -webkit-mask-source-type: Revert; -webkit-nbsp-mode: Revert; -webkit-print-color-adjust: Revert; -webkit-rtl-ordering: Revert; -webkit-ruby-position: Revert; -webkit-tap-highlight-color: Revert; -webkit-text-combine: Revert; -webkit-text-decorations-in-effect: Revert; -webkit-text-emphasis-color: Revert; -webkit-text-emphasis-position: Revert; -webkit-text-emphasis-style: Revert; -webkit-text-fill-color: Revert; -webkit-text-security: Revert; -webkit-text-stroke-color: Revert; -webkit-text-stroke-width: Revert; -webkit-transform-style: Revert; -webkit-user-drag: Revert; -webkit-user-modify: Revert; -webkit-user-select: Revert; border-bottom-left-radius: 1px; background-position: Revert Revert; background-repeat: Revert Revert;"
9
- a/LayoutTests/platform/gtk/imported/w3c/web-platform-tests/css/cssom/cssstyledeclaration-csstext-expected.txt +11 lines
Line 0 a/LayoutTests/platform/gtk/imported/w3c/web-platform-tests/css/cssom/cssstyledeclaration-csstext-expected.txt_sec1
1
2
PASS uppercase property 
3
PASS uppercase value 
4
PASS overwriting with invalid value 
5
PASS use rgb 
6
PASS cssText order 
7
PASS another cssText order (non-alphabetical order) 
8
PASS whitespaces in value 
9
PASS invalid property does not appear 
10
FAIL cssText on computed style declaration returns the empty string assert_equals: cssText is empty expected "" but got "align-content: normal; align-items: normal; align-self: auto; alignment-baseline: auto; all: ; alt: \"\"; animation-delay: 0s; animation-direction: normal; animation-duration: 0s; animation-fill-mode: none; animation-iteration-count: 1; animation-name: none; animation-play-state: running; animation-timing-function: ease; background-attachment: scroll; background-blend-mode: normal; background-clip: border-box; background-color: rgba(0, 0, 0, 0); background-image: none; background-origin: padding-box; background-position-x: 0%; background-position-y: 0%; background-repeat: repeat; background-size: auto; baseline-shift: baseline; block-size: 0px; border-block-end-color: rgb(255, 0, 0); border-block-end-style: none; border-block-end-width: 0px; border-block-start-color: rgb(255, 0, 0); border-block-start-style: none; border-block-start-width: 0px; border-bottom-color: rgb(255, 0, 0); border-bottom-left-radius: 0px; border-bottom-right-radius: 0px; border-bottom-style: none; border-bottom-width: 0px; border-collapse: separate; border-image-outset: 0px; border-image-repeat: stretch; border-image-slice: 100%; border-image-source: none; border-image-width: 1; border-inline-end-color: rgb(255, 0, 0); border-inline-end-style: none; border-inline-end-width: 0px; border-inline-start-color: rgb(255, 0, 0); border-inline-start-style: none; border-inline-start-width: 0px; border-left-color: rgb(255, 0, 0); border-left-style: none; border-left-width: 0px; border-right-color: rgb(255, 0, 0); border-right-style: none; border-right-width: 0px; border-top-color: rgb(255, 0, 0); border-top-left-radius: 0px; border-top-right-radius: 0px; border-top-style: none; border-top-width: 0px; bottom: auto; box-shadow: none; box-sizing: content-box; break-after: auto; break-before: auto; break-inside: auto; buffered-rendering: auto; caption-side: top; caret-color: rgb(255, 0, 0); clear: none; clip: auto; clip-path: none; clip-rule: nonzero; color: rgb(255, 0, 0); color-interpolation: sRGB; color-interpolation-filters: linearRGB; color-rendering: auto; color-scheme: auto; column-count: auto; column-fill: balance; column-gap: normal; column-rule-color: rgb(255, 0, 0); column-rule-style: none; column-rule-width: 0px; column-span: none; column-width: auto; content: ; counter-increment: none; counter-reset: none; cursor: auto; cx: 0px; cy: 0px; direction: ltr; display: block; dominant-baseline: auto; empty-cells: show; fill: rgb(0, 0, 0); fill-opacity: 1; fill-rule: nonzero; filter: none; flex-basis: auto; flex-direction: row; flex-grow: 0; flex-shrink: 1; flex-wrap: nowrap; float: none; flood-color: rgb(0, 0, 0); flood-opacity: 1; font-family: -webkit-standard; font-feature-settings: normal; font-optical-sizing: auto; font-size: 13.333333015441895px; font-stretch: normal; font-style: normal; font-synthesis: style weight small-caps; font-variant-alternates: normal; font-variant-caps: normal; font-variant-east-asian: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-position: normal; font-variation-settings: normal; font-weight: normal; glyph-orientation-horizontal: 0deg; glyph-orientation-vertical: auto; grid-auto-columns: auto; grid-auto-flow: row; grid-auto-rows: auto; grid-column-end: auto; grid-column-start: auto; grid-row-end: auto; grid-row-start: auto; grid-template-areas: none; grid-template-columns: none; grid-template-rows: none; hanging-punctuation: none; height: 0px; image-orientation: from-image; image-rendering: auto; inline-size: 784px; inset-block-end: auto; inset-block-start: auto; inset-inline-end: auto; inset-inline-start: auto; isolation: auto; justify-content: normal; justify-items: normal; justify-self: auto; kerning: 0; left: auto; letter-spacing: normal; lighting-color: rgb(255, 255, 255); line-break: auto; line-height: normal; list-style-image: none; list-style-position: outside; list-style-type: disc; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; marker-end: none; marker-mid: none; marker-start: none; mask: none; mask-type: luminance; max-block-size: none; max-height: none; max-inline-size: none; max-width: none; min-block-size: 0px; min-height: 0px; min-inline-size: 0px; min-width: 0px; mix-blend-mode: normal; object-fit: fill; object-position: 50% 50%; opacity: 1; order: 0; orphans: auto; outline-color: rgb(255, 0, 0); outline-offset: 0px; outline-style: none; outline-width: 0px; overflow-wrap: normal; overflow-x: visible; overflow-y: visible; padding-block-end: 0px; padding-block-start: 0px; padding-bottom: 0px; padding-inline-end: 0px; padding-inline-start: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; page-break-after: auto; page-break-before: auto; page-break-inside: auto; paint-order: normal; perspective: none; perspective-origin-x: ; perspective-origin-y: ; pointer-events: auto; position: static; quotes: ; r: 0px; resize: none; right: auto; row-gap: normal; rx: auto; ry: auto; scroll-behavior: auto; shape-image-threshold: 0; shape-margin: 0px; shape-outside: none; shape-rendering: auto; size: ; speak-as: normal; stop-color: rgb(0, 0, 0); stop-opacity: 1; stroke: none; stroke-color: rgba(0, 0, 0, 0); stroke-dasharray: none; stroke-dashoffset: 0px; stroke-linecap: butt; stroke-linejoin: miter; stroke-miterlimit: 4; stroke-opacity: 1; stroke-width: 1px; tab-size: 8; table-layout: auto; text-align: start; text-anchor: start; text-decoration: none; text-decoration-color: rgb(255, 0, 0); text-decoration-line: none; text-decoration-skip: auto; text-decoration-style: solid; text-decoration-thickness: auto; text-indent: 0px; text-orientation: mixed; text-overflow: clip; text-rendering: auto; text-shadow: none; text-transform: none; text-underline-offset: auto; text-underline-position: auto; top: auto; touch-action: auto; transform: none; transform-box: view-box; transform-origin-x: ; transform-origin-y: ; transform-origin-z: ; transform-style: flat; transition-delay: 0s; transition-duration: 0s; transition-property: all; transition-timing-function: ease; unicode-bidi: normal; vector-effect: none; vertical-align: baseline; visibility: visible; white-space: normal; widows: auto; width: 784px; will-change: auto; word-break: normal; word-spacing: 0px; word-wrap: normal; writing-mode: horizontal-tb; x: 0px; y: 0px; z-index: auto; zoom: 1; -apple-color-filter: none; -webkit-appearance: none; -webkit-aspect-ratio: auto; -webkit-backface-visibility: visible; -webkit-background-clip: border-box; -webkit-background-composite: source-over; -webkit-background-origin: padding-box; -webkit-background-size: auto; -webkit-border-fit: border; -webkit-border-horizontal-spacing: 0px; -webkit-border-image: none; -webkit-border-vertical-spacing: 0px; -webkit-box-align: stretch; -webkit-box-decoration-break: slice; -webkit-box-direction: normal; -webkit-box-flex: 0; -webkit-box-flex-group: 1; -webkit-box-lines: single; -webkit-box-ordinal-group: 1; -webkit-box-orient: horizontal; -webkit-box-pack: start; -webkit-box-reflect: none; -webkit-box-shadow: none; -webkit-column-axis: auto; -webkit-column-break-after: auto; -webkit-column-break-before: auto; -webkit-column-break-inside: auto; -webkit-column-progression: normal; -webkit-cursor-visibility: auto; -webkit-font-kerning: auto; -webkit-font-smoothing: auto; -webkit-hyphenate-character: auto; -webkit-hyphenate-limit-after: auto; -webkit-hyphenate-limit-before: auto; -webkit-hyphenate-limit-lines: no-limit; -webkit-hyphens: manual; -webkit-initial-letter: normal; -webkit-line-align: none; -webkit-line-box-contain: block inline replaced; -webkit-line-clamp: none; -webkit-line-grid: none; -webkit-line-snap: none; -webkit-locale: auto; -webkit-margin-after-collapse: collapse; -webkit-margin-before-collapse: collapse; -webkit-margin-bottom-collapse: collapse; -webkit-margin-top-collapse: collapse; -webkit-mask-box-image: none; -webkit-mask-box-image-outset: 0px; -webkit-mask-box-image-repeat: stretch; -webkit-mask-box-image-slice: 0 fill; -webkit-mask-box-image-source: none; -webkit-mask-box-image-width: auto; -webkit-mask-clip: border-box; -webkit-mask-composite: source-over; -webkit-mask-image: none; -webkit-mask-origin: border-box; -webkit-mask-position-x: 0%; -webkit-mask-position-y: 0%; -webkit-mask-repeat: repeat; -webkit-mask-size: auto; -webkit-mask-source-type: alpha; -webkit-nbsp-mode: normal; -webkit-print-color-adjust: economy; -webkit-rtl-ordering: logical; -webkit-ruby-position: before; -webkit-tap-highlight-color: rgba(0, 0, 0, 0.4); -webkit-text-combine: none; -webkit-text-emphasis-color: rgb(255, 0, 0); -webkit-text-emphasis-position: over right; -webkit-text-emphasis-style: none; -webkit-text-fill-color: rgb(255, 0, 0); -webkit-text-orientation: mixed; -webkit-text-security: none; -webkit-text-stroke-color: rgb(255, 0, 0); -webkit-text-stroke-width: 0px; -webkit-text-zoom: normal; -webkit-transform-style: flat; -webkit-user-drag: auto; -webkit-user-modify: read-only; -webkit-user-select: text;"
11
- a/LayoutTests/platform/gtk/imported/w3c/web-platform-tests/css/geometry/DOMMatrix2DInit-validate-fixup-expected.txt +186 lines
Line 0 a/LayoutTests/platform/gtk/imported/w3c/web-platform-tests/css/geometry/DOMMatrix2DInit-validate-fixup-expected.txt_sec1
1
2
PASS setTransform({a: 1, m11: 2}) (invalid) 
3
PASS addPath({a: 1, m11: 2}) (invalid) 
4
PASS setTransform({b: 0, m12: -1}) (invalid) 
5
PASS addPath({b: 0, m12: -1}) (invalid) 
6
PASS setTransform({c: Infinity, m21: -Infinity}) (invalid) 
7
PASS addPath({c: Infinity, m21: -Infinity}) (invalid) 
8
PASS setTransform({d: 0, m22: NaN}) (invalid) 
9
PASS addPath({d: 0, m22: NaN}) (invalid) 
10
PASS setTransform({e: 1, m41: 1.00000001}) (invalid) 
11
PASS addPath({e: 1, m41: 1.00000001}) (invalid) 
12
PASS setTransform({f: 0, m42: 5e-324}) (invalid) 
13
PASS addPath({f: 0, m42: 5e-324}) (invalid) 
14
PASS setTransform (Sanity check without dictionary) 
15
PASS addPath (Sanity check without second parameter) 
16
PASS setTransform({m13: 1, is2D: true}) 
17
PASS addPath({m13: 1, is2D: true}) 
18
PASS setTransform({m14: 1, is2D: true}) 
19
PASS addPath({m14: 1, is2D: true}) 
20
PASS setTransform({m23: 1, is2D: true}) 
21
PASS addPath({m23: 1, is2D: true}) 
22
PASS setTransform({m24: 1, is2D: true}) 
23
PASS addPath({m24: 1, is2D: true}) 
24
PASS setTransform({m31: 1, is2D: true}) 
25
PASS addPath({m31: 1, is2D: true}) 
26
PASS setTransform({m32: 1, is2D: true}) 
27
PASS addPath({m32: 1, is2D: true}) 
28
PASS setTransform({m33: 0, is2D: true}) 
29
PASS addPath({m33: 0, is2D: true}) 
30
PASS setTransform({m33: -0, is2D: true}) 
31
PASS addPath({m33: -0, is2D: true}) 
32
PASS setTransform({m33: -1, is2D: true}) 
33
PASS addPath({m33: -1, is2D: true}) 
34
PASS setTransform({m34: 1, is2D: true}) 
35
PASS addPath({m34: 1, is2D: true}) 
36
PASS setTransform({m43: 1, is2D: true}) 
37
PASS addPath({m43: 1, is2D: true}) 
38
PASS setTransform({m44: 0, is2D: true}) 
39
PASS addPath({m44: 0, is2D: true}) 
40
PASS setTransform({}) 
41
PASS addPath({}) 
42
PASS setTransform({is2D: undefined}) 
43
PASS addPath({is2D: undefined}) 
44
PASS setTransform({a: 1, m11: 1}) 
45
PASS addPath({a: 1, m11: 1}) 
46
PASS setTransform({b: 0, m12: undefined}) 
47
PASS addPath({b: 0, m12: undefined}) 
48
PASS setTransform({c: 0, m21: 0}) 
49
PASS addPath({c: 0, m21: 0}) 
50
FAIL setTransform({c: 0, m21: -0}) assert_equals: m21 expected -0 but got 0
51
PASS addPath({c: 0, m21: -0}) 
52
PASS setTransform({c: -0, m21: 0}) 
53
PASS addPath({c: -0, m21: 0}) 
54
FAIL setTransform({c: -0, m21: -0}) assert_equals: m21 expected -0 but got 0
55
PASS addPath({c: -0, m21: -0}) 
56
PASS setTransform({d: Infinity, m22: Infinity}) 
57
PASS addPath({d: Infinity, m22: Infinity}) 
58
PASS setTransform({e: -Infinity, m41: -Infinity}) 
59
PASS addPath({e: -Infinity, m41: -Infinity}) 
60
PASS setTransform({f: NaN, m42: NaN}) 
61
PASS addPath({f: NaN, m42: NaN}) 
62
PASS setTransform({f: NaN, m42: NaN, is2D: true}) 
63
PASS addPath({f: NaN, m42: NaN, is2D: true}) 
64
PASS setTransform({f: 0, m42: null}) 
65
PASS addPath({f: 0, m42: null}) 
66
PASS setTransform({f: -0, m42: null}) 
67
PASS addPath({f: -0, m42: null}) 
68
PASS setTransform({a: 2}) 
69
PASS addPath({a: 2}) 
70
PASS setTransform({b: 2}) 
71
PASS addPath({b: 2}) 
72
PASS setTransform({c: 2}) 
73
PASS addPath({c: 2}) 
74
PASS setTransform({d: 2}) 
75
PASS addPath({d: 2}) 
76
PASS setTransform({e: 2}) 
77
PASS addPath({e: 2}) 
78
PASS setTransform({f: 2}) 
79
PASS addPath({f: 2}) 
80
FAIL setTransform({a: -0, b: -0, c: -0, d: -0, e: -0, f: -0}) assert_equals: m11 expected -0 but got 1
81
PASS addPath({a: -0, b: -0, c: -0, d: -0, e: -0, f: -0}) 
82
FAIL setTransform({a: -0, b: -0, c: -0, d: -0, e: -0, f: -0, is2D: true}) assert_equals: m11 expected -0 but got 1
83
PASS addPath({a: -0, b: -0, c: -0, d: -0, e: -0, f: -0, is2D: true}) 
84
PASS setTransform({m11: 2}) 
85
FAIL addPath({m11: 2}) assert_equals: expected "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAASwAAACWCAYAAABkW7XSAAAABHNCSVQICAgIfAhkiAAAARhJREFUeJzt1MEJgEAQBMHT/HPWCIR9uTRURTAw0OcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPDl2h4w8GwP+FnhE1hxbw8AmBIsIEOwgAzBAjIEC8gQLCBDsIAMwQIyBAvIECwgQ7CADMECMgQLyBAsIEOwgAzBAjIEC8gQLCBDsIAMwQIyBAvIECwgQ7CADMECMgQLyBAsIEOwgAzBAjIECwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgLEXxXYBPGWiZH8AAAAASUVORK5CYII=" but got "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAASwAAACWCAYAAABkW7XSAAAABHNCSVQICAgIfAhkiAAAARlJREFUeJzt1MENgDAMBMFA/z1DBUj5WGGlmQJO9mfXAgAAAAAAAAAAAAAAAAAAAAAAAAAAAADgyzWw+Qxs7pj4BfiR+/QBALsEC8gQLCBDsIAMwQIyBAvIECwgQ7CADMECMgQLyBAsIEOwgAzBAjIEC8gQLCBDsIAMwQIyBAvIECwgQ7CADMECMgQLyBAsIEOwgAzBAjIEC8gQLCBDsIAMwQIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGDbCxX9ATz4Sw4ZAAAAAElFTkSuQmCC"
86
PASS setTransform({m12: 2}) 
87
FAIL addPath({m12: 2}) assert_equals: expected "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAASwAAACWCAYAAABkW7XSAAAABHNCSVQICAgIfAhkiAAAAjFJREFUeJzt1stpA1EQRNEGJ9aZKxU7kvFKYIQ+M2NbrwvOiaBWxa0CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAApuvVAwD2uqweALDXVioLCLGVygJCbKWygBDXw1JZwHhbqSwgxM/DUlnAaFupLCDE7WGpLGCs28NSWcBY9w5LZQEj3TsslQWM9OiwVBYwzqPDUlnAOM8OS2UBozw7LJUFjPLqsFQWMMarw1JZwBh7DktlASPsOSyVBYyw97BUFrDc3sNSWcByRw5LZQFLHTkslQUsdfSwVBawzNHDUlnAMmcOS2UBS5w5LJUFLHH2sFQW8HaXUllAiC6VBQRRWUCMLpUFBFFZQIwulQUEUVlAjC6VBQRRWUCMLpUFBFFZQIwulQUEUVlAjC6VBQRRWUCMLpUFBFFZQIwulQUEUVlAjC6VBQRRWUCMLpUFBFFZQIwulQUEUVlAjC6VBQRRWUCMLpUFBFFZQIwulQUE+U1lAbxVl8MCgpytLIC363JYQJAzlQWwRJfDAoIcrSyAZbocFhDkSGUBLNXlsIAgeysLYLkuhwUE2VNZACN0OSwgyKvKAhijy2EBQZ5VFsAoXQ4LCPKosgDG6XJYQJB7lQUwUpfDAoLcVhbAWF0OCwjys7IARutyWECQa2UBjNflsIAgl9UDgP/3sXrAH/mqqs/VI4D/9Q2+X4IuOpHQLwAAAABJRU5ErkJggg==" but got "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAASwAAACWCAYAAABkW7XSAAAABHNCSVQICAgIfAhkiAAAARlJREFUeJzt1MENgDAMBMFA/z1DBUj5WGGlmQJO9mfXAgAAAAAAAAAAAAAAAAAAAAAAAAAAAADgyzWw+Qxs7pj4BfiR+/QBALsEC8gQLCBDsIAMwQIyBAvIECwgQ7CADMECMgQLyBAsIEOwgAzBAjIEC8gQLCBDsIAMwQIyBAvIECwgQ7CADMECMgQLyBAsIEOwgAzBAjIEC8gQLCBDsIAMwQIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGDbCxX9ATz4Sw4ZAAAAAElFTkSuQmCC"
88
PASS setTransform({m21: 2}) 
89
FAIL addPath({m21: 2}) assert_equals: expected "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAASwAAACWCAYAAABkW7XSAAAABHNCSVQICAgIfAhkiAAAARtJREFUeJzt1LENgwAAA0EPRsnWadkrlCwQIX10J3kAN78BAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDj2PbZ9n1517bzhX/AHxIuIEe4gBzhAnKEC8gRLiBHuIAc4QJyhAvIES4gR7iAHOECcoQLyBEuIEe4gBzhAnKEC8gRLiBHuIAc4QJyhAvIES4gR7iAHOECcoQLyBEuIEe4gBzhAnKEC8gRLgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4OduYziAyETkcrMAAAAASUVORK5CYII=" but got "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAASwAAACWCAYAAABkW7XSAAAABHNCSVQICAgIfAhkiAAAARlJREFUeJzt1MENgDAMBMFA/z1DBUj5WGGlmQJO9mfXAgAAAAAAAAAAAAAAAAAAAAAAAAAAAADgyzWw+Qxs7pj4BfiR+/QBALsEC8gQLCBDsIAMwQIyBAvIECwgQ7CADMECMgQLyBAsIEOwgAzBAjIEC8gQLCBDsIAMwQIyBAvIECwgQ7CADMECMgQLyBAsIEOwgAzBAjIEC8gQLCBDsIAMwQIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGDbCxX9ATz4Sw4ZAAAAAElFTkSuQmCC"
90
PASS setTransform({m22: 2}) 
91
FAIL addPath({m22: 2}) assert_equals: expected "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAASwAAACWCAYAAABkW7XSAAAABHNCSVQICAgIfAhkiAAAAVdJREFUeJzt1LENgEAMBMGH/nuGFp7AwEozBZzsZNcCAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgOeOgc1rYHPHxC/Aj5xfHwCwS7CADMECMgQLyBAsIEOwgAzBAjIEC8gQLCBDsIAMwQIyBAvIECwgQ7CADMECMgQLyBAsIEOwgAzBAjIEC8gQLCBDsIAMwQIyBAvIECwgQ7CADMECMgQLyBAsIEOwgAzBAjIEC8gQLCBDsIAMwQIyBAvIECwgQ7CADMECMgQLyBAsIEOwgAzBAjIEC8gQLCBDsIAMwQIyBAvIECwgQ7CADMECMgQLyBAsIEOwgAzBAjIEC8gQLCBDsIAMwQIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeM0NpMcBeEBNtlcAAAAASUVORK5CYII=" but got "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAASwAAACWCAYAAABkW7XSAAAABHNCSVQICAgIfAhkiAAAARlJREFUeJzt1MENgDAMBMFA/z1DBUj5WGGlmQJO9mfXAgAAAAAAAAAAAAAAAAAAAAAAAAAAAADgyzWw+Qxs7pj4BfiR+/QBALsEC8gQLCBDsIAMwQIyBAvIECwgQ7CADMECMgQLyBAsIEOwgAzBAjIEC8gQLCBDsIAMwQIyBAvIECwgQ7CADMECMgQLyBAsIEOwgAzBAjIEC8gQLCBDsIAMwQIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGDbCxX9ATz4Sw4ZAAAAAElFTkSuQmCC"
92
PASS setTransform({m41: 2}) 
93
FAIL addPath({m41: 2}) assert_equals: expected "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAASwAAACWCAYAAABkW7XSAAAABHNCSVQICAgIfAhkiAAAARlJREFUeJzt1MENgDAMBMFA/z1DBaB8rGilmQJO9mfXAgAAAAAAAAAAAAAAAAAAAAAAAAAAAADgyzW4/Qxu/5n8CTjoPn0AwC7BAjIEC8gQLCBDsIAMwQIyBAvIECwgQ7CADMECMgQLyBAsIEOwgAzBAjIEC8gQLCBDsIAMwQIyBAvIECwgQ7CADMECMgQLyBAsIEOwgAzBAjIEC8gQLCBDsAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAANj2Ag39ATx3E2jEAAAAAElFTkSuQmCC" but got "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAASwAAACWCAYAAABkW7XSAAAABHNCSVQICAgIfAhkiAAAARlJREFUeJzt1MENgDAMBMFA/z1DBUj5WGGlmQJO9mfXAgAAAAAAAAAAAAAAAAAAAAAAAAAAAADgyzWw+Qxs7pj4BfiR+/QBALsEC8gQLCBDsIAMwQIyBAvIECwgQ7CADMECMgQLyBAsIEOwgAzBAjIEC8gQLCBDsIAMwQIyBAvIECwgQ7CADMECMgQLyBAsIEOwgAzBAjIEC8gQLCBDsIAMwQIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGDbCxX9ATz4Sw4ZAAAAAElFTkSuQmCC"
94
PASS setTransform({m42: 2}) 
95
FAIL addPath({m42: 2}) assert_equals: expected "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAASwAAACWCAYAAABkW7XSAAAABHNCSVQICAgIfAhkiAAAARhJREFUeJzt1LERgDAMBEFD/z1DC04EHLNbwI+U3FoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA8JRjYPMa2Nwx8QvwIefbBwDsEiwgQ7CADMECMgQLyBAsIEOwgAzBAjIEC8gQLCBDsIAMwQIyBAvIECwgQ7CADMECMgQLyBAsIEOwgAzBAjIEC8gQLCBDsIAMwQIyBAvIECwgQ7CADMECMgQLAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA+LEbibMBPCyuRG4AAAAASUVORK5CYII=" but got "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAASwAAACWCAYAAABkW7XSAAAABHNCSVQICAgIfAhkiAAAARlJREFUeJzt1MENgDAMBMFA/z1DBUj5WGGlmQJO9mfXAgAAAAAAAAAAAAAAAAAAAAAAAAAAAADgyzWw+Qxs7pj4BfiR+/QBALsEC8gQLCBDsIAMwQIyBAvIECwgQ7CADMECMgQLyBAsIEOwgAzBAjIEC8gQLCBDsIAMwQIyBAvIECwgQ7CADMECMgQLyBAsIEOwgAzBAjIEC8gQLCBDsIAMwQIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGDbCxX9ATz4Sw4ZAAAAAElFTkSuQmCC"
96
FAIL setTransform({m11: -0, m12: -0, m21: -0, m22: -0, m41: -0, m42: -0}) assert_equals: m11 expected -0 but got 1
97
FAIL addPath({m11: -0, m12: -0, m21: -0, m22: -0, m41: -0, m42: -0}) assert_equals: expected "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAASwAAACWCAYAAABkW7XSAAAABHNCSVQICAgIfAhkiAAAAMVJREFUeJztwTEBAAAAwqD1T20IX6AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgNb/UAAE1+vP9AAAAAElFTkSuQmCC" but got "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAASwAAACWCAYAAABkW7XSAAAABHNCSVQICAgIfAhkiAAAARlJREFUeJzt1MENgDAMBMFA/z1DBUj5WGGlmQJO9mfXAgAAAAAAAAAAAAAAAAAAAAAAAAAAAADgyzWw+Qxs7pj4BfiR+/QBALsEC8gQLCBDsIAMwQIyBAvIECwgQ7CADMECMgQLyBAsIEOwgAzBAjIEC8gQLCBDsIAMwQIyBAvIECwgQ7CADMECMgQLyBAsIEOwgAzBAjIEC8gQLCBDsIAMwQIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGDbCxX9ATz4Sw4ZAAAAAElFTkSuQmCC"
98
FAIL setTransform({m11: -0, m12: -0, m21: -0, m22: -0, m41: -0, m42: -0, is2D: true}) assert_equals: m11 expected -0 but got 1
99
FAIL addPath({m11: -0, m12: -0, m21: -0, m22: -0, m41: -0, m42: -0, is2D: true}) assert_equals: expected "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAASwAAACWCAYAAABkW7XSAAAABHNCSVQICAgIfAhkiAAAAMVJREFUeJztwTEBAAAAwqD1T20IX6AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgNb/UAAE1+vP9AAAAAElFTkSuQmCC" but got "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAASwAAACWCAYAAABkW7XSAAAABHNCSVQICAgIfAhkiAAAARlJREFUeJzt1MENgDAMBMFA/z1DBUj5WGGlmQJO9mfXAgAAAAAAAAAAAAAAAAAAAAAAAAAAAADgyzWw+Qxs7pj4BfiR+/QBALsEC8gQLCBDsIAMwQIyBAvIECwgQ7CADMECMgQLyBAsIEOwgAzBAjIEC8gQLCBDsIAMwQIyBAvIECwgQ7CADMECMgQLyBAsIEOwgAzBAjIEC8gQLCBDsIAMwQIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGDbCxX9ATz4Sw4ZAAAAAElFTkSuQmCC"
100
PASS setTransform({m13: 0, is2D: true}) 
101
PASS addPath({m13: 0, is2D: true}) 
102
PASS setTransform({m13: -0, is2D: true}) 
103
PASS addPath({m13: -0, is2D: true}) 
104
PASS setTransform({m14: 0, is2D: true}) 
105
PASS addPath({m14: 0, is2D: true}) 
106
PASS setTransform({m14: -0, is2D: true}) 
107
PASS addPath({m14: -0, is2D: true}) 
108
PASS setTransform({m23: 0, is2D: true}) 
109
PASS addPath({m23: 0, is2D: true}) 
110
PASS setTransform({m23: -0, is2D: true}) 
111
PASS addPath({m23: -0, is2D: true}) 
112
PASS setTransform({m24: 0, is2D: true}) 
113
PASS addPath({m24: 0, is2D: true}) 
114
PASS setTransform({m24: -0, is2D: true}) 
115
PASS addPath({m24: -0, is2D: true}) 
116
PASS setTransform({m31: 0, is2D: true}) 
117
PASS addPath({m31: 0, is2D: true}) 
118
PASS setTransform({m31: -0, is2D: true}) 
119
PASS addPath({m31: -0, is2D: true}) 
120
PASS setTransform({m32: 0, is2D: true}) 
121
PASS addPath({m32: 0, is2D: true}) 
122
PASS setTransform({m32: -0, is2D: true}) 
123
PASS addPath({m32: -0, is2D: true}) 
124
PASS setTransform({m33: 1, is2D: true}) 
125
PASS addPath({m33: 1, is2D: true}) 
126
PASS setTransform({m34: 0, is2D: true}) 
127
PASS addPath({m34: 0, is2D: true}) 
128
PASS setTransform({m34: -0, is2D: true}) 
129
PASS addPath({m34: -0, is2D: true}) 
130
PASS setTransform({m43: 0, is2D: true}) 
131
PASS addPath({m43: 0, is2D: true}) 
132
PASS setTransform({m43: -0, is2D: true}) 
133
PASS addPath({m43: -0, is2D: true}) 
134
PASS setTransform({m44: 1, is2D: true}) 
135
PASS addPath({m44: 1, is2D: true}) 
136
PASS setTransform({is2D: true}) 
137
PASS addPath({is2D: true}) 
138
PASS setTransform({m13: 1, is2D: false}) 
139
PASS addPath({m13: 1, is2D: false}) 
140
PASS setTransform({m14: 1, is2D: false}) 
141
PASS addPath({m14: 1, is2D: false}) 
142
PASS setTransform({m23: 1, is2D: false}) 
143
PASS addPath({m23: 1, is2D: false}) 
144
PASS setTransform({m24: 1, is2D: false}) 
145
PASS addPath({m24: 1, is2D: false}) 
146
PASS setTransform({m31: 1, is2D: false}) 
147
PASS addPath({m31: 1, is2D: false}) 
148
PASS setTransform({m32: 1, is2D: false}) 
149
PASS addPath({m32: 1, is2D: false}) 
150
PASS setTransform({m33: 0, is2D: false}) 
151
PASS addPath({m33: 0, is2D: false}) 
152
PASS setTransform({m33: -0, is2D: false}) 
153
PASS addPath({m33: -0, is2D: false}) 
154
PASS setTransform({m33: -1, is2D: false}) 
155
PASS addPath({m33: -1, is2D: false}) 
156
PASS setTransform({m34: 1, is2D: false}) 
157
PASS addPath({m34: 1, is2D: false}) 
158
PASS setTransform({m43: 1, is2D: false}) 
159
PASS addPath({m43: 1, is2D: false}) 
160
PASS setTransform({m44: 0, is2D: false}) 
161
PASS addPath({m44: 0, is2D: false}) 
162
PASS setTransform({m13: 1}) 
163
PASS addPath({m13: 1}) 
164
PASS setTransform({m14: 1}) 
165
PASS addPath({m14: 1}) 
166
PASS setTransform({m23: 1}) 
167
PASS addPath({m23: 1}) 
168
PASS setTransform({m24: 1}) 
169
PASS addPath({m24: 1}) 
170
PASS setTransform({m31: 1}) 
171
PASS addPath({m31: 1}) 
172
PASS setTransform({m32: 1}) 
173
PASS addPath({m32: 1}) 
174
PASS setTransform({m33: 0}) 
175
PASS addPath({m33: 0}) 
176
PASS setTransform({m34: 1}) 
177
PASS addPath({m34: 1}) 
178
PASS setTransform({m43: 1}) 
179
PASS addPath({m43: 1}) 
180
PASS setTransform({m44: 0}) 
181
PASS addPath({m44: 0}) 
182
PASS setTransform({is2D: false}) 
183
PASS addPath({is2D: false}) 
184
PASS setTransform({is2D: null}) 
185
PASS addPath({is2D: null}) 
186
- a/LayoutTests/platform/ios-wk2/TestExpectations +16 lines
Lines 1759-1761 webkit.org/b/214327 webanimations/accelerated-animation-with-easing.html [ Pass a/LayoutTests/platform/ios-wk2/TestExpectations_sec1
1759
webkit.org/b/214363 [ Debug ] fast/text-indicator/text-indicator-empty-link.html [ Pass Crash ]
1759
webkit.org/b/214363 [ Debug ] fast/text-indicator/text-indicator-empty-link.html [ Pass Crash ]
1760
1760
1761
webkit.org/b/214382 [ Release ] imported/w3c/web-platform-tests/websockets/remove-own-iframe-during-onerror.window.html [ Pass Failure ]
1761
webkit.org/b/214382 [ Release ] imported/w3c/web-platform-tests/websockets/remove-own-iframe-during-onerror.window.html [ Pass Failure ]
1762
1763
webkit.org/b/214468 imported/w3c/web-platform-tests/css/css-backgrounds/background-position-subpixel-at-border.tentative.html [ ImageOnlyFailure ]
1764
webkit.org/b/214468 imported/w3c/web-platform-tests/css/css-fonts/font-language-override-02.html [ ImageOnlyFailure ]
1765
webkit.org/b/214468 imported/w3c/web-platform-tests/css/css-images/image-set/image-set-rendering.html [ ImageOnlyFailure ]
1766
webkit.org/b/214468 imported/w3c/web-platform-tests/css/css-multicol/equal-gap-and-rule.html [ ImageOnlyFailure ]
1767
webkit.org/b/214468 imported/w3c/web-platform-tests/css/css-multicol/fixed-size-child-with-overflow.html [ ImageOnlyFailure ]
1768
webkit.org/b/214468 imported/w3c/web-platform-tests/css/css-pseudo/selection-text-shadow-016.html [ ImageOnlyFailure ]
1769
webkit.org/b/214468 imported/w3c/web-platform-tests/css/css-pseudo/textpath-selection-011.html [ ImageOnlyFailure ]
1770
webkit.org/b/214468 imported/w3c/web-platform-tests/css/css-shapes/shape-outside/shape-image/shape-image-000.html [ ImageOnlyFailure ]
1771
webkit.org/b/214468 imported/w3c/web-platform-tests/css/css-shapes/shape-outside/shape-image/shape-image-004.html [ ImageOnlyFailure ]
1772
webkit.org/b/214468 imported/w3c/web-platform-tests/css/css-shapes/shape-outside/shape-image/shape-image-009.html [ ImageOnlyFailure ]
1773
webkit.org/b/214468 imported/w3c/web-platform-tests/css/css-shapes/shape-outside/shape-image/shape-image-013.html [ ImageOnlyFailure ]
1774
webkit.org/b/214468 imported/w3c/web-platform-tests/css/css-shapes/shape-outside/shape-image/shape-image-015.html [ ImageOnlyFailure ]
1775
webkit.org/b/214468 imported/w3c/web-platform-tests/css/css-shapes/shape-outside/shape-image/shape-image-016.html [ ImageOnlyFailure ]
1776
webkit.org/b/214468 imported/w3c/web-platform-tests/css/css-sizing/thin-element-render.html [ ImageOnlyFailure ]
1777
webkit.org/b/214468 imported/w3c/web-platform-tests/css/css-values/ch-unit-002.html [ ImageOnlyFailure ]
- a/LayoutTests/platform/ios-wk2/imported/w3c/web-platform-tests/css/css-box/animation/padding-bottom-composition-expected.txt +22 lines
Line 0 a/LayoutTests/platform/ios-wk2/imported/w3c/web-platform-tests/css/css-box/animation/padding-bottom-composition-expected.txt_sec1
1
2
FAIL Compositing: property <padding-bottom> underlying [50px] from add [100px] to add [200px] at (-0.3) should be [120px] assert_equals: expected "120px " but got "70px "
3
FAIL Compositing: property <padding-bottom> underlying [50px] from add [100px] to add [200px] at (0) should be [150px] assert_equals: expected "150px " but got "100px "
4
FAIL Compositing: property <padding-bottom> underlying [50px] from add [100px] to add [200px] at (0.5) should be [200px] assert_equals: expected "200px " but got "150px "
5
FAIL Compositing: property <padding-bottom> underlying [50px] from add [100px] to add [200px] at (1) should be [250px] assert_equals: expected "250px " but got "200px "
6
FAIL Compositing: property <padding-bottom> underlying [50px] from add [100px] to add [200px] at (1.5) should be [300px] assert_equals: expected "300px " but got "250px "
7
FAIL Compositing: property <padding-bottom> underlying [100px] from add [10px] to add [2px] at (-0.5) should be [114px] assert_equals: expected "114px " but got "14px "
8
FAIL Compositing: property <padding-bottom> underlying [100px] from add [10px] to add [2px] at (0) should be [110px] assert_equals: expected "110px " but got "10px "
9
FAIL Compositing: property <padding-bottom> underlying [100px] from add [10px] to add [2px] at (0.5) should be [106px] assert_equals: expected "106px " but got "6px "
10
FAIL Compositing: property <padding-bottom> underlying [100px] from add [10px] to add [2px] at (1) should be [102px] assert_equals: expected "102px " but got "2px "
11
FAIL Compositing: property <padding-bottom> underlying [100px] from add [10px] to add [2px] at (1.5) should be [98px] assert_equals: expected "98px " but got "- 2px "
12
FAIL Compositing: property <padding-bottom> underlying [10%] from add [100px] to add [20%] at (-0.3) should be [calc(130px + 4%)] assert_equals: expected "161.36px " but got "100px "
13
FAIL Compositing: property <padding-bottom> underlying [10%] from add [100px] to add [20%] at (0) should be [calc(100px + 10%)] assert_equals: expected "178.39px " but got "100px "
14
FAIL Compositing: property <padding-bottom> underlying [10%] from add [100px] to add [20%] at (0.5) should be [calc(50px + 20%)] assert_equals: expected "206.8px " but got "128.39px "
15
FAIL Compositing: property <padding-bottom> underlying [10%] from add [100px] to add [20%] at (1) should be [30%] assert_equals: expected "235.19px " but got "156.8px "
16
FAIL Compositing: property <padding-bottom> underlying [10%] from add [100px] to add [20%] at (1.5) should be [calc(-50px + 40%)] assert_equals: expected "263.59px " but got "156.8px "
17
FAIL Compositing: property <padding-bottom> underlying [50px] from add [100px] to replace [200px] at (-0.3) should be [135px] assert_equals: expected "135px " but got "70px "
18
FAIL Compositing: property <padding-bottom> underlying [50px] from add [100px] to replace [200px] at (0) should be [150px] assert_equals: expected "150px " but got "100px "
19
FAIL Compositing: property <padding-bottom> underlying [50px] from add [100px] to replace [200px] at (0.5) should be [175px] assert_equals: expected "175px " but got "150px "
20
PASS Compositing: property <padding-bottom> underlying [50px] from add [100px] to replace [200px] at (1) should be [200px] 
21
FAIL Compositing: property <padding-bottom> underlying [50px] from add [100px] to replace [200px] at (1.5) should be [225px] assert_equals: expected "225px " but got "250px "
22
- a/LayoutTests/platform/ios-wk2/imported/w3c/web-platform-tests/css/css-box/animation/padding-top-composition-expected.txt +22 lines
Line 0 a/LayoutTests/platform/ios-wk2/imported/w3c/web-platform-tests/css/css-box/animation/padding-top-composition-expected.txt_sec1
1
2
FAIL Compositing: property <padding-top> underlying [50px] from add [100px] to add [200px] at (-0.3) should be [120px] assert_equals: expected "120px " but got "70px "
3
FAIL Compositing: property <padding-top> underlying [50px] from add [100px] to add [200px] at (0) should be [150px] assert_equals: expected "150px " but got "100px "
4
FAIL Compositing: property <padding-top> underlying [50px] from add [100px] to add [200px] at (0.5) should be [200px] assert_equals: expected "200px " but got "150px "
5
FAIL Compositing: property <padding-top> underlying [50px] from add [100px] to add [200px] at (1) should be [250px] assert_equals: expected "250px " but got "200px "
6
FAIL Compositing: property <padding-top> underlying [50px] from add [100px] to add [200px] at (1.5) should be [300px] assert_equals: expected "300px " but got "250px "
7
FAIL Compositing: property <padding-top> underlying [100px] from add [10px] to add [2px] at (-0.5) should be [114px] assert_equals: expected "114px " but got "14px "
8
FAIL Compositing: property <padding-top> underlying [100px] from add [10px] to add [2px] at (0) should be [110px] assert_equals: expected "110px " but got "10px "
9
FAIL Compositing: property <padding-top> underlying [100px] from add [10px] to add [2px] at (0.5) should be [106px] assert_equals: expected "106px " but got "6px "
10
FAIL Compositing: property <padding-top> underlying [100px] from add [10px] to add [2px] at (1) should be [102px] assert_equals: expected "102px " but got "2px "
11
FAIL Compositing: property <padding-top> underlying [100px] from add [10px] to add [2px] at (1.5) should be [98px] assert_equals: expected "98px " but got "- 2px "
12
FAIL Compositing: property <padding-top> underlying [10%] from add [100px] to add [20%] at (-0.3) should be [calc(130px + 4%)] assert_equals: expected "161.36px " but got "100px "
13
FAIL Compositing: property <padding-top> underlying [10%] from add [100px] to add [20%] at (0) should be [calc(100px + 10%)] assert_equals: expected "178.39px " but got "100px "
14
FAIL Compositing: property <padding-top> underlying [10%] from add [100px] to add [20%] at (0.5) should be [calc(50px + 20%)] assert_equals: expected "206.8px " but got "128.39px "
15
FAIL Compositing: property <padding-top> underlying [10%] from add [100px] to add [20%] at (1) should be [30%] assert_equals: expected "235.19px " but got "156.8px "
16
FAIL Compositing: property <padding-top> underlying [10%] from add [100px] to add [20%] at (1.5) should be [calc(-50px + 40%)] assert_equals: expected "263.59px " but got "156.8px "
17
FAIL Compositing: property <padding-top> underlying [50px] from add [100px] to replace [200px] at (-0.3) should be [135px] assert_equals: expected "135px " but got "70px "
18
FAIL Compositing: property <padding-top> underlying [50px] from add [100px] to replace [200px] at (0) should be [150px] assert_equals: expected "150px " but got "100px "
19
FAIL Compositing: property <padding-top> underlying [50px] from add [100px] to replace [200px] at (0.5) should be [175px] assert_equals: expected "175px " but got "150px "
20
PASS Compositing: property <padding-top> underlying [50px] from add [100px] to replace [200px] at (1) should be [200px] 
21
FAIL Compositing: property <padding-top> underlying [50px] from add [100px] to replace [200px] at (1.5) should be [225px] assert_equals: expected "225px " but got "250px "
22
- a/LayoutTests/platform/ios-wk2/imported/w3c/web-platform-tests/css/css-color-adjust/rendering/dark-color-scheme/svg-as-image-expected.txt +7 lines
Line 0 a/LayoutTests/platform/ios-wk2/imported/w3c/web-platform-tests/css/css-color-adjust/rendering/dark-color-scheme/svg-as-image-expected.txt_sec1
1
layer at (0,0) size 800x600
2
  RenderView at (0,0) size 800x600
3
layer at (0,0) size 800x121
4
  RenderBlock {HTML} at (0,0) size 800x121
5
    RenderBody {BODY} at (8,8) size 784x105
6
      RenderImage {IMG} at (0,0) size 100x100
7
      RenderText {#text} at (0,0) size 0x0
- a/LayoutTests/platform/ios-wk2/imported/w3c/web-platform-tests/css/css-multicol/change-abspos-width-in-second-column-crash-expected.txt +16 lines
Line 0 a/LayoutTests/platform/ios-wk2/imported/w3c/web-platform-tests/css/css-multicol/change-abspos-width-in-second-column-crash-expected.txt_sec1
1
layer at (0,0) size 800x600
2
  RenderView at (0,0) size 800x600
3
layer at (0,0) size 800x160
4
  RenderBlock {HTML} at (0,0) size 800x160
5
    RenderBody {BODY} at (8,16) size 784x136
6
      RenderBlock {P} at (0,0) size 784x20
7
        RenderText {#text} at (0,0) size 113x19
8
          text run at (0,0) width 113: "PASS if no crash."
9
layer at (8,52) size 784x100
10
  RenderBlock {DIV} at (0,36) size 784x100
11
    RenderMultiColumnSet at (0,0) size 784x100
12
layer at (8,52) size 384x150
13
  RenderMultiColumnFlowThread at (0,0) size 384x150
14
layer at (8,52) size 384x150
15
  RenderBlock (relative positioned) {DIV} at (0,0) size 384x150
16
    RenderBlock {DIV} at (0,0) size 384x150
- a/LayoutTests/platform/ios-wk2/imported/w3c/web-platform-tests/css/css-multicol/change-out-of-flow-type-and-remove-inner-multicol-crash-expected.txt +14 lines
Line 0 a/LayoutTests/platform/ios-wk2/imported/w3c/web-platform-tests/css/css-multicol/change-out-of-flow-type-and-remove-inner-multicol-crash-expected.txt_sec1
1
layer at (0,0) size 800x600
2
  RenderView at (0,0) size 800x600
3
layer at (0,0) size 800x42
4
  RenderBlock {HTML} at (0,0) size 800x42
5
layer at (8,8) size 784x26
6
  RenderBody {BODY} at (8,8) size 784x26
7
    RenderMultiColumnSet at (0,0) size 784x26
8
    RenderBlock {DIV} at (0,26) size 784x0
9
    RenderMultiColumnSet at (0,26) size 784x0
10
layer at (8,8) size 384x52
11
  RenderMultiColumnFlowThread at (0,0) size 384x52
12
    RenderBlock {P} at (0,16) size 384x20
13
      RenderText {#text} at (0,0) size 113x19
14
        text run at (0,0) width 113: "PASS if no crash."
- a/LayoutTests/platform/ios-wk2/imported/w3c/web-platform-tests/css/css-properties-values-api/at-property-non-matching-media-crash-expected.txt +8 lines
Line 0 a/LayoutTests/platform/ios-wk2/imported/w3c/web-platform-tests/css/css-properties-values-api/at-property-non-matching-media-crash-expected.txt_sec1
1
layer at (0,0) size 800x600
2
  RenderView at (0,0) size 800x600
3
layer at (0,0) size 800x52
4
  RenderBlock {HTML} at (0,0) size 800x52
5
    RenderBody {BODY} at (8,16) size 784x20
6
      RenderBlock {P} at (0,0) size 784x20
7
        RenderText {#text} at (0,0) size 109x19
8
          text run at (0,0) width 109: "PASS if no crash"
- a/LayoutTests/platform/ios-wk2/imported/w3c/web-platform-tests/css/css-pseudo/file-chooser-button-display-toggle-crash.tentative-expected.txt +12 lines
Line 0 a/LayoutTests/platform/ios-wk2/imported/w3c/web-platform-tests/css/css-pseudo/file-chooser-button-display-toggle-crash.tentative-expected.txt_sec1
1
layer at (0,0) size 800x600
2
  RenderView at (0,0) size 800x600
3
layer at (0,0) size 800x40
4
  RenderBlock {HTML} at (0,0) size 800x40
5
    RenderBody {BODY} at (8,8) size 784x24
6
      RenderFileUploadControl {INPUT} at (2,2) size 233x20 "no file selected"
7
        RenderButton {INPUT} at (0,0) size 83x20 [bgcolor=#FFFFFF03] [border: (1px solid #4C4C4C)]
8
          RenderBlock (anonymous) at (12,3) size 59x14
9
            RenderText at (0,0) size 59x14
10
              text run at (0,0) width 59: "Choose File"
11
      RenderText {#text} at (0,0) size 0x0
12
      RenderText {#text} at (0,0) size 0x0
- a/LayoutTests/platform/ios-wk2/imported/w3c/web-platform-tests/css/css-pseudo/marker-hit-testing-expected.txt +25 lines
Line 0 a/LayoutTests/platform/ios-wk2/imported/w3c/web-platform-tests/css/css-pseudo/marker-hit-testing-expected.txt_sec1
1
 
2
3
Harness Error (TIMEOUT), message = null
4
5
TIMEOUT outside image ::marker's content Test timed out
6
TIMEOUT outside image ::marker Test timed out
7
TIMEOUT outside string ::marker's content Test timed out
8
TIMEOUT outside string ::marker Test timed out
9
TIMEOUT outside marker ::marker's content Test timed out
10
TIMEOUT outside marker ::marker Test timed out
11
TIMEOUT outside nested image ::marker's content Test timed out
12
TIMEOUT outside nested image ::marker Test timed out
13
TIMEOUT outside nested string ::marker's content Test timed out
14
TIMEOUT outside nested string ::marker Test timed out
15
TIMEOUT inside image ::marker's content Test timed out
16
TIMEOUT inside image ::marker Test timed out
17
TIMEOUT inside string ::marker's content Test timed out
18
TIMEOUT inside string ::marker Test timed out
19
TIMEOUT inside marker ::marker's content Test timed out
20
TIMEOUT inside marker ::marker Test timed out
21
TIMEOUT inside nested image ::marker's content Test timed out
22
TIMEOUT inside nested image ::marker Test timed out
23
TIMEOUT inside nested string ::marker's content Test timed out
24
TIMEOUT inside nested string ::marker Test timed out
25
- a/LayoutTests/platform/ios-wk2/imported/w3c/web-platform-tests/css/css-sizing/frameset-intrinsic-crash-expected.txt +7 lines
Line 0 a/LayoutTests/platform/ios-wk2/imported/w3c/web-platform-tests/css/css-sizing/frameset-intrinsic-crash-expected.txt_sec1
1
layer at (0,0) size 808x608
2
  RenderView at (0,0) size 800x600
3
layer at (0,0) size 800x608
4
  RenderBlock {HTML} at (0,0) size 800x608
5
    RenderBody {BODY} at (8,8) size 784x0
6
      RenderBlock (floating) {DIV} at (0,0) size 0x600
7
        RenderFrameSet {FRAMESET} at (0,0) size 800x600
- a/LayoutTests/platform/ios-wk2/imported/w3c/web-platform-tests/css/css-sizing/min-content-negative-margin-crash-expected.txt +7 lines
Line 0 a/LayoutTests/platform/ios-wk2/imported/w3c/web-platform-tests/css/css-sizing/min-content-negative-margin-crash-expected.txt_sec1
1
layer at (0,0) size 33554431x600
2
  RenderView at (0,0) size 800x600
3
layer at (0,0) size 33554431x600
4
  RenderBlock {HTML} at (0,0) size 33554431x600
5
layer at (8,8) size 33554431x584 backgroundClip at (8,8) size 33554424x584 clip at (8,8) size 33554417x569
6
  RenderBody {BODY} at (8,8) size 33554423x584
7
    RenderBlock {DIV} at (33554428,0) size 0x0
- a/LayoutTests/platform/ios-wk2/imported/w3c/web-platform-tests/css/css-transitions/transition-base-response-001-expected.txt +5 lines
Line 0 a/LayoutTests/platform/ios-wk2/imported/w3c/web-platform-tests/css/css-transitions/transition-base-response-001-expected.txt_sec1
1
2
FAIL em units respond to font-size transition assert_equals: expected "15px" but got "20px"
3
FAIL ex units respond to font-size transition assert_equals: expected "6.703125px" but got "8.9375px"
4
PASS var() references respond to custom property transition 
5
- a/LayoutTests/platform/ios-wk2/imported/w3c/web-platform-tests/css/css-values/minmax-length-computed-expected.txt -82 / +80 lines
Lines 1-84 a/LayoutTests/platform/ios-wk2/imported/w3c/web-platform-tests/css/css-values/minmax-length-computed-expected.txt_sec1
1
1
2
Harness Error (FAIL), message = 1 duplicate test name: "Property letter-spacing value 'min(15px, 1em)'"
2
PASS min(1px) should be used-value-equivalent to 1px 
3
3
PASS min(1cm) should be used-value-equivalent to 1cm 
4
PASS Property letter-spacing value 'min(1px)' 
4
PASS min(1mm) should be used-value-equivalent to 1mm 
5
PASS Property letter-spacing value 'min(1cm)' 
5
PASS min(1Q) should be used-value-equivalent to 1Q 
6
PASS Property letter-spacing value 'min(1mm)' 
6
PASS min(1in) should be used-value-equivalent to 1in 
7
PASS Property letter-spacing value 'min(1Q)' 
7
PASS min(1pc) should be used-value-equivalent to 1pc 
8
PASS Property letter-spacing value 'min(1in)' 
8
PASS min(1pt) should be used-value-equivalent to 1pt 
9
PASS Property letter-spacing value 'min(1pc)' 
9
PASS min(1em) should be used-value-equivalent to 1em 
10
PASS Property letter-spacing value 'min(1pt)' 
10
PASS min(1ex) should be used-value-equivalent to 1ex 
11
PASS Property letter-spacing value 'min(1em)' 
11
PASS min(1ch) should be used-value-equivalent to 1ch 
12
PASS Property letter-spacing value 'min(1ex)' 
12
PASS min(1rem) should be used-value-equivalent to 1rem 
13
PASS Property letter-spacing value 'min(1ch)' 
13
PASS min(1vh) should be used-value-equivalent to 1vh 
14
PASS Property letter-spacing value 'min(1rem)' 
14
PASS min(1vw) should be used-value-equivalent to 1vw 
15
PASS Property letter-spacing value 'min(1vh)' 
15
PASS min(1vmin) should be used-value-equivalent to 1vmin 
16
PASS Property letter-spacing value 'min(1vw)' 
16
PASS min(1vmax) should be used-value-equivalent to 1vmax 
17
PASS Property letter-spacing value 'min(1vmin)' 
17
PASS max(1px) should be used-value-equivalent to 1px 
18
PASS Property letter-spacing value 'min(1vmax)' 
18
PASS max(1cm) should be used-value-equivalent to 1cm 
19
PASS Property letter-spacing value 'max(1px)' 
19
PASS max(1mm) should be used-value-equivalent to 1mm 
20
PASS Property letter-spacing value 'max(1cm)' 
20
PASS max(1Q) should be used-value-equivalent to 1Q 
21
PASS Property letter-spacing value 'max(1mm)' 
21
PASS max(1in) should be used-value-equivalent to 1in 
22
PASS Property letter-spacing value 'max(1Q)' 
22
PASS max(1pc) should be used-value-equivalent to 1pc 
23
PASS Property letter-spacing value 'max(1in)' 
23
PASS max(1pt) should be used-value-equivalent to 1pt 
24
PASS Property letter-spacing value 'max(1pc)' 
24
PASS max(1em) should be used-value-equivalent to 1em 
25
PASS Property letter-spacing value 'max(1pt)' 
25
PASS max(1ex) should be used-value-equivalent to 1ex 
26
PASS Property letter-spacing value 'max(1em)' 
26
PASS max(1ch) should be used-value-equivalent to 1ch 
27
PASS Property letter-spacing value 'max(1ex)' 
27
PASS max(1rem) should be used-value-equivalent to 1rem 
28
PASS Property letter-spacing value 'max(1ch)' 
28
PASS max(1vh) should be used-value-equivalent to 1vh 
29
PASS Property letter-spacing value 'max(1rem)' 
29
PASS max(1vw) should be used-value-equivalent to 1vw 
30
PASS Property letter-spacing value 'max(1vh)' 
30
PASS max(1vmin) should be used-value-equivalent to 1vmin 
31
PASS Property letter-spacing value 'max(1vw)' 
31
PASS max(1vmax) should be used-value-equivalent to 1vmax 
32
PASS Property letter-spacing value 'max(1vmin)' 
32
PASS min(1px, 2px) should be used-value-equivalent to 1px 
33
PASS Property letter-spacing value 'max(1vmax)' 
33
PASS min(1cm, 2cm) should be used-value-equivalent to 1cm 
34
PASS Property letter-spacing value 'min(1px, 2px)' 
34
PASS min(1mm, 2mm) should be used-value-equivalent to 1mm 
35
PASS Property letter-spacing value 'min(1cm, 2cm)' 
35
PASS min(1Q, 2Q) should be used-value-equivalent to 1Q 
36
PASS Property letter-spacing value 'min(1mm, 2mm)' 
36
PASS min(1in, 2in) should be used-value-equivalent to 1in 
37
PASS Property letter-spacing value 'min(1Q, 2Q)' 
37
PASS min(1pc, 2pc) should be used-value-equivalent to 1pc 
38
PASS Property letter-spacing value 'min(1in, 2in)' 
38
PASS min(1pt, 2pt) should be used-value-equivalent to 1pt 
39
PASS Property letter-spacing value 'min(1pc, 2pc)' 
39
PASS min(1em, 2em) should be used-value-equivalent to 1em 
40
PASS Property letter-spacing value 'min(1pt, 2pt)' 
40
PASS min(1ex, 2ex) should be used-value-equivalent to 1ex 
41
PASS Property letter-spacing value 'min(1em, 2em)' 
41
PASS min(1ch, 2ch) should be used-value-equivalent to 1ch 
42
PASS Property letter-spacing value 'min(1ex, 2ex)' 
42
PASS min(1rem, 2rem) should be used-value-equivalent to 1rem 
43
PASS Property letter-spacing value 'min(1ch, 2ch)' 
43
PASS min(1vh, 2vh) should be used-value-equivalent to 1vh 
44
PASS Property letter-spacing value 'min(1rem, 2rem)' 
44
PASS min(1vw, 2vw) should be used-value-equivalent to 1vw 
45
PASS Property letter-spacing value 'min(1vh, 2vh)' 
45
PASS min(1vmin, 2vmin) should be used-value-equivalent to 1vmin 
46
PASS Property letter-spacing value 'min(1vw, 2vw)' 
46
PASS min(1vmax, 2vmax) should be used-value-equivalent to 1vmax 
47
PASS Property letter-spacing value 'min(1vmin, 2vmin)' 
47
PASS max(1px, 2px) should be used-value-equivalent to 2px 
48
PASS Property letter-spacing value 'min(1vmax, 2vmax)' 
48
PASS max(1cm, 2cm) should be used-value-equivalent to 2cm 
49
PASS Property letter-spacing value 'max(1px, 2px)' 
49
PASS max(1mm, 2mm) should be used-value-equivalent to 2mm 
50
PASS Property letter-spacing value 'max(1cm, 2cm)' 
50
PASS max(1Q, 2Q) should be used-value-equivalent to 2Q 
51
PASS Property letter-spacing value 'max(1mm, 2mm)' 
51
PASS max(1in, 2in) should be used-value-equivalent to 2in 
52
PASS Property letter-spacing value 'max(1Q, 2Q)' 
52
PASS max(1pc, 2pc) should be used-value-equivalent to 2pc 
53
PASS Property letter-spacing value 'max(1in, 2in)' 
53
PASS max(1pt, 2pt) should be used-value-equivalent to 2pt 
54
PASS Property letter-spacing value 'max(1pc, 2pc)' 
54
PASS max(1em, 2em) should be used-value-equivalent to 2em 
55
PASS Property letter-spacing value 'max(1pt, 2pt)' 
55
PASS max(1ex, 2ex) should be used-value-equivalent to 2ex 
56
PASS Property letter-spacing value 'max(1em, 2em)' 
56
PASS max(1ch, 2ch) should be used-value-equivalent to 2ch 
57
PASS Property letter-spacing value 'max(1ex, 2ex)' 
57
PASS max(1rem, 2rem) should be used-value-equivalent to 2rem 
58
PASS Property letter-spacing value 'max(1ch, 2ch)' 
58
PASS max(1vh, 2vh) should be used-value-equivalent to 2vh 
59
PASS Property letter-spacing value 'max(1rem, 2rem)' 
59
PASS max(1vw, 2vw) should be used-value-equivalent to 2vw 
60
PASS Property letter-spacing value 'max(1vh, 2vh)' 
60
PASS max(1vmin, 2vmin) should be used-value-equivalent to 2vmin 
61
PASS Property letter-spacing value 'max(1vw, 2vw)' 
61
PASS max(1vmax, 2vmax) should be used-value-equivalent to 2vmax 
62
PASS Property letter-spacing value 'max(1vmin, 2vmin)' 
62
PASS min(95px, 1in) should be used-value-equivalent to 95px 
63
PASS Property letter-spacing value 'max(1vmax, 2vmax)' 
63
PASS max(95px, 1in) should be used-value-equivalent to 1in 
64
PASS Property letter-spacing value 'min(95px, 1in)' 
64
PASS min(15px, 1em) should be used-value-equivalent to 15px 
65
PASS Property letter-spacing value 'max(95px, 1in)' 
65
PASS min(25px, 1em) should be used-value-equivalent to 20px 
66
PASS Property letter-spacing value 'min(15px, 1em)' 
66
PASS max(15px, 1em) should be used-value-equivalent to 20px 
67
PASS Property letter-spacing value 'min(25px, 1em)' 
67
PASS max(25px, 1em) should be used-value-equivalent to 25px 
68
PASS Property letter-spacing value 'max(15px, 1em)' 
68
PASS min(15px, 1em) should be used-value-equivalent to 10px; fontSize=10px 
69
PASS Property letter-spacing value 'max(25px, 1em)' 
69
PASS max(15px, 2em) should be used-value-equivalent to 20px; fontSize=10px 
70
PASS Property letter-spacing value 'min(15px, 1em)' 
70
PASS min(25px, max(15px, 1em)) should be used-value-equivalent to 20px 
71
PASS Property letter-spacing value 'max(15px, 2em)' 
71
PASS max(15px, min(25px, 1em)) should be used-value-equivalent to 20px 
72
PASS Property letter-spacing value 'min(25px, max(15px, 1em))' 
72
PASS calc(min(1em, 21px) + 10px) should be used-value-equivalent to 30px 
73
PASS Property letter-spacing value 'max(15px, min(25px, 1em))' 
73
PASS calc(min(1em, 21px) - 10px) should be used-value-equivalent to 10px 
74
PASS Property letter-spacing value 'calc(min(1em, 21px) + 10px)' 
74
PASS calc(min(1em, 21px) * 2 should be used-value-equivalent to 40px 
75
PASS Property letter-spacing value 'calc(min(1em, 21px) - 10px)' 
75
PASS calc(min(1em, 21px) / 2 should be used-value-equivalent to 10px 
76
PASS Property letter-spacing value 'calc(min(1em, 21px) * 2' 
76
PASS calc(max(1em, 19px) + 10px) should be used-value-equivalent to 30px 
77
PASS Property letter-spacing value 'calc(min(1em, 21px) / 2' 
77
PASS calc(max(1em, 19px) - 10px) should be used-value-equivalent to 10px 
78
PASS Property letter-spacing value 'calc(max(1em, 19px) + 10px)' 
78
PASS calc(max(1em, 19px) * 2 should be used-value-equivalent to 40px 
79
PASS Property letter-spacing value 'calc(max(1em, 19px) - 10px)' 
79
PASS calc(max(1em, 19px) / 2 should be used-value-equivalent to 10px 
80
PASS Property letter-spacing value 'calc(max(1em, 19px) * 2' 
80
PASS calc(min(1em, 21px) + max(0.9em, 20px)) should be used-value-equivalent to 40px 
81
PASS Property letter-spacing value 'calc(max(1em, 19px) / 2' 
81
PASS calc(min(1em, 21px) - max(0.9em, 20px)) should be used-value-equivalent to 0px 
82
PASS Property letter-spacing value 'calc(min(1em, 21px) + max(0.9em, 20px))' 
83
PASS Property letter-spacing value 'calc(min(1em, 21px) - max(0.9em, 20px))' 
84
82
- a/LayoutTests/platform/ios-wk2/imported/w3c/web-platform-tests/css/css-values/minmax-length-percent-computed-expected.txt -52 / +50 lines
Lines 1-54 a/LayoutTests/platform/ios-wk2/imported/w3c/web-platform-tests/css/css-values/minmax-length-percent-computed-expected.txt_sec1
1
1
2
Harness Error (FAIL), message = 4 duplicate test names: "Property margin-left value 'min(20px, 10%)'", "Property margin-left value 'min(1em, 10%)'", "Property margin-left value 'max(20px, 10%)'", "Property margin-left value 'max(1em, 10%)'"
2
PASS min(1px + 1%) should be used-value-equivalent to calc(1px + 1%) 
3
3
PASS min(1cm + 1%) should be used-value-equivalent to calc(1cm + 1%) 
4
PASS Property margin-left value 'min(1px + 1%)' 
4
PASS min(1mm + 1%) should be used-value-equivalent to calc(1mm + 1%) 
5
PASS Property margin-left value 'min(1cm + 1%)' 
5
PASS min(1Q + 1%) should be used-value-equivalent to calc(1Q + 1%) 
6
PASS Property margin-left value 'min(1mm + 1%)' 
6
PASS min(1in + 1%) should be used-value-equivalent to calc(1in + 1%) 
7
PASS Property margin-left value 'min(1Q + 1%)' 
7
PASS min(1pc + 1%) should be used-value-equivalent to calc(1pc + 1%) 
8
PASS Property margin-left value 'min(1in + 1%)' 
8
PASS min(1pt + 1%) should be used-value-equivalent to calc(1pt + 1%) 
9
PASS Property margin-left value 'min(1pc + 1%)' 
9
PASS min(1em + 1%) should be used-value-equivalent to calc(1em + 1%) 
10
PASS Property margin-left value 'min(1pt + 1%)' 
10
PASS min(1ex + 1%) should be used-value-equivalent to calc(1ex + 1%) 
11
PASS Property margin-left value 'min(1em + 1%)' 
11
PASS min(1ch + 1%) should be used-value-equivalent to calc(1ch + 1%) 
12
PASS Property margin-left value 'min(1ex + 1%)' 
12
PASS min(1rem + 1%) should be used-value-equivalent to calc(1rem + 1%) 
13
PASS Property margin-left value 'min(1ch + 1%)' 
13
PASS min(1vh + 1%) should be used-value-equivalent to calc(1vh + 1%) 
14
PASS Property margin-left value 'min(1rem + 1%)' 
14
PASS min(1vw + 1%) should be used-value-equivalent to calc(1vw + 1%) 
15
PASS Property margin-left value 'min(1vh + 1%)' 
15
PASS min(1vmin + 1%) should be used-value-equivalent to calc(1vmin + 1%) 
16
PASS Property margin-left value 'min(1vw + 1%)' 
16
PASS min(1vmax + 1%) should be used-value-equivalent to calc(1vmax + 1%) 
17
PASS Property margin-left value 'min(1vmin + 1%)' 
17
PASS max(1px + 1%) should be used-value-equivalent to calc(1px + 1%) 
18
PASS Property margin-left value 'min(1vmax + 1%)' 
18
PASS max(1cm + 1%) should be used-value-equivalent to calc(1cm + 1%) 
19
PASS Property margin-left value 'max(1px + 1%)' 
19
PASS max(1mm + 1%) should be used-value-equivalent to calc(1mm + 1%) 
20
PASS Property margin-left value 'max(1cm + 1%)' 
20
PASS max(1Q + 1%) should be used-value-equivalent to calc(1Q + 1%) 
21
PASS Property margin-left value 'max(1mm + 1%)' 
21
PASS max(1in + 1%) should be used-value-equivalent to calc(1in + 1%) 
22
PASS Property margin-left value 'max(1Q + 1%)' 
22
PASS max(1pc + 1%) should be used-value-equivalent to calc(1pc + 1%) 
23
PASS Property margin-left value 'max(1in + 1%)' 
23
PASS max(1pt + 1%) should be used-value-equivalent to calc(1pt + 1%) 
24
PASS Property margin-left value 'max(1pc + 1%)' 
24
PASS max(1em + 1%) should be used-value-equivalent to calc(1em + 1%) 
25
PASS Property margin-left value 'max(1pt + 1%)' 
25
PASS max(1ex + 1%) should be used-value-equivalent to calc(1ex + 1%) 
26
PASS Property margin-left value 'max(1em + 1%)' 
26
PASS max(1ch + 1%) should be used-value-equivalent to calc(1ch + 1%) 
27
PASS Property margin-left value 'max(1ex + 1%)' 
27
PASS max(1rem + 1%) should be used-value-equivalent to calc(1rem + 1%) 
28
PASS Property margin-left value 'max(1ch + 1%)' 
28
PASS max(1vh + 1%) should be used-value-equivalent to calc(1vh + 1%) 
29
PASS Property margin-left value 'max(1rem + 1%)' 
29
PASS max(1vw + 1%) should be used-value-equivalent to calc(1vw + 1%) 
30
PASS Property margin-left value 'max(1vh + 1%)' 
30
PASS max(1vmin + 1%) should be used-value-equivalent to calc(1vmin + 1%) 
31
PASS Property margin-left value 'max(1vw + 1%)' 
31
PASS max(1vmax + 1%) should be used-value-equivalent to calc(1vmax + 1%) 
32
PASS Property margin-left value 'max(1vmin + 1%)' 
32
PASS min(20px, 10%) should be used-value-equivalent to 20px 
33
PASS Property margin-left value 'max(1vmax + 1%)' 
33
PASS min(1em, 10%) should be used-value-equivalent to 20px 
34
PASS Property margin-left value 'min(20px, 10%)' 
34
PASS max(20px, 10%) should be used-value-equivalent to 40px 
35
PASS Property margin-left value 'min(1em, 10%)' 
35
PASS max(1em, 10%) should be used-value-equivalent to 40px 
36
PASS Property margin-left value 'max(20px, 10%)' 
36
PASS min(20px, 10%) should be used-value-equivalent to 10px; width=100px 
37
PASS Property margin-left value 'max(1em, 10%)' 
37
PASS min(1em, 10%) should be used-value-equivalent to 10px; width=100px 
38
PASS Property margin-left value 'min(20px, 10%)' 
38
PASS max(20px, 10%) should be used-value-equivalent to 20px; width=100px 
39
PASS Property margin-left value 'min(1em, 10%)' 
39
PASS max(1em, 10%) should be used-value-equivalent to 20px; width=100px 
40
PASS Property margin-left value 'max(20px, 10%)' 
40
PASS min(30px + 10%, 60px + 5%) should be used-value-equivalent to 70px 
41
PASS Property margin-left value 'max(1em, 10%)' 
41
PASS max(2em + 10%, 1em + 20%) should be used-value-equivalent to 100px 
42
PASS Property margin-left value 'min(30px + 10%, 60px + 5%)' 
42
PASS calc(min(1.5em, 10%) + 10px) should be used-value-equivalent to 40px 
43
PASS Property margin-left value 'max(2em + 10%, 1em + 20%)' 
43
PASS calc(min(1.5em, 10%) - 10px) should be used-value-equivalent to 20px 
44
PASS Property margin-left value 'calc(min(1.5em, 10%) + 10px)' 
44
PASS calc(min(1.5em, 10%) * 2) should be used-value-equivalent to 60px 
45
PASS Property margin-left value 'calc(min(1.5em, 10%) - 10px)' 
45
PASS calc(min(1.5em, 10%) / 2) should be used-value-equivalent to 15px 
46
PASS Property margin-left value 'calc(min(1.5em, 10%) * 2)' 
46
PASS calc(max(1em, 15%) + 10px) should be used-value-equivalent to 70px 
47
PASS Property margin-left value 'calc(min(1.5em, 10%) / 2)' 
47
PASS calc(max(1em, 15%) - 10px) should be used-value-equivalent to 50px 
48
PASS Property margin-left value 'calc(max(1em, 15%) + 10px)' 
48
PASS calc(max(1em, 15%) * 2) should be used-value-equivalent to 120px 
49
PASS Property margin-left value 'calc(max(1em, 15%) - 10px)' 
49
PASS calc(max(1em, 15%) / 2) should be used-value-equivalent to 30px 
50
PASS Property margin-left value 'calc(max(1em, 15%) * 2)' 
50
PASS calc(min(1.5em, 10%) + max(1em, 15%)) should be used-value-equivalent to 90px 
51
PASS Property margin-left value 'calc(max(1em, 15%) / 2)' 
51
PASS calc(min(1.5em, 10%) - max(1em, 15%)) should be used-value-equivalent to -30px 
52
PASS Property margin-left value 'calc(min(1.5em, 10%) + max(1em, 15%))' 
53
PASS Property margin-left value 'calc(min(1.5em, 10%) - max(1em, 15%))' 
54
52
- a/LayoutTests/platform/ios-wk2/imported/w3c/web-platform-tests/css/cssom/css-style-attr-decl-block-expected.txt +9 lines
Line 0 a/LayoutTests/platform/ios-wk2/imported/w3c/web-platform-tests/css/cssom/css-style-attr-decl-block-expected.txt_sec1
1
2
PASS Style attribute should create CSS declaration block based on its content 
3
FAIL Changes to style attribute should reflect on CSS declaration block assert_equals: CSS declaration block after removing the style attribute expected "" but got "z-index: 21;"
4
PASS Changes to CSS declaration block should reflect on style attribute 
5
PASS Changes to CSS declaration block should queue mutation record for style attribute 
6
PASS Removing non-existing property or setting invalid value on CSS declaration block shouldn't queue mutation record 
7
PASS Changes to CSS declaration block after a base URL change 
8
FAIL Expansion of all:unset and all:revert treated identically assert_equals: expected "color: unset; color-scheme: unset; display: unset; font-family: unset; font-feature-settings: unset; font-optical-sizing: unset; font-size: unset; font-stretch: unset; font-style: unset; font-synthesis: unset; font-variant-alternates: unset; font-variant-caps: unset; font-variant-east-asian: unset; font-variant-ligatures: unset; font-variant-numeric: unset; font-variant-position: unset; font-variation-settings: unset; font-weight: unset; text-rendering: unset; writing-mode: unset; zoom: unset; -webkit-font-kerning: unset; -webkit-font-smoothing: unset; -webkit-locale: unset; -webkit-text-orientation: unset; -webkit-text-size-adjust: unset; -webkit-text-zoom: unset; align-content: unset; align-items: unset; align-self: unset; alignment-baseline: unset; alt: unset; animation: unset unset unset unset unset unset unset unset; background-attachment: unset; background-blend-mode: unset; background-clip: unset; background-color: unset; background-image: unset; background-origin: unset; background-size: unset; baseline-shift: unset; block-size: unset; border-block-end-color: unset; border-block-end-style: unset; border-block-end-width: unset; border-block-start-color: unset; border-block-start-style: unset; border-block-start-width: unset; border: unset unset unset; border-bottom-right-radius: unset; border-collapse: unset; border-image-outset: unset; border-image-repeat: unset; border-image-slice: unset; border-image-source: unset; border-image-width: unset; border-inline-end-color: unset; border-inline-end-style: unset; border-inline-end-width: unset; border-inline-start-color: unset; border-inline-start-style: unset; border-inline-start-width: unset; border-top-left-radius: unset; border-top-right-radius: unset; bottom: unset; box-shadow: unset; box-sizing: unset; break-after: unset; break-before: unset; break-inside: unset; buffered-rendering: unset; caption-side: unset; caret-color: unset; clear: unset; clip: unset; clip-path: unset; clip-rule: unset; color-interpolation: unset; color-interpolation-filters: unset; color-profile: unset; color-rendering: unset; column-count: unset; column-fill: unset; column-gap: unset; column-rule-color: unset; column-rule-style: unset; column-rule-width: unset; column-span: unset; column-width: unset; content: unset; counter-increment: unset; counter-reset: unset; cursor: unset; cx: unset; cy: unset; dominant-baseline: unset; empty-cells: unset; enable-background: unset; fill: unset; fill-opacity: unset; fill-rule: unset; filter: unset; flex: unset unset unset; flex-flow: unset unset; float: unset; flood-color: unset; flood-opacity: unset; font-display: unset; glyph-orientation-horizontal: unset; glyph-orientation-vertical: unset; grid-auto-columns: unset; grid-auto-flow: unset; grid-auto-rows: unset; grid-column-end: unset; grid-column-start: unset; grid-row-end: unset; grid-row-start: unset; grid-template-areas: unset; grid-template-columns: unset; grid-template-rows: unset; hanging-punctuation: unset; height: unset; image-orientation: unset; image-rendering: unset; inline-size: unset; isolation: unset; justify-content: unset; justify-items: unset; justify-self: unset; kerning: unset; left: unset; letter-spacing: unset; lighting-color: unset; line-break: unset; line-height: unset; list-style: unset unset unset; margin-block-end: unset; margin-block-start: unset; margin: unset; margin-inline-end: unset; margin-inline-start: unset; marker-end: unset; marker-mid: unset; marker-start: unset; mask: unset; mask-type: unset; max-block-size: unset; max-height: unset; max-inline-size: unset; max-width: unset; min-block-size: unset; min-height: unset; min-inline-size: unset; min-width: unset; mix-blend-mode: unset; object-fit: unset; object-position: unset; opacity: unset; order: unset; orphans: unset; outline: unset unset unset; outline-offset: unset; overflow-wrap: unset; overflow: unset; padding-block-end: unset; padding-block-start: unset; padding: unset; padding-inline-end: unset; padding-inline-start: unset; page: unset; paint-order: unset; perspective: unset; perspective-origin: unset unset; pointer-events: unset; position: unset; quotes: unset; r: unset; resize: unset; right: unset; row-gap: unset; rx: unset; ry: unset; scroll-behavior: unset; scroll-padding: unset; scroll-snap-align: unset; scroll-snap-margin: unset; scroll-snap-type: unset; shape-image-threshold: unset; shape-margin: unset; shape-outside: unset; shape-rendering: unset; size: unset; speak-as: unset; src: unset; stop-color: unset; stop-opacity: unset; stroke: unset; stroke-color: unset; stroke-dasharray: unset; stroke-dashoffset: unset; stroke-linecap: unset; stroke-linejoin: unset; stroke-miterlimit: unset; stroke-opacity: unset; stroke-width: unset; tab-size: unset; table-layout: unset; text-align: unset; text-anchor: unset; text-decoration: unset; text-decoration-color: unset; text-decoration-line: unset; text-decoration-skip: unset; text-decoration-style: unset; text-decoration-thickness: unset; text-indent: unset; text-overflow: unset; text-shadow: unset; text-transform: unset; text-underline-offset: unset; text-underline-position: unset; top: unset; touch-action: unset; transform: unset; transform-box: unset; transform-origin: unset unset unset; transform-style: unset; transition: unset unset unset unset; unicode-range: unset; vector-effect: unset; vertical-align: unset; visibility: unset; white-space: unset; widows: unset; width: unset; will-change: unset; word-break: unset; word-spacing: unset; word-wrap: unset; x: unset; y: unset; z-index: unset; -apple-color-filter: unset; -apple-pay-button-style: unset; -apple-pay-button-type: unset; -apple-trailing-word: unset; -internal-text-autosizing-status: unset; -webkit-appearance: unset; -webkit-aspect-ratio: unset; -webkit-backdrop-filter: unset; -webkit-backface-visibility: unset; -webkit-background-clip: unset; -webkit-background-composite: unset; -webkit-background-origin: unset; -webkit-background-size: unset; -webkit-border-fit: unset; border-spacing: unset; -webkit-border-image: unset; -webkit-box-align: unset; -webkit-box-decoration-break: unset; -webkit-box-direction: unset; -webkit-box-flex: unset; -webkit-box-flex-group: unset; -webkit-box-lines: unset; -webkit-box-ordinal-group: unset; -webkit-box-orient: unset; -webkit-box-pack: unset; -webkit-box-reflect: unset; -webkit-box-shadow: unset; -webkit-column-axis: unset; -webkit-column-progression: unset; -webkit-cursor-visibility: unset; -webkit-font-size-delta: unset; -webkit-hyphenate-character: unset; -webkit-hyphenate-limit-after: unset; -webkit-hyphenate-limit-before: unset; -webkit-hyphenate-limit-lines: unset; -webkit-hyphens: unset; -webkit-initial-letter: unset; -webkit-line-align: unset; -webkit-line-box-contain: unset; -webkit-line-clamp: unset; -webkit-line-grid: unset; -webkit-line-snap: unset; -webkit-margin-after-collapse: unset; -webkit-margin-before-collapse: unset; -webkit-margin-bottom-collapse: unset; -webkit-margin-top-collapse: unset; -webkit-marquee-direction: unset; -webkit-marquee-increment: unset; -webkit-marquee-repetition: unset; -webkit-marquee-speed: unset; -webkit-marquee-style: unset; -webkit-mask-box-image: unset; -webkit-mask-box-image-outset: unset; -webkit-mask-box-image-repeat: unset; -webkit-mask-box-image-slice: unset; -webkit-mask-box-image-source: unset; -webkit-mask-box-image-width: unset; -webkit-mask: unset unset unset unset / unset unset unset unset unset; -webkit-mask-composite: unset; -webkit-mask-size: unset; -webkit-mask-source-type: unset; -webkit-nbsp-mode: unset; -webkit-overflow-scrolling: unset; -webkit-print-color-adjust: unset; -webkit-rtl-ordering: unset; -webkit-ruby-position: unset; -webkit-text-combine: unset; -webkit-text-decorations-in-effect: unset; -webkit-text-emphasis-color: unset; -webkit-text-emphasis-position: unset; -webkit-text-emphasis-style: unset; -webkit-text-fill-color: unset; -webkit-text-security: unset; -webkit-text-stroke-color: unset; -webkit-text-stroke-width: unset; -webkit-touch-callout: unset; -webkit-transform-style: unset; -webkit-user-drag: unset; -webkit-user-modify: unset; -webkit-user-select: unset; border-bottom-left-radius: 1px; background-position: unset unset; background-repeat: unset unset;" but got "color: Revert; color-scheme: Revert; display: Revert; font-family: Revert; font-feature-settings: Revert; font-optical-sizing: Revert; font-size: Revert; font-stretch: Revert; font-style: Revert; font-synthesis: Revert; font-variant-alternates: Revert; font-variant-caps: Revert; font-variant-east-asian: Revert; font-variant-ligatures: Revert; font-variant-numeric: Revert; font-variant-position: Revert; font-variation-settings: Revert; font-weight: Revert; text-rendering: Revert; writing-mode: Revert; zoom: Revert; -webkit-font-kerning: Revert; -webkit-font-smoothing: Revert; -webkit-locale: Revert; -webkit-text-orientation: Revert; -webkit-text-size-adjust: Revert; -webkit-text-zoom: Revert; align-content: Revert; align-items: Revert; align-self: Revert; alignment-baseline: Revert; alt: Revert; animation: Revert Revert Revert Revert Revert Revert Revert Revert; background-attachment: Revert; background-blend-mode: Revert; background-clip: Revert; background-color: Revert; background-image: Revert; background-origin: Revert; background-size: Revert; baseline-shift: Revert; block-size: Revert; border-block-end-color: Revert; border-block-end-style: Revert; border-block-end-width: Revert; border-block-start-color: Revert; border-block-start-style: Revert; border-block-start-width: Revert; border: Revert Revert Revert; border-bottom-right-radius: Revert; border-collapse: Revert; border-image-outset: Revert; border-image-repeat: Revert; border-image-slice: Revert; border-image-source: Revert; border-image-width: Revert; border-inline-end-color: Revert; border-inline-end-style: Revert; border-inline-end-width: Revert; border-inline-start-color: Revert; border-inline-start-style: Revert; border-inline-start-width: Revert; border-top-left-radius: Revert; border-top-right-radius: Revert; bottom: Revert; box-shadow: Revert; box-sizing: Revert; break-after: Revert; break-before: Revert; break-inside: Revert; buffered-rendering: Revert; caption-side: Revert; caret-color: Revert; clear: Revert; clip: Revert; clip-path: Revert; clip-rule: Revert; color-interpolation: Revert; color-interpolation-filters: Revert; color-profile: Revert; color-rendering: Revert; column-count: Revert; column-fill: Revert; column-gap: Revert; column-rule-color: Revert; column-rule-style: Revert; column-rule-width: Revert; column-span: Revert; column-width: Revert; content: Revert; counter-increment: Revert; counter-reset: Revert; cursor: Revert; cx: Revert; cy: Revert; dominant-baseline: Revert; empty-cells: Revert; enable-background: Revert; fill: Revert; fill-opacity: Revert; fill-rule: Revert; filter: Revert; flex: Revert Revert Revert; flex-flow: Revert Revert; float: Revert; flood-color: Revert; flood-opacity: Revert; font-display: Revert; glyph-orientation-horizontal: Revert; glyph-orientation-vertical: Revert; grid-auto-columns: Revert; grid-auto-flow: Revert; grid-auto-rows: Revert; grid-column-end: Revert; grid-column-start: Revert; grid-row-end: Revert; grid-row-start: Revert; grid-template-areas: Revert; grid-template-columns: Revert; grid-template-rows: Revert; hanging-punctuation: Revert; height: Revert; image-orientation: Revert; image-rendering: Revert; inline-size: Revert; isolation: Revert; justify-content: Revert; justify-items: Revert; justify-self: Revert; kerning: Revert; left: Revert; letter-spacing: Revert; lighting-color: Revert; line-break: Revert; line-height: Revert; list-style: Revert Revert Revert; margin-block-end: Revert; margin-block-start: Revert; margin: Revert; margin-inline-end: Revert; margin-inline-start: Revert; marker-end: Revert; marker-mid: Revert; marker-start: Revert; mask: Revert; mask-type: Revert; max-block-size: Revert; max-height: Revert; max-inline-size: Revert; max-width: Revert; min-block-size: Revert; min-height: Revert; min-inline-size: Revert; min-width: Revert; mix-blend-mode: Revert; object-fit: Revert; object-position: Revert; opacity: Revert; order: Revert; orphans: Revert; outline: Revert Revert Revert; outline-offset: Revert; overflow-wrap: Revert; overflow: Revert; padding-block-end: Revert; padding-block-start: Revert; padding: Revert; padding-inline-end: Revert; padding-inline-start: Revert; page: Revert; paint-order: Revert; perspective: Revert; perspective-origin: Revert Revert; pointer-events: Revert; position: Revert; quotes: Revert; r: Revert; resize: Revert; right: Revert; row-gap: Revert; rx: Revert; ry: Revert; scroll-behavior: Revert; scroll-padding: Revert; scroll-snap-align: Revert; scroll-snap-margin: Revert; scroll-snap-type: Revert; shape-image-threshold: Revert; shape-margin: Revert; shape-outside: Revert; shape-rendering: Revert; size: Revert; speak-as: Revert; src: Revert; stop-color: Revert; stop-opacity: Revert; stroke: Revert; stroke-color: Revert; stroke-dasharray: Revert; stroke-dashoffset: Revert; stroke-linecap: Revert; stroke-linejoin: Revert; stroke-miterlimit: Revert; stroke-opacity: Revert; stroke-width: Revert; tab-size: Revert; table-layout: Revert; text-align: Revert; text-anchor: Revert; text-decoration: Revert; text-decoration-color: Revert; text-decoration-line: Revert; text-decoration-skip: Revert; text-decoration-style: Revert; text-decoration-thickness: Revert; text-indent: Revert; text-overflow: Revert; text-shadow: Revert; text-transform: Revert; text-underline-offset: Revert; text-underline-position: Revert; top: Revert; touch-action: Revert; transform: Revert; transform-box: Revert; transform-origin: Revert Revert Revert; transform-style: Revert; transition: Revert Revert Revert Revert; unicode-range: Revert; vector-effect: Revert; vertical-align: Revert; visibility: Revert; white-space: Revert; widows: Revert; width: Revert; will-change: Revert; word-break: Revert; word-spacing: Revert; word-wrap: Revert; x: Revert; y: Revert; z-index: Revert; -apple-color-filter: Revert; -apple-pay-button-style: Revert; -apple-pay-button-type: Revert; -apple-trailing-word: Revert; -internal-text-autosizing-status: Revert; -webkit-appearance: Revert; -webkit-aspect-ratio: Revert; -webkit-backdrop-filter: Revert; -webkit-backface-visibility: Revert; -webkit-background-clip: Revert; -webkit-background-composite: Revert; -webkit-background-origin: Revert; -webkit-background-size: Revert; -webkit-border-fit: Revert; border-spacing: Revert; -webkit-border-image: Revert; -webkit-box-align: Revert; -webkit-box-decoration-break: Revert; -webkit-box-direction: Revert; -webkit-box-flex: Revert; -webkit-box-flex-group: Revert; -webkit-box-lines: Revert; -webkit-box-ordinal-group: Revert; -webkit-box-orient: Revert; -webkit-box-pack: Revert; -webkit-box-reflect: Revert; -webkit-box-shadow: Revert; -webkit-column-axis: Revert; -webkit-column-progression: Revert; -webkit-cursor-visibility: Revert; -webkit-font-size-delta: Revert; -webkit-hyphenate-character: Revert; -webkit-hyphenate-limit-after: Revert; -webkit-hyphenate-limit-before: Revert; -webkit-hyphenate-limit-lines: Revert; -webkit-hyphens: Revert; -webkit-initial-letter: Revert; -webkit-line-align: Revert; -webkit-line-box-contain: Revert; -webkit-line-clamp: Revert; -webkit-line-grid: Revert; -webkit-line-snap: Revert; -webkit-margin-after-collapse: Revert; -webkit-margin-before-collapse: Revert; -webkit-margin-bottom-collapse: Revert; -webkit-margin-top-collapse: Revert; -webkit-marquee-direction: Revert; -webkit-marquee-increment: Revert; -webkit-marquee-repetition: Revert; -webkit-marquee-speed: Revert; -webkit-marquee-style: Revert; -webkit-mask-box-image: Revert; -webkit-mask-box-image-outset: Revert; -webkit-mask-box-image-repeat: Revert; -webkit-mask-box-image-slice: Revert; -webkit-mask-box-image-source: Revert; -webkit-mask-box-image-width: Revert; -webkit-mask: Revert Revert Revert Revert / Revert Revert Revert Revert Revert; -webkit-mask-composite: Revert; -webkit-mask-size: Revert; -webkit-mask-source-type: Revert; -webkit-nbsp-mode: Revert; -webkit-overflow-scrolling: Revert; -webkit-print-color-adjust: Revert; -webkit-rtl-ordering: Revert; -webkit-ruby-position: Revert; -webkit-text-combine: Revert; -webkit-text-decorations-in-effect: Revert; -webkit-text-emphasis-color: Revert; -webkit-text-emphasis-position: Revert; -webkit-text-emphasis-style: Revert; -webkit-text-fill-color: Revert; -webkit-text-security: Revert; -webkit-text-stroke-color: Revert; -webkit-text-stroke-width: Revert; -webkit-touch-callout: Revert; -webkit-transform-style: Revert; -webkit-user-drag: Revert; -webkit-user-modify: Revert; -webkit-user-select: Revert; border-bottom-left-radius: 1px; background-position: Revert Revert; background-repeat: Revert Revert;"
9
- a/LayoutTests/platform/ios-wk2/imported/w3c/web-platform-tests/css/cssom/cssstyledeclaration-csstext-expected.txt +11 lines
Line 0 a/LayoutTests/platform/ios-wk2/imported/w3c/web-platform-tests/css/cssom/cssstyledeclaration-csstext-expected.txt_sec1
1
2
PASS uppercase property 
3
PASS uppercase value 
4
PASS overwriting with invalid value 
5
PASS use rgb 
6
PASS cssText order 
7
PASS another cssText order (non-alphabetical order) 
8
PASS whitespaces in value 
9
PASS invalid property does not appear 
10
FAIL cssText on computed style declaration returns the empty string assert_equals: cssText is empty expected "" but got "align-content: normal; align-items: normal; align-self: auto; alignment-baseline: auto; all: ; alt: \"\"; animation-delay: 0s; animation-direction: normal; animation-duration: 0s; animation-fill-mode: none; animation-iteration-count: 1; animation-name: none; animation-play-state: running; animation-timing-function: ease; background-attachment: scroll; background-blend-mode: normal; background-clip: border-box; background-color: rgba(0, 0, 0, 0); background-image: none; background-origin: padding-box; background-position-x: 0%; background-position-y: 0%; background-repeat: repeat; background-size: auto; baseline-shift: baseline; block-size: 0px; border-block-end-color: rgb(255, 0, 0); border-block-end-style: none; border-block-end-width: 0px; border-block-start-color: rgb(255, 0, 0); border-block-start-style: none; border-block-start-width: 0px; border-bottom-color: rgb(255, 0, 0); border-bottom-left-radius: 0px; border-bottom-right-radius: 0px; border-bottom-style: none; border-bottom-width: 0px; border-collapse: separate; border-image-outset: 0px; border-image-repeat: stretch; border-image-slice: 100%; border-image-source: none; border-image-width: 1; border-inline-end-color: rgb(255, 0, 0); border-inline-end-style: none; border-inline-end-width: 0px; border-inline-start-color: rgb(255, 0, 0); border-inline-start-style: none; border-inline-start-width: 0px; border-left-color: rgb(255, 0, 0); border-left-style: none; border-left-width: 0px; border-right-color: rgb(255, 0, 0); border-right-style: none; border-right-width: 0px; border-top-color: rgb(255, 0, 0); border-top-left-radius: 0px; border-top-right-radius: 0px; border-top-style: none; border-top-width: 0px; bottom: auto; box-shadow: none; box-sizing: content-box; break-after: auto; break-before: auto; break-inside: auto; buffered-rendering: auto; caption-side: top; caret-color: rgb(255, 0, 0); clear: none; clip: auto; clip-path: none; clip-rule: nonzero; color: rgb(255, 0, 0); color-interpolation: sRGB; color-interpolation-filters: linearRGB; color-rendering: auto; color-scheme: auto; column-count: auto; column-fill: balance; column-gap: normal; column-rule-color: rgb(255, 0, 0); column-rule-style: none; column-rule-width: 0px; column-span: none; column-width: auto; content: ; counter-increment: none; counter-reset: none; cursor: auto; cx: 0px; cy: 0px; direction: ltr; display: block; dominant-baseline: auto; empty-cells: show; fill: rgb(0, 0, 0); fill-opacity: 1; fill-rule: nonzero; filter: none; flex-basis: auto; flex-direction: row; flex-grow: 0; flex-shrink: 1; flex-wrap: nowrap; float: none; flood-color: rgb(0, 0, 0); flood-opacity: 1; font-family: -webkit-standard; font-feature-settings: normal; font-optical-sizing: auto; font-size: 13.333333015441895px; font-stretch: normal; font-style: normal; font-synthesis: style weight small-caps; font-variant-alternates: normal; font-variant-caps: normal; font-variant-east-asian: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-position: normal; font-variation-settings: normal; font-weight: normal; glyph-orientation-horizontal: 0deg; glyph-orientation-vertical: auto; grid-auto-columns: auto; grid-auto-flow: row; grid-auto-rows: auto; grid-column-end: auto; grid-column-start: auto; grid-row-end: auto; grid-row-start: auto; grid-template-areas: none; grid-template-columns: none; grid-template-rows: none; hanging-punctuation: none; height: 0px; image-orientation: from-image; image-rendering: auto; inline-size: 784px; inset-block-end: auto; inset-block-start: auto; inset-inline-end: auto; inset-inline-start: auto; isolation: auto; justify-content: normal; justify-items: normal; justify-self: auto; kerning: 0; left: auto; letter-spacing: normal; lighting-color: rgb(255, 255, 255); line-break: auto; line-height: normal; list-style-image: none; list-style-position: outside; list-style-type: disc; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; marker-end: none; marker-mid: none; marker-start: none; mask: none; mask-type: luminance; max-block-size: none; max-height: none; max-inline-size: none; max-width: none; min-block-size: 0px; min-height: 0px; min-inline-size: 0px; min-width: 0px; mix-blend-mode: normal; object-fit: fill; object-position: 50% 50%; opacity: 1; order: 0; orphans: auto; outline-color: rgb(255, 0, 0); outline-offset: 0px; outline-style: none; outline-width: 0px; overflow-wrap: normal; overflow-x: visible; overflow-y: visible; padding-block-end: 0px; padding-block-start: 0px; padding-bottom: 0px; padding-inline-end: 0px; padding-inline-start: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; page-break-after: auto; page-break-before: auto; page-break-inside: auto; paint-order: normal; perspective: none; perspective-origin-x: ; perspective-origin-y: ; pointer-events: auto; position: static; quotes: ; r: 0px; resize: none; right: auto; row-gap: normal; rx: auto; ry: auto; scroll-behavior: auto; scroll-padding-bottom: 0px; scroll-padding-left: 0px; scroll-padding-right: 0px; scroll-padding-top: 0px; scroll-snap-align: none none; scroll-snap-margin-bottom: 0px; scroll-snap-margin-left: 0px; scroll-snap-margin-right: 0px; scroll-snap-margin-top: 0px; scroll-snap-type: none; shape-image-threshold: 0; shape-margin: 0px; shape-outside: none; shape-rendering: auto; size: ; speak-as: normal; stop-color: rgb(0, 0, 0); stop-opacity: 1; stroke: none; stroke-color: rgba(0, 0, 0, 0); stroke-dasharray: none; stroke-dashoffset: 0px; stroke-linecap: butt; stroke-linejoin: miter; stroke-miterlimit: 4; stroke-opacity: 1; stroke-width: 1px; tab-size: 8; table-layout: auto; text-align: start; text-anchor: start; text-decoration: none; text-decoration-color: rgb(255, 0, 0); text-decoration-line: none; text-decoration-skip: auto; text-decoration-style: solid; text-decoration-thickness: auto; text-indent: 0px; text-orientation: mixed; text-overflow: clip; text-rendering: auto; text-shadow: none; text-transform: none; text-underline-offset: auto; text-underline-position: auto; top: auto; touch-action: auto; transform: none; transform-box: view-box; transform-origin-x: ; transform-origin-y: ; transform-origin-z: ; transform-style: flat; transition-delay: 0s; transition-duration: 0s; transition-property: all; transition-timing-function: ease; unicode-bidi: normal; vector-effect: none; vertical-align: baseline; visibility: visible; white-space: normal; widows: auto; width: 784px; will-change: auto; word-break: normal; word-spacing: 0px; word-wrap: normal; writing-mode: horizontal-tb; x: 0px; y: 0px; z-index: auto; zoom: 1; -apple-color-filter: none; -apple-pay-button-style: black; -apple-pay-button-type: plain; -apple-trailing-word: auto; -webkit-appearance: none; -webkit-aspect-ratio: auto; -webkit-backdrop-filter: none; -webkit-backface-visibility: visible; -webkit-background-clip: border-box; -webkit-background-composite: source-over; -webkit-background-origin: padding-box; -webkit-background-size: auto; -webkit-border-fit: border; -webkit-border-horizontal-spacing: 0px; -webkit-border-image: none; -webkit-border-vertical-spacing: 0px; -webkit-box-align: stretch; -webkit-box-decoration-break: slice; -webkit-box-direction: normal; -webkit-box-flex: 0; -webkit-box-flex-group: 1; -webkit-box-lines: single; -webkit-box-ordinal-group: 1; -webkit-box-orient: horizontal; -webkit-box-pack: start; -webkit-box-reflect: none; -webkit-box-shadow: none; -webkit-column-axis: auto; -webkit-column-break-after: auto; -webkit-column-break-before: auto; -webkit-column-break-inside: auto; -webkit-column-progression: normal; -webkit-cursor-visibility: auto; -webkit-font-kerning: auto; -webkit-font-smoothing: auto; -webkit-hyphenate-character: auto; -webkit-hyphenate-limit-after: auto; -webkit-hyphenate-limit-before: auto; -webkit-hyphenate-limit-lines: no-limit; -webkit-hyphens: manual; -webkit-initial-letter: normal; -webkit-line-align: none; -webkit-line-box-contain: block inline replaced; -webkit-line-clamp: none; -webkit-line-grid: none; -webkit-line-snap: none; -webkit-locale: auto; -webkit-margin-after-collapse: collapse; -webkit-margin-before-collapse: collapse; -webkit-margin-bottom-collapse: collapse; -webkit-margin-top-collapse: collapse; -webkit-mask-box-image: none; -webkit-mask-box-image-outset: 0px; -webkit-mask-box-image-repeat: stretch; -webkit-mask-box-image-slice: 0 fill; -webkit-mask-box-image-source: none; -webkit-mask-box-image-width: auto; -webkit-mask-clip: border-box; -webkit-mask-composite: source-over; -webkit-mask-image: none; -webkit-mask-origin: border-box; -webkit-mask-position-x: 0%; -webkit-mask-position-y: 0%; -webkit-mask-repeat: repeat; -webkit-mask-size: auto; -webkit-mask-source-type: alpha; -webkit-nbsp-mode: normal; -webkit-overflow-scrolling: auto; -webkit-print-color-adjust: economy; -webkit-rtl-ordering: logical; -webkit-ruby-position: before; -webkit-text-combine: none; -webkit-text-emphasis-color: rgb(255, 0, 0); -webkit-text-emphasis-position: over right; -webkit-text-emphasis-style: none; -webkit-text-fill-color: rgb(255, 0, 0); -webkit-text-orientation: mixed; -webkit-text-security: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-color: rgb(255, 0, 0); -webkit-text-stroke-width: 0px; -webkit-text-zoom: normal; -webkit-touch-callout: default; -webkit-transform-style: flat; -webkit-user-drag: auto; -webkit-user-modify: read-only; -webkit-user-select: text;"
11
- a/LayoutTests/platform/ios-wk2/imported/w3c/web-platform-tests/css/geometry/DOMMatrix2DInit-validate-fixup-expected.txt +186 lines
Line 0 a/LayoutTests/platform/ios-wk2/imported/w3c/web-platform-tests/css/geometry/DOMMatrix2DInit-validate-fixup-expected.txt_sec1
1
2
PASS setTransform({a: 1, m11: 2}) (invalid) 
3
PASS addPath({a: 1, m11: 2}) (invalid) 
4
PASS setTransform({b: 0, m12: -1}) (invalid) 
5
PASS addPath({b: 0, m12: -1}) (invalid) 
6
PASS setTransform({c: Infinity, m21: -Infinity}) (invalid) 
7
PASS addPath({c: Infinity, m21: -Infinity}) (invalid) 
8
PASS setTransform({d: 0, m22: NaN}) (invalid) 
9
PASS addPath({d: 0, m22: NaN}) (invalid) 
10
PASS setTransform({e: 1, m41: 1.00000001}) (invalid) 
11
PASS addPath({e: 1, m41: 1.00000001}) (invalid) 
12
PASS setTransform({f: 0, m42: 5e-324}) (invalid) 
13
PASS addPath({f: 0, m42: 5e-324}) (invalid) 
14
PASS setTransform (Sanity check without dictionary) 
15
PASS addPath (Sanity check without second parameter) 
16
PASS setTransform({m13: 1, is2D: true}) 
17
PASS addPath({m13: 1, is2D: true}) 
18
PASS setTransform({m14: 1, is2D: true}) 
19
PASS addPath({m14: 1, is2D: true}) 
20
PASS setTransform({m23: 1, is2D: true}) 
21
PASS addPath({m23: 1, is2D: true}) 
22
PASS setTransform({m24: 1, is2D: true}) 
23
PASS addPath({m24: 1, is2D: true}) 
24
PASS setTransform({m31: 1, is2D: true}) 
25
PASS addPath({m31: 1, is2D: true}) 
26
PASS setTransform({m32: 1, is2D: true}) 
27
PASS addPath({m32: 1, is2D: true}) 
28
PASS setTransform({m33: 0, is2D: true}) 
29
PASS addPath({m33: 0, is2D: true}) 
30
PASS setTransform({m33: -0, is2D: true}) 
31
PASS addPath({m33: -0, is2D: true}) 
32
PASS setTransform({m33: -1, is2D: true}) 
33
PASS addPath({m33: -1, is2D: true}) 
34
PASS setTransform({m34: 1, is2D: true}) 
35
PASS addPath({m34: 1, is2D: true}) 
36
PASS setTransform({m43: 1, is2D: true}) 
37
PASS addPath({m43: 1, is2D: true}) 
38
PASS setTransform({m44: 0, is2D: true}) 
39
PASS addPath({m44: 0, is2D: true}) 
40
PASS setTransform({}) 
41
PASS addPath({}) 
42
PASS setTransform({is2D: undefined}) 
43
PASS addPath({is2D: undefined}) 
44
PASS setTransform({a: 1, m11: 1}) 
45
PASS addPath({a: 1, m11: 1}) 
46
PASS setTransform({b: 0, m12: undefined}) 
47
PASS addPath({b: 0, m12: undefined}) 
48
PASS setTransform({c: 0, m21: 0}) 
49
PASS addPath({c: 0, m21: 0}) 
50
FAIL setTransform({c: 0, m21: -0}) assert_equals: m21 expected -0 but got 0
51
PASS addPath({c: 0, m21: -0}) 
52
PASS setTransform({c: -0, m21: 0}) 
53
PASS addPath({c: -0, m21: 0}) 
54
FAIL setTransform({c: -0, m21: -0}) assert_equals: m21 expected -0 but got 0
55
PASS addPath({c: -0, m21: -0}) 
56
PASS setTransform({d: Infinity, m22: Infinity}) 
57
PASS addPath({d: Infinity, m22: Infinity}) 
58
PASS setTransform({e: -Infinity, m41: -Infinity}) 
59
PASS addPath({e: -Infinity, m41: -Infinity}) 
60
PASS setTransform({f: NaN, m42: NaN}) 
61
PASS addPath({f: NaN, m42: NaN}) 
62
PASS setTransform({f: NaN, m42: NaN, is2D: true}) 
63
PASS addPath({f: NaN, m42: NaN, is2D: true}) 
64
PASS setTransform({f: 0, m42: null}) 
65
PASS addPath({f: 0, m42: null}) 
66
PASS setTransform({f: -0, m42: null}) 
67
PASS addPath({f: -0, m42: null}) 
68
PASS setTransform({a: 2}) 
69
PASS addPath({a: 2}) 
70
PASS setTransform({b: 2}) 
71
FAIL addPath({b: 2}) assert_equals: expected "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAASwAAACWCAYAAABkW7XSAAAAAXNSR0IArs4c6QAAAERlWElmTU0AKgAAAAgAAYdpAAQAAAABAAAAGgAAAAAAA6ABAAMAAAABAAEAAKACAAQAAAABAAABLKADAAQAAAABAAAAlgAAAABJS0H3AAAFsElEQVR4Ae3WbW4TMRCA4QrOyCXhPlwHOgqRaNoku954PWM//EH9yO7MY6t63978I0CAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBLIL/Mg+oPkIEKgp8K3D2P5gdUD1SAIE+gj8eX+sP1p9bD2VwNICPQorQP3BWvpaWZ5AHYEoLJVV57xMSqCMQK/CCgCVVeYaGJTAugLXwlJZ694BmxPoItCzsGJgldXl2DyUAIFXCfxfWCrrVaqeQ4DAW+/CCmKV5aIRIJBW4LawVFbaozIYgVoCZxRWiKisWvfCtASWEfiqsFTWMsdvUQL9BM4qrNhAZfU7R08mQKBR4F5hqaxGUB8jQOAicGZhxRtVlptHgEAqgUeFpbJSHZVhCNQSOLuwQkdl1bojpiUwtcCzwlJZUx+/5Qj0ExhRWLGNyup3pp5MgMAOgS2FpbJ2gPpVAgQuAqMKK96ustxCAgSGC2wtLJU1/KgMQKCWwMjCCimVVeu+mJbAdAJ7CktlTXf8FiLQT2B0YcVmKqvf+XoyAQJPBPYWlsp6AurHBAhcBDIUVkyistxIAgSGCLQUlsoaclReSqCWQJbCCjWVVevumJbAFAI/37dQWVMcpSUI5BLoUVi/Dqyosg7g+SgBAm0CKqvNzacIEHgg0KOw4nUq6wG6HxEgkE9AZeU7ExMRKC3Qq7ACRWWVvhqGJ7CegMpa78xtTKCbQM/CiqFVVrej82ACBHoIqKweqp5JYEGB3oUVpCprwYtlZQKVBVRW5dMzO4EkAmcUVqyqspIcuDEIENgmoLK2OfktAgTuCJxVWPF6lXXnEHybAIGcAior57mYikAJgTMLK0BUVolrYUgCBK4CKusq4X8CBHYJnF1YMZzK2nVEfpkAgdECKmv0CXg/gYICIwormFRWwctiZAIrC6islU/f7gQaBEYVVoyqshoOzEcIEBgnoLLG2XszgXICIwsrsFRWuStjYAJrC6istc/f9gQ2C4wurBhUZW0+Lr9IgEAGAZWV4RTMQCC5QIbCCiKVlfyiGI8AgY8CKuujh68IELgRyFJYMZbKujkcXxIgkFvgSGXl3sx0BAgcFshUWLHMkco6jOEBBAgQ2CvQWll73+P3CRAoJpCtsIJPZRW7RMYlsLpAS2WtbmZ/AtMLZCysQFdZ0189CxKYS2BvZc21vW0IEPgkkLWwYlCV9em4fIMAgcwCeyor8x5mI0DgBQKZCyvWU1kvOGSPIEDgPIGtlXXeRN5EgMAQgeyFFSgqa8jV8FICBFoFtlRW67N9jgCBIgIVCisoVVaRC2VMAgQuAs8qixMBApMLVCmsOAaVNflltB6B2QQeVdZsu9qHAIEbgUqFFaOrrJsD9CUBArkF7lVW7qlNR4DAYYFqhRULq6zDx+4BBAicKfBVZZ35fu8iQGCAQMXCCiaVNeCyeCUBAu0Ct5XV/iSfJECghEDVwgpclVXiihmSAIGrwP+Vdf2e/wkQmFSgcmHFkaisSS+mtQjMKnCtrFn3sxcBAv8EqhdWrKGyXGcCBEoJRGX5R4DA5ALfJ9rv90S7WIUAgS8E/gKT697UFChP0wAAAABJRU5ErkJggg==" but got "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAASwAAACWCAYAAABkW7XSAAAAAXNSR0IArs4c6QAAAERlWElmTU0AKgAAAAgAAYdpAAQAAAABAAAAGgAAAAAAA6ABAAMAAAABAAEAAKACAAQAAAABAAABLKADAAQAAAABAAAAlgAAAABJS0H3AAAFQklEQVR4Ae3WS44bUQgF0EjZGDvPVpKVJHhgybL8qSJSg5vjSfcEAaee0P3xw48AAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBCYLhDTBzQfAQIErgK/rv/4S4AAgekCf3PAmD6k+QgQIHARuBwsKctbIEDgIwQuB0vK+ohPZUgCBK4HS8ryFggQGC9wPVhS1vhPZUACBG4PlpTlPRAgMFrg9mBJWaM/leEIELg/WFKWN0GAwFiB+4MlZY39VAYjQODRwZKyvAsCBEYKPDpYUtbIT2UoAgSeHSwpy9sgQGCcwLODJWWN+1QGIkDg1cGSsrwPAgRGCbw6WFLWqE9lGAIE3h0sKcsbIUBgjMC7gyVljflUBiFA4MjBkrK8EwIERggcOVhS1ohPZQgCBI4eLCnLWyFAoF3g6MGSsto/lQEIEDhzsKQs74UAgVaBMwdLymr9VJoTIHD2YElZ3gwBAm0CZw+WlNX2qTQmQKBysKQs74YAgRaBysGSslo+laYECFQPlpTl7RAg8OUCl8NTPVrx5dNqSIDAaoHI7asHS8pa/XQsT6BHQMrqcdeVAIGCQGSNlFWAU0KAQI+AlNXjrisBAgWByBopqwCnhACBHgEpq8ddVwIECgKRNVJWAU4JAQI9AlJWj7uuBAgUBCJrpKwCnBICBHoEpKwed10JECgIRNZIWQU4JQQI9AhIWT3uuhIgUBCIrJGyCnBKCBDoEZCyetx1JUCgIBBZI2UV4JQQINAjIGX1uOtKgEBBILJGyirAKSFAoEdAyupx15UAgYJAZI2UVYBTQoBAj4CU1eOuKwECBYHIGimrAKeEAIEeASmrx11XAgQKApE1UlYBTgkBAj0CUlaPu64ECBQEImukrAKcEgIEegSkrB53XQkQKAhE1khZBTglBAj0CEhZPe66EiBQEIiskbIKcEoIEOgR+J+U1TOxrgQIrBWI3LyastaiWZwAgT6Basrqm1hnAgTWCkRuXklZa8EsToBAr0AlZfVOrDsBAmsFIjc/m7LWYlmcAIF+gbMpq39iExAgsFYgcvMzKWstlMUJEJghcCZlzZjYFAQIrBWI3PxoylqLZHECBOYIHE1ZcyY2CQECawUiNz+SstYCWZwAgVkCR1LWrIlNQ4DAWoHIzd+lrLU4FidAYJ7Au5Q1b2ITESCwViBy81cpay2MxQkQmCnwKmXNnNhUBAisFYjc/FnKWoticQIE5go8S1lzJzYZAQJrBSI3f5Sy1oJYnACB2QKPUtbsiU1HgMBagcjN71PWWgyLEyAwX+A+Zc2f2IQECKwViNz8NmWthbA4AQKfIXCbsj5jYlMSILBWIHLza8pai2BxAgQ+R+Casj5nYpMSILBWIHLzS8ryI0CAwEcIXFKWHwEC31zg5zfZ70/u8fub7GINAgSeCPwDvl+CLjxwkBUAAAAASUVORK5CYII="
72
PASS setTransform({c: 2}) 
73
FAIL addPath({c: 2}) assert_equals: expected "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAASwAAACWCAYAAABkW7XSAAAAAXNSR0IArs4c6QAAAERlWElmTU0AKgAAAAgAAYdpAAQAAAABAAAAGgAAAAAAA6ABAAMAAAABAAEAAKACAAQAAAABAAABLKADAAQAAAABAAAAlgAAAABJS0H3AAADpUlEQVR4Ae3UMQqEUBRDUTc5m5xNjlpZDrcxzRE+2ITAeZDj8BEgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAgUfgc/1+r/d7+d2dd7ePAAECWcBwZTIBAgTWAoZrfQH9BAhkAcOVyQQIEFgLGK71BfQTIJAFDFcmEyBAYC1guNYX0E+AQBYwXJlMgACBtYDhWl9APwECWcBwZTIBAgTWAoZrfQH9BAhkAcOVyQQIEFgLGK71BfQTIJAFDFcmEyBAYC1guNYX0E+AQBYwXJlMgACBtYDhWl9APwECWcBwZTIBAgTWAoZrfQH9BAhkAcOVyQQIEFgLGK71BfQTIJAFDFcmEyBAYC1guNYX0E+AQBYwXJlMgACBtYDhWl9APwECWcBwZTIBAgTWAoZrfQH9BAhkAcOVyQQIEFgLGK71BfQTIJAFDFcmEyBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBA4J/ACYiOgKrp3f/nAAAAAElFTkSuQmCC" but got "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAASwAAACWCAYAAABkW7XSAAAAAXNSR0IArs4c6QAAAERlWElmTU0AKgAAAAgAAYdpAAQAAAABAAAAGgAAAAAAA6ABAAMAAAABAAEAAKACAAQAAAABAAABLKADAAQAAAABAAAAlgAAAABJS0H3AAAD3ElEQVR4Ae3UMQpCURADQI+Wm3s0jZWdkMZt5sOD34TALOTx8BEgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAga9A+vvse/35fTrT5yNAgMAskCYM18wmQIDApUBabrguL6CbAIFZIE0YrplNgACBS4G03HBdXkA3AQKzQJowXDObAAEClwJpueG6vIBuAgRmgTRhuGY2AQIELgXScsN1eQHdBAjMAmnCcM1sAgQIXAqk5Ybr8gK6CRCYBdKE4ZrZBAgQuBRIyw3X5QV0EyAwC6QJwzWzCRAgcCmQlhuuywvoJkBgFkgThmtmEyBA4FIgLTdclxfQTYDALJAmDNfMJkCAwKVAWm64Li+gmwCBWSBNGK6ZTYAAgUuBtNxwXV5ANwECs0CaMFwzmwABApcCabnhuryAbgIEZoE0YbhmNgECBC4F0nLDdXkB3QQIzAJpwnDNbAIECFwKpOWG6/ICugkQmAXShOGa2QQIELgUSMsN1+UFdBMgMAukCcM1swkQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIPBL4A2IjoCqXFuDVAAAAABJRU5ErkJggg=="
74
PASS setTransform({d: 2}) 
75
PASS addPath({d: 2}) 
76
PASS setTransform({e: 2}) 
77
PASS addPath({e: 2}) 
78
PASS setTransform({f: 2}) 
79
PASS addPath({f: 2}) 
80
FAIL setTransform({a: -0, b: -0, c: -0, d: -0, e: -0, f: -0}) assert_equals: m11 expected -0 but got 1
81
PASS addPath({a: -0, b: -0, c: -0, d: -0, e: -0, f: -0}) 
82
FAIL setTransform({a: -0, b: -0, c: -0, d: -0, e: -0, f: -0, is2D: true}) assert_equals: m11 expected -0 but got 1
83
PASS addPath({a: -0, b: -0, c: -0, d: -0, e: -0, f: -0, is2D: true}) 
84
PASS setTransform({m11: 2}) 
85
FAIL addPath({m11: 2}) assert_equals: expected "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAASwAAACWCAYAAABkW7XSAAAAAXNSR0IArs4c6QAAAERlWElmTU0AKgAAAAgAAYdpAAQAAAABAAAAGgAAAAAAA6ABAAMAAAABAAEAAKACAAQAAAABAAABLKADAAQAAAABAAAAlgAAAABJS0H3AAADoUlEQVR4Ae3UQQqEQBRDQWfuf2c9wKO3EqFcxkWH+pDr8hEgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIDASeB3+jGU30Nd3qjyhZu84eANAhH4JxEQIEBgVMBgjR5GLQIEKmCwaiIhQGBUwGCNHkYtAgQqYLBqIiFAYFTAYI0eRi0CBCpgsGoiIUBgVMBgjR5GLQIEKmCwaiIhQGBUwGCNHkYtAgQqYLBqIiFAYFTAYI0eRi0CBCpgsGoiIUBgVMBgjR5GLQIEKmCwaiIhQGBUwGCNHkYtAgQqYLBqIiFAYFTAYI0eRi0CBCpgsGoiIUBgVMBgjR5GLQIEKmCwaiIhQGBUwGCNHkYtAgQqYLBqIiFAYFTAYI0eRi0CBCpgsGoiIUBgVMBgjR5GLQIEKmCwaiIhQGBUwGCNHkYtAgQqYLBqIiFAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgACBg8ADxXYBPM85ftMAAAAASUVORK5CYII=" but got "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAASwAAACWCAYAAABkW7XSAAAAAXNSR0IArs4c6QAAAERlWElmTU0AKgAAAAgAAYdpAAQAAAABAAAAGgAAAAAAA6ABAAMAAAABAAEAAKACAAQAAAABAAABLKADAAQAAAABAAAAlgAAAABJS0H3AAADoklEQVR4Ae3UsQ2EMAAEQaD/nvkKiLyXvIbQyCuY4K7LQ4AAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQJfAvfXi4Pz9+DuydXFv5x8j7sECMQCT9yTI0CAwEzAYM1ohQkQqAUMVi2qR4DATMBgzWiFCRCoBQxWLapHgMBMwGDNaIUJEKgFDFYtqkeAwEzAYM1ohQkQqAUMVi2qR4DATMBgzWiFCRCoBQxWLapHgMBMwGDNaIUJEKgFDFYtqkeAwEzAYM1ohQkQqAUMVi2qR4DATMBgzWiFCRCoBQxWLapHgMBMwGDNaIUJEKgFDFYtqkeAwEzAYM1ohQkQqAUMVi2qR4DATMBgzWiFCRCoBQxWLapHgMBMwGDNaIUJEKgFDFYtqkeAwEzAYM1ohQkQqAUMVi2qR4DATMBgzWiFCRCoBQxWLapHgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgACBPxb4ARX9ATxduWd5AAAAAElFTkSuQmCC"
86
PASS setTransform({m12: 2}) 
87
FAIL addPath({m12: 2}) assert_equals: expected "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAASwAAACWCAYAAABkW7XSAAAAAXNSR0IArs4c6QAAAERlWElmTU0AKgAAAAgAAYdpAAQAAAABAAAAGgAAAAAAA6ABAAMAAAABAAEAAKACAAQAAAABAAABLKADAAQAAAABAAAAlgAAAABJS0H3AAAFsElEQVR4Ae3WbW4TMRCA4QrOyCXhPlwHOgqRaNoku954PWM//EH9yO7MY6t63978I0CAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBLIL/Mg+oPkIEKgp8K3D2P5gdUD1SAIE+gj8eX+sP1p9bD2VwNICPQorQP3BWvpaWZ5AHYEoLJVV57xMSqCMQK/CCgCVVeYaGJTAugLXwlJZ694BmxPoItCzsGJgldXl2DyUAIFXCfxfWCrrVaqeQ4DAW+/CCmKV5aIRIJBW4LawVFbaozIYgVoCZxRWiKisWvfCtASWEfiqsFTWMsdvUQL9BM4qrNhAZfU7R08mQKBR4F5hqaxGUB8jQOAicGZhxRtVlptHgEAqgUeFpbJSHZVhCNQSOLuwQkdl1bojpiUwtcCzwlJZUx+/5Qj0ExhRWLGNyup3pp5MgMAOgS2FpbJ2gPpVAgQuAqMKK96ustxCAgSGC2wtLJU1/KgMQKCWwMjCCimVVeu+mJbAdAJ7CktlTXf8FiLQT2B0YcVmKqvf+XoyAQJPBPYWlsp6AurHBAhcBDIUVkyistxIAgSGCLQUlsoaclReSqCWQJbCCjWVVevumJbAFAI/37dQWVMcpSUI5BLoUVi/Dqyosg7g+SgBAm0CKqvNzacIEHgg0KOw4nUq6wG6HxEgkE9AZeU7ExMRKC3Qq7ACRWWVvhqGJ7CegMpa78xtTKCbQM/CiqFVVrej82ACBHoIqKweqp5JYEGB3oUVpCprwYtlZQKVBVRW5dMzO4EkAmcUVqyqspIcuDEIENgmoLK2OfktAgTuCJxVWPF6lXXnEHybAIGcAior57mYikAJgTMLK0BUVolrYUgCBK4CKusq4X8CBHYJnF1YMZzK2nVEfpkAgdECKmv0CXg/gYICIwormFRWwctiZAIrC6islU/f7gQaBEYVVoyqshoOzEcIEBgnoLLG2XszgXICIwsrsFRWuStjYAJrC6istc/f9gQ2C4wurBhUZW0+Lr9IgEAGAZWV4RTMQCC5QIbCCiKVlfyiGI8AgY8CKuujh68IELgRyFJYMZbKujkcXxIgkFvgSGXl3sx0BAgcFshUWLHMkco6jOEBBAgQ2CvQWll73+P3CRAoJpCtsIJPZRW7RMYlsLpAS2WtbmZ/AtMLZCysQFdZ0189CxKYS2BvZc21vW0IEPgkkLWwYlCV9em4fIMAgcwCeyor8x5mI0DgBQKZCyvWU1kvOGSPIEDgPIGtlXXeRN5EgMAQgeyFFSgqa8jV8FICBFoFtlRW67N9jgCBIgIVCisoVVaRC2VMAgQuAs8qixMBApMLVCmsOAaVNflltB6B2QQeVdZsu9qHAIEbgUqFFaOrrJsD9CUBArkF7lVW7qlNR4DAYYFqhRULq6zDx+4BBAicKfBVZZ35fu8iQGCAQMXCCiaVNeCyeCUBAu0Ct5XV/iSfJECghEDVwgpclVXiihmSAIGrwP+Vdf2e/wkQmFSgcmHFkaisSS+mtQjMKnCtrFn3sxcBAv8EqhdWrKGyXGcCBEoJRGX5R4DA5ALfJ9rv90S7WIUAgS8E/gKT697UFChP0wAAAABJRU5ErkJggg==" but got "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAASwAAACWCAYAAABkW7XSAAAAAXNSR0IArs4c6QAAAERlWElmTU0AKgAAAAgAAYdpAAQAAAABAAAAGgAAAAAAA6ABAAMAAAABAAEAAKACAAQAAAABAAABLKADAAQAAAABAAAAlgAAAABJS0H3AAADoklEQVR4Ae3UsQ2EMAAEQaD/nvkKiLyXvIbQyCuY4K7LQ4AAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQJfAvfXi4Pz9+DuydXFv5x8j7sECMQCT9yTI0CAwEzAYM1ohQkQqAUMVi2qR4DATMBgzWiFCRCoBQxWLapHgMBMwGDNaIUJEKgFDFYtqkeAwEzAYM1ohQkQqAUMVi2qR4DATMBgzWiFCRCoBQxWLapHgMBMwGDNaIUJEKgFDFYtqkeAwEzAYM1ohQkQqAUMVi2qR4DATMBgzWiFCRCoBQxWLapHgMBMwGDNaIUJEKgFDFYtqkeAwEzAYM1ohQkQqAUMVi2qR4DATMBgzWiFCRCoBQxWLapHgMBMwGDNaIUJEKgFDFYtqkeAwEzAYM1ohQkQqAUMVi2qR4DATMBgzWiFCRCoBQxWLapHgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgACBPxb4ARX9ATxduWd5AAAAAElFTkSuQmCC"
88
PASS setTransform({m21: 2}) 
89
FAIL addPath({m21: 2}) assert_equals: expected "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAASwAAACWCAYAAABkW7XSAAAAAXNSR0IArs4c6QAAAERlWElmTU0AKgAAAAgAAYdpAAQAAAABAAAAGgAAAAAAA6ABAAMAAAABAAEAAKACAAQAAAABAAABLKADAAQAAAABAAAAlgAAAABJS0H3AAADpUlEQVR4Ae3UMQqEUBRDUTc5m5xNjlpZDrcxzRE+2ITAeZDj8BEgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAgUfgc/1+r/d7+d2dd7ePAAECWcBwZTIBAgTWAoZrfQH9BAhkAcOVyQQIEFgLGK71BfQTIJAFDFcmEyBAYC1guNYX0E+AQBYwXJlMgACBtYDhWl9APwECWcBwZTIBAgTWAoZrfQH9BAhkAcOVyQQIEFgLGK71BfQTIJAFDFcmEyBAYC1guNYX0E+AQBYwXJlMgACBtYDhWl9APwECWcBwZTIBAgTWAoZrfQH9BAhkAcOVyQQIEFgLGK71BfQTIJAFDFcmEyBAYC1guNYX0E+AQBYwXJlMgACBtYDhWl9APwECWcBwZTIBAgTWAoZrfQH9BAhkAcOVyQQIEFgLGK71BfQTIJAFDFcmEyBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBA4J/ACYiOgKrp3f/nAAAAAElFTkSuQmCC" but got "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAASwAAACWCAYAAABkW7XSAAAAAXNSR0IArs4c6QAAAERlWElmTU0AKgAAAAgAAYdpAAQAAAABAAAAGgAAAAAAA6ABAAMAAAABAAEAAKACAAQAAAABAAABLKADAAQAAAABAAAAlgAAAABJS0H3AAADoklEQVR4Ae3UsQ2EMAAEQaD/nvkKiLyXvIbQyCuY4K7LQ4AAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQJfAvfXi4Pz9+DuydXFv5x8j7sECMQCT9yTI0CAwEzAYM1ohQkQqAUMVi2qR4DATMBgzWiFCRCoBQxWLapHgMBMwGDNaIUJEKgFDFYtqkeAwEzAYM1ohQkQqAUMVi2qR4DATMBgzWiFCRCoBQxWLapHgMBMwGDNaIUJEKgFDFYtqkeAwEzAYM1ohQkQqAUMVi2qR4DATMBgzWiFCRCoBQxWLapHgMBMwGDNaIUJEKgFDFYtqkeAwEzAYM1ohQkQqAUMVi2qR4DATMBgzWiFCRCoBQxWLapHgMBMwGDNaIUJEKgFDFYtqkeAwEzAYM1ohQkQqAUMVi2qR4DATMBgzWiFCRCoBQxWLapHgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgACBPxb4ARX9ATxduWd5AAAAAElFTkSuQmCC"
90
PASS setTransform({m22: 2}) 
91
FAIL addPath({m22: 2}) assert_equals: expected "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAASwAAACWCAYAAABkW7XSAAAAAXNSR0IArs4c6QAAAERlWElmTU0AKgAAAAgAAYdpAAQAAAABAAAAGgAAAAAAA6ABAAMAAAABAAEAAKACAAQAAAABAAABLKADAAQAAAABAAAAlgAAAABJS0H3AAAD/UlEQVR4Ae3UsQ2DUBQEQaD/nu0SECt9XTKOOR6eYK/LjwABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgMB3gfv75HXxe33izAMn/suZL/VWAgSSwJNWRgQIEBgICNYA3UkCBJqAYDU3KwIEBgKCNUB3kgCBJiBYzc2KAIGBgGAN0J0kQKAJCFZzsyJAYCAgWAN0JwkQaAKC1dysCBAYCAjWAN1JAgSagGA1NysCBAYCgjVAd5IAgSYgWM3NigCBgYBgDdCdJECgCQhWc7MiQGAgIFgDdCcJEGgCgtXcrAgQGAgI1gDdSQIEmoBgNTcrAgQGAoI1QHeSAIEmIFjNzYoAgYGAYA3QnSRAoAkIVnOzIkBgICBYA3QnCRBoAoLV3KwIEBgICNYA3UkCBJqAYDU3KwIEBgKCNUB3kgCBJiBYzc2KAIGBgGAN0J0kQKAJCFZzsyJAYCAgWAN0JwkQaAKC1dysCBAYCAjWAN1JAgSagGA1NysCBAYCgjVAd5IAgSYgWM3NigCBgYBgDdCdJECgCQhWc7MiQGAgIFgDdCcJEGgCgtXcrAgQGAgI1gDdSQIEmoBgNTcrAgQGAoI1QHeSAIEmIFjNzYoAgYGAYA3QnSRAoAkIVnOzIkBgICBYA3QnCRBoAoLV3KwIEBgICNYA3UkCBJqAYDU3KwIEBgKCNUB3kgCBJiBYzc2KAIGBgGAN0J0kQKAJCFZzsyJAYCAgWAN0JwkQaAKC1dysCBAYCAjWAN1JAgSagGA1NysCBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgEgT+kxwF4K8qN7AAAAABJRU5ErkJggg==" but got "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAASwAAACWCAYAAABkW7XSAAAAAXNSR0IArs4c6QAAAERlWElmTU0AKgAAAAgAAYdpAAQAAAABAAAAGgAAAAAAA6ABAAMAAAABAAEAAKACAAQAAAABAAABLKADAAQAAAABAAAAlgAAAABJS0H3AAADoklEQVR4Ae3UsQ2EMAAEQaD/nvkKiLyXvIbQyCuY4K7LQ4AAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQJfAvfXi4Pz9+DuydXFv5x8j7sECMQCT9yTI0CAwEzAYM1ohQkQqAUMVi2qR4DATMBgzWiFCRCoBQxWLapHgMBMwGDNaIUJEKgFDFYtqkeAwEzAYM1ohQkQqAUMVi2qR4DATMBgzWiFCRCoBQxWLapHgMBMwGDNaIUJEKgFDFYtqkeAwEzAYM1ohQkQqAUMVi2qR4DATMBgzWiFCRCoBQxWLapHgMBMwGDNaIUJEKgFDFYtqkeAwEzAYM1ohQkQqAUMVi2qR4DATMBgzWiFCRCoBQxWLapHgMBMwGDNaIUJEKgFDFYtqkeAwEzAYM1ohQkQqAUMVi2qR4DATMBgzWiFCRCoBQxWLapHgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgACBPxb4ARX9ATxduWd5AAAAAElFTkSuQmCC"
92
PASS setTransform({m41: 2}) 
93
FAIL addPath({m41: 2}) assert_equals: expected "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAASwAAACWCAYAAABkW7XSAAAAAXNSR0IArs4c6QAAAERlWElmTU0AKgAAAAgAAYdpAAQAAAABAAAAGgAAAAAAA6ABAAMAAAABAAEAAKACAAQAAAABAAABLKADAAQAAAABAAAAlgAAAABJS0H3AAADo0lEQVR4Ae3UsRGDABADQaD/nqECEuYUsQ7xWI83uOPwIUCAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAIE3gfPti+D5HWx8mVj+py/v4zcECEQCV7RjhgABAnMBwZoTO0CAQCUgWJWkHQIE5gKCNSd2gACBSkCwKkk7BAjMBQRrTuwAAQKVgGBVknYIEJgLCNac2AECBCoBwaok7RAgMBcQrDmxAwQIVAKCVUnaIUBgLiBYc2IHCBCoBASrkrRDgMBcQLDmxA4QIFAJCFYlaYcAgbmAYM2JHSBAoBIQrErSDgECcwHBmhM7QIBAJSBYlaQdAgTmAoI1J3aAAIFKQLAqSTsECMwFBGtO7AABApWAYFWSdggQmAsI1pzYAQIEKgHBqiTtECAwFxCsObEDBAhUAoJVSdohQGAuIFhzYgcIEKgEBKuStEOAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAIEfCDwN/QE80Q90IAAAAABJRU5ErkJggg==" but got "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAASwAAACWCAYAAABkW7XSAAAAAXNSR0IArs4c6QAAAERlWElmTU0AKgAAAAgAAYdpAAQAAAABAAAAGgAAAAAAA6ABAAMAAAABAAEAAKACAAQAAAABAAABLKADAAQAAAABAAAAlgAAAABJS0H3AAADoklEQVR4Ae3UsQ2EMAAEQaD/nvkKiLyXvIbQyCuY4K7LQ4AAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQJfAvfXi4Pz9+DuydXFv5x8j7sECMQCT9yTI0CAwEzAYM1ohQkQqAUMVi2qR4DATMBgzWiFCRCoBQxWLapHgMBMwGDNaIUJEKgFDFYtqkeAwEzAYM1ohQkQqAUMVi2qR4DATMBgzWiFCRCoBQxWLapHgMBMwGDNaIUJEKgFDFYtqkeAwEzAYM1ohQkQqAUMVi2qR4DATMBgzWiFCRCoBQxWLapHgMBMwGDNaIUJEKgFDFYtqkeAwEzAYM1ohQkQqAUMVi2qR4DATMBgzWiFCRCoBQxWLapHgMBMwGDNaIUJEKgFDFYtqkeAwEzAYM1ohQkQqAUMVi2qR4DATMBgzWiFCRCoBQxWLapHgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgACBPxb4ARX9ATxduWd5AAAAAElFTkSuQmCC"
94
PASS setTransform({m42: 2}) 
95
FAIL addPath({m42: 2}) assert_equals: expected "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAASwAAACWCAYAAABkW7XSAAAAAXNSR0IArs4c6QAAAERlWElmTU0AKgAAAAgAAYdpAAQAAAABAAAAGgAAAAAAA6ABAAMAAAABAAEAAKACAAQAAAABAAABLKADAAQAAAABAAAAlgAAAABJS0H3AAADnklEQVR4Ae3UsQ2EQBAEQSD/nPkUkEbX7xQ22tGV0dflI0CAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAEClcB9YOg9cPPLyRNv+bLrHwIEIoEn2jFDgACBWUCwZkIHCBCoBASrkrZDgMAsIFgzoQMECFQCglVJ2yFAYBYQrJnQAQIEKgHBqqTtECAwCwjWTOgAAQKVgGBV0nYIEJgFBGsmdIAAgUpAsCppOwQIzAKCNRM6QIBAJSBYlbQdAgRmAcGaCR0gQKASEKxK2g4BArOAYM2EDhAgUAkIViVthwCBWUCwZkIHCBCoBASrkrZDgMAsIFgzoQMECFQCglVJ2yFAYBYQrJnQAQIEKgHBqqTtECAwCwjWTOgAAQKVgGBV0nYIEJgFBGsmdIAAgUpAsCppOwQIzAKCNRM6QIBAJSBYlbQdAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgT+IPADibMBPC5iEroAAAAASUVORK5CYII=" but got "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAASwAAACWCAYAAABkW7XSAAAAAXNSR0IArs4c6QAAAERlWElmTU0AKgAAAAgAAYdpAAQAAAABAAAAGgAAAAAAA6ABAAMAAAABAAEAAKACAAQAAAABAAABLKADAAQAAAABAAAAlgAAAABJS0H3AAADoklEQVR4Ae3UsQ2EMAAEQaD/nvkKiLyXvIbQyCuY4K7LQ4AAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQJfAvfXi4Pz9+DuydXFv5x8j7sECMQCT9yTI0CAwEzAYM1ohQkQqAUMVi2qR4DATMBgzWiFCRCoBQxWLapHgMBMwGDNaIUJEKgFDFYtqkeAwEzAYM1ohQkQqAUMVi2qR4DATMBgzWiFCRCoBQxWLapHgMBMwGDNaIUJEKgFDFYtqkeAwEzAYM1ohQkQqAUMVi2qR4DATMBgzWiFCRCoBQxWLapHgMBMwGDNaIUJEKgFDFYtqkeAwEzAYM1ohQkQqAUMVi2qR4DATMBgzWiFCRCoBQxWLapHgMBMwGDNaIUJEKgFDFYtqkeAwEzAYM1ohQkQqAUMVi2qR4DATMBgzWiFCRCoBQxWLapHgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgACBPxb4ARX9ATxduWd5AAAAAElFTkSuQmCC"
96
FAIL setTransform({m11: -0, m12: -0, m21: -0, m22: -0, m41: -0, m42: -0}) assert_equals: m11 expected -0 but got 1
97
FAIL addPath({m11: -0, m12: -0, m21: -0, m22: -0, m41: -0, m42: -0}) assert_equals: expected "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAASwAAACWCAYAAABkW7XSAAAAAXNSR0IArs4c6QAAAERlWElmTU0AKgAAAAgAAYdpAAQAAAABAAAAGgAAAAAAA6ABAAMAAAABAAEAAKACAAQAAAABAAABLKADAAQAAAABAAAAlgAAAABJS0H3AAADKUlEQVR4Ae3QMQEAAADCoPVPbQhfiEBhwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBg4B0Yv9QAAQ+mdHoAAAAASUVORK5CYII=" but got "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAASwAAACWCAYAAABkW7XSAAAAAXNSR0IArs4c6QAAAERlWElmTU0AKgAAAAgAAYdpAAQAAAABAAAAGgAAAAAAA6ABAAMAAAABAAEAAKACAAQAAAABAAABLKADAAQAAAABAAAAlgAAAABJS0H3AAADoklEQVR4Ae3UsQ2EMAAEQaD/nvkKiLyXvIbQyCuY4K7LQ4AAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQJfAvfXi4Pz9+DuydXFv5x8j7sECMQCT9yTI0CAwEzAYM1ohQkQqAUMVi2qR4DATMBgzWiFCRCoBQxWLapHgMBMwGDNaIUJEKgFDFYtqkeAwEzAYM1ohQkQqAUMVi2qR4DATMBgzWiFCRCoBQxWLapHgMBMwGDNaIUJEKgFDFYtqkeAwEzAYM1ohQkQqAUMVi2qR4DATMBgzWiFCRCoBQxWLapHgMBMwGDNaIUJEKgFDFYtqkeAwEzAYM1ohQkQqAUMVi2qR4DATMBgzWiFCRCoBQxWLapHgMBMwGDNaIUJEKgFDFYtqkeAwEzAYM1ohQkQqAUMVi2qR4DATMBgzWiFCRCoBQxWLapHgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgACBPxb4ARX9ATxduWd5AAAAAElFTkSuQmCC"
98
FAIL setTransform({m11: -0, m12: -0, m21: -0, m22: -0, m41: -0, m42: -0, is2D: true}) assert_equals: m11 expected -0 but got 1
99
FAIL addPath({m11: -0, m12: -0, m21: -0, m22: -0, m41: -0, m42: -0, is2D: true}) assert_equals: expected "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAASwAAACWCAYAAABkW7XSAAAAAXNSR0IArs4c6QAAAERlWElmTU0AKgAAAAgAAYdpAAQAAAABAAAAGgAAAAAAA6ABAAMAAAABAAEAAKACAAQAAAABAAABLKADAAQAAAABAAAAlgAAAABJS0H3AAADKUlEQVR4Ae3QMQEAAADCoPVPbQhfiEBhwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBg4B0Yv9QAAQ+mdHoAAAAASUVORK5CYII=" but got "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAASwAAACWCAYAAABkW7XSAAAAAXNSR0IArs4c6QAAAERlWElmTU0AKgAAAAgAAYdpAAQAAAABAAAAGgAAAAAAA6ABAAMAAAABAAEAAKACAAQAAAABAAABLKADAAQAAAABAAAAlgAAAABJS0H3AAADoklEQVR4Ae3UsQ2EMAAEQaD/nvkKiLyXvIbQyCuY4K7LQ4AAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQJfAvfXi4Pz9+DuydXFv5x8j7sECMQCT9yTI0CAwEzAYM1ohQkQqAUMVi2qR4DATMBgzWiFCRCoBQxWLapHgMBMwGDNaIUJEKgFDFYtqkeAwEzAYM1ohQkQqAUMVi2qR4DATMBgzWiFCRCoBQxWLapHgMBMwGDNaIUJEKgFDFYtqkeAwEzAYM1ohQkQqAUMVi2qR4DATMBgzWiFCRCoBQxWLapHgMBMwGDNaIUJEKgFDFYtqkeAwEzAYM1ohQkQqAUMVi2qR4DATMBgzWiFCRCoBQxWLapHgMBMwGDNaIUJEKgFDFYtqkeAwEzAYM1ohQkQqAUMVi2qR4DATMBgzWiFCRCoBQxWLapHgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgACBPxb4ARX9ATxduWd5AAAAAElFTkSuQmCC"
100
PASS setTransform({m13: 0, is2D: true}) 
101
PASS addPath({m13: 0, is2D: true}) 
102
PASS setTransform({m13: -0, is2D: true}) 
103
PASS addPath({m13: -0, is2D: true}) 
104
PASS setTransform({m14: 0, is2D: true}) 
105
PASS addPath({m14: 0, is2D: true}) 
106
PASS setTransform({m14: -0, is2D: true}) 
107
PASS addPath({m14: -0, is2D: true}) 
108
PASS setTransform({m23: 0, is2D: true}) 
109
PASS addPath({m23: 0, is2D: true}) 
110
PASS setTransform({m23: -0, is2D: true}) 
111
PASS addPath({m23: -0, is2D: true}) 
112
PASS setTransform({m24: 0, is2D: true}) 
113
PASS addPath({m24: 0, is2D: true}) 
114
PASS setTransform({m24: -0, is2D: true}) 
115
PASS addPath({m24: -0, is2D: true}) 
116
PASS setTransform({m31: 0, is2D: true}) 
117
PASS addPath({m31: 0, is2D: true}) 
118
PASS setTransform({m31: -0, is2D: true}) 
119
PASS addPath({m31: -0, is2D: true}) 
120
PASS setTransform({m32: 0, is2D: true}) 
121
PASS addPath({m32: 0, is2D: true}) 
122
PASS setTransform({m32: -0, is2D: true}) 
123
PASS addPath({m32: -0, is2D: true}) 
124
PASS setTransform({m33: 1, is2D: true}) 
125
PASS addPath({m33: 1, is2D: true}) 
126
PASS setTransform({m34: 0, is2D: true}) 
127
PASS addPath({m34: 0, is2D: true}) 
128
PASS setTransform({m34: -0, is2D: true}) 
129
PASS addPath({m34: -0, is2D: true}) 
130
PASS setTransform({m43: 0, is2D: true}) 
131
PASS addPath({m43: 0, is2D: true}) 
132
PASS setTransform({m43: -0, is2D: true}) 
133
PASS addPath({m43: -0, is2D: true}) 
134
PASS setTransform({m44: 1, is2D: true}) 
135
PASS addPath({m44: 1, is2D: true}) 
136
PASS setTransform({is2D: true}) 
137
PASS addPath({is2D: true}) 
138
PASS setTransform({m13: 1, is2D: false}) 
139
PASS addPath({m13: 1, is2D: false}) 
140
PASS setTransform({m14: 1, is2D: false}) 
141
PASS addPath({m14: 1, is2D: false}) 
142
PASS setTransform({m23: 1, is2D: false}) 
143
PASS addPath({m23: 1, is2D: false}) 
144
PASS setTransform({m24: 1, is2D: false}) 
145
PASS addPath({m24: 1, is2D: false}) 
146
PASS setTransform({m31: 1, is2D: false}) 
147
PASS addPath({m31: 1, is2D: false}) 
148
PASS setTransform({m32: 1, is2D: false}) 
149
PASS addPath({m32: 1, is2D: false}) 
150
PASS setTransform({m33: 0, is2D: false}) 
151
PASS addPath({m33: 0, is2D: false}) 
152
PASS setTransform({m33: -0, is2D: false}) 
153
PASS addPath({m33: -0, is2D: false}) 
154
PASS setTransform({m33: -1, is2D: false}) 
155
PASS addPath({m33: -1, is2D: false}) 
156
PASS setTransform({m34: 1, is2D: false}) 
157
PASS addPath({m34: 1, is2D: false}) 
158
PASS setTransform({m43: 1, is2D: false}) 
159
PASS addPath({m43: 1, is2D: false}) 
160
PASS setTransform({m44: 0, is2D: false}) 
161
PASS addPath({m44: 0, is2D: false}) 
162
PASS setTransform({m13: 1}) 
163
PASS addPath({m13: 1}) 
164
PASS setTransform({m14: 1}) 
165
PASS addPath({m14: 1}) 
166
PASS setTransform({m23: 1}) 
167
PASS addPath({m23: 1}) 
168
PASS setTransform({m24: 1}) 
169
PASS addPath({m24: 1}) 
170
PASS setTransform({m31: 1}) 
171
PASS addPath({m31: 1}) 
172
PASS setTransform({m32: 1}) 
173
PASS addPath({m32: 1}) 
174
PASS setTransform({m33: 0}) 
175
PASS addPath({m33: 0}) 
176
PASS setTransform({m34: 1}) 
177
PASS addPath({m34: 1}) 
178
PASS setTransform({m43: 1}) 
179
PASS addPath({m43: 1}) 
180
PASS setTransform({m44: 0}) 
181
PASS addPath({m44: 0}) 
182
PASS setTransform({is2D: false}) 
183
PASS addPath({is2D: false}) 
184
PASS setTransform({is2D: null}) 
185
PASS addPath({is2D: null}) 
186
- a/LayoutTests/platform/mac-wk1/TestExpectations -2 / +9 lines
Lines 842-849 webkit.org/b/203466 imported/w3c/web-platform-tests/css/css-position/position-st a/LayoutTests/platform/mac-wk1/TestExpectations_sec1
842
webkit.org/b/203466 imported/w3c/web-platform-tests/css/css-position/position-sticky-scroll-with-clip-and-abspos.html [ ImageOnlyFailure ]
842
webkit.org/b/203466 imported/w3c/web-platform-tests/css/css-position/position-sticky-scroll-with-clip-and-abspos.html [ ImageOnlyFailure ]
843
webkit.org/b/203466 imported/w3c/web-platform-tests/css/css-position/z-index-blend-will-change-overlapping-layers.html [ ImageOnlyFailure ]
843
webkit.org/b/203466 imported/w3c/web-platform-tests/css/css-position/z-index-blend-will-change-overlapping-layers.html [ ImageOnlyFailure ]
844
844
845
webkit.org/b/203501 imported/w3c/web-platform-tests/css/css-animations/animation-opacity-pause-and-set-time.html [ ImageOnlyFailure ]
846
webkit.org/b/203501 imported/w3c/web-platform-tests/css/css-animations/animation-transform-pause-and-set-time.html [ ImageOnlyFailure ]
847
845
848
webkit.org/b/203517 imported/w3c/web-platform-tests/css/css-sizing/dynamic-available-size-iframe.html [ Pass ImageOnlyFailure ]
846
webkit.org/b/203517 imported/w3c/web-platform-tests/css/css-sizing/dynamic-available-size-iframe.html [ Pass ImageOnlyFailure ]
849
847
Lines 987-989 webkit.org/b/214388 [ Mojave ] compositing/repaint/iframes/composited-iframe-wit a/LayoutTests/platform/mac-wk1/TestExpectations_sec2
987
985
988
webkit.org/b/214478 [ Debug ] storage/indexeddb/structured-clone-private.html [ Skip ]
986
webkit.org/b/214478 [ Debug ] storage/indexeddb/structured-clone-private.html [ Skip ]
989
webkit.org/b/214478 [ Debug ] storage/indexeddb/structured-clone.html [ Skip ]
987
webkit.org/b/214478 [ Debug ] storage/indexeddb/structured-clone.html [ Skip ]
988
989
webkit.org/b/214469 imported/w3c/web-platform-tests/css/css-animations/animation-opacity-pause-and-set-time.html [ ImageOnlyFailure ]
990
webkit.org/b/214469 imported/w3c/web-platform-tests/css/css-animations/animation-transform-pause-and-set-time.html [ ImageOnlyFailure ]
991
webkit.org/b/214469 imported/w3c/web-platform-tests/css/css-overflow/overflow-ellipsis-dynamic-001.html [ ImageOnlyFailure ]
992
webkit.org/b/214469 imported/w3c/web-platform-tests/css/css-position/position-sticky-fixed-ancestor-iframe.html [ ImageOnlyFailure ]
993
webkit.org/b/214469 imported/w3c/web-platform-tests/css/css-position/position-sticky-fixed-ancestor.html [ ImageOnlyFailure ]
994
webkit.org/b/214469 imported/w3c/web-platform-tests/css/css-position/position-sticky-scroll-reposition.html [ ImageOnlyFailure ]
995
webkit.org/b/214469 [ Debug ] imported/w3c/web-platform-tests/css/css-position/position-absolute-crash-chrome-013.html [ Skip ]
996
webkit.org/b/214469 [ Debug ] imported/w3c/web-platform-tests/css/css-scoping/slotted-matches.html [ Skip ]
- a/LayoutTests/platform/mac-wk1/compositing/repaint/iframes/compositing-iframe-scroll-repaint-expected.txt +6 lines
Lines 34-39 a/LayoutTests/platform/mac-wk1/compositing/repaint/iframes/compositing-iframe-scroll-repaint-expected.txt_sec1
34
                            (GraphicsLayer
34
                            (GraphicsLayer
35
                              (bounds 400.00 1016.00)
35
                              (bounds 400.00 1016.00)
36
                              (drawsContent 1)
36
                              (drawsContent 1)
37
                              (repaint rects
38
                                (rect 0.00 0.00 400.00 1016.00)
39
                                (rect 0.00 0.00 400.00 1016.00)
40
                                (rect 8.00 8.00 384.00 1000.00)
41
                                (rect 0.00 0.00 400.00 1016.00)
42
                              )
37
                              (children 1
43
                              (children 1
38
                                (GraphicsLayer
44
                                (GraphicsLayer
39
                                  (position 8.00 8.00)
45
                                  (position 8.00 8.00)
- a/LayoutTests/platform/mac-wk1/imported/w3c/web-platform-tests/css/geometry/DOMMatrix2DInit-validate-fixup-expected.txt +186 lines
Line 0 a/LayoutTests/platform/mac-wk1/imported/w3c/web-platform-tests/css/geometry/DOMMatrix2DInit-validate-fixup-expected.txt_sec1
1
2
PASS setTransform({a: 1, m11: 2}) (invalid) 
3
PASS addPath({a: 1, m11: 2}) (invalid) 
4
PASS setTransform({b: 0, m12: -1}) (invalid) 
5
PASS addPath({b: 0, m12: -1}) (invalid) 
6
PASS setTransform({c: Infinity, m21: -Infinity}) (invalid) 
7
PASS addPath({c: Infinity, m21: -Infinity}) (invalid) 
8
PASS setTransform({d: 0, m22: NaN}) (invalid) 
9
PASS addPath({d: 0, m22: NaN}) (invalid) 
10
PASS setTransform({e: 1, m41: 1.00000001}) (invalid) 
11
PASS addPath({e: 1, m41: 1.00000001}) (invalid) 
12
PASS setTransform({f: 0, m42: 5e-324}) (invalid) 
13
PASS addPath({f: 0, m42: 5e-324}) (invalid) 
14
PASS setTransform (Sanity check without dictionary) 
15
PASS addPath (Sanity check without second parameter) 
16
PASS setTransform({m13: 1, is2D: true}) 
17
PASS addPath({m13: 1, is2D: true}) 
18
PASS setTransform({m14: 1, is2D: true}) 
19
PASS addPath({m14: 1, is2D: true}) 
20
PASS setTransform({m23: 1, is2D: true}) 
21
PASS addPath({m23: 1, is2D: true}) 
22
PASS setTransform({m24: 1, is2D: true}) 
23
PASS addPath({m24: 1, is2D: true}) 
24
PASS setTransform({m31: 1, is2D: true}) 
25
PASS addPath({m31: 1, is2D: true}) 
26
PASS setTransform({m32: 1, is2D: true}) 
27
PASS addPath({m32: 1, is2D: true}) 
28
PASS setTransform({m33: 0, is2D: true}) 
29
PASS addPath({m33: 0, is2D: true}) 
30
PASS setTransform({m33: -0, is2D: true}) 
31
PASS addPath({m33: -0, is2D: true}) 
32
PASS setTransform({m33: -1, is2D: true}) 
33
PASS addPath({m33: -1, is2D: true}) 
34
PASS setTransform({m34: 1, is2D: true}) 
35
PASS addPath({m34: 1, is2D: true}) 
36
PASS setTransform({m43: 1, is2D: true}) 
37
PASS addPath({m43: 1, is2D: true}) 
38
PASS setTransform({m44: 0, is2D: true}) 
39
PASS addPath({m44: 0, is2D: true}) 
40
PASS setTransform({}) 
41
PASS addPath({}) 
42
PASS setTransform({is2D: undefined}) 
43
PASS addPath({is2D: undefined}) 
44
PASS setTransform({a: 1, m11: 1}) 
45
PASS addPath({a: 1, m11: 1}) 
46
PASS setTransform({b: 0, m12: undefined}) 
47
PASS addPath({b: 0, m12: undefined}) 
48
PASS setTransform({c: 0, m21: 0}) 
49
PASS addPath({c: 0, m21: 0}) 
50
FAIL setTransform({c: 0, m21: -0}) assert_equals: m21 expected -0 but got 0
51
PASS addPath({c: 0, m21: -0}) 
52
PASS setTransform({c: -0, m21: 0}) 
53
PASS addPath({c: -0, m21: 0}) 
54
FAIL setTransform({c: -0, m21: -0}) assert_equals: m21 expected -0 but got 0
55
PASS addPath({c: -0, m21: -0}) 
56
PASS setTransform({d: Infinity, m22: Infinity}) 
57
PASS addPath({d: Infinity, m22: Infinity}) 
58
PASS setTransform({e: -Infinity, m41: -Infinity}) 
59
PASS addPath({e: -Infinity, m41: -Infinity}) 
60
PASS setTransform({f: NaN, m42: NaN}) 
61
PASS addPath({f: NaN, m42: NaN}) 
62
PASS setTransform({f: NaN, m42: NaN, is2D: true}) 
63
PASS addPath({f: NaN, m42: NaN, is2D: true}) 
64
PASS setTransform({f: 0, m42: null}) 
65
PASS addPath({f: 0, m42: null}) 
66
PASS setTransform({f: -0, m42: null}) 
67
PASS addPath({f: -0, m42: null}) 
68
PASS setTransform({a: 2}) 
69
PASS addPath({a: 2}) 
70
PASS setTransform({b: 2}) 
71
FAIL addPath({b: 2}) assert_equals: expected "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAASwAAACWCAYAAABkW7XSAAAAAXNSR0IArs4c6QAABbZJREFUeAHt1utuEzEQgNECz8hLwvvwOJSOQqQ2ymW9idcz9uEP6iW7M8dW9b29+UeAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAhkF/iZfUDzESBQU+B7h7H9weqA6pEECPQReP94rD9afWw9lcDSAj0KK0D9wVr6WlmeQB2BKCyVVee8TEqgjECvwgoAlVXmGhiUwLoC58JSWeveAZsT6CLQs7BiYJXV5dg8lACBVwl8LiyV9SpVzyFA4K13YQWxynLRCBBIK3BZWCor7VEZjEAtgSMKK0RUVq17YVoCywhcKyyVtczxW5RAP4GjCis2UFn9ztGTCRDYKXCrsFTWTlAfI0DgJHBkYcUbVZabR4BAKoF7haWyUh2VYQjUEji6sEJHZdW6I6YlMLXAo8JSWVMfv+UI9BMYUVixjcrqd6aeTIBAg8CWwlJZDaB+lQCBk8Cowoq3qyy3kACB4QJbC0tlDT8qAxCoJTCysEJKZdW6L6YlMJ1AS2GprOmO30IE+gmMLqzYTGX1O19PJkDggUBrYamsB6B+TIDASSBDYcUkKsuNJEBgiMCewlJZQ47KSwnUEshSWKGmsmrdHdMSmELg18cWKmuKo7QEgVwCPQrr9xMrqqwn8HyUAIF9Aiprn5tPESBwR6BHYcXrVNYddD8iQCCfgMrKdyYmIlBaoFdhBYrKKn01DE9gPQGVtd6Z25hAN4GehRVDq6xuR+fBBAj0EFBZPVQ9k8CCAr0LK0hV1oIXy8oEKguorMqnZ3YCSQSOKKxYVWUlOXBjECCwTUBlbXPyWwQI3BA4qrDi9SrrxiH4NgECOQVUVs5zMRWBEgJHFlaAqKwS18KQBAicBVTWWcL/BAg0CRxdWDGcymo6Ir9MgMBoAZU1+gS8n0BBgRGFFUwqq+BlMTKBlQVU1sqnb3cCOwRGFVaMqrJ2HJiPECAwTkBljbP3ZgLlBEYWVmCprHJXxsAE1hZQWWufv+0JbBYYXVgxqMrafFx+kQCBDAIqK8MpmIFAcoEMhRVEKiv5RTEeAQJfBVTWVw9fESBwIZClsGIslXVxOL4kQCC3wN7K+pt7LdMRIPAKgUyFFfvsraxvr8DwDAIECLQK7K2s1vf4fQIEiglkK6zg21tZxeiNS4DALAJ7KmuW3e1BgMANgYyFFaOqrBsH5tsECOQUaK2snFuYigCBlwlkLaxYUGW97Jg9iACBIwRaKuuIebyDAIGBApkLK1hU1sDL4dUECLQLbK2s9if7BAECpQSyF1ZgqqxSV8qwBAhsqSxKBAhMLlChsOIIVNbkF9F6BGYTeFRZs+1rHwIELgSqFFaMrbIuDs+XBAjkFrhXWbknNx0BAk8LVCqsWFZlPX3kHkCAwJECtyrryBm8iwCBAQLVCiuIVNaAi+KVBAjsF7hWWfuf5pMECJQQqFhYAauySlwvQxIgcBa4rKzz9/1PgMCkAlULK45DZU16Ka1FYFaBz5U16472IkDgv0DlwooVVJarTIBAKYFzZZUa2rAECLQLVC+s2Dgq6719dZ8gQIDAGIGoLP8IEJhc4MdE+/2ZaBerECBwReAfzbLf0y0P4FYAAAAASUVORK5CYII=" but got "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAASwAAACWCAYAAABkW7XSAAAAAXNSR0IArs4c6QAABUJJREFUeAHt1kuOG1EIBdBI2Rg7z1aSlSR4YMmy/KkiUoOb40n3BAGnntD98cOPAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQmC4Q0wc0HwECBK4Cv67/+EuAAIHpAn9zwJg+pPkIECBwEbgcLCnLWyBA4CMELgdLyvqIT2VIAgSuB0vK8hYIEBgvcD1YUtb4T2VAAgRuD5aU5T0QIDBa4PZgSVmjP5XhCBC4P1hSljdBgMBYgfuDJWWN/VQGI0Dg0cGSsrwLAgRGCjw6WFLWyE9lKAIEnh0sKcvbIEBgnMCzgyVljftUBiJA4NXBkrK8DwIERgm8OlhS1qhPZRgCBN4dLCnLGyFAYIzAu4MlZY35VAYhQODIwZKyvBMCBEYIHDlYUtaIT2UIAgSOHiwpy1shQKBd4OjBkrLaP5UBCBA4c7CkLO+FAIFWgTMHS8pq/VSaEyBw9mBJWd4MAQJtAmcPlpTV9qk0JkCgcrCkLO+GAIEWgcrBkrJaPpWmBAhUD5aU5e0QIPDlApfDUz1a8eXTakiAwGqByO2rB0vKWv10LE+gR0DK6nHXlQCBgkBkjZRVgFNCgECPgJTV464rAQIFgcgaKasAp4QAgR4BKavHXVcCBAoCkTVSVgFOCQECPQJSVo+7rgQIFAQia6SsApwSAgR6BKSsHnddCRAoCETWSFkFOCUECPQISFk97roSIFAQiKyRsgpwSggQ6BGQsnrcdSVAoCAQWSNlFeCUECDQIyBl9bjrSoBAQSCyRsoqwCkhQKBHQMrqcdeVAIGCQGSNlFWAU0KAQI+AlNXjrisBAgWByBopqwCnhACBHgEpq8ddVwIECgKRNVJWAU4JAQI9AlJWj7uuBAgUBCJrpKwCnBICBHoEpKwed10JECgIRNZIWQU4JQQI9AhIWT3uuhIgUBCIrJGyCnBKCBDoEfiflNUzsa4ECKwViNy8mrLWolmcAIE+gWrK6ptYZwIE1gpEbl5JWWvBLE6AQK9AJWX1Tqw7AQJrBSI3P5uy1mJZnACBfoGzKat/YhMQILBWIHLzMylrLZTFCRCYIXAmZc2Y2BQECKwViNz8aMpai2RxAgTmCBxNWXMmNgkBAmsFIjc/krLWAlmcAIFZAkdS1qyJTUOAwFqByM3fpay1OBYnQGCewLuUNW9iExEgsFYgcvNXKWstjMUJEJgp8CplzZzYVAQIrBWI3PxZylqLYnECBOYKPEtZcyc2GQECawUiN3+UstaCWJwAgdkCj1LW7IlNR4DAWoHIze9T1loMixMgMF/gPmXNn9iEBAisFYjc/DZlrYWwOAECnyFwm7I+Y2JTEiCwViBy82vKWotgcQIEPkfgmrI+Z2KTEiCwViBy80vK8iNAgMBHCFxSlh8BAt9c4Oc32e9P7vH7m+xiDQIEngj8A75fgi48cJAVAAAAAElFTkSuQmCC"
72
PASS setTransform({c: 2}) 
73
FAIL addPath({c: 2}) assert_equals: expected "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAASwAAACWCAYAAABkW7XSAAAAAXNSR0IArs4c6QAAA5RJREFUeAHt1EEKg1AMQEEv2Ut6SO0PtHTtxvJkBKGbYpiEt20eAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECDwE3itn/t6zxvf4/PN+baHAAEClwX+Ea6J5MRSuC6vyx8IEBgB4XIHBAjkBIQrtzIDEyAgXG6AAIGcgHDlVmZgAgSEyw0QIJATEK7cygxMgIBwuQECBHICwpVbmYEJEBAuN0CAQE5AuHIrMzABAsLlBggQyAkIV25lBiZAQLjcAAECOQHhyq3MwAQICJcbIEAgJyBcuZUZmAAB4XIDBAjkBIQrtzIDEyAgXG6AAIGcgHDlVmZgAgSEyw0QIJATEK7cygxMgIBwuQECBHICwpVbmYEJEBAuN0CAQE5AuHIrMzABAsLlBggQyAl8w3Wsyc8b3319a77tIUCAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIEDggQJvT+eAqPH0HaQAAAAASUVORK5CYII=" but got "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAASwAAACWCAYAAABkW7XSAAAAAXNSR0IArs4c6QAAA9xJREFUeAHt1DEKQlEQA0CPlpt7NI2VnZDGbebDg9+EwCzk8fARIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAIGvQPr77Hv9+X060+cjQIDALJAmDNfMJkCAwKVAWm64Li+gmwCBWSBNGK6ZTYAAgUuBtNxwXV5ANwECs0CaMFwzmwABApcCabnhuryAbgIEZoE0YbhmNgECBC4F0nLDdXkB3QQIzAJpwnDNbAIECFwKpOWG6/ICugkQmAXShOGa2QQIELgUSMsN1+UFdBMgMAukCcM1swkQIHApkJYbrssL6CZAYBZIE4ZrZhMgQOBSIC03XJcX0E2AwCyQJgzXzCZAgMClQFpuuC4voJsAgVkgTRiumU2AAIFLgbTccF1eQDcBArNAmjBcM5sAAQKXAmm54bq8gG4CBGaBNGG4ZjYBAgQuBdJyw3V5Ad0ECMwCacJwzWwCBAhcCqTlhuvyAroJEJgF0oThmtkECBC4FEjLDdflBXQTIDALpAnDNbMJECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECDwS+ANiI6Aqlxbg1QAAAAASUVORK5CYII="
74
PASS setTransform({d: 2}) 
75
PASS addPath({d: 2}) 
76
PASS setTransform({e: 2}) 
77
PASS addPath({e: 2}) 
78
PASS setTransform({f: 2}) 
79
PASS addPath({f: 2}) 
80
FAIL setTransform({a: -0, b: -0, c: -0, d: -0, e: -0, f: -0}) assert_equals: m11 expected -0 but got 1
81
PASS addPath({a: -0, b: -0, c: -0, d: -0, e: -0, f: -0}) 
82
FAIL setTransform({a: -0, b: -0, c: -0, d: -0, e: -0, f: -0, is2D: true}) assert_equals: m11 expected -0 but got 1
83
PASS addPath({a: -0, b: -0, c: -0, d: -0, e: -0, f: -0, is2D: true}) 
84
PASS setTransform({m11: 2}) 
85
FAIL addPath({m11: 2}) assert_equals: expected "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAASwAAACWCAYAAABkW7XSAAAAAXNSR0IArs4c6QAAA6FJREFUeAHt1EEKhEAUQ0Fn7n9nPcCjtxKhXMZFh/qQ6/IRIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAwEngd/oxlN9DXd6o8oWbvOHgDQIR+CcRECBAYFTAYI0eRi0CBCpgsGoiIUBgVMBgjR5GLQIEKmCwaiIhQGBUwGCNHkYtAgQqYLBqIiFAYFTAYI0eRi0CBCpgsGoiIUBgVMBgjR5GLQIEKmCwaiIhQGBUwGCNHkYtAgQqYLBqIiFAYFTAYI0eRi0CBCpgsGoiIUBgVMBgjR5GLQIEKmCwaiIhQGBUwGCNHkYtAgQqYLBqIiFAYFTAYI0eRi0CBCpgsGoiIUBgVMBgjR5GLQIEKmCwaiIhQGBUwGCNHkYtAgQqYLBqIiFAYFTAYI0eRi0CBCpgsGoiIUBgVMBgjR5GLQIEKmCwaiIhQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAgYPAA8V2ATzPOX7TAAAAAElFTkSuQmCC" but got "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAASwAAACWCAYAAABkW7XSAAAAAXNSR0IArs4c6QAAA6JJREFUeAHt1LENhDAABEGg/575Coi8l7yG0MgrmOCuy0OAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECXwL314uD8/fg7snVxb+cfI+7BAjEAk/ckyNAgMBMwGDNaIUJEKgFDFYtqkeAwEzAYM1ohQkQqAUMVi2qR4DATMBgzWiFCRCoBQxWLapHgMBMwGDNaIUJEKgFDFYtqkeAwEzAYM1ohQkQqAUMVi2qR4DATMBgzWiFCRCoBQxWLapHgMBMwGDNaIUJEKgFDFYtqkeAwEzAYM1ohQkQqAUMVi2qR4DATMBgzWiFCRCoBQxWLapHgMBMwGDNaIUJEKgFDFYtqkeAwEzAYM1ohQkQqAUMVi2qR4DATMBgzWiFCRCoBQxWLapHgMBMwGDNaIUJEKgFDFYtqkeAwEzAYM1ohQkQqAUMVi2qR4AAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAgT8W+AEV/QE8XblneQAAAABJRU5ErkJggg=="
86
PASS setTransform({m12: 2}) 
87
FAIL addPath({m12: 2}) assert_equals: expected "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAASwAAACWCAYAAABkW7XSAAAAAXNSR0IArs4c6QAABbZJREFUeAHt1utuEzEQgNECz8hLwvvwOJSOQqQ2ymW9idcz9uEP6iW7M8dW9b29+UeAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAhkF/iZfUDzESBQU+B7h7H9weqA6pEECPQReP94rD9afWw9lcDSAj0KK0D9wVr6WlmeQB2BKCyVVee8TEqgjECvwgoAlVXmGhiUwLoC58JSWeveAZsT6CLQs7BiYJXV5dg8lACBVwl8LiyV9SpVzyFA4K13YQWxynLRCBBIK3BZWCor7VEZjEAtgSMKK0RUVq17YVoCywhcKyyVtczxW5RAP4GjCis2UFn9ztGTCRDYKXCrsFTWTlAfI0DgJHBkYcUbVZabR4BAKoF7haWyUh2VYQjUEji6sEJHZdW6I6YlMLXAo8JSWVMfv+UI9BMYUVixjcrqd6aeTIBAg8CWwlJZDaB+lQCBk8Cowoq3qyy3kACB4QJbC0tlDT8qAxCoJTCysEJKZdW6L6YlMJ1AS2GprOmO30IE+gmMLqzYTGX1O19PJkDggUBrYamsB6B+TIDASSBDYcUkKsuNJEBgiMCewlJZQ47KSwnUEshSWKGmsmrdHdMSmELg18cWKmuKo7QEgVwCPQrr9xMrqqwn8HyUAIF9Aiprn5tPESBwR6BHYcXrVNYddD8iQCCfgMrKdyYmIlBaoFdhBYrKKn01DE9gPQGVtd6Z25hAN4GehRVDq6xuR+fBBAj0EFBZPVQ9k8CCAr0LK0hV1oIXy8oEKguorMqnZ3YCSQSOKKxYVWUlOXBjECCwTUBlbXPyWwQI3BA4qrDi9SrrxiH4NgECOQVUVs5zMRWBEgJHFlaAqKwS18KQBAicBVTWWcL/BAg0CRxdWDGcymo6Ir9MgMBoAZU1+gS8n0BBgRGFFUwqq+BlMTKBlQVU1sqnb3cCOwRGFVaMqrJ2HJiPECAwTkBljbP3ZgLlBEYWVmCprHJXxsAE1hZQWWufv+0JbBYYXVgxqMrafFx+kQCBDAIqK8MpmIFAcoEMhRVEKiv5RTEeAQJfBVTWVw9fESBwIZClsGIslXVxOL4kQCC3wN7K+pt7LdMRIPAKgUyFFfvsraxvr8DwDAIECLQK7K2s1vf4fQIEiglkK6zg21tZxeiNS4DALAJ7KmuW3e1BgMANgYyFFaOqrBsH5tsECOQUaK2snFuYigCBlwlkLaxYUGW97Jg9iACBIwRaKuuIebyDAIGBApkLK1hU1sDL4dUECLQLbK2s9if7BAECpQSyF1ZgqqxSV8qwBAhsqSxKBAhMLlChsOIIVNbkF9F6BGYTeFRZs+1rHwIELgSqFFaMrbIuDs+XBAjkFrhXWbknNx0BAk8LVCqsWFZlPX3kHkCAwJECtyrryBm8iwCBAQLVCiuIVNaAi+KVBAjsF7hWWfuf5pMECJQQqFhYAauySlwvQxIgcBa4rKzz9/1PgMCkAlULK45DZU16Ka1FYFaBz5U16472IkDgv0DlwooVVJarTIBAKYFzZZUa2rAECLQLVC+s2Dgq6719dZ8gQIDAGIGoLP8IEJhc4MdE+/2ZaBerECBwReAfzbLf0y0P4FYAAAAASUVORK5CYII=" but got "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAASwAAACWCAYAAABkW7XSAAAAAXNSR0IArs4c6QAAA6JJREFUeAHt1LENhDAABEGg/575Coi8l7yG0MgrmOCuy0OAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECXwL314uD8/fg7snVxb+cfI+7BAjEAk/ckyNAgMBMwGDNaIUJEKgFDFYtqkeAwEzAYM1ohQkQqAUMVi2qR4DATMBgzWiFCRCoBQxWLapHgMBMwGDNaIUJEKgFDFYtqkeAwEzAYM1ohQkQqAUMVi2qR4DATMBgzWiFCRCoBQxWLapHgMBMwGDNaIUJEKgFDFYtqkeAwEzAYM1ohQkQqAUMVi2qR4DATMBgzWiFCRCoBQxWLapHgMBMwGDNaIUJEKgFDFYtqkeAwEzAYM1ohQkQqAUMVi2qR4DATMBgzWiFCRCoBQxWLapHgMBMwGDNaIUJEKgFDFYtqkeAwEzAYM1ohQkQqAUMVi2qR4AAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAgT8W+AEV/QE8XblneQAAAABJRU5ErkJggg=="
88
PASS setTransform({m21: 2}) 
89
FAIL addPath({m21: 2}) assert_equals: expected "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAASwAAACWCAYAAABkW7XSAAAAAXNSR0IArs4c6QAAA5RJREFUeAHt1EEKg1AMQEEv2Ut6SO0PtHTtxvJkBKGbYpiEt20eAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECDwE3itn/t6zxvf4/PN+baHAAEClwX+Ea6J5MRSuC6vyx8IEBgB4XIHBAjkBIQrtzIDEyAgXG6AAIGcgHDlVmZgAgSEyw0QIJATEK7cygxMgIBwuQECBHICwpVbmYEJEBAuN0CAQE5AuHIrMzABAsLlBggQyAkIV25lBiZAQLjcAAECOQHhyq3MwAQICJcbIEAgJyBcuZUZmAAB4XIDBAjkBIQrtzIDEyAgXG6AAIGcgHDlVmZgAgSEyw0QIJATEK7cygxMgIBwuQECBHICwpVbmYEJEBAuN0CAQE5AuHIrMzABAsLlBggQyAl8w3Wsyc8b3319a77tIUCAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIEDggQJvT+eAqPH0HaQAAAAASUVORK5CYII=" but got "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAASwAAACWCAYAAABkW7XSAAAAAXNSR0IArs4c6QAAA6JJREFUeAHt1LENhDAABEGg/575Coi8l7yG0MgrmOCuy0OAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECXwL314uD8/fg7snVxb+cfI+7BAjEAk/ckyNAgMBMwGDNaIUJEKgFDFYtqkeAwEzAYM1ohQkQqAUMVi2qR4DATMBgzWiFCRCoBQxWLapHgMBMwGDNaIUJEKgFDFYtqkeAwEzAYM1ohQkQqAUMVi2qR4DATMBgzWiFCRCoBQxWLapHgMBMwGDNaIUJEKgFDFYtqkeAwEzAYM1ohQkQqAUMVi2qR4DATMBgzWiFCRCoBQxWLapHgMBMwGDNaIUJEKgFDFYtqkeAwEzAYM1ohQkQqAUMVi2qR4DATMBgzWiFCRCoBQxWLapHgMBMwGDNaIUJEKgFDFYtqkeAwEzAYM1ohQkQqAUMVi2qR4AAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAgT8W+AEV/QE8XblneQAAAABJRU5ErkJggg=="
90
PASS setTransform({m22: 2}) 
91
FAIL addPath({m22: 2}) assert_equals: expected "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAASwAAACWCAYAAABkW7XSAAAAAXNSR0IArs4c6QAAA/1JREFUeAHt1LENg1AUBEGg/57tEhArfV0yjjkenmCvy48AAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIDAd4H7++R18Xt94swDJ/7LmS/1VgIEksCTVkYECBAYCAjWAN1JAgSagGA1NysCBAYCgjVAd5IAgSYgWM3NigCBgYBgDdCdJECgCQhWc7MiQGAgIFgDdCcJEGgCgtXcrAgQGAgI1gDdSQIEmoBgNTcrAgQGAoI1QHeSAIEmIFjNzYoAgYGAYA3QnSRAoAkIVnOzIkBgICBYA3QnCRBoAoLV3KwIEBgICNYA3UkCBJqAYDU3KwIEBgKCNUB3kgCBJiBYzc2KAIGBgGAN0J0kQKAJCFZzsyJAYCAgWAN0JwkQaAKC1dysCBAYCAjWAN1JAgSagGA1NysCBAYCgjVAd5IAgSYgWM3NigCBgYBgDdCdJECgCQhWc7MiQGAgIFgDdCcJEGgCgtXcrAgQGAgI1gDdSQIEmoBgNTcrAgQGAoI1QHeSAIEmIFjNzYoAgYGAYA3QnSRAoAkIVnOzIkBgICBYA3QnCRBoAoLV3KwIEBgICNYA3UkCBJqAYDU3KwIEBgKCNUB3kgCBJiBYzc2KAIGBgGAN0J0kQKAJCFZzsyJAYCAgWAN0JwkQaAKC1dysCBAYCAjWAN1JAgSagGA1NysCBAYCgjVAd5IAgSYgWM3NigCBgYBgDdCdJECgCQhWc7MiQGAgIFgDdCcJEGgCgtXcrAgQGAgI1gDdSQIEmoBgNTcrAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIBIE/pMcBeCvKjewAAAAASUVORK5CYII=" but got "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAASwAAACWCAYAAABkW7XSAAAAAXNSR0IArs4c6QAAA6JJREFUeAHt1LENhDAABEGg/575Coi8l7yG0MgrmOCuy0OAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECXwL314uD8/fg7snVxb+cfI+7BAjEAk/ckyNAgMBMwGDNaIUJEKgFDFYtqkeAwEzAYM1ohQkQqAUMVi2qR4DATMBgzWiFCRCoBQxWLapHgMBMwGDNaIUJEKgFDFYtqkeAwEzAYM1ohQkQqAUMVi2qR4DATMBgzWiFCRCoBQxWLapHgMBMwGDNaIUJEKgFDFYtqkeAwEzAYM1ohQkQqAUMVi2qR4DATMBgzWiFCRCoBQxWLapHgMBMwGDNaIUJEKgFDFYtqkeAwEzAYM1ohQkQqAUMVi2qR4DATMBgzWiFCRCoBQxWLapHgMBMwGDNaIUJEKgFDFYtqkeAwEzAYM1ohQkQqAUMVi2qR4AAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAgT8W+AEV/QE8XblneQAAAABJRU5ErkJggg=="
92
PASS setTransform({m41: 2}) 
93
FAIL addPath({m41: 2}) assert_equals: expected "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAASwAAACWCAYAAABkW7XSAAAAAXNSR0IArs4c6QAAA6NJREFUeAHt1LERgwAQA0Gg/56hAhLmFLEO8ViPN7jj8CFAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgACBN4Hz7Yvg+R1sfJlY/qcv7+M3BAhEAle0Y4YAAQJzAcGaEztAgEAlIFiVpB0CBOYCgjUndoAAgUpAsCpJOwQIzAUEa07sAAEClYBgVZJ2CBCYCwjWnNgBAgQqAcGqJO0QIDAXEKw5sQMECFQCglVJ2iFAYC4gWHNiBwgQqAQEq5K0Q4DAXECw5sQOECBQCQhWJWmHAIG5gGDNiR0gQKASEKxK0g4BAnMBwZoTO0CAQCUgWJWkHQIE5gKCNSd2gACBSkCwKkk7BAjMBQRrTuwAAQKVgGBVknYIEJgLCNac2AECBCoBwaok7RAgMBcQrDmxAwQIVAKCVUnaIUBgLiBYc2IHCBCoBASrkrRDgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgACBHwg8Df0BPNEPdCAAAAAASUVORK5CYII=" but got "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAASwAAACWCAYAAABkW7XSAAAAAXNSR0IArs4c6QAAA6JJREFUeAHt1LENhDAABEGg/575Coi8l7yG0MgrmOCuy0OAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECXwL314uD8/fg7snVxb+cfI+7BAjEAk/ckyNAgMBMwGDNaIUJEKgFDFYtqkeAwEzAYM1ohQkQqAUMVi2qR4DATMBgzWiFCRCoBQxWLapHgMBMwGDNaIUJEKgFDFYtqkeAwEzAYM1ohQkQqAUMVi2qR4DATMBgzWiFCRCoBQxWLapHgMBMwGDNaIUJEKgFDFYtqkeAwEzAYM1ohQkQqAUMVi2qR4DATMBgzWiFCRCoBQxWLapHgMBMwGDNaIUJEKgFDFYtqkeAwEzAYM1ohQkQqAUMVi2qR4DATMBgzWiFCRCoBQxWLapHgMBMwGDNaIUJEKgFDFYtqkeAwEzAYM1ohQkQqAUMVi2qR4AAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAgT8W+AEV/QE8XblneQAAAABJRU5ErkJggg=="
94
PASS setTransform({m42: 2}) 
95
FAIL addPath({m42: 2}) assert_equals: expected "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAASwAAACWCAYAAABkW7XSAAAAAXNSR0IArs4c6QAAA55JREFUeAHt1LENhEAQBEEg/5z5FJBG1+8UNtrRldHX5SNAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABApXAfWDoPXDzy8kTb/my6x8CBCKBJ9oxQ4AAgVlAsGZCBwgQqAQEq5K2Q4DALCBYM6EDBAhUAoJVSdshQGAWEKyZ0AECBCoBwaqk7RAgMAsI1kzoAAEClYBgVdJ2CBCYBQRrJnSAAIFKQLAqaTsECMwCgjUTOkCAQCUgWJW0HQIEZgHBmgkdIECgEhCsStoOAQKzgGDNhA4QIFAJCFYlbYcAgVlAsGZCBwgQqAQEq5K2Q4DALCBYM6EDBAhUAoJVSdshQGAWEKyZ0AECBCoBwaqk7RAgMAsI1kzoAAEClYBgVdJ2CBCYBQRrJnSAAIFKQLAqaTsECMwCgjUTOkCAQCUgWJW0HQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIE/iDwA4mzATwuYhK6AAAAAElFTkSuQmCC" but got "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAASwAAACWCAYAAABkW7XSAAAAAXNSR0IArs4c6QAAA6JJREFUeAHt1LENhDAABEGg/575Coi8l7yG0MgrmOCuy0OAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECXwL314uD8/fg7snVxb+cfI+7BAjEAk/ckyNAgMBMwGDNaIUJEKgFDFYtqkeAwEzAYM1ohQkQqAUMVi2qR4DATMBgzWiFCRCoBQxWLapHgMBMwGDNaIUJEKgFDFYtqkeAwEzAYM1ohQkQqAUMVi2qR4DATMBgzWiFCRCoBQxWLapHgMBMwGDNaIUJEKgFDFYtqkeAwEzAYM1ohQkQqAUMVi2qR4DATMBgzWiFCRCoBQxWLapHgMBMwGDNaIUJEKgFDFYtqkeAwEzAYM1ohQkQqAUMVi2qR4DATMBgzWiFCRCoBQxWLapHgMBMwGDNaIUJEKgFDFYtqkeAwEzAYM1ohQkQqAUMVi2qR4AAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAgT8W+AEV/QE8XblneQAAAABJRU5ErkJggg=="
96
FAIL setTransform({m11: -0, m12: -0, m21: -0, m22: -0, m41: -0, m42: -0}) assert_equals: m11 expected -0 but got 1
97
FAIL addPath({m11: -0, m12: -0, m21: -0, m22: -0, m41: -0, m42: -0}) assert_equals: expected "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAASwAAACWCAYAAABkW7XSAAAAAXNSR0IArs4c6QAAAylJREFUeAHt0DEBAAAAwqD1T20IX4hAYcCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYOAdGL/UAAEPpnR6AAAAAElFTkSuQmCC" but got "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAASwAAACWCAYAAABkW7XSAAAAAXNSR0IArs4c6QAAA6JJREFUeAHt1LENhDAABEGg/575Coi8l7yG0MgrmOCuy0OAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECXwL314uD8/fg7snVxb+cfI+7BAjEAk/ckyNAgMBMwGDNaIUJEKgFDFYtqkeAwEzAYM1ohQkQqAUMVi2qR4DATMBgzWiFCRCoBQxWLapHgMBMwGDNaIUJEKgFDFYtqkeAwEzAYM1ohQkQqAUMVi2qR4DATMBgzWiFCRCoBQxWLapHgMBMwGDNaIUJEKgFDFYtqkeAwEzAYM1ohQkQqAUMVi2qR4DATMBgzWiFCRCoBQxWLapHgMBMwGDNaIUJEKgFDFYtqkeAwEzAYM1ohQkQqAUMVi2qR4DATMBgzWiFCRCoBQxWLapHgMBMwGDNaIUJEKgFDFYtqkeAwEzAYM1ohQkQqAUMVi2qR4AAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAgT8W+AEV/QE8XblneQAAAABJRU5ErkJggg=="
98
FAIL setTransform({m11: -0, m12: -0, m21: -0, m22: -0, m41: -0, m42: -0, is2D: true}) assert_equals: m11 expected -0 but got 1
99
FAIL addPath({m11: -0, m12: -0, m21: -0, m22: -0, m41: -0, m42: -0, is2D: true}) assert_equals: expected "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAASwAAACWCAYAAABkW7XSAAAAAXNSR0IArs4c6QAAAylJREFUeAHt0DEBAAAAwqD1T20IX4hAYcCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYOAdGL/UAAEPpnR6AAAAAElFTkSuQmCC" but got "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAASwAAACWCAYAAABkW7XSAAAAAXNSR0IArs4c6QAAA6JJREFUeAHt1LENhDAABEGg/575Coi8l7yG0MgrmOCuy0OAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECXwL314uD8/fg7snVxb+cfI+7BAjEAk/ckyNAgMBMwGDNaIUJEKgFDFYtqkeAwEzAYM1ohQkQqAUMVi2qR4DATMBgzWiFCRCoBQxWLapHgMBMwGDNaIUJEKgFDFYtqkeAwEzAYM1ohQkQqAUMVi2qR4DATMBgzWiFCRCoBQxWLapHgMBMwGDNaIUJEKgFDFYtqkeAwEzAYM1ohQkQqAUMVi2qR4DATMBgzWiFCRCoBQxWLapHgMBMwGDNaIUJEKgFDFYtqkeAwEzAYM1ohQkQqAUMVi2qR4DATMBgzWiFCRCoBQxWLapHgMBMwGDNaIUJEKgFDFYtqkeAwEzAYM1ohQkQqAUMVi2qR4AAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAgT8W+AEV/QE8XblneQAAAABJRU5ErkJggg=="
100
PASS setTransform({m13: 0, is2D: true}) 
101
PASS addPath({m13: 0, is2D: true}) 
102
PASS setTransform({m13: -0, is2D: true}) 
103
PASS addPath({m13: -0, is2D: true}) 
104
PASS setTransform({m14: 0, is2D: true}) 
105
PASS addPath({m14: 0, is2D: true}) 
106
PASS setTransform({m14: -0, is2D: true}) 
107
PASS addPath({m14: -0, is2D: true}) 
108
PASS setTransform({m23: 0, is2D: true}) 
109
PASS addPath({m23: 0, is2D: true}) 
110
PASS setTransform({m23: -0, is2D: true}) 
111
PASS addPath({m23: -0, is2D: true}) 
112
PASS setTransform({m24: 0, is2D: true}) 
113
PASS addPath({m24: 0, is2D: true}) 
114
PASS setTransform({m24: -0, is2D: true}) 
115
PASS addPath({m24: -0, is2D: true}) 
116
PASS setTransform({m31: 0, is2D: true}) 
117
PASS addPath({m31: 0, is2D: true}) 
118
PASS setTransform({m31: -0, is2D: true}) 
119
PASS addPath({m31: -0, is2D: true}) 
120
PASS setTransform({m32: 0, is2D: true}) 
121
PASS addPath({m32: 0, is2D: true}) 
122
PASS setTransform({m32: -0, is2D: true}) 
123
PASS addPath({m32: -0, is2D: true}) 
124
PASS setTransform({m33: 1, is2D: true}) 
125
PASS addPath({m33: 1, is2D: true}) 
126
PASS setTransform({m34: 0, is2D: true}) 
127
PASS addPath({m34: 0, is2D: true}) 
128
PASS setTransform({m34: -0, is2D: true}) 
129
PASS addPath({m34: -0, is2D: true}) 
130
PASS setTransform({m43: 0, is2D: true}) 
131
PASS addPath({m43: 0, is2D: true}) 
132
PASS setTransform({m43: -0, is2D: true}) 
133
PASS addPath({m43: -0, is2D: true}) 
134
PASS setTransform({m44: 1, is2D: true}) 
135
PASS addPath({m44: 1, is2D: true}) 
136
PASS setTransform({is2D: true}) 
137
PASS addPath({is2D: true}) 
138
PASS setTransform({m13: 1, is2D: false}) 
139
PASS addPath({m13: 1, is2D: false}) 
140
PASS setTransform({m14: 1, is2D: false}) 
141
PASS addPath({m14: 1, is2D: false}) 
142
PASS setTransform({m23: 1, is2D: false}) 
143
PASS addPath({m23: 1, is2D: false}) 
144
PASS setTransform({m24: 1, is2D: false}) 
145
PASS addPath({m24: 1, is2D: false}) 
146
PASS setTransform({m31: 1, is2D: false}) 
147
PASS addPath({m31: 1, is2D: false}) 
148
PASS setTransform({m32: 1, is2D: false}) 
149
PASS addPath({m32: 1, is2D: false}) 
150
PASS setTransform({m33: 0, is2D: false}) 
151
PASS addPath({m33: 0, is2D: false}) 
152
PASS setTransform({m33: -0, is2D: false}) 
153
PASS addPath({m33: -0, is2D: false}) 
154
PASS setTransform({m33: -1, is2D: false}) 
155
PASS addPath({m33: -1, is2D: false}) 
156
PASS setTransform({m34: 1, is2D: false}) 
157
PASS addPath({m34: 1, is2D: false}) 
158
PASS setTransform({m43: 1, is2D: false}) 
159
PASS addPath({m43: 1, is2D: false}) 
160
PASS setTransform({m44: 0, is2D: false}) 
161
PASS addPath({m44: 0, is2D: false}) 
162
PASS setTransform({m13: 1}) 
163
PASS addPath({m13: 1}) 
164
PASS setTransform({m14: 1}) 
165
PASS addPath({m14: 1}) 
166
PASS setTransform({m23: 1}) 
167
PASS addPath({m23: 1}) 
168
PASS setTransform({m24: 1}) 
169
PASS addPath({m24: 1}) 
170
PASS setTransform({m31: 1}) 
171
PASS addPath({m31: 1}) 
172
PASS setTransform({m32: 1}) 
173
PASS addPath({m32: 1}) 
174
PASS setTransform({m33: 0}) 
175
PASS addPath({m33: 0}) 
176
PASS setTransform({m34: 1}) 
177
PASS addPath({m34: 1}) 
178
PASS setTransform({m43: 1}) 
179
PASS addPath({m43: 1}) 
180
PASS setTransform({m44: 0}) 
181
PASS addPath({m44: 0}) 
182
PASS setTransform({is2D: false}) 
183
PASS addPath({is2D: false}) 
184
PASS setTransform({is2D: null}) 
185
PASS addPath({is2D: null}) 
186
- a/LayoutTests/platform/wpe/TestExpectations -1 / +20 lines
Lines 499-505 webkit.org/b/206756 imported/w3c/web-platform-tests/css/css-backgrounds/backgrou a/LayoutTests/platform/wpe/TestExpectations_sec1
499
webkit.org/b/206756 imported/w3c/web-platform-tests/css/css-backgrounds/background-size-027.html [ ImageOnlyFailure ]
499
webkit.org/b/206756 imported/w3c/web-platform-tests/css/css-backgrounds/background-size-027.html [ ImageOnlyFailure ]
500
webkit.org/b/206756 imported/w3c/web-platform-tests/css/css-backgrounds/background-size-029.html [ ImageOnlyFailure ]
500
webkit.org/b/206756 imported/w3c/web-platform-tests/css/css-backgrounds/background-size-029.html [ ImageOnlyFailure ]
501
webkit.org/b/206756 imported/w3c/web-platform-tests/css/css-backgrounds/border-image-repeat-005.html [ ImageOnlyFailure ]
501
webkit.org/b/206756 imported/w3c/web-platform-tests/css/css-backgrounds/border-image-repeat-005.html [ ImageOnlyFailure ]
502
webkit.org/b/206756 imported/w3c/web-platform-tests/css/css-backgrounds/background-border-collapsed-gradient.html [ Pass ]
503
webkit.org/b/206756 imported/w3c/web-platform-tests/css/css-backgrounds/background-size/background-size-cover-svg.html [ Pass ]
502
webkit.org/b/206756 imported/w3c/web-platform-tests/css/css-backgrounds/background-size/background-size-cover-svg.html [ Pass ]
504
webkit.org/b/206756 imported/w3c/web-platform-tests/css/css-backgrounds/background-size/vector/diagonal-percentage-vector-background.html [ Pass ]
503
webkit.org/b/206756 imported/w3c/web-platform-tests/css/css-backgrounds/background-size/vector/diagonal-percentage-vector-background.html [ Pass ]
505
504
Lines 2171-2176 webkit.org/b/213507 fast/text/text-styles/status-bar.html [ ImageOnlyFailure ] a/LayoutTests/platform/wpe/TestExpectations_sec2
2171
2170
2172
webkit.org/b/213508 imported/w3c/web-platform-tests/service-workers/service-worker/fetch-audio-tainting.https.html [ Failure ]
2171
webkit.org/b/213508 imported/w3c/web-platform-tests/service-workers/service-worker/fetch-audio-tainting.https.html [ Failure ]
2173
2172
2173
webkit.org/b/214471 imported/w3c/web-platform-tests/css/css-animations/animation-opacity-pause-and-set-time.html [ ImageOnlyFailure ]
2174
webkit.org/b/214471 imported/w3c/web-platform-tests/css/css-animations/animation-transform-pause-and-set-time.html [ ImageOnlyFailure ]
2175
webkit.org/b/214471 imported/w3c/web-platform-tests/css/css-backgrounds/background-repeat/background-repeat-round-roundup.xht [ ImageOnlyFailure ]
2176
webkit.org/b/214471 imported/w3c/web-platform-tests/css/css-backgrounds/background-repeat/background-repeat-round.xht [ ImageOnlyFailure ]
2177
webkit.org/b/214471 imported/w3c/web-platform-tests/css/css-backgrounds/background-repeat/background-repeat-space.xht [ ImageOnlyFailure ]
2178
webkit.org/b/214471 imported/w3c/web-platform-tests/css/css-backgrounds/background-size/background-size-contain.xht [ ImageOnlyFailure ]
2179
webkit.org/b/214471 imported/w3c/web-platform-tests/css/css-fonts/font-language-override-02.html [ ImageOnlyFailure ]
2180
webkit.org/b/214471 imported/w3c/web-platform-tests/css/css-images/image-resolution/image-resolution-011.html [ ImageOnlyFailure ]
2181
webkit.org/b/214471 imported/w3c/web-platform-tests/css/css-overflow/text-overflow-ellipsis-001.html [ ImageOnlyFailure ]
2182
webkit.org/b/214471 imported/w3c/web-platform-tests/css/css-overflow/text-overflow-ellipsis-002.html [ ImageOnlyFailure ]
2183
webkit.org/b/214471 imported/w3c/web-platform-tests/css/css-overflow/text-overflow-ellipsis-rtl-001.html [ ImageOnlyFailure ]
2184
webkit.org/b/214471 imported/w3c/web-platform-tests/css/css-position/fixed-z-index-blend.html [ ImageOnlyFailure ]
2185
webkit.org/b/214471 imported/w3c/web-platform-tests/css/css-text-decor/text-decoration-thickness-from-font-variable.html [ ImageOnlyFailure ]
2186
webkit.org/b/214471 imported/w3c/web-platform-tests/css/css-text-decor/text-underline-offset-variable.html [ ImageOnlyFailure ]
2187
webkit.org/b/214471 imported/w3c/web-platform-tests/css/css-text-decor/text-underline-position-from-font-variable.html [ ImageOnlyFailure ]
2188
webkit.org/b/214471 imported/w3c/web-platform-tests/css/css-values/ch-unit-002.html [ ImageOnlyFailure ]
2189
webkit.org/b/214471 imported/w3c/web-platform-tests/css/css-values/ch-unit-011.html [ ImageOnlyFailure ]
2190
webkit.org/b/214471 imported/w3c/web-platform-tests/css/css-images/image-orientation/image-orientation-border-image.html [ ImageOnlyFailure ]
2191
webkit.org/b/214471 imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/replaced-element-003.tentative.html [ ImageOnlyFailure ]
2192
2174
#////////////////////////////////////////////////////////////////////////////////////////
2193
#////////////////////////////////////////////////////////////////////////////////////////
2175
#  >> NOTICE <<
2194
#  >> NOTICE <<
2176
# Please see guidelines at the top of this file and place new test expectations
2195
# Please see guidelines at the top of this file and place new test expectations
- a/LayoutTests/platform/wpe/imported/w3c/web-platform-tests/css/css-color-adjust/inheritance-expected.txt +4 lines
Line 0 a/LayoutTests/platform/wpe/imported/w3c/web-platform-tests/css/css-color-adjust/inheritance-expected.txt_sec1
1
2
FAIL Property color-scheme has initial value normal assert_true: color-scheme doesn't seem to be supported in the computed style expected true got false
3
FAIL Property color-scheme inherits assert_true: color-scheme doesn't seem to be supported in the computed style expected true got false
4
- a/LayoutTests/platform/wpe/imported/w3c/web-platform-tests/css/css-color-adjust/meta/meta-color-scheme-attribute-changes-expected.txt +9 lines
Line 0 a/LayoutTests/platform/wpe/imported/w3c/web-platform-tests/css/css-color-adjust/meta/meta-color-scheme-attribute-changes-expected.txt_sec1
1
2
FAIL Meta color-scheme initially 'dark'. assert_equals: expected (string) "dark" but got (undefined) undefined
3
FAIL Removed name attribute from meta color-scheme. assert_equals: expected (string) "normal" but got (undefined) undefined
4
FAIL Set meta name to color-scheme. assert_equals: expected (string) "dark" but got (undefined) undefined
5
FAIL Set content attribute of meta color-scheme to empty string. assert_equals: expected (string) "normal" but got (undefined) undefined
6
FAIL Set content attribute of meta color-scheme to an invalid value. assert_equals: expected (string) "normal" but got (undefined) undefined
7
FAIL Set content attribute of meta color-scheme to 'light'. assert_equals: expected (string) "light" but got (undefined) undefined
8
FAIL Removed the content attribute of meta color-scheme. assert_equals: expected (string) "normal" but got (undefined) undefined
9
- a/LayoutTests/platform/wpe/imported/w3c/web-platform-tests/css/css-color-adjust/meta/meta-color-scheme-empty-content-value-expected.txt +3 lines
Line 0 a/LayoutTests/platform/wpe/imported/w3c/web-platform-tests/css/css-color-adjust/meta/meta-color-scheme-empty-content-value-expected.txt_sec1
1
2
FAIL Meta color-scheme with empty content attribute has no effect. assert_equals: expected (string) "normal" but got (undefined) undefined
3
- a/LayoutTests/platform/wpe/imported/w3c/web-platform-tests/css/css-color-adjust/meta/meta-color-scheme-first-valid-applies-expected.txt +3 lines
Line 0 a/LayoutTests/platform/wpe/imported/w3c/web-platform-tests/css/css-color-adjust/meta/meta-color-scheme-first-valid-applies-expected.txt_sec1
1
2
FAIL Tree order decides which meta color-scheme applies. assert_equals: expected (string) "dark" but got (undefined) undefined
3
- a/LayoutTests/platform/wpe/imported/w3c/web-platform-tests/css/css-color-adjust/meta/meta-color-scheme-insert-expected.txt +5 lines
Line 0 a/LayoutTests/platform/wpe/imported/w3c/web-platform-tests/css/css-color-adjust/meta/meta-color-scheme-insert-expected.txt_sec1
1
2
FAIL Initial color-scheme assert_equals: expected (string) "normal" but got (undefined) undefined
3
FAIL Inserted meta color-scheme applies assert_equals: expected (string) "light" but got (undefined) undefined
4
FAIL Inserted meta color-scheme before existing in head applies assert_equals: expected (string) "dark" but got (undefined) undefined
5
- a/LayoutTests/platform/wpe/imported/w3c/web-platform-tests/css/css-color-adjust/meta/meta-color-scheme-no-content-value-expected.txt +3 lines
Line 0 a/LayoutTests/platform/wpe/imported/w3c/web-platform-tests/css/css-color-adjust/meta/meta-color-scheme-no-content-value-expected.txt_sec1
1
2
FAIL Meta color-scheme without content attribute has no effect. assert_equals: expected (string) "normal" but got (undefined) undefined
3
- a/LayoutTests/platform/wpe/imported/w3c/web-platform-tests/css/css-color-adjust/meta/meta-color-scheme-presentational-hint-expected.txt +3 lines
Line 0 a/LayoutTests/platform/wpe/imported/w3c/web-platform-tests/css/css-color-adjust/meta/meta-color-scheme-presentational-hint-expected.txt_sec1
1
2
FAIL Author origin style rule overrides meta color-scheme. assert_equals: expected (string) "light" but got (undefined) undefined
3
- a/LayoutTests/platform/wpe/imported/w3c/web-platform-tests/css/css-color-adjust/meta/meta-color-scheme-remove-expected.txt +5 lines
Line 0 a/LayoutTests/platform/wpe/imported/w3c/web-platform-tests/css/css-color-adjust/meta/meta-color-scheme-remove-expected.txt_sec1
1
2
FAIL First meta applies. assert_equals: expected (string) "dark" but got (undefined) undefined
3
FAIL Second meta applies after first one is removed. assert_equals: expected (string) "light" but got (undefined) undefined
4
FAIL Initial color-scheme with both meta elements removed. assert_equals: expected (string) "normal" but got (undefined) undefined
5
- a/LayoutTests/platform/wpe/imported/w3c/web-platform-tests/css/css-color-adjust/meta/meta-color-scheme-remove-head-expected.txt +4 lines
Line 0 a/LayoutTests/platform/wpe/imported/w3c/web-platform-tests/css/css-color-adjust/meta/meta-color-scheme-remove-head-expected.txt_sec1
1
2
FAIL Meta color-scheme applies. assert_equals: expected (string) "dark" but got (undefined) undefined
3
FAIL Initial value after removing head including meta color-scheme. assert_equals: expected (string) "normal" but got (undefined) undefined
4
- a/LayoutTests/platform/wpe/imported/w3c/web-platform-tests/css/css-color-adjust/meta/meta-color-scheme-single-value-in-body-expected.txt +3 lines
Line 0 a/LayoutTests/platform/wpe/imported/w3c/web-platform-tests/css/css-color-adjust/meta/meta-color-scheme-single-value-in-body-expected.txt_sec1
1
2
FAIL Meta color-scheme in body does not apply. assert_equals: expected (string) "normal" but got (undefined) undefined
3
- a/LayoutTests/platform/wpe/imported/w3c/web-platform-tests/css/css-color-adjust/meta/meta-color-scheme-single-value-in-head-expected.txt +3 lines
Line 0 a/LayoutTests/platform/wpe/imported/w3c/web-platform-tests/css/css-color-adjust/meta/meta-color-scheme-single-value-in-head-expected.txt_sec1
1
2
FAIL Meta color-scheme in head applies. assert_equals: expected (string) "dark" but got (undefined) undefined
3
- a/LayoutTests/platform/wpe/imported/w3c/web-platform-tests/css/css-color-adjust/meta/meta-color-scheme-single-value-in-shadow-tree-expected.txt +3 lines
Line 0 a/LayoutTests/platform/wpe/imported/w3c/web-platform-tests/css/css-color-adjust/meta/meta-color-scheme-single-value-in-shadow-tree-expected.txt_sec1
1
2
FAIL Meta color-scheme in shadow tree does not apply. assert_equals: expected (string) "normal" but got (undefined) undefined
3
- a/LayoutTests/platform/wpe/imported/w3c/web-platform-tests/css/css-color-adjust/parsing/color-scheme-computed-expected.txt +16 lines
Line 0 a/LayoutTests/platform/wpe/imported/w3c/web-platform-tests/css/css-color-adjust/parsing/color-scheme-computed-expected.txt_sec1
1
2
FAIL Property color-scheme value 'normal' assert_true: color-scheme doesn't seem to be supported in the computed style expected true got false
3
FAIL Property color-scheme value 'light dark' assert_true: color-scheme doesn't seem to be supported in the computed style expected true got false
4
FAIL Property color-scheme value 'dark light' assert_true: color-scheme doesn't seem to be supported in the computed style expected true got false
5
FAIL Property color-scheme value 'light unknown' assert_true: color-scheme doesn't seem to be supported in the computed style expected true got false
6
FAIL Property color-scheme value 'only light' assert_true: color-scheme doesn't seem to be supported in the computed style expected true got false
7
FAIL Property color-scheme value 'light light' assert_true: color-scheme doesn't seem to be supported in the computed style expected true got false
8
FAIL Property color-scheme value 'light only' assert_true: color-scheme doesn't seem to be supported in the computed style expected true got false
9
FAIL Property color-scheme value 'none' assert_true: color-scheme doesn't seem to be supported in the computed style expected true got false
10
FAIL Property color-scheme value 'only' assert_true: color-scheme doesn't seem to be supported in the computed style expected true got false
11
FAIL Property color-scheme value 'only only' assert_true: color-scheme doesn't seem to be supported in the computed style expected true got false
12
FAIL Property color-scheme value 'initial' assert_true: color-scheme doesn't seem to be supported in the computed style expected true got false
13
FAIL Property color-scheme value 'inherit' assert_true: color-scheme doesn't seem to be supported in the computed style expected true got false
14
FAIL Property color-scheme value 'unset' assert_true: color-scheme doesn't seem to be supported in the computed style expected true got false
15
FAIL Property color-scheme value 'revert' assert_true: color-scheme doesn't seem to be supported in the computed style expected true got false
16
- a/LayoutTests/platform/wpe/imported/w3c/web-platform-tests/css/css-color-adjust/parsing/color-scheme-invalid-expected.txt +13 lines
Line 0 a/LayoutTests/platform/wpe/imported/w3c/web-platform-tests/css/css-color-adjust/parsing/color-scheme-invalid-expected.txt_sec1
1
2
PASS e.style['color-scheme'] = "only normal" should not set the property value 
3
PASS e.style['color-scheme'] = "normal dark" should not set the property value 
4
PASS e.style['color-scheme'] = "normal purple" should not set the property value 
5
PASS e.style['color-scheme'] = "light normal" should not set the property value 
6
PASS e.style['color-scheme'] = "light, dark" should not set the property value 
7
PASS e.style['color-scheme'] = "light inherit" should not set the property value 
8
PASS e.style['color-scheme'] = "light initial" should not set the property value 
9
PASS e.style['color-scheme'] = "light unset" should not set the property value 
10
PASS e.style['color-scheme'] = "light revert" should not set the property value 
11
PASS e.style['color-scheme'] = "default" should not set the property value 
12
PASS e.style['color-scheme'] = "light default" should not set the property value 
13
- a/LayoutTests/platform/wpe/imported/w3c/web-platform-tests/css/css-color-adjust/parsing/color-scheme-valid-expected.txt +25 lines
Line 0 a/LayoutTests/platform/wpe/imported/w3c/web-platform-tests/css/css-color-adjust/parsing/color-scheme-valid-expected.txt_sec1
1
2
FAIL e.style['color-scheme'] = "normal" should set the property value assert_not_equals: property should be set got disallowed value ""
3
FAIL e.style['color-scheme'] = "light" should set the property value assert_not_equals: property should be set got disallowed value ""
4
FAIL e.style['color-scheme'] = "dark" should set the property value assert_not_equals: property should be set got disallowed value ""
5
FAIL e.style['color-scheme'] = "light dark" should set the property value assert_not_equals: property should be set got disallowed value ""
6
FAIL e.style['color-scheme'] = "dark light" should set the property value assert_not_equals: property should be set got disallowed value ""
7
FAIL e.style['color-scheme'] = "only light" should set the property value assert_not_equals: property should be set got disallowed value ""
8
FAIL e.style['color-scheme'] = "light only" should set the property value assert_not_equals: property should be set got disallowed value ""
9
FAIL e.style['color-scheme'] = "light light" should set the property value assert_not_equals: property should be set got disallowed value ""
10
FAIL e.style['color-scheme'] = "dark dark" should set the property value assert_not_equals: property should be set got disallowed value ""
11
FAIL e.style['color-scheme'] = "light purple" should set the property value assert_not_equals: property should be set got disallowed value ""
12
FAIL e.style['color-scheme'] = "purple dark interesting" should set the property value assert_not_equals: property should be set got disallowed value ""
13
FAIL e.style['color-scheme'] = "none" should set the property value assert_not_equals: property should be set got disallowed value ""
14
FAIL e.style['color-scheme'] = "light none" should set the property value assert_not_equals: property should be set got disallowed value ""
15
FAIL e.style['color-scheme'] = "inherit" should set the property value assert_not_equals: property should be set got disallowed value ""
16
FAIL e.style['color-scheme'] = "initial" should set the property value assert_not_equals: property should be set got disallowed value ""
17
FAIL e.style['color-scheme'] = "unset" should set the property value assert_not_equals: property should be set got disallowed value ""
18
FAIL e.style['color-scheme'] = "revert" should set the property value assert_not_equals: property should be set got disallowed value ""
19
FAIL e.style['color-scheme'] = "only" should set the property value assert_not_equals: property should be set got disallowed value ""
20
FAIL e.style['color-scheme'] = "only only" should set the property value assert_not_equals: property should be set got disallowed value ""
21
FAIL e.style['color-scheme'] = "only light dark" should set the property value assert_not_equals: property should be set got disallowed value ""
22
FAIL e.style['color-scheme'] = "only light light" should set the property value assert_not_equals: property should be set got disallowed value ""
23
FAIL e.style['color-scheme'] = "only light purple" should set the property value assert_not_equals: property should be set got disallowed value ""
24
FAIL e.style['color-scheme'] = "only none" should set the property value assert_not_equals: property should be set got disallowed value ""
25
- a/LayoutTests/platform/wpe/imported/w3c/web-platform-tests/css/css-color-adjust/rendering/dark-color-scheme/color-scheme-color-property-expected.txt +4 lines
Line 0 a/LayoutTests/platform/wpe/imported/w3c/web-platform-tests/css/css-color-adjust/rendering/dark-color-scheme/color-scheme-color-property-expected.txt_sec1
1
2
FAIL Check that color:initial resolves to the intial color for the dark color-scheme. assert_not_equals: got disallowed value "rgb(0, 0, 0)"
3
FAIL Check that color:initial resolves to the intial color for the light color-scheme. assert_not_equals: got disallowed value "rgb(0, 0, 0)"
4
- a/LayoutTests/platform/wpe/imported/w3c/web-platform-tests/css/css-grid/parsing/grid-template-columns-computed-implicit-track-expected.txt +26 lines
Line 0 a/LayoutTests/platform/wpe/imported/w3c/web-platform-tests/css/css-grid/parsing/grid-template-columns-computed-implicit-track-expected.txt_sec1
1
2
PASS Property grid-template-columns value 'none' computes to '10px' 
3
PASS Property grid-template-columns value '1px' computes to '10px 1px' 
4
FAIL Property grid-template-columns value '1px [a]' computes to '10px 1px [a]' assert_equals: expected "10px 1px [a]" but got "10px [a] 1px"
5
FAIL Property grid-template-columns value '1px [a] 2px' computes to '10px 1px [a] 2px' assert_equals: expected "10px 1px [a] 2px" but got "10px [a] 1px 2px"
6
FAIL Property grid-template-columns value '[a] 1px' computes to '10px [a] 1px' assert_equals: expected "10px [a] 1px" but got "[a] 10px 1px"
7
FAIL Property grid-template-columns value '[a] 1px [b]' computes to '10px [a] 1px [b]' assert_equals: expected "10px [a] 1px [b]" but got "[a] 10px [b] 1px"
8
PASS Property grid-template-columns value '1px repeat(1, 2px) 3px' computes to '10px 1px 2px 3px' 
9
PASS Property grid-template-columns value '1px repeat(auto-fill, 2px) 3px' computes to '10px 1px 2px 3px' 
10
PASS Property grid-template-columns value '1px repeat(auto-fit, 2px) 3px' computes to '10px 1px 0px 3px' 
11
FAIL Property grid-template-columns value '1px [a] repeat(1, 2px 3px) [b] 4px' computes to '10px 1px [a] 2px 3px [b] 4px' assert_equals: expected "10px 1px [a] 2px 3px [b] 4px" but got "10px [a] 1px 2px [b] 3px 4px"
12
FAIL Property grid-template-columns value '1px [a] repeat(auto-fill, 2px 3px) [b] 4px' computes to '10px 1px [a] 2px 3px [b] 4px' assert_equals: expected "10px 1px [a] 2px 3px [b] 4px" but got "10px [a] 1px 2px [b] 3px 4px"
13
FAIL Property grid-template-columns value '1px [a] repeat(auto-fit, 2px 3px) [b] 4px' computes to '10px 1px [a] 0px 0px [b] 4px' assert_equals: expected "10px 1px [a] 0px 0px [b] 4px" but got "10px [a] 1px 0px [b] 0px 4px"
14
FAIL Property grid-template-columns value '1px [a] repeat(1, [b] 2px [c]) [d] 3px' computes to '10px 1px [a b] 2px [c d] 3px' assert_equals: expected "10px 1px [a b] 2px [c d] 3px" but got "10px [a b] 1px [c d] 2px 3px"
15
FAIL Property grid-template-columns value '1px [a] repeat(auto-fill, [b] 2px [c]) [d] 3px' computes to '10px 1px [a b] 2px [c d] 3px' assert_equals: expected "10px 1px [a b] 2px [c d] 3px" but got "10px [a b] 1px [c d] 2px 3px"
16
FAIL Property grid-template-columns value '1px [a] repeat(auto-fit, [b] 2px [c]) [d] 3px' computes to '10px 1px [a b] 0px [c d] 3px' assert_equals: expected "10px 1px [a b] 0px [c d] 3px" but got "10px [a b] 1px [c d] 0px 3px"
17
FAIL Property grid-template-columns value '[a] 1px repeat(1, 2px [b] 3px) 4px [d]' computes to '10px [a] 1px 2px [b] 3px 4px [d]' assert_equals: expected "10px [a] 1px 2px [b] 3px 4px [d]" but got "[a] 10px 1px [b] 2px 3px [d] 4px"
18
FAIL Property grid-template-columns value '[a] 1px repeat(auto-fill, 2px [b] 3px) 4px [d]' computes to '10px [a] 1px 2px [b] 3px 4px [d]' assert_equals: expected "10px [a] 1px 2px [b] 3px 4px [d]" but got "[a] 10px 1px [b] 2px 3px [d] 4px"
19
FAIL Property grid-template-columns value '[a] 1px repeat(auto-fit, 2px [b] 3px) 4px [d]' computes to '10px [a] 1px 0px [b] 0px 4px [d]' assert_equals: expected "10px [a] 1px 0px [b] 0px 4px [d]" but got "[a] 10px 1px [b] 0px 0px [d] 4px"
20
FAIL Property grid-template-columns value '100% [a] repeat(1, [b] 200% [c]) [d] 300%' computes to '10px 1px [a b] 2px [c d] 3px' assert_equals: expected "10px 1px [a b] 2px [c d] 3px" but got "10px [a b] 1px [c d] 2px 3px"
21
FAIL Property grid-template-columns value '100% [a] repeat(auto-fill, [b] 200% [c]) [d] 300%' computes to '10px 1px [a b] 2px [c d] 3px' assert_equals: expected "10px 1px [a b] 2px [c d] 3px" but got "10px [a b] 1px [c d] 2px 3px"
22
FAIL Property grid-template-columns value '100% [a] repeat(auto-fit, [b] 200% [c]) [d] 300%' computes to '10px 1px [a b] 0px [c d] 3px' assert_equals: expected "10px 1px [a b] 0px [c d] 3px" but got "10px [a b] 1px [c d] 0px 3px"
23
FAIL Property grid-template-columns value '[a] 1em repeat(1, 2em [b] 3em) 4em [d]' computes to '10px [a] 1px 2px [b] 3px 4px [d]' assert_equals: expected "10px [a] 1px 2px [b] 3px 4px [d]" but got "[a] 10px 1px [b] 2px 3px [d] 4px"
24
FAIL Property grid-template-columns value '[a] 1em repeat(auto-fill, 2em [b] 3em) 4em [d]' computes to '10px [a] 1px 2px [b] 3px 4px [d]' assert_equals: expected "10px [a] 1px 2px [b] 3px 4px [d]" but got "[a] 10px 1px [b] 2px 3px [d] 4px"
25
FAIL Property grid-template-columns value '[a] 1em repeat(auto-fit, 2em [b] 3em) 4em [d]' computes to '10px [a] 1px 0px [b] 0px 4px [d]' assert_equals: expected "10px [a] 1px 0px [b] 0px 4px [d]" but got "[a] 10px 1px [b] 0px 0px [d] 4px"
26
- a/LayoutTests/platform/wpe/imported/w3c/web-platform-tests/css/css-grid/parsing/grid-template-rows-computed-implicit-track-expected.txt +26 lines
Line 0 a/LayoutTests/platform/wpe/imported/w3c/web-platform-tests/css/css-grid/parsing/grid-template-rows-computed-implicit-track-expected.txt_sec1
1
2
PASS Property grid-template-rows value 'none' computes to '10px' 
3
PASS Property grid-template-rows value '1px' computes to '10px 1px' 
4
FAIL Property grid-template-rows value '1px [a]' computes to '10px 1px [a]' assert_equals: expected "10px 1px [a]" but got "10px [a] 1px"
5
FAIL Property grid-template-rows value '1px [a] 2px' computes to '10px 1px [a] 2px' assert_equals: expected "10px 1px [a] 2px" but got "10px [a] 1px 2px"
6
FAIL Property grid-template-rows value '[a] 1px' computes to '10px [a] 1px' assert_equals: expected "10px [a] 1px" but got "[a] 10px 1px"
7
FAIL Property grid-template-rows value '[a] 1px [b]' computes to '10px [a] 1px [b]' assert_equals: expected "10px [a] 1px [b]" but got "[a] 10px [b] 1px"
8
PASS Property grid-template-rows value '1px repeat(1, 2px) 3px' computes to '10px 1px 2px 3px' 
9
PASS Property grid-template-rows value '1px repeat(auto-fill, 2px) 3px' computes to '10px 1px 2px 3px' 
10
PASS Property grid-template-rows value '1px repeat(auto-fit, 2px) 3px' computes to '10px 1px 0px 3px' 
11
FAIL Property grid-template-rows value '1px [a] repeat(1, 2px 3px) [b] 4px' computes to '10px 1px [a] 2px 3px [b] 4px' assert_equals: expected "10px 1px [a] 2px 3px [b] 4px" but got "10px [a] 1px 2px [b] 3px 4px"
12
FAIL Property grid-template-rows value '1px [a] repeat(auto-fill, 2px 3px) [b] 4px' computes to '10px 1px [a] 2px 3px [b] 4px' assert_equals: expected "10px 1px [a] 2px 3px [b] 4px" but got "10px [a] 1px 2px [b] 3px 4px"
13
FAIL Property grid-template-rows value '1px [a] repeat(auto-fit, 2px 3px) [b] 4px' computes to '10px 1px [a] 0px 0px [b] 4px' assert_equals: expected "10px 1px [a] 0px 0px [b] 4px" but got "10px [a] 1px 0px [b] 0px 4px"
14
FAIL Property grid-template-rows value '1px [a] repeat(1, [b] 2px [c]) [d] 3px' computes to '10px 1px [a b] 2px [c d] 3px' assert_equals: expected "10px 1px [a b] 2px [c d] 3px" but got "10px [a b] 1px [c d] 2px 3px"
15
FAIL Property grid-template-rows value '1px [a] repeat(auto-fill, [b] 2px [c]) [d] 3px' computes to '10px 1px [a b] 2px [c d] 3px' assert_equals: expected "10px 1px [a b] 2px [c d] 3px" but got "10px [a b] 1px [c d] 2px 3px"
16
FAIL Property grid-template-rows value '1px [a] repeat(auto-fit, [b] 2px [c]) [d] 3px' computes to '10px 1px [a b] 0px [c d] 3px' assert_equals: expected "10px 1px [a b] 0px [c d] 3px" but got "10px [a b] 1px [c d] 0px 3px"
17
FAIL Property grid-template-rows value '[a] 1px repeat(1, 2px [b] 3px) 4px [d]' computes to '10px [a] 1px 2px [b] 3px 4px [d]' assert_equals: expected "10px [a] 1px 2px [b] 3px 4px [d]" but got "[a] 10px 1px [b] 2px 3px [d] 4px"
18
FAIL Property grid-template-rows value '[a] 1px repeat(auto-fill, 2px [b] 3px) 4px [d]' computes to '10px [a] 1px 2px [b] 3px 4px [d]' assert_equals: expected "10px [a] 1px 2px [b] 3px 4px [d]" but got "[a] 10px 1px [b] 2px 3px [d] 4px"
19
FAIL Property grid-template-rows value '[a] 1px repeat(auto-fit, 2px [b] 3px) 4px [d]' computes to '10px [a] 1px 0px [b] 0px 4px [d]' assert_equals: expected "10px [a] 1px 0px [b] 0px 4px [d]" but got "[a] 10px 1px [b] 0px 0px [d] 4px"
20
FAIL Property grid-template-rows value '100% [a] repeat(1, [b] 200% [c]) [d] 300%' computes to '10px 1px [a b] 2px [c d] 3px' assert_equals: expected "10px 1px [a b] 2px [c d] 3px" but got "10px [a b] 1px [c d] 2px 3px"
21
FAIL Property grid-template-rows value '100% [a] repeat(auto-fill, [b] 200% [c]) [d] 300%' computes to '10px 1px [a b] 2px [c d] 3px' assert_equals: expected "10px 1px [a b] 2px [c d] 3px" but got "10px [a b] 1px [c d] 2px 3px"
22
FAIL Property grid-template-rows value '100% [a] repeat(auto-fit, [b] 200% [c]) [d] 300%' computes to '10px 1px [a b] 0px [c d] 3px' assert_equals: expected "10px 1px [a b] 0px [c d] 3px" but got "10px [a b] 1px [c d] 0px 3px"
23
FAIL Property grid-template-rows value '[a] 1em repeat(1, 2em [b] 3em) 4em [d]' computes to '10px [a] 1px 2px [b] 3px 4px [d]' assert_equals: expected "10px [a] 1px 2px [b] 3px 4px [d]" but got "[a] 10px 1px [b] 2px 3px [d] 4px"
24
FAIL Property grid-template-rows value '[a] 1em repeat(auto-fill, 2em [b] 3em) 4em [d]' computes to '10px [a] 1px 2px [b] 3px 4px [d]' assert_equals: expected "10px [a] 1px 2px [b] 3px 4px [d]" but got "[a] 10px 1px [b] 2px 3px [d] 4px"
25
FAIL Property grid-template-rows value '[a] 1em repeat(auto-fit, 2em [b] 3em) 4em [d]' computes to '10px [a] 1px 0px [b] 0px 4px [d]' assert_equals: expected "10px [a] 1px 0px [b] 0px 4px [d]" but got "[a] 10px 1px [b] 0px 0px [d] 4px"
26
- a/LayoutTests/platform/wpe/imported/w3c/web-platform-tests/css/css-images/image-orientation/image-orientation-from-image-computed-style-expected.txt +4 lines
Line 0 a/LayoutTests/platform/wpe/imported/w3c/web-platform-tests/css/css-images/image-orientation/image-orientation-from-image-computed-style-expected.txt_sec1
1
               
2
3
PASS image-orientation:from-image computed style reports correct values 
4
- a/LayoutTests/platform/wpe/imported/w3c/web-platform-tests/css/css-images/image-orientation/image-orientation-none-computed-style-expected.txt +4 lines
Line 0 a/LayoutTests/platform/wpe/imported/w3c/web-platform-tests/css/css-images/image-orientation/image-orientation-none-computed-style-expected.txt_sec1
1
               
2
3
PASS image-orientation:none computed style reports correct values 
4
- a/LayoutTests/platform/wpe/imported/w3c/web-platform-tests/css/css-properties-values-api/at-property-non-matching-media-crash-expected.txt +8 lines
Line 0 a/LayoutTests/platform/wpe/imported/w3c/web-platform-tests/css/css-properties-values-api/at-property-non-matching-media-crash-expected.txt_sec1
1
layer at (0,0) size 800x600
2
  RenderView at (0,0) size 800x600
3
layer at (0,0) size 800x50
4
  RenderBlock {HTML} at (0,0) size 800x50
5
    RenderBody {BODY} at (8,16) size 784x18
6
      RenderBlock {P} at (0,0) size 784x18
7
        RenderText {#text} at (0,0) size 109x17
8
          text run at (0,0) width 109: "PASS if no crash"
- a/LayoutTests/platform/wpe/imported/w3c/web-platform-tests/css/css-properties-values-api/typedom-expected.txt +6 lines
Line 0 a/LayoutTests/platform/wpe/imported/w3c/web-platform-tests/css/css-properties-values-api/typedom-expected.txt_sec1
1
CONSOLE MESSAGE: TypeError: undefined is not an object (evaluating 'target.attributeStyleMap.clear')
2
3
Harness Error (FAIL), message = TypeError: undefined is not an object (evaluating 'target.attributeStyleMap.clear')
4
5
FAIL Computed * is reified as CSSUnparsedValue target.computedStyleMap is not a function. (In 'target.computedStyleMap()', 'target.computedStyleMap' is undefined)
6
- a/LayoutTests/platform/wpe/imported/w3c/web-platform-tests/css/css-properties-values-api/unit-cycles-expected.txt +5 lines
Line 0 a/LayoutTests/platform/wpe/imported/w3c/web-platform-tests/css/css-properties-values-api/unit-cycles-expected.txt_sec1
1
CONSOLE MESSAGE: TypeError: undefined is not an object (evaluating 'element.attributeStyleMap.clear')
2
3
Harness Error (FAIL), message = TypeError: undefined is not an object (evaluating 'element.attributeStyleMap.clear')
4
5
- a/LayoutTests/platform/wpe/imported/w3c/web-platform-tests/css/css-pseudo/file-chooser-button-display-toggle-crash.tentative-expected.txt +12 lines
Line 0 a/LayoutTests/platform/wpe/imported/w3c/web-platform-tests/css/css-pseudo/file-chooser-button-display-toggle-crash.tentative-expected.txt_sec1
1
layer at (0,0) size 800x600
2
  RenderView at (0,0) size 800x600
3
layer at (0,0) size 800x47
4
  RenderBlock {HTML} at (0,0) size 800x47
5
    RenderBody {BODY} at (8,8) size 784x31
6
      RenderFileUploadControl {INPUT} at (2,2) size 272x27 "no file selected"
7
        RenderButton {INPUT} at (0,0) size 92x27 [bgcolor=#C0C0C0] [border: (2px outset #C0C0C0)]
8
          RenderBlock (anonymous) at (8,4) size 76x18
9
            RenderText at (0,0) size 76x17
10
              text run at (0,0) width 76: "Choose File"
11
      RenderText {#text} at (0,0) size 0x0
12
      RenderText {#text} at (0,0) size 0x0
- a/LayoutTests/platform/wpe/imported/w3c/web-platform-tests/css/css-pseudo/marker-intrinsic-contribution-001-expected.txt +10 lines
Line 0 a/LayoutTests/platform/wpe/imported/w3c/web-platform-tests/css/css-pseudo/marker-intrinsic-contribution-001-expected.txt_sec1
1
2
PASS Intrinsic contribution of outside symbol marker 
3
PASS Intrinsic contribution of outside decimal marker 
4
PASS Intrinsic contribution of outside string marker 
5
PASS Intrinsic contribution of outside content marker 
6
PASS Intrinsic contribution of inside symbol marker 
7
FAIL Intrinsic contribution of inside decimal marker assert_equals: clientWidth expected 30 but got 11
8
FAIL Intrinsic contribution of inside string marker assert_equals: clientWidth expected 60 but got 11
9
FAIL Intrinsic contribution of inside content marker assert_equals: clientWidth expected 70 but got 11
10
- a/LayoutTests/platform/wpe/imported/w3c/web-platform-tests/css/css-sizing/percentage-height-in-flexbox-expected.txt +5 lines
Line 0 a/LayoutTests/platform/wpe/imported/w3c/web-platform-tests/css/css-sizing/percentage-height-in-flexbox-expected.txt_sec1
1
2
3
FAIL #target offsetSize matches #container offsetSize assert_equals: expected 50 but got 0
4
FAIL #target offsetSize matches #container offsetSize after resize assert_equals: expected 100 but got 0
5
- a/LayoutTests/platform/wpe/imported/w3c/web-platform-tests/css/css-transitions/transition-base-response-001-expected.txt +5 lines
Line 0 a/LayoutTests/platform/wpe/imported/w3c/web-platform-tests/css/css-transitions/transition-base-response-001-expected.txt_sec1
1
2
FAIL em units respond to font-size transition assert_equals: expected "15px" but got "20px"
3
FAIL ex units respond to font-size transition assert_equals: expected "6.875px" but got "9.171875px"
4
PASS var() references respond to custom property transition 
5
- a/LayoutTests/platform/wpe/imported/w3c/web-platform-tests/css/css-values/minmax-angle-computed-expected.txt -32 / +32 lines
Lines 1-34 a/LayoutTests/platform/wpe/imported/w3c/web-platform-tests/css/css-values/minmax-angle-computed-expected.txt_sec1
1
1
2
PASS Property transform value 'rotate(min(1deg))' 
2
PASS min(1deg) should be used-value-equivalent to 1deg 
3
PASS Property transform value 'rotate(min(1grad))' 
3
PASS min(1grad) should be used-value-equivalent to 1grad 
4
PASS Property transform value 'rotate(min(1rad))' 
4
PASS min(1rad) should be used-value-equivalent to 1rad 
5
PASS Property transform value 'rotate(min(1turn))' 
5
PASS min(1turn) should be used-value-equivalent to 1turn 
6
PASS Property transform value 'rotate(max(1deg))' 
6
PASS max(1deg) should be used-value-equivalent to 1deg 
7
PASS Property transform value 'rotate(max(1grad))' 
7
PASS max(1grad) should be used-value-equivalent to 1grad 
8
PASS Property transform value 'rotate(max(1rad))' 
8
PASS max(1rad) should be used-value-equivalent to 1rad 
9
PASS Property transform value 'rotate(max(1turn))' 
9
PASS max(1turn) should be used-value-equivalent to 1turn 
10
PASS Property transform value 'rotate(min(1deg, 2deg))' 
10
PASS min(1deg, 2deg) should be used-value-equivalent to 1deg 
11
PASS Property transform value 'rotate(min(1grad, 2grad))' 
11
PASS min(1grad, 2grad) should be used-value-equivalent to 1grad 
12
PASS Property transform value 'rotate(min(1rad, 2rad))' 
12
PASS min(1rad, 2rad) should be used-value-equivalent to 1rad 
13
PASS Property transform value 'rotate(min(1turn, 2turn))' 
13
PASS min(1turn, 2turn) should be used-value-equivalent to 1turn 
14
PASS Property transform value 'rotate(max(1deg, 2deg))' 
14
PASS max(1deg, 2deg) should be used-value-equivalent to 2deg 
15
PASS Property transform value 'rotate(max(1grad, 2grad))' 
15
PASS max(1grad, 2grad) should be used-value-equivalent to 2grad 
16
PASS Property transform value 'rotate(max(1rad, 2rad))' 
16
PASS max(1rad, 2rad) should be used-value-equivalent to 2rad 
17
PASS Property transform value 'rotate(max(1turn, 2turn))' 
17
PASS max(1turn, 2turn) should be used-value-equivalent to 2turn 
18
PASS Property transform value 'rotate(min(90deg, 0.26turn))' 
18
PASS min(90deg, 0.26turn) should be used-value-equivalent to 90deg 
19
FAIL Property transform value 'rotate(min(1.57rad, 95deg))' assert_equals: expected "matrix(0.0007963267107332633, 0.9999996829318346, -0.9999996829318346, 0.0007963267107332633, 0, 0)" but got "matrix(0.0007963267107334854, 0.9999996829318346, -0.9999996829318346, 0.0007963267107334854, 0, 0)"
19
FAIL min(1.57rad, 95deg) should be used-value-equivalent to 1.57rad assert_equals: rotate(min(1.57rad, 95deg)) and rotate(1.57rad) serialize to the same thing in used values. expected "matrix(0.0007963267107332633, 0.9999996829318346, -0.9999996829318346, 0.0007963267107332633, 0, 0)" but got "matrix(0.0007963267107334854, 0.9999996829318346, -0.9999996829318346, 0.0007963267107334854, 0, 0)"
20
PASS Property transform value 'rotate(max(91deg, 0.25turn))' 
20
PASS max(91deg, 0.25turn) should be used-value-equivalent to 91deg 
21
PASS Property transform value 'rotate(max(1.58rad, 90deg))' 
21
PASS max(1.58rad, 90deg) should be used-value-equivalent to 1.58rad 
22
FAIL Property transform value 'rotate(min(270deg, max(0.25turn, 3.14rad)))' assert_equals: expected "matrix(-0.9999987317275395, 0.0015926529164868282, -0.0015926529164868282, -0.9999987317275395, 0, 0)" but got "matrix(-0.9999987317275395, 0.0015926529164872723, -0.0015926529164872723, -0.9999987317275395, 0, 0)"
22
FAIL min(270deg, max(0.25turn, 3.14rad)) should be used-value-equivalent to 3.14rad assert_equals: rotate(min(270deg, max(0.25turn, 3.14rad))) and rotate(3.14rad) serialize to the same thing in used values. expected "matrix(-0.9999987317275395, 0.0015926529164868282, -0.0015926529164868282, -0.9999987317275395, 0, 0)" but got "matrix(-0.9999987317275395, 0.0015926529164872723, -0.0015926529164872723, -0.9999987317275395, 0, 0)"
23
FAIL Property transform value 'rotate(max(0.25turn, min(270deg, 3.14rad)))' assert_equals: expected "matrix(-0.9999987317275395, 0.0015926529164868282, -0.0015926529164868282, -0.9999987317275395, 0, 0)" but got "matrix(-0.9999987317275395, 0.0015926529164872723, -0.0015926529164872723, -0.9999987317275395, 0, 0)"
23
FAIL max(0.25turn, min(270deg, 3.14rad)) should be used-value-equivalent to 3.14rad assert_equals: rotate(max(0.25turn, min(270deg, 3.14rad))) and rotate(3.14rad) serialize to the same thing in used values. expected "matrix(-0.9999987317275395, 0.0015926529164868282, -0.0015926529164868282, -0.9999987317275395, 0, 0)" but got "matrix(-0.9999987317275395, 0.0015926529164872723, -0.0015926529164872723, -0.9999987317275395, 0, 0)"
24
PASS Property transform value 'rotate(calc(min(90deg, 1.58rad) + 0.25turn))' 
24
PASS calc(min(90deg, 1.58rad) + 0.25turn) should be used-value-equivalent to 180deg 
25
PASS Property transform value 'rotate(calc(min(90deg, 1.58rad) - 0.125turn))' 
25
PASS calc(min(90deg, 1.58rad) - 0.125turn) should be used-value-equivalent to 45deg 
26
PASS Property transform value 'rotate(calc(min(90deg, 1.58rad) * 2)' 
26
PASS calc(min(90deg, 1.58rad) * 2 should be used-value-equivalent to 180deg 
27
PASS Property transform value 'rotate(calc(min(90deg, 1.58rad) / 2)' 
27
PASS calc(min(90deg, 1.58rad) / 2 should be used-value-equivalent to 45deg 
28
PASS Property transform value 'rotate(calc(max(90deg, 1.56rad) + 0.25turn))' 
28
PASS calc(max(90deg, 1.56rad) + 0.25turn) should be used-value-equivalent to 180deg 
29
PASS Property transform value 'rotate(calc(max(90deg, 1.56rad) - 0.125turn))' 
29
PASS calc(max(90deg, 1.56rad) - 0.125turn) should be used-value-equivalent to 45deg 
30
PASS Property transform value 'rotate(calc(max(90deg, 1.56rad) * 2)' 
30
PASS calc(max(90deg, 1.56rad) * 2 should be used-value-equivalent to 180deg 
31
PASS Property transform value 'rotate(calc(max(90deg, 1.56rad) / 2)' 
31
PASS calc(max(90deg, 1.56rad) / 2 should be used-value-equivalent to 45deg 
32
PASS Property transform value 'rotate(calc(min(90deg, 1.58rad) + max(0.25turn, 99grad)))' 
32
PASS calc(min(90deg, 1.58rad) + max(0.25turn, 99grad)) should be used-value-equivalent to 180deg 
33
PASS Property transform value 'rotate(calc(min(90deg, 1.58rad) - max(0.25turn, 99grad)))' 
33
PASS calc(min(90deg, 1.58rad) - max(0.25turn, 99grad)) should be used-value-equivalent to 0deg 
34
34
- a/LayoutTests/platform/wpe/imported/w3c/web-platform-tests/css/css-values/minmax-length-computed-expected.txt -82 / +80 lines
Lines 1-84 a/LayoutTests/platform/wpe/imported/w3c/web-platform-tests/css/css-values/minmax-length-computed-expected.txt_sec1
1
1
2
Harness Error (FAIL), message = 1 duplicate test name: "Property letter-spacing value 'min(15px, 1em)'"
2
PASS min(1px) should be used-value-equivalent to 1px 
3
3
PASS min(1cm) should be used-value-equivalent to 1cm 
4
PASS Property letter-spacing value 'min(1px)' 
4
PASS min(1mm) should be used-value-equivalent to 1mm 
5
PASS Property letter-spacing value 'min(1cm)' 
5
PASS min(1Q) should be used-value-equivalent to 1Q 
6
PASS Property letter-spacing value 'min(1mm)' 
6
PASS min(1in) should be used-value-equivalent to 1in 
7
PASS Property letter-spacing value 'min(1Q)' 
7
PASS min(1pc) should be used-value-equivalent to 1pc 
8
PASS Property letter-spacing value 'min(1in)' 
8
PASS min(1pt) should be used-value-equivalent to 1pt 
9
PASS Property letter-spacing value 'min(1pc)' 
9
PASS min(1em) should be used-value-equivalent to 1em 
10
PASS Property letter-spacing value 'min(1pt)' 
10
PASS min(1ex) should be used-value-equivalent to 1ex 
11
PASS Property letter-spacing value 'min(1em)' 
11
PASS min(1ch) should be used-value-equivalent to 1ch 
12
PASS Property letter-spacing value 'min(1ex)' 
12
PASS min(1rem) should be used-value-equivalent to 1rem 
13
PASS Property letter-spacing value 'min(1ch)' 
13
PASS min(1vh) should be used-value-equivalent to 1vh 
14
PASS Property letter-spacing value 'min(1rem)' 
14
PASS min(1vw) should be used-value-equivalent to 1vw 
15
PASS Property letter-spacing value 'min(1vh)' 
15
PASS min(1vmin) should be used-value-equivalent to 1vmin 
16
PASS Property letter-spacing value 'min(1vw)' 
16
PASS min(1vmax) should be used-value-equivalent to 1vmax 
17
PASS Property letter-spacing value 'min(1vmin)' 
17
PASS max(1px) should be used-value-equivalent to 1px 
18
PASS Property letter-spacing value 'min(1vmax)' 
18
PASS max(1cm) should be used-value-equivalent to 1cm 
19
PASS Property letter-spacing value 'max(1px)' 
19
PASS max(1mm) should be used-value-equivalent to 1mm 
20
PASS Property letter-spacing value 'max(1cm)' 
20
PASS max(1Q) should be used-value-equivalent to 1Q 
21
PASS Property letter-spacing value 'max(1mm)' 
21
PASS max(1in) should be used-value-equivalent to 1in 
22
PASS Property letter-spacing value 'max(1Q)' 
22
PASS max(1pc) should be used-value-equivalent to 1pc 
23
PASS Property letter-spacing value 'max(1in)' 
23
PASS max(1pt) should be used-value-equivalent to 1pt 
24
PASS Property letter-spacing value 'max(1pc)' 
24
PASS max(1em) should be used-value-equivalent to 1em 
25
PASS Property letter-spacing value 'max(1pt)' 
25
PASS max(1ex) should be used-value-equivalent to 1ex 
26
PASS Property letter-spacing value 'max(1em)' 
26
PASS max(1ch) should be used-value-equivalent to 1ch 
27
PASS Property letter-spacing value 'max(1ex)' 
27
PASS max(1rem) should be used-value-equivalent to 1rem 
28
PASS Property letter-spacing value 'max(1ch)' 
28
PASS max(1vh) should be used-value-equivalent to 1vh 
29
PASS Property letter-spacing value 'max(1rem)' 
29
PASS max(1vw) should be used-value-equivalent to 1vw 
30
PASS Property letter-spacing value 'max(1vh)' 
30
PASS max(1vmin) should be used-value-equivalent to 1vmin 
31
PASS Property letter-spacing value 'max(1vw)' 
31
PASS max(1vmax) should be used-value-equivalent to 1vmax 
32
PASS Property letter-spacing value 'max(1vmin)' 
32
PASS min(1px, 2px) should be used-value-equivalent to 1px 
33
PASS Property letter-spacing value 'max(1vmax)' 
33
PASS min(1cm, 2cm) should be used-value-equivalent to 1cm 
34
PASS Property letter-spacing value 'min(1px, 2px)' 
34
PASS min(1mm, 2mm) should be used-value-equivalent to 1mm 
35
PASS Property letter-spacing value 'min(1cm, 2cm)' 
35
PASS min(1Q, 2Q) should be used-value-equivalent to 1Q 
36
PASS Property letter-spacing value 'min(1mm, 2mm)' 
36
PASS min(1in, 2in) should be used-value-equivalent to 1in 
37
PASS Property letter-spacing value 'min(1Q, 2Q)' 
37
PASS min(1pc, 2pc) should be used-value-equivalent to 1pc 
38
PASS Property letter-spacing value 'min(1in, 2in)' 
38
PASS min(1pt, 2pt) should be used-value-equivalent to 1pt 
39
PASS Property letter-spacing value 'min(1pc, 2pc)' 
39
PASS min(1em, 2em) should be used-value-equivalent to 1em 
40
PASS Property letter-spacing value 'min(1pt, 2pt)' 
40
PASS min(1ex, 2ex) should be used-value-equivalent to 1ex 
41
PASS Property letter-spacing value 'min(1em, 2em)' 
41
PASS min(1ch, 2ch) should be used-value-equivalent to 1ch 
42
PASS Property letter-spacing value 'min(1ex, 2ex)' 
42
PASS min(1rem, 2rem) should be used-value-equivalent to 1rem 
43
PASS Property letter-spacing value 'min(1ch, 2ch)' 
43
PASS min(1vh, 2vh) should be used-value-equivalent to 1vh 
44
PASS Property letter-spacing value 'min(1rem, 2rem)' 
44
PASS min(1vw, 2vw) should be used-value-equivalent to 1vw 
45
PASS Property letter-spacing value 'min(1vh, 2vh)' 
45
PASS min(1vmin, 2vmin) should be used-value-equivalent to 1vmin 
46
PASS Property letter-spacing value 'min(1vw, 2vw)' 
46
PASS min(1vmax, 2vmax) should be used-value-equivalent to 1vmax 
47
PASS Property letter-spacing value 'min(1vmin, 2vmin)' 
47
PASS max(1px, 2px) should be used-value-equivalent to 2px 
48
PASS Property letter-spacing value 'min(1vmax, 2vmax)' 
48
PASS max(1cm, 2cm) should be used-value-equivalent to 2cm 
49
PASS Property letter-spacing value 'max(1px, 2px)' 
49
PASS max(1mm, 2mm) should be used-value-equivalent to 2mm 
50
PASS Property letter-spacing value 'max(1cm, 2cm)' 
50
PASS max(1Q, 2Q) should be used-value-equivalent to 2Q 
51
PASS Property letter-spacing value 'max(1mm, 2mm)' 
51
PASS max(1in, 2in) should be used-value-equivalent to 2in 
52
PASS Property letter-spacing value 'max(1Q, 2Q)' 
52
PASS max(1pc, 2pc) should be used-value-equivalent to 2pc 
53
PASS Property letter-spacing value 'max(1in, 2in)' 
53
PASS max(1pt, 2pt) should be used-value-equivalent to 2pt 
54
PASS Property letter-spacing value 'max(1pc, 2pc)' 
54
PASS max(1em, 2em) should be used-value-equivalent to 2em 
55
PASS Property letter-spacing value 'max(1pt, 2pt)' 
55
PASS max(1ex, 2ex) should be used-value-equivalent to 2ex 
56
PASS Property letter-spacing value 'max(1em, 2em)' 
56
PASS max(1ch, 2ch) should be used-value-equivalent to 2ch 
57
PASS Property letter-spacing value 'max(1ex, 2ex)' 
57
PASS max(1rem, 2rem) should be used-value-equivalent to 2rem 
58
PASS Property letter-spacing value 'max(1ch, 2ch)' 
58
PASS max(1vh, 2vh) should be used-value-equivalent to 2vh 
59
PASS Property letter-spacing value 'max(1rem, 2rem)' 
59
PASS max(1vw, 2vw) should be used-value-equivalent to 2vw 
60
PASS Property letter-spacing value 'max(1vh, 2vh)' 
60
PASS max(1vmin, 2vmin) should be used-value-equivalent to 2vmin 
61
PASS Property letter-spacing value 'max(1vw, 2vw)' 
61
PASS max(1vmax, 2vmax) should be used-value-equivalent to 2vmax 
62
PASS Property letter-spacing value 'max(1vmin, 2vmin)' 
62
PASS min(95px, 1in) should be used-value-equivalent to 95px 
63
PASS Property letter-spacing value 'max(1vmax, 2vmax)' 
63
PASS max(95px, 1in) should be used-value-equivalent to 1in 
64
PASS Property letter-spacing value 'min(95px, 1in)' 
64
PASS min(15px, 1em) should be used-value-equivalent to 15px 
65
PASS Property letter-spacing value 'max(95px, 1in)' 
65
PASS min(25px, 1em) should be used-value-equivalent to 20px 
66
PASS Property letter-spacing value 'min(15px, 1em)' 
66
PASS max(15px, 1em) should be used-value-equivalent to 20px 
67
PASS Property letter-spacing value 'min(25px, 1em)' 
67
PASS max(25px, 1em) should be used-value-equivalent to 25px 
68
PASS Property letter-spacing value 'max(15px, 1em)' 
68
PASS min(15px, 1em) should be used-value-equivalent to 10px; fontSize=10px 
69
PASS Property letter-spacing value 'max(25px, 1em)' 
69
PASS max(15px, 2em) should be used-value-equivalent to 20px; fontSize=10px 
70
PASS Property letter-spacing value 'min(15px, 1em)' 
70
PASS min(25px, max(15px, 1em)) should be used-value-equivalent to 20px 
71
PASS Property letter-spacing value 'max(15px, 2em)' 
71
PASS max(15px, min(25px, 1em)) should be used-value-equivalent to 20px 
72
PASS Property letter-spacing value 'min(25px, max(15px, 1em))' 
72
PASS calc(min(1em, 21px) + 10px) should be used-value-equivalent to 30px 
73
PASS Property letter-spacing value 'max(15px, min(25px, 1em))' 
73
PASS calc(min(1em, 21px) - 10px) should be used-value-equivalent to 10px 
74
PASS Property letter-spacing value 'calc(min(1em, 21px) + 10px)' 
74
PASS calc(min(1em, 21px) * 2 should be used-value-equivalent to 40px 
75
PASS Property letter-spacing value 'calc(min(1em, 21px) - 10px)' 
75
PASS calc(min(1em, 21px) / 2 should be used-value-equivalent to 10px 
76
PASS Property letter-spacing value 'calc(min(1em, 21px) * 2' 
76
PASS calc(max(1em, 19px) + 10px) should be used-value-equivalent to 30px 
77
PASS Property letter-spacing value 'calc(min(1em, 21px) / 2' 
77
PASS calc(max(1em, 19px) - 10px) should be used-value-equivalent to 10px 
78
PASS Property letter-spacing value 'calc(max(1em, 19px) + 10px)' 
78
PASS calc(max(1em, 19px) * 2 should be used-value-equivalent to 40px 
79
PASS Property letter-spacing value 'calc(max(1em, 19px) - 10px)' 
79
PASS calc(max(1em, 19px) / 2 should be used-value-equivalent to 10px 
80
PASS Property letter-spacing value 'calc(max(1em, 19px) * 2' 
80
PASS calc(min(1em, 21px) + max(0.9em, 20px)) should be used-value-equivalent to 40px 
81
PASS Property letter-spacing value 'calc(max(1em, 19px) / 2' 
81
PASS calc(min(1em, 21px) - max(0.9em, 20px)) should be used-value-equivalent to 0px 
82
PASS Property letter-spacing value 'calc(min(1em, 21px) + max(0.9em, 20px))' 
83
PASS Property letter-spacing value 'calc(min(1em, 21px) - max(0.9em, 20px))' 
84
82
- a/LayoutTests/platform/wpe/imported/w3c/web-platform-tests/css/css-values/minmax-length-percent-computed-expected.txt -52 / +50 lines
Lines 1-54 a/LayoutTests/platform/wpe/imported/w3c/web-platform-tests/css/css-values/minmax-length-percent-computed-expected.txt_sec1
1
1
2
Harness Error (FAIL), message = 4 duplicate test names: "Property margin-left value 'min(20px, 10%)'", "Property margin-left value 'min(1em, 10%)'", "Property margin-left value 'max(20px, 10%)'", "Property margin-left value 'max(1em, 10%)'"
2
PASS min(1px + 1%) should be used-value-equivalent to calc(1px + 1%) 
3
3
PASS min(1cm + 1%) should be used-value-equivalent to calc(1cm + 1%) 
4
PASS Property margin-left value 'min(1px + 1%)' 
4
PASS min(1mm + 1%) should be used-value-equivalent to calc(1mm + 1%) 
5
PASS Property margin-left value 'min(1cm + 1%)' 
5
PASS min(1Q + 1%) should be used-value-equivalent to calc(1Q + 1%) 
6
PASS Property margin-left value 'min(1mm + 1%)' 
6
PASS min(1in + 1%) should be used-value-equivalent to calc(1in + 1%) 
7
PASS Property margin-left value 'min(1Q + 1%)' 
7
PASS min(1pc + 1%) should be used-value-equivalent to calc(1pc + 1%) 
8
PASS Property margin-left value 'min(1in + 1%)' 
8
PASS min(1pt + 1%) should be used-value-equivalent to calc(1pt + 1%) 
9
PASS Property margin-left value 'min(1pc + 1%)' 
9
PASS min(1em + 1%) should be used-value-equivalent to calc(1em + 1%) 
10
PASS Property margin-left value 'min(1pt + 1%)' 
10
PASS min(1ex + 1%) should be used-value-equivalent to calc(1ex + 1%) 
11
PASS Property margin-left value 'min(1em + 1%)' 
11
PASS min(1ch + 1%) should be used-value-equivalent to calc(1ch + 1%) 
12
PASS Property margin-left value 'min(1ex + 1%)' 
12
PASS min(1rem + 1%) should be used-value-equivalent to calc(1rem + 1%) 
13
PASS Property margin-left value 'min(1ch + 1%)' 
13
PASS min(1vh + 1%) should be used-value-equivalent to calc(1vh + 1%) 
14
PASS Property margin-left value 'min(1rem + 1%)' 
14
PASS min(1vw + 1%) should be used-value-equivalent to calc(1vw + 1%) 
15
PASS Property margin-left value 'min(1vh + 1%)' 
15
PASS min(1vmin + 1%) should be used-value-equivalent to calc(1vmin + 1%) 
16
PASS Property margin-left value 'min(1vw + 1%)' 
16
PASS min(1vmax + 1%) should be used-value-equivalent to calc(1vmax + 1%) 
17
PASS Property margin-left value 'min(1vmin + 1%)' 
17
PASS max(1px + 1%) should be used-value-equivalent to calc(1px + 1%) 
18
PASS Property margin-left value 'min(1vmax + 1%)' 
18
PASS max(1cm + 1%) should be used-value-equivalent to calc(1cm + 1%) 
19
PASS Property margin-left value 'max(1px + 1%)' 
19
PASS max(1mm + 1%) should be used-value-equivalent to calc(1mm + 1%) 
20
PASS Property margin-left value 'max(1cm + 1%)' 
20
PASS max(1Q + 1%) should be used-value-equivalent to calc(1Q + 1%) 
21
PASS Property margin-left value 'max(1mm + 1%)' 
21
PASS max(1in + 1%) should be used-value-equivalent to calc(1in + 1%) 
22
PASS Property margin-left value 'max(1Q + 1%)' 
22
PASS max(1pc + 1%) should be used-value-equivalent to calc(1pc + 1%) 
23
PASS Property margin-left value 'max(1in + 1%)' 
23
PASS max(1pt + 1%) should be used-value-equivalent to calc(1pt + 1%) 
24
PASS Property margin-left value 'max(1pc + 1%)' 
24
PASS max(1em + 1%) should be used-value-equivalent to calc(1em + 1%) 
25
PASS Property margin-left value 'max(1pt + 1%)' 
25
PASS max(1ex + 1%) should be used-value-equivalent to calc(1ex + 1%) 
26
PASS Property margin-left value 'max(1em + 1%)' 
26
PASS max(1ch + 1%) should be used-value-equivalent to calc(1ch + 1%) 
27
PASS Property margin-left value 'max(1ex + 1%)' 
27
PASS max(1rem + 1%) should be used-value-equivalent to calc(1rem + 1%) 
28
PASS Property margin-left value 'max(1ch + 1%)' 
28
PASS max(1vh + 1%) should be used-value-equivalent to calc(1vh + 1%) 
29
PASS Property margin-left value 'max(1rem + 1%)' 
29
PASS max(1vw + 1%) should be used-value-equivalent to calc(1vw + 1%) 
30
PASS Property margin-left value 'max(1vh + 1%)' 
30
PASS max(1vmin + 1%) should be used-value-equivalent to calc(1vmin + 1%) 
31
PASS Property margin-left value 'max(1vw + 1%)' 
31
PASS max(1vmax + 1%) should be used-value-equivalent to calc(1vmax + 1%) 
32
PASS Property margin-left value 'max(1vmin + 1%)' 
32
PASS min(20px, 10%) should be used-value-equivalent to 20px 
33
PASS Property margin-left value 'max(1vmax + 1%)' 
33
PASS min(1em, 10%) should be used-value-equivalent to 20px 
34
PASS Property margin-left value 'min(20px, 10%)' 
34
PASS max(20px, 10%) should be used-value-equivalent to 40px 
35
PASS Property margin-left value 'min(1em, 10%)' 
35
PASS max(1em, 10%) should be used-value-equivalent to 40px 
36
PASS Property margin-left value 'max(20px, 10%)' 
36
PASS min(20px, 10%) should be used-value-equivalent to 10px; width=100px 
37
PASS Property margin-left value 'max(1em, 10%)' 
37
PASS min(1em, 10%) should be used-value-equivalent to 10px; width=100px 
38
PASS Property margin-left value 'min(20px, 10%)' 
38
PASS max(20px, 10%) should be used-value-equivalent to 20px; width=100px 
39
PASS Property margin-left value 'min(1em, 10%)' 
39
PASS max(1em, 10%) should be used-value-equivalent to 20px; width=100px 
40
PASS Property margin-left value 'max(20px, 10%)' 
40
PASS min(30px + 10%, 60px + 5%) should be used-value-equivalent to 70px 
41
PASS Property margin-left value 'max(1em, 10%)' 
41
PASS max(2em + 10%, 1em + 20%) should be used-value-equivalent to 100px 
42
PASS Property margin-left value 'min(30px + 10%, 60px + 5%)' 
42
PASS calc(min(1.5em, 10%) + 10px) should be used-value-equivalent to 40px 
43
PASS Property margin-left value 'max(2em + 10%, 1em + 20%)' 
43
PASS calc(min(1.5em, 10%) - 10px) should be used-value-equivalent to 20px 
44
PASS Property margin-left value 'calc(min(1.5em, 10%) + 10px)' 
44
PASS calc(min(1.5em, 10%) * 2) should be used-value-equivalent to 60px 
45
PASS Property margin-left value 'calc(min(1.5em, 10%) - 10px)' 
45
PASS calc(min(1.5em, 10%) / 2) should be used-value-equivalent to 15px 
46
PASS Property margin-left value 'calc(min(1.5em, 10%) * 2)' 
46
PASS calc(max(1em, 15%) + 10px) should be used-value-equivalent to 70px 
47
PASS Property margin-left value 'calc(min(1.5em, 10%) / 2)' 
47
PASS calc(max(1em, 15%) - 10px) should be used-value-equivalent to 50px 
48
PASS Property margin-left value 'calc(max(1em, 15%) + 10px)' 
48
PASS calc(max(1em, 15%) * 2) should be used-value-equivalent to 120px 
49
PASS Property margin-left value 'calc(max(1em, 15%) - 10px)' 
49
PASS calc(max(1em, 15%) / 2) should be used-value-equivalent to 30px 
50
PASS Property margin-left value 'calc(max(1em, 15%) * 2)' 
50
PASS calc(min(1.5em, 10%) + max(1em, 15%)) should be used-value-equivalent to 90px 
51
PASS Property margin-left value 'calc(max(1em, 15%) / 2)' 
51
PASS calc(min(1.5em, 10%) - max(1em, 15%)) should be used-value-equivalent to -30px 
52
PASS Property margin-left value 'calc(min(1.5em, 10%) + max(1em, 15%))' 
53
PASS Property margin-left value 'calc(min(1.5em, 10%) - max(1em, 15%))' 
54
52
- a/LayoutTests/platform/wpe/imported/w3c/web-platform-tests/css/cssom/css-style-attr-decl-block-expected.txt +9 lines
Line 0 a/LayoutTests/platform/wpe/imported/w3c/web-platform-tests/css/cssom/css-style-attr-decl-block-expected.txt_sec1
1
2
PASS Style attribute should create CSS declaration block based on its content 
3
FAIL Changes to style attribute should reflect on CSS declaration block assert_equals: CSS declaration block after removing the style attribute expected "" but got "z-index: 21;"
4
PASS Changes to CSS declaration block should reflect on style attribute 
5
PASS Changes to CSS declaration block should queue mutation record for style attribute 
6
PASS Removing non-existing property or setting invalid value on CSS declaration block shouldn't queue mutation record 
7
PASS Changes to CSS declaration block after a base URL change 
8
FAIL Expansion of all:unset and all:revert treated identically assert_equals: expected "color: unset; display: unset; font-family: unset; font-feature-settings: unset; font-optical-sizing: unset; font-size: unset; font-stretch: unset; font-style: unset; font-synthesis: unset; font-variant-alternates: unset; font-variant-caps: unset; font-variant-east-asian: unset; font-variant-ligatures: unset; font-variant-numeric: unset; font-variant-position: unset; font-variation-settings: unset; font-weight: unset; text-rendering: unset; writing-mode: unset; zoom: unset; -webkit-font-kerning: unset; -webkit-font-smoothing: unset; -webkit-locale: unset; -webkit-text-orientation: unset; -webkit-text-zoom: unset; align-content: unset; align-items: unset; align-self: unset; alignment-baseline: unset; alt: unset; animation: unset unset unset unset unset unset unset unset; background-attachment: unset; background-blend-mode: unset; background-clip: unset; background-color: unset; background-image: unset; background-origin: unset; background-size: unset; baseline-shift: unset; block-size: unset; border-block-end-color: unset; border-block-end-style: unset; border-block-end-width: unset; border-block-start-color: unset; border-block-start-style: unset; border-block-start-width: unset; border: unset unset unset; border-bottom-right-radius: unset; border-collapse: unset; border-image-outset: unset; border-image-repeat: unset; border-image-slice: unset; border-image-source: unset; border-image-width: unset; border-inline-end-color: unset; border-inline-end-style: unset; border-inline-end-width: unset; border-inline-start-color: unset; border-inline-start-style: unset; border-inline-start-width: unset; border-top-left-radius: unset; border-top-right-radius: unset; bottom: unset; box-shadow: unset; box-sizing: unset; break-after: unset; break-before: unset; break-inside: unset; buffered-rendering: unset; caption-side: unset; caret-color: unset; clear: unset; clip: unset; clip-path: unset; clip-rule: unset; color-interpolation: unset; color-interpolation-filters: unset; color-profile: unset; color-rendering: unset; column-count: unset; column-fill: unset; column-gap: unset; column-rule-color: unset; column-rule-style: unset; column-rule-width: unset; column-span: unset; column-width: unset; content: unset; counter-increment: unset; counter-reset: unset; cursor: unset; cx: unset; cy: unset; dominant-baseline: unset; empty-cells: unset; enable-background: unset; fill: unset; fill-opacity: unset; fill-rule: unset; filter: unset; flex: unset unset unset; flex-flow: unset unset; float: unset; flood-color: unset; flood-opacity: unset; font-display: unset; glyph-orientation-horizontal: unset; glyph-orientation-vertical: unset; grid-auto-columns: unset; grid-auto-flow: unset; grid-auto-rows: unset; grid-column-end: unset; grid-column-start: unset; grid-row-end: unset; grid-row-start: unset; grid-template-areas: unset; grid-template-columns: unset; grid-template-rows: unset; hanging-punctuation: unset; height: unset; image-orientation: unset; image-rendering: unset; inline-size: unset; isolation: unset; justify-content: unset; justify-items: unset; justify-self: unset; kerning: unset; left: unset; letter-spacing: unset; lighting-color: unset; line-break: unset; line-height: unset; list-style: unset unset unset; margin-block-end: unset; margin-block-start: unset; margin: unset; margin-inline-end: unset; margin-inline-start: unset; marker-end: unset; marker-mid: unset; marker-start: unset; mask: unset; mask-type: unset; max-block-size: unset; max-height: unset; max-inline-size: unset; max-width: unset; min-block-size: unset; min-height: unset; min-inline-size: unset; min-width: unset; mix-blend-mode: unset; object-fit: unset; object-position: unset; opacity: unset; order: unset; orphans: unset; outline: unset unset unset; outline-offset: unset; overflow-wrap: unset; overflow: unset; padding-block-end: unset; padding-block-start: unset; padding: unset; padding-inline-end: unset; padding-inline-start: unset; page: unset; paint-order: unset; perspective: unset; perspective-origin: unset unset; pointer-events: unset; position: unset; quotes: unset; r: unset; resize: unset; right: unset; row-gap: unset; rx: unset; ry: unset; scroll-behavior: unset; shape-image-threshold: unset; shape-margin: unset; shape-outside: unset; shape-rendering: unset; size: unset; speak-as: unset; src: unset; stop-color: unset; stop-opacity: unset; stroke: unset; stroke-color: unset; stroke-dasharray: unset; stroke-dashoffset: unset; stroke-linecap: unset; stroke-linejoin: unset; stroke-miterlimit: unset; stroke-opacity: unset; stroke-width: unset; tab-size: unset; table-layout: unset; text-align: unset; text-anchor: unset; text-decoration: unset; text-decoration-color: unset; text-decoration-line: unset; text-decoration-skip: unset; text-decoration-style: unset; text-decoration-thickness: unset; text-indent: unset; text-overflow: unset; text-shadow: unset; text-transform: unset; text-underline-offset: unset; text-underline-position: unset; top: unset; touch-action: unset; transform: unset; transform-box: unset; transform-origin: unset unset unset; transform-style: unset; transition: unset unset unset unset; unicode-range: unset; vector-effect: unset; vertical-align: unset; visibility: unset; white-space: unset; widows: unset; width: unset; will-change: unset; word-break: unset; word-spacing: unset; word-wrap: unset; x: unset; y: unset; z-index: unset; -apple-color-filter: unset; -webkit-appearance: unset; -webkit-aspect-ratio: unset; -webkit-backface-visibility: unset; -webkit-background-clip: unset; -webkit-background-composite: unset; -webkit-background-origin: unset; -webkit-background-size: unset; -webkit-border-fit: unset; border-spacing: unset; -webkit-border-image: unset; -webkit-box-align: unset; -webkit-box-decoration-break: unset; -webkit-box-direction: unset; -webkit-box-flex: unset; -webkit-box-flex-group: unset; -webkit-box-lines: unset; -webkit-box-ordinal-group: unset; -webkit-box-orient: unset; -webkit-box-pack: unset; -webkit-box-reflect: unset; -webkit-box-shadow: unset; -webkit-column-axis: unset; -webkit-column-progression: unset; -webkit-font-size-delta: unset; -webkit-hyphenate-character: unset; -webkit-hyphenate-limit-after: unset; -webkit-hyphenate-limit-before: unset; -webkit-hyphenate-limit-lines: unset; -webkit-hyphens: unset; -webkit-initial-letter: unset; -webkit-line-align: unset; -webkit-line-box-contain: unset; -webkit-line-clamp: unset; -webkit-line-grid: unset; -webkit-line-snap: unset; -webkit-margin-after-collapse: unset; -webkit-margin-before-collapse: unset; -webkit-margin-bottom-collapse: unset; -webkit-margin-top-collapse: unset; -webkit-marquee-direction: unset; -webkit-marquee-increment: unset; -webkit-marquee-repetition: unset; -webkit-marquee-speed: unset; -webkit-marquee-style: unset; -webkit-mask-box-image: unset; -webkit-mask-box-image-outset: unset; -webkit-mask-box-image-repeat: unset; -webkit-mask-box-image-slice: unset; -webkit-mask-box-image-source: unset; -webkit-mask-box-image-width: unset; -webkit-mask: unset unset unset unset / unset unset unset unset unset; -webkit-mask-composite: unset; -webkit-mask-size: unset; -webkit-mask-source-type: unset; -webkit-nbsp-mode: unset; -webkit-print-color-adjust: unset; -webkit-rtl-ordering: unset; -webkit-ruby-position: unset; -webkit-tap-highlight-color: unset; -webkit-text-combine: unset; -webkit-text-decorations-in-effect: unset; -webkit-text-emphasis-color: unset; -webkit-text-emphasis-position: unset; -webkit-text-emphasis-style: unset; -webkit-text-fill-color: unset; -webkit-text-security: unset; -webkit-text-stroke-color: unset; -webkit-text-stroke-width: unset; -webkit-transform-style: unset; -webkit-user-drag: unset; -webkit-user-modify: unset; -webkit-user-select: unset; border-bottom-left-radius: 1px; background-position: unset unset; background-repeat: unset unset;" but got "color: Revert; display: Revert; font-family: Revert; font-feature-settings: Revert; font-optical-sizing: Revert; font-size: Revert; font-stretch: Revert; font-style: Revert; font-synthesis: Revert; font-variant-alternates: Revert; font-variant-caps: Revert; font-variant-east-asian: Revert; font-variant-ligatures: Revert; font-variant-numeric: Revert; font-variant-position: Revert; font-variation-settings: Revert; font-weight: Revert; text-rendering: Revert; writing-mode: Revert; zoom: Revert; -webkit-font-kerning: Revert; -webkit-font-smoothing: Revert; -webkit-locale: Revert; -webkit-text-orientation: Revert; -webkit-text-zoom: Revert; align-content: Revert; align-items: Revert; align-self: Revert; alignment-baseline: Revert; alt: Revert; animation: Revert Revert Revert Revert Revert Revert Revert Revert; background-attachment: Revert; background-blend-mode: Revert; background-clip: Revert; background-color: Revert; background-image: Revert; background-origin: Revert; background-size: Revert; baseline-shift: Revert; block-size: Revert; border-block-end-color: Revert; border-block-end-style: Revert; border-block-end-width: Revert; border-block-start-color: Revert; border-block-start-style: Revert; border-block-start-width: Revert; border: Revert Revert Revert; border-bottom-right-radius: Revert; border-collapse: Revert; border-image-outset: Revert; border-image-repeat: Revert; border-image-slice: Revert; border-image-source: Revert; border-image-width: Revert; border-inline-end-color: Revert; border-inline-end-style: Revert; border-inline-end-width: Revert; border-inline-start-color: Revert; border-inline-start-style: Revert; border-inline-start-width: Revert; border-top-left-radius: Revert; border-top-right-radius: Revert; bottom: Revert; box-shadow: Revert; box-sizing: Revert; break-after: Revert; break-before: Revert; break-inside: Revert; buffered-rendering: Revert; caption-side: Revert; caret-color: Revert; clear: Revert; clip: Revert; clip-path: Revert; clip-rule: Revert; color-interpolation: Revert; color-interpolation-filters: Revert; color-profile: Revert; color-rendering: Revert; column-count: Revert; column-fill: Revert; column-gap: Revert; column-rule-color: Revert; column-rule-style: Revert; column-rule-width: Revert; column-span: Revert; column-width: Revert; content: Revert; counter-increment: Revert; counter-reset: Revert; cursor: Revert; cx: Revert; cy: Revert; dominant-baseline: Revert; empty-cells: Revert; enable-background: Revert; fill: Revert; fill-opacity: Revert; fill-rule: Revert; filter: Revert; flex: Revert Revert Revert; flex-flow: Revert Revert; float: Revert; flood-color: Revert; flood-opacity: Revert; font-display: Revert; glyph-orientation-horizontal: Revert; glyph-orientation-vertical: Revert; grid-auto-columns: Revert; grid-auto-flow: Revert; grid-auto-rows: Revert; grid-column-end: Revert; grid-column-start: Revert; grid-row-end: Revert; grid-row-start: Revert; grid-template-areas: Revert; grid-template-columns: Revert; grid-template-rows: Revert; hanging-punctuation: Revert; height: Revert; image-orientation: Revert; image-rendering: Revert; inline-size: Revert; isolation: Revert; justify-content: Revert; justify-items: Revert; justify-self: Revert; kerning: Revert; left: Revert; letter-spacing: Revert; lighting-color: Revert; line-break: Revert; line-height: Revert; list-style: Revert Revert Revert; margin-block-end: Revert; margin-block-start: Revert; margin: Revert; margin-inline-end: Revert; margin-inline-start: Revert; marker-end: Revert; marker-mid: Revert; marker-start: Revert; mask: Revert; mask-type: Revert; max-block-size: Revert; max-height: Revert; max-inline-size: Revert; max-width: Revert; min-block-size: Revert; min-height: Revert; min-inline-size: Revert; min-width: Revert; mix-blend-mode: Revert; object-fit: Revert; object-position: Revert; opacity: Revert; order: Revert; orphans: Revert; outline: Revert Revert Revert; outline-offset: Revert; overflow-wrap: Revert; overflow: Revert; padding-block-end: Revert; padding-block-start: Revert; padding: Revert; padding-inline-end: Revert; padding-inline-start: Revert; page: Revert; paint-order: Revert; perspective: Revert; perspective-origin: Revert Revert; pointer-events: Revert; position: Revert; quotes: Revert; r: Revert; resize: Revert; right: Revert; row-gap: Revert; rx: Revert; ry: Revert; scroll-behavior: Revert; shape-image-threshold: Revert; shape-margin: Revert; shape-outside: Revert; shape-rendering: Revert; size: Revert; speak-as: Revert; src: Revert; stop-color: Revert; stop-opacity: Revert; stroke: Revert; stroke-color: Revert; stroke-dasharray: Revert; stroke-dashoffset: Revert; stroke-linecap: Revert; stroke-linejoin: Revert; stroke-miterlimit: Revert; stroke-opacity: Revert; stroke-width: Revert; tab-size: Revert; table-layout: Revert; text-align: Revert; text-anchor: Revert; text-decoration: Revert; text-decoration-color: Revert; text-decoration-line: Revert; text-decoration-skip: Revert; text-decoration-style: Revert; text-decoration-thickness: Revert; text-indent: Revert; text-overflow: Revert; text-shadow: Revert; text-transform: Revert; text-underline-offset: Revert; text-underline-position: Revert; top: Revert; touch-action: Revert; transform: Revert; transform-box: Revert; transform-origin: Revert Revert Revert; transform-style: Revert; transition: Revert Revert Revert Revert; unicode-range: Revert; vector-effect: Revert; vertical-align: Revert; visibility: Revert; white-space: Revert; widows: Revert; width: Revert; will-change: Revert; word-break: Revert; word-spacing: Revert; word-wrap: Revert; x: Revert; y: Revert; z-index: Revert; -apple-color-filter: Revert; -webkit-appearance: Revert; -webkit-aspect-ratio: Revert; -webkit-backface-visibility: Revert; -webkit-background-clip: Revert; -webkit-background-composite: Revert; -webkit-background-origin: Revert; -webkit-background-size: Revert; -webkit-border-fit: Revert; border-spacing: Revert; -webkit-border-image: Revert; -webkit-box-align: Revert; -webkit-box-decoration-break: Revert; -webkit-box-direction: Revert; -webkit-box-flex: Revert; -webkit-box-flex-group: Revert; -webkit-box-lines: Revert; -webkit-box-ordinal-group: Revert; -webkit-box-orient: Revert; -webkit-box-pack: Revert; -webkit-box-reflect: Revert; -webkit-box-shadow: Revert; -webkit-column-axis: Revert; -webkit-column-progression: Revert; -webkit-font-size-delta: Revert; -webkit-hyphenate-character: Revert; -webkit-hyphenate-limit-after: Revert; -webkit-hyphenate-limit-before: Revert; -webkit-hyphenate-limit-lines: Revert; -webkit-hyphens: Revert; -webkit-initial-letter: Revert; -webkit-line-align: Revert; -webkit-line-box-contain: Revert; -webkit-line-clamp: Revert; -webkit-line-grid: Revert; -webkit-line-snap: Revert; -webkit-margin-after-collapse: Revert; -webkit-margin-before-collapse: Revert; -webkit-margin-bottom-collapse: Revert; -webkit-margin-top-collapse: Revert; -webkit-marquee-direction: Revert; -webkit-marquee-increment: Revert; -webkit-marquee-repetition: Revert; -webkit-marquee-speed: Revert; -webkit-marquee-style: Revert; -webkit-mask-box-image: Revert; -webkit-mask-box-image-outset: Revert; -webkit-mask-box-image-repeat: Revert; -webkit-mask-box-image-slice: Revert; -webkit-mask-box-image-source: Revert; -webkit-mask-box-image-width: Revert; -webkit-mask: Revert Revert Revert Revert / Revert Revert Revert Revert Revert; -webkit-mask-composite: Revert; -webkit-mask-size: Revert; -webkit-mask-source-type: Revert; -webkit-nbsp-mode: Revert; -webkit-print-color-adjust: Revert; -webkit-rtl-ordering: Revert; -webkit-ruby-position: Revert; -webkit-tap-highlight-color: Revert; -webkit-text-combine: Revert; -webkit-text-decorations-in-effect: Revert; -webkit-text-emphasis-color: Revert; -webkit-text-emphasis-position: Revert; -webkit-text-emphasis-style: Revert; -webkit-text-fill-color: Revert; -webkit-text-security: Revert; -webkit-text-stroke-color: Revert; -webkit-text-stroke-width: Revert; -webkit-transform-style: Revert; -webkit-user-drag: Revert; -webkit-user-modify: Revert; -webkit-user-select: Revert; border-bottom-left-radius: 1px; background-position: Revert Revert; background-repeat: Revert Revert;"
9
- a/LayoutTests/platform/wpe/imported/w3c/web-platform-tests/css/cssom/cssstyledeclaration-csstext-expected.txt +11 lines
Line 0 a/LayoutTests/platform/wpe/imported/w3c/web-platform-tests/css/cssom/cssstyledeclaration-csstext-expected.txt_sec1
1
2
PASS uppercase property 
3
PASS uppercase value 
4
PASS overwriting with invalid value 
5
PASS use rgb 
6
PASS cssText order 
7
PASS another cssText order (non-alphabetical order) 
8
PASS whitespaces in value 
9
PASS invalid property does not appear 
10
FAIL cssText on computed style declaration returns the empty string assert_equals: cssText is empty expected "" but got "align-content: normal; align-items: normal; align-self: auto; alignment-baseline: auto; all: ; alt: \"\"; animation-delay: 0s; animation-direction: normal; animation-duration: 0s; animation-fill-mode: none; animation-iteration-count: 1; animation-name: none; animation-play-state: running; animation-timing-function: ease; background-attachment: scroll; background-blend-mode: normal; background-clip: border-box; background-color: rgba(0, 0, 0, 0); background-image: none; background-origin: padding-box; background-position-x: 0%; background-position-y: 0%; background-repeat: repeat; background-size: auto; baseline-shift: baseline; block-size: 0px; border-block-end-color: rgb(255, 0, 0); border-block-end-style: none; border-block-end-width: 0px; border-block-start-color: rgb(255, 0, 0); border-block-start-style: none; border-block-start-width: 0px; border-bottom-color: rgb(255, 0, 0); border-bottom-left-radius: 0px; border-bottom-right-radius: 0px; border-bottom-style: none; border-bottom-width: 0px; border-collapse: separate; border-image-outset: 0px; border-image-repeat: stretch; border-image-slice: 100%; border-image-source: none; border-image-width: 1; border-inline-end-color: rgb(255, 0, 0); border-inline-end-style: none; border-inline-end-width: 0px; border-inline-start-color: rgb(255, 0, 0); border-inline-start-style: none; border-inline-start-width: 0px; border-left-color: rgb(255, 0, 0); border-left-style: none; border-left-width: 0px; border-right-color: rgb(255, 0, 0); border-right-style: none; border-right-width: 0px; border-top-color: rgb(255, 0, 0); border-top-left-radius: 0px; border-top-right-radius: 0px; border-top-style: none; border-top-width: 0px; bottom: auto; box-shadow: none; box-sizing: content-box; break-after: auto; break-before: auto; break-inside: auto; buffered-rendering: auto; caption-side: top; caret-color: rgb(255, 0, 0); clear: none; clip: auto; clip-path: none; clip-rule: nonzero; color: rgb(255, 0, 0); color-interpolation: sRGB; color-interpolation-filters: linearRGB; color-rendering: auto; column-count: auto; column-fill: balance; column-gap: normal; column-rule-color: rgb(255, 0, 0); column-rule-style: none; column-rule-width: 0px; column-span: none; column-width: auto; content: ; counter-increment: none; counter-reset: none; cursor: auto; cx: 0px; cy: 0px; direction: ltr; display: block; dominant-baseline: auto; empty-cells: show; fill: rgb(0, 0, 0); fill-opacity: 1; fill-rule: nonzero; filter: none; flex-basis: auto; flex-direction: row; flex-grow: 0; flex-shrink: 1; flex-wrap: nowrap; float: none; flood-color: rgb(0, 0, 0); flood-opacity: 1; font-family: -webkit-standard; font-feature-settings: normal; font-optical-sizing: auto; font-size: 13.333333015441895px; font-stretch: normal; font-style: normal; font-synthesis: style weight small-caps; font-variant-alternates: normal; font-variant-caps: normal; font-variant-east-asian: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-position: normal; font-variation-settings: normal; font-weight: normal; glyph-orientation-horizontal: 0deg; glyph-orientation-vertical: auto; grid-auto-columns: auto; grid-auto-flow: row; grid-auto-rows: auto; grid-column-end: auto; grid-column-start: auto; grid-row-end: auto; grid-row-start: auto; grid-template-areas: none; grid-template-columns: none; grid-template-rows: none; hanging-punctuation: none; height: 0px; image-orientation: from-image; image-rendering: auto; inline-size: 784px; inset-block-end: auto; inset-block-start: auto; inset-inline-end: auto; inset-inline-start: auto; isolation: auto; justify-content: normal; justify-items: normal; justify-self: auto; kerning: 0; left: auto; letter-spacing: normal; lighting-color: rgb(255, 255, 255); line-break: auto; line-height: normal; list-style-image: none; list-style-position: outside; list-style-type: disc; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; marker-end: none; marker-mid: none; marker-start: none; mask: none; mask-type: luminance; max-block-size: none; max-height: none; max-inline-size: none; max-width: none; min-block-size: 0px; min-height: 0px; min-inline-size: 0px; min-width: 0px; mix-blend-mode: normal; object-fit: fill; object-position: 50% 50%; opacity: 1; order: 0; orphans: auto; outline-color: rgb(255, 0, 0); outline-offset: 0px; outline-style: none; outline-width: 0px; overflow-wrap: normal; overflow-x: visible; overflow-y: visible; padding-block-end: 0px; padding-block-start: 0px; padding-bottom: 0px; padding-inline-end: 0px; padding-inline-start: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; page-break-after: auto; page-break-before: auto; page-break-inside: auto; paint-order: normal; perspective: none; perspective-origin-x: ; perspective-origin-y: ; pointer-events: auto; position: static; quotes: ; r: 0px; resize: none; right: auto; row-gap: normal; rx: auto; ry: auto; scroll-behavior: auto; shape-image-threshold: 0; shape-margin: 0px; shape-outside: none; shape-rendering: auto; size: ; speak-as: normal; stop-color: rgb(0, 0, 0); stop-opacity: 1; stroke: none; stroke-color: rgba(0, 0, 0, 0); stroke-dasharray: none; stroke-dashoffset: 0px; stroke-linecap: butt; stroke-linejoin: miter; stroke-miterlimit: 4; stroke-opacity: 1; stroke-width: 1px; tab-size: 8; table-layout: auto; text-align: start; text-anchor: start; text-decoration: none; text-decoration-color: rgb(255, 0, 0); text-decoration-line: none; text-decoration-skip: auto; text-decoration-style: solid; text-decoration-thickness: auto; text-indent: 0px; text-orientation: mixed; text-overflow: clip; text-rendering: auto; text-shadow: none; text-transform: none; text-underline-offset: auto; text-underline-position: auto; top: auto; touch-action: auto; transform: none; transform-box: view-box; transform-origin-x: ; transform-origin-y: ; transform-origin-z: ; transform-style: flat; transition-delay: 0s; transition-duration: 0s; transition-property: all; transition-timing-function: ease; unicode-bidi: normal; vector-effect: none; vertical-align: baseline; visibility: visible; white-space: normal; widows: auto; width: 784px; will-change: auto; word-break: normal; word-spacing: 0px; word-wrap: normal; writing-mode: horizontal-tb; x: 0px; y: 0px; z-index: auto; zoom: 1; -apple-color-filter: none; -webkit-appearance: none; -webkit-aspect-ratio: auto; -webkit-backface-visibility: visible; -webkit-background-clip: border-box; -webkit-background-composite: source-over; -webkit-background-origin: padding-box; -webkit-background-size: auto; -webkit-border-fit: border; -webkit-border-horizontal-spacing: 0px; -webkit-border-image: none; -webkit-border-vertical-spacing: 0px; -webkit-box-align: stretch; -webkit-box-decoration-break: slice; -webkit-box-direction: normal; -webkit-box-flex: 0; -webkit-box-flex-group: 1; -webkit-box-lines: single; -webkit-box-ordinal-group: 1; -webkit-box-orient: horizontal; -webkit-box-pack: start; -webkit-box-reflect: none; -webkit-box-shadow: none; -webkit-column-axis: auto; -webkit-column-break-after: auto; -webkit-column-break-before: auto; -webkit-column-break-inside: auto; -webkit-column-progression: normal; -webkit-font-kerning: auto; -webkit-font-smoothing: auto; -webkit-hyphenate-character: auto; -webkit-hyphenate-limit-after: auto; -webkit-hyphenate-limit-before: auto; -webkit-hyphenate-limit-lines: no-limit; -webkit-hyphens: manual; -webkit-initial-letter: normal; -webkit-line-align: none; -webkit-line-box-contain: block inline replaced; -webkit-line-clamp: none; -webkit-line-grid: none; -webkit-line-snap: none; -webkit-locale: auto; -webkit-margin-after-collapse: collapse; -webkit-margin-before-collapse: collapse; -webkit-margin-bottom-collapse: collapse; -webkit-margin-top-collapse: collapse; -webkit-mask-box-image: none; -webkit-mask-box-image-outset: 0px; -webkit-mask-box-image-repeat: stretch; -webkit-mask-box-image-slice: 0 fill; -webkit-mask-box-image-source: none; -webkit-mask-box-image-width: auto; -webkit-mask-clip: border-box; -webkit-mask-composite: source-over; -webkit-mask-image: none; -webkit-mask-origin: border-box; -webkit-mask-position-x: 0%; -webkit-mask-position-y: 0%; -webkit-mask-repeat: repeat; -webkit-mask-size: auto; -webkit-mask-source-type: alpha; -webkit-nbsp-mode: normal; -webkit-print-color-adjust: economy; -webkit-rtl-ordering: logical; -webkit-ruby-position: before; -webkit-tap-highlight-color: rgba(0, 0, 0, 0.4); -webkit-text-combine: none; -webkit-text-emphasis-color: rgb(255, 0, 0); -webkit-text-emphasis-position: over right; -webkit-text-emphasis-style: none; -webkit-text-fill-color: rgb(255, 0, 0); -webkit-text-orientation: mixed; -webkit-text-security: none; -webkit-text-stroke-color: rgb(255, 0, 0); -webkit-text-stroke-width: 0px; -webkit-text-zoom: normal; -webkit-transform-style: flat; -webkit-user-drag: auto; -webkit-user-modify: read-only; -webkit-user-select: text;"
11
- a/LayoutTests/platform/wpe/imported/w3c/web-platform-tests/css/geometry/DOMMatrix2DInit-validate-fixup-expected.txt +186 lines
Line 0 a/LayoutTests/platform/wpe/imported/w3c/web-platform-tests/css/geometry/DOMMatrix2DInit-validate-fixup-expected.txt_sec1
1
2
PASS setTransform({a: 1, m11: 2}) (invalid) 
3
PASS addPath({a: 1, m11: 2}) (invalid) 
4
PASS setTransform({b: 0, m12: -1}) (invalid) 
5
PASS addPath({b: 0, m12: -1}) (invalid) 
6
PASS setTransform({c: Infinity, m21: -Infinity}) (invalid) 
7
PASS addPath({c: Infinity, m21: -Infinity}) (invalid) 
8
PASS setTransform({d: 0, m22: NaN}) (invalid) 
9
PASS addPath({d: 0, m22: NaN}) (invalid) 
10
PASS setTransform({e: 1, m41: 1.00000001}) (invalid) 
11
PASS addPath({e: 1, m41: 1.00000001}) (invalid) 
12
PASS setTransform({f: 0, m42: 5e-324}) (invalid) 
13
PASS addPath({f: 0, m42: 5e-324}) (invalid) 
14
PASS setTransform (Sanity check without dictionary) 
15
PASS addPath (Sanity check without second parameter) 
16
PASS setTransform({m13: 1, is2D: true}) 
17
PASS addPath({m13: 1, is2D: true}) 
18
PASS setTransform({m14: 1, is2D: true}) 
19
PASS addPath({m14: 1, is2D: true}) 
20
PASS setTransform({m23: 1, is2D: true}) 
21
PASS addPath({m23: 1, is2D: true}) 
22
PASS setTransform({m24: 1, is2D: true}) 
23
PASS addPath({m24: 1, is2D: true}) 
24
PASS setTransform({m31: 1, is2D: true}) 
25
PASS addPath({m31: 1, is2D: true}) 
26
PASS setTransform({m32: 1, is2D: true}) 
27
PASS addPath({m32: 1, is2D: true}) 
28
PASS setTransform({m33: 0, is2D: true}) 
29
PASS addPath({m33: 0, is2D: true}) 
30
PASS setTransform({m33: -0, is2D: true}) 
31
PASS addPath({m33: -0, is2D: true}) 
32
PASS setTransform({m33: -1, is2D: true}) 
33
PASS addPath({m33: -1, is2D: true}) 
34
PASS setTransform({m34: 1, is2D: true}) 
35
PASS addPath({m34: 1, is2D: true}) 
36
PASS setTransform({m43: 1, is2D: true}) 
37
PASS addPath({m43: 1, is2D: true}) 
38
PASS setTransform({m44: 0, is2D: true}) 
39
PASS addPath({m44: 0, is2D: true}) 
40
PASS setTransform({}) 
41
PASS addPath({}) 
42
PASS setTransform({is2D: undefined}) 
43
PASS addPath({is2D: undefined}) 
44
PASS setTransform({a: 1, m11: 1}) 
45
PASS addPath({a: 1, m11: 1}) 
46
PASS setTransform({b: 0, m12: undefined}) 
47
PASS addPath({b: 0, m12: undefined}) 
48
PASS setTransform({c: 0, m21: 0}) 
49
PASS addPath({c: 0, m21: 0}) 
50
FAIL setTransform({c: 0, m21: -0}) assert_equals: m21 expected -0 but got 0
51
PASS addPath({c: 0, m21: -0}) 
52
PASS setTransform({c: -0, m21: 0}) 
53
PASS addPath({c: -0, m21: 0}) 
54
FAIL setTransform({c: -0, m21: -0}) assert_equals: m21 expected -0 but got 0
55
PASS addPath({c: -0, m21: -0}) 
56
PASS setTransform({d: Infinity, m22: Infinity}) 
57
PASS addPath({d: Infinity, m22: Infinity}) 
58
PASS setTransform({e: -Infinity, m41: -Infinity}) 
59
PASS addPath({e: -Infinity, m41: -Infinity}) 
60
PASS setTransform({f: NaN, m42: NaN}) 
61
PASS addPath({f: NaN, m42: NaN}) 
62
PASS setTransform({f: NaN, m42: NaN, is2D: true}) 
63
PASS addPath({f: NaN, m42: NaN, is2D: true}) 
64
PASS setTransform({f: 0, m42: null}) 
65
PASS addPath({f: 0, m42: null}) 
66
PASS setTransform({f: -0, m42: null}) 
67
PASS addPath({f: -0, m42: null}) 
68
PASS setTransform({a: 2}) 
69
PASS addPath({a: 2}) 
70
PASS setTransform({b: 2}) 
71
PASS addPath({b: 2}) 
72
PASS setTransform({c: 2}) 
73
PASS addPath({c: 2}) 
74
PASS setTransform({d: 2}) 
75
PASS addPath({d: 2}) 
76
PASS setTransform({e: 2}) 
77
PASS addPath({e: 2}) 
78
PASS setTransform({f: 2}) 
79
PASS addPath({f: 2}) 
80
FAIL setTransform({a: -0, b: -0, c: -0, d: -0, e: -0, f: -0}) assert_equals: m11 expected -0 but got 1
81
PASS addPath({a: -0, b: -0, c: -0, d: -0, e: -0, f: -0}) 
82
FAIL setTransform({a: -0, b: -0, c: -0, d: -0, e: -0, f: -0, is2D: true}) assert_equals: m11 expected -0 but got 1
83
PASS addPath({a: -0, b: -0, c: -0, d: -0, e: -0, f: -0, is2D: true}) 
84
PASS setTransform({m11: 2}) 
85
FAIL addPath({m11: 2}) assert_equals: expected "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAASwAAACWCAYAAABkW7XSAAAABmJLR0QA/wD/AP+gvaeTAAABGElEQVR4nO3UwQmAQBAEwdP8c9YIhH25NFRFMDDQ5wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA8OXaHjDwbA/4WeETWHFvDwCYEiwgQ7CADMECMgQLyBAsIEOwgAzBAjIEC8gQLCBDsIAMwQIyBAvIECwgQ7CADMECMgQLyBAsIEOwgAzBAjIEC8gQLCBDsIAMwQIyBAvIECwgQ7CADMECMgQLAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAsRfFdgE8ZaJkfwAAAABJRU5ErkJggg==" but got "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAASwAAACWCAYAAABkW7XSAAAABmJLR0QA/wD/AP+gvaeTAAABGUlEQVR4nO3UwQ2AMAwEwUD/PUMFSPlYYaWZAk72Z9cCAAAAAAAAAAAAAAAAAAAAAAAAAAAAAODLNbD5DGzumPgF+JH79AEAuwQLyBAsIEOwgAzBAjIEC8gQLCBDsIAMwQIyBAvIECwgQ7CADMECMgQLyBAsIEOwgAzBAjIEC8gQLCBDsIAMwQIyBAvIECwgQ7CADMECMgQLyBAsIEOwgAzBAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAYNsLFf0BPPhLDhkAAAAASUVORK5CYII="
86
PASS setTransform({m12: 2}) 
87
FAIL addPath({m12: 2}) assert_equals: expected "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAASwAAACWCAYAAABkW7XSAAAABmJLR0QA/wD/AP+gvaeTAAACMUlEQVR4nO3Wy2kDURBE0QYn1pkrFTuS8UpghD4zY1uvC86JoFbFrQIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACm69UDAPa6rB4AsNdWKgsIsZXKAkJspbKAENfDUlnAeFupLCDEz8NSWcBoW6ksIMTtYaksYKzbw1JZwFj3DktlASPdOyyVBYz06LBUFjDOo8NSWcA4zw5LZQGjPDsslQWM8uqwVBYwxqvDUlnAGHsOS2UBI+w5LJUFjLD3sFQWsNzew1JZwHJHDktlAUsdOSyVBSx19LBUFrDM0cNSWcAyZw5LZQFLnDkslQUscfawVBbwdpdSWUCILpUFBFFZQIwulQUEUVlAjC6VBQRRWUCMLpUFBFFZQIwulQUEUVlAjC6VBQRRWUCMLpUFBFFZQIwulQUEUVlAjC6VBQRRWUCMLpUFBFFZQIwulQUEUVlAjC6VBQRRWUCMLpUFBFFZQIwulQUEUVlAjC6VBQT5TWUBvFWXwwKCnK0sgLfrclhAkDOVBbBEl8MCghytLIBluhwWEORIZQEs1eWwgCB7KwtguS6HBQTZU1kAI3Q5LCDIq8oCGKPLYQFBnlUWwChdDgsI8qiyAMbpclhAkHuVBTBSl8MCgtxWFsBYXQ4LCPKzsgBG63JYQJBrZQGM1+WwgCCX1QOA//exesAf+aqqz9UjgP/1Db5fgi46kdAvAAAAAElFTkSuQmCC" but got "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAASwAAACWCAYAAABkW7XSAAAABmJLR0QA/wD/AP+gvaeTAAABGUlEQVR4nO3UwQ2AMAwEwUD/PUMFSPlYYaWZAk72Z9cCAAAAAAAAAAAAAAAAAAAAAAAAAAAAAODLNbD5DGzumPgF+JH79AEAuwQLyBAsIEOwgAzBAjIEC8gQLCBDsIAMwQIyBAvIECwgQ7CADMECMgQLyBAsIEOwgAzBAjIEC8gQLCBDsIAMwQIyBAvIECwgQ7CADMECMgQLyBAsIEOwgAzBAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAYNsLFf0BPPhLDhkAAAAASUVORK5CYII="
88
PASS setTransform({m21: 2}) 
89
FAIL addPath({m21: 2}) assert_equals: expected "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAASwAAACWCAYAAABkW7XSAAAABmJLR0QA/wD/AP+gvaeTAAABG0lEQVR4nO3UsQ2DAAADQQ9GydZp2SuULBAhfXQneQA3vwEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwOPY9tn2fXnXtvOFf8AfEi4gR7iAHOECcoQLyBEuIEe4gBzhAnKEC8gRLiBHuIAc4QJyhAvIES4gR7iAHOECcoQLyBEuIEe4gBzhAnKEC8gRLiBHuIAc4QJyhAvIES4gR7iAHOECcoQLyBEuAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADg525jOIDIRORyswAAAABJRU5ErkJggg==" but got "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAASwAAACWCAYAAABkW7XSAAAABmJLR0QA/wD/AP+gvaeTAAABGUlEQVR4nO3UwQ2AMAwEwUD/PUMFSPlYYaWZAk72Z9cCAAAAAAAAAAAAAAAAAAAAAAAAAAAAAODLNbD5DGzumPgF+JH79AEAuwQLyBAsIEOwgAzBAjIEC8gQLCBDsIAMwQIyBAvIECwgQ7CADMECMgQLyBAsIEOwgAzBAjIEC8gQLCBDsIAMwQIyBAvIECwgQ7CADMECMgQLyBAsIEOwgAzBAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAYNsLFf0BPPhLDhkAAAAASUVORK5CYII="
90
PASS setTransform({m22: 2}) 
91
FAIL addPath({m22: 2}) assert_equals: expected "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAASwAAACWCAYAAABkW7XSAAAABmJLR0QA/wD/AP+gvaeTAAABV0lEQVR4nO3UsQ2AQAwEwYf+e4YWnsDASjMFnOxk1wIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACA546BzWtgc8fEL8CPnF8fALBLsIAMwQIyBAvIECwgQ7CADMECMgQLyBAsIEOwgAzBAjIEC8gQLCBDsIAMwQIyBAvIECwgQ7CADMECMgQLyBAsIEOwgAzBAjIEC8gQLCBDsIAMwQIyBAvIECwgQ7CADMECMgQLyBAsIEOwgAzBAjIEC8gQLCBDsIAMwQIyBAvIECwgQ7CADMECMgQLyBAsIEOwgAzBAjIEC8gQLCBDsIAMwQIyBAvIECwgQ7CADMECMgQLyBAsIEOwgAzBAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB4zQ2kxwF4QE22VwAAAABJRU5ErkJggg==" but got "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAASwAAACWCAYAAABkW7XSAAAABmJLR0QA/wD/AP+gvaeTAAABGUlEQVR4nO3UwQ2AMAwEwUD/PUMFSPlYYaWZAk72Z9cCAAAAAAAAAAAAAAAAAAAAAAAAAAAAAODLNbD5DGzumPgF+JH79AEAuwQLyBAsIEOwgAzBAjIEC8gQLCBDsIAMwQIyBAvIECwgQ7CADMECMgQLyBAsIEOwgAzBAjIEC8gQLCBDsIAMwQIyBAvIECwgQ7CADMECMgQLyBAsIEOwgAzBAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAYNsLFf0BPPhLDhkAAAAASUVORK5CYII="
92
PASS setTransform({m41: 2}) 
93
FAIL addPath({m41: 2}) assert_equals: expected "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAASwAAACWCAYAAABkW7XSAAAABmJLR0QA/wD/AP+gvaeTAAABGUlEQVR4nO3UwQ2AMAwEwUD/PUMFoHysaKWZAk72Z9cCAAAAAAAAAAAAAAAAAAAAAAAAAAAAAODLNbj9DG7/mfwJOOg+fQDALsECMgQLyBAsIEOwgAzBAjIEC8gQLCBDsIAMwQIyBAvIECwgQ7CADMECMgQLyBAsIEOwgAzBAjIEC8gQLCBDsIAMwQIyBAvIECwgQ7CADMECMgQLyBAsIEOwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA2PYCDf0BPHcTaMQAAAAASUVORK5CYII=" but got "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAASwAAACWCAYAAABkW7XSAAAABmJLR0QA/wD/AP+gvaeTAAABGUlEQVR4nO3UwQ2AMAwEwUD/PUMFSPlYYaWZAk72Z9cCAAAAAAAAAAAAAAAAAAAAAAAAAAAAAODLNbD5DGzumPgF+JH79AEAuwQLyBAsIEOwgAzBAjIEC8gQLCBDsIAMwQIyBAvIECwgQ7CADMECMgQLyBAsIEOwgAzBAjIEC8gQLCBDsIAMwQIyBAvIECwgQ7CADMECMgQLyBAsIEOwgAzBAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAYNsLFf0BPPhLDhkAAAAASUVORK5CYII="
94
PASS setTransform({m42: 2}) 
95
FAIL addPath({m42: 2}) assert_equals: expected "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAASwAAACWCAYAAABkW7XSAAAABmJLR0QA/wD/AP+gvaeTAAABGElEQVR4nO3UsRGAMAwEQUP/PUMLTgQcs1vAj5TcWgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADwlGNg8xrY3DHxC/Ah59sHAOwSLCBDsIAMwQIyBAvIECwgQ7CADMECMgQLyBAsIEOwgAzBAjIEC8gQLCBDsIAMwQIyBAvIECwgQ7CADMECMgQLyBAsIEOwgAzBAjIEC8gQLCBDsIAMwQIyBAsAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD4sRuJswE8LK5EbgAAAABJRU5ErkJggg==" but got "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAASwAAACWCAYAAABkW7XSAAAABmJLR0QA/wD/AP+gvaeTAAABGUlEQVR4nO3UwQ2AMAwEwUD/PUMFSPlYYaWZAk72Z9cCAAAAAAAAAAAAAAAAAAAAAAAAAAAAAODLNbD5DGzumPgF+JH79AEAuwQLyBAsIEOwgAzBAjIEC8gQLCBDsIAMwQIyBAvIECwgQ7CADMECMgQLyBAsIEOwgAzBAjIEC8gQLCBDsIAMwQIyBAvIECwgQ7CADMECMgQLyBAsIEOwgAzBAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAYNsLFf0BPPhLDhkAAAAASUVORK5CYII="
96
FAIL setTransform({m11: -0, m12: -0, m21: -0, m22: -0, m41: -0, m42: -0}) assert_equals: m11 expected -0 but got 1
97
FAIL addPath({m11: -0, m12: -0, m21: -0, m22: -0, m41: -0, m42: -0}) assert_equals: expected "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAASwAAACWCAYAAABkW7XSAAAABmJLR0QA/wD/AP+gvaeTAAAAxUlEQVR4nO3BMQEAAADCoPVPbQhfoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOA1v9QAATX68/0AAAAASUVORK5CYII=" but got "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAASwAAACWCAYAAABkW7XSAAAABmJLR0QA/wD/AP+gvaeTAAABGUlEQVR4nO3UwQ2AMAwEwUD/PUMFSPlYYaWZAk72Z9cCAAAAAAAAAAAAAAAAAAAAAAAAAAAAAODLNbD5DGzumPgF+JH79AEAuwQLyBAsIEOwgAzBAjIEC8gQLCBDsIAMwQIyBAvIECwgQ7CADMECMgQLyBAsIEOwgAzBAjIEC8gQLCBDsIAMwQIyBAvIECwgQ7CADMECMgQLyBAsIEOwgAzBAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAYNsLFf0BPPhLDhkAAAAASUVORK5CYII="
98
FAIL setTransform({m11: -0, m12: -0, m21: -0, m22: -0, m41: -0, m42: -0, is2D: true}) assert_equals: m11 expected -0 but got 1
99
FAIL addPath({m11: -0, m12: -0, m21: -0, m22: -0, m41: -0, m42: -0, is2D: true}) assert_equals: expected "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAASwAAACWCAYAAABkW7XSAAAABmJLR0QA/wD/AP+gvaeTAAAAxUlEQVR4nO3BMQEAAADCoPVPbQhfoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOA1v9QAATX68/0AAAAASUVORK5CYII=" but got "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAASwAAACWCAYAAABkW7XSAAAABmJLR0QA/wD/AP+gvaeTAAABGUlEQVR4nO3UwQ2AMAwEwUD/PUMFSPlYYaWZAk72Z9cCAAAAAAAAAAAAAAAAAAAAAAAAAAAAAODLNbD5DGzumPgF+JH79AEAuwQLyBAsIEOwgAzBAjIEC8gQLCBDsIAMwQIyBAvIECwgQ7CADMECMgQLyBAsIEOwgAzBAjIEC8gQLCBDsIAMwQIyBAvIECwgQ7CADMECMgQLyBAsIEOwgAzBAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAYNsLFf0BPPhLDhkAAAAASUVORK5CYII="
100
PASS setTransform({m13: 0, is2D: true}) 
101
PASS addPath({m13: 0, is2D: true}) 
102
PASS setTransform({m13: -0, is2D: true}) 
103
PASS addPath({m13: -0, is2D: true}) 
104
PASS setTransform({m14: 0, is2D: true}) 
105
PASS addPath({m14: 0, is2D: true}) 
106
PASS setTransform({m14: -0, is2D: true}) 
107
PASS addPath({m14: -0, is2D: true}) 
108
PASS setTransform({m23: 0, is2D: true}) 
109
PASS addPath({m23: 0, is2D: true}) 
110
PASS setTransform({m23: -0, is2D: true}) 
111
PASS addPath({m23: -0, is2D: true}) 
112
PASS setTransform({m24: 0, is2D: true}) 
113
PASS addPath({m24: 0, is2D: true}) 
114
PASS setTransform({m24: -0, is2D: true}) 
115
PASS addPath({m24: -0, is2D: true}) 
116
PASS setTransform({m31: 0, is2D: true}) 
117
PASS addPath({m31: 0, is2D: true}) 
118
PASS setTransform({m31: -0, is2D: true}) 
119
PASS addPath({m31: -0, is2D: true}) 
120
PASS setTransform({m32: 0, is2D: true}) 
121
PASS addPath({m32: 0, is2D: true}) 
122
PASS setTransform({m32: -0, is2D: true}) 
123
PASS addPath({m32: -0, is2D: true}) 
124
PASS setTransform({m33: 1, is2D: true}) 
125
PASS addPath({m33: 1, is2D: true}) 
126
PASS setTransform({m34: 0, is2D: true}) 
127
PASS addPath({m34: 0, is2D: true}) 
128
PASS setTransform({m34: -0, is2D: true}) 
129
PASS addPath({m34: -0, is2D: true}) 
130
PASS setTransform({m43: 0, is2D: true}) 
131
PASS addPath({m43: 0, is2D: true}) 
132
PASS setTransform({m43: -0, is2D: true}) 
133
PASS addPath({m43: -0, is2D: true}) 
134
PASS setTransform({m44: 1, is2D: true}) 
135
PASS addPath({m44: 1, is2D: true}) 
136
PASS setTransform({is2D: true}) 
137
PASS addPath({is2D: true}) 
138
PASS setTransform({m13: 1, is2D: false}) 
139
PASS addPath({m13: 1, is2D: false}) 
140
PASS setTransform({m14: 1, is2D: false}) 
141
PASS addPath({m14: 1, is2D: false}) 
142
PASS setTransform({m23: 1, is2D: false}) 
143
PASS addPath({m23: 1, is2D: false}) 
144
PASS setTransform({m24: 1, is2D: false}) 
145
PASS addPath({m24: 1, is2D: false}) 
146
PASS setTransform({m31: 1, is2D: false}) 
147
PASS addPath({m31: 1, is2D: false}) 
148
PASS setTransform({m32: 1, is2D: false}) 
149
PASS addPath({m32: 1, is2D: false}) 
150
PASS setTransform({m33: 0, is2D: false}) 
151
PASS addPath({m33: 0, is2D: false}) 
152
PASS setTransform({m33: -0, is2D: false}) 
153
PASS addPath({m33: -0, is2D: false}) 
154
PASS setTransform({m33: -1, is2D: false}) 
155
PASS addPath({m33: -1, is2D: false}) 
156
PASS setTransform({m34: 1, is2D: false}) 
157
PASS addPath({m34: 1, is2D: false}) 
158
PASS setTransform({m43: 1, is2D: false}) 
159
PASS addPath({m43: 1, is2D: false}) 
160
PASS setTransform({m44: 0, is2D: false}) 
161
PASS addPath({m44: 0, is2D: false}) 
162
PASS setTransform({m13: 1}) 
163
PASS addPath({m13: 1}) 
164
PASS setTransform({m14: 1}) 
165
PASS addPath({m14: 1}) 
166
PASS setTransform({m23: 1}) 
167
PASS addPath({m23: 1}) 
168
PASS setTransform({m24: 1}) 
169
PASS addPath({m24: 1}) 
170
PASS setTransform({m31: 1}) 
171
PASS addPath({m31: 1}) 
172
PASS setTransform({m32: 1}) 
173
PASS addPath({m32: 1}) 
174
PASS setTransform({m33: 0}) 
175
PASS addPath({m33: 0}) 
176
PASS setTransform({m34: 1}) 
177
PASS addPath({m34: 1}) 
178
PASS setTransform({m43: 1}) 
179
PASS addPath({m43: 1}) 
180
PASS setTransform({m44: 0}) 
181
PASS addPath({m44: 0}) 
182
PASS setTransform({is2D: false}) 
183
PASS addPath({is2D: false}) 
184
PASS setTransform({is2D: null}) 
185
PASS addPath({is2D: null}) 
186
- a/LayoutTests/platform/wpe/imported/w3c/web-platform-tests/css/mediaqueries/prefers-color-scheme-expected.txt +23 lines
Line 0 a/LayoutTests/platform/wpe/imported/w3c/web-platform-tests/css/mediaqueries/prefers-color-scheme-expected.txt_sec1
1
2
FAIL Should be parseable in a CSS stylesheet: '(prefers-color-scheme)' assert_true: expected true got false
3
FAIL Should be parseable in a CSS stylesheet: '(prefers-color-scheme: light)' assert_true: expected true got false
4
FAIL Should be parseable in a CSS stylesheet: '(prefers-color-scheme: dark)' assert_true: expected true got false
5
PASS Should not be parseable in a CSS stylesheet: '(prefers-color-scheme: 0)' 
6
PASS Should not be parseable in a CSS stylesheet: '(prefers-color-scheme: none)' 
7
PASS Should not be parseable in a CSS stylesheet: '(prefers-color-scheme: 10px)' 
8
PASS Should not be parseable in a CSS stylesheet: '(prefers-color-scheme: dark 0)' 
9
PASS Should not be parseable in a CSS stylesheet: '(prefers-color-scheme: dark light)' 
10
PASS Should not be parseable in a CSS stylesheet: '(prefers-color-scheme: light/dark)' 
11
PASS Should not be parseable in a CSS stylesheet: '(prefers-color-scheme: no-preference)' 
12
FAIL Should be parseable in JS: '(prefers-color-scheme)' assert_true: expected true got false
13
FAIL Should be parseable in JS: '(prefers-color-scheme: light)' assert_true: expected true got false
14
FAIL Should be parseable in JS: '(prefers-color-scheme: dark)' assert_true: expected true got false
15
PASS Should not be parseable in JS: '(prefers-color-scheme: 0)' 
16
PASS Should not be parseable in JS: '(prefers-color-scheme: none)' 
17
PASS Should not be parseable in JS: '(prefers-color-scheme: 10px)' 
18
PASS Should not be parseable in JS: '(prefers-color-scheme: dark 0)' 
19
PASS Should not be parseable in JS: '(prefers-color-scheme: dark light)' 
20
PASS Should not be parseable in JS: '(prefers-color-scheme: light/dark)' 
21
PASS Should not be parseable in JS: '(prefers-color-scheme: no-preference)' 
22
FAIL Check that prefer-color-scheme evaluates to true in the boolean context assert_true: expected true got false
23

Return to Bug 214414