Skip to content

Commit ecc7c3c

Browse files
authored
Add CSSOM and related features (#1999)
1 parent 9d41a69 commit ecc7c3c

9 files changed

+426
-0
lines changed
Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
name: Alternative style sheets
2+
description: The `rel="alternate stylesheet"` attribute for the `<link>` HTML element offers an alternative style option to users.
3+
spec: https://drafts.csswg.org/cssom-1/#concept-css-style-sheet-alternate-flag
4+
group: css
5+
compat_features:
6+
- html.elements.link.rel.alternate_stylesheet
Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
# Generated from: alternative-style-sheets.yml
2+
# Do not edit this file by hand. Edit the source file instead!
3+
4+
status:
5+
baseline: false
6+
support:
7+
firefox: "3"
8+
firefox_android: "4"
9+
compat_features:
10+
- html.elements.link.rel.alternate_stylesheet

features/css-escape.yml

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
name: CSS.escape()
2+
description: The `CSS.escape()` static method escapes a string so that it can be used in a valid CSS selector.
3+
spec: https://drafts.csswg.org/cssom-1/#the-css.escape()-method
4+
group: cssom
5+
compat_features:
6+
- api.CSS.escape_static

features/css-escape.yml.dist

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
# Generated from: css-escape.yml
2+
# Do not edit this file by hand. Edit the source file instead!
3+
4+
status:
5+
baseline: high
6+
baseline_low_date: 2020-01-15
7+
baseline_high_date: 2022-07-15
8+
support:
9+
chrome: "46"
10+
chrome_android: "46"
11+
edge: "79"
12+
firefox: "31"
13+
firefox_android: "31"
14+
safari: "10.1"
15+
safari_ios: "10.3"
16+
compat_features:
17+
- api.CSS.escape_static

features/css-object-model.yml

Lines changed: 83 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,83 @@
1+
name: CSS object model
2+
description: The CSS object model API reads, creates, and modifies CSS stylesheets and inline styles. Also known as CSSOM.
3+
spec: https://drafts.csswg.org/cssom-1/#css-object-model
4+
group: cssom
5+
status:
6+
compute_from: api.CSS
7+
compat_features:
8+
- api.CSS
9+
- api.CSSGroupingRule
10+
- api.CSSGroupingRule.cssRules
11+
- api.CSSGroupingRule.deleteRule
12+
- api.CSSGroupingRule.insertRule
13+
- api.CSSPageDescriptors
14+
- api.CSSPageDescriptors.margin
15+
- api.CSSPageDescriptors.margin-bottom
16+
- api.CSSPageDescriptors.margin-left
17+
- api.CSSPageDescriptors.margin-right
18+
- api.CSSPageDescriptors.margin-top
19+
- api.CSSPageDescriptors.marginBottom
20+
- api.CSSPageDescriptors.marginLeft
21+
- api.CSSPageDescriptors.marginRight
22+
- api.CSSPageDescriptors.marginTop
23+
- api.CSSPageDescriptors.page-orientation
24+
- api.CSSPageDescriptors.pageOrientation
25+
- api.CSSPageDescriptors.size
26+
- api.CSSPageRule
27+
- api.CSSPageRule.selectorText
28+
- api.CSSPageRule.style
29+
- api.CSSPageRule.style.type_CSSPageDescriptors
30+
- api.CSSRule
31+
- api.CSSRule.cssText
32+
- api.CSSRule.parentRule
33+
- api.CSSRule.parentStyleSheet
34+
- api.CSSRuleList
35+
- api.CSSRuleList.item
36+
- api.CSSRuleList.length
37+
- api.CSSStyleDeclaration
38+
- api.CSSStyleDeclaration.cssFloat
39+
- api.CSSStyleDeclaration.cssText
40+
- api.CSSStyleDeclaration.getPropertyPriority
41+
- api.CSSStyleDeclaration.getPropertyValue
42+
- api.CSSStyleDeclaration.item
43+
- api.CSSStyleDeclaration.length
44+
- api.CSSStyleDeclaration.parentRule
45+
- api.CSSStyleDeclaration.removeProperty
46+
- api.CSSStyleDeclaration.setProperty
47+
- api.CSSStyleDeclaration.@@iterator
48+
- api.CSSStyleRule
49+
- api.CSSStyleRule.selectorText
50+
- api.CSSStyleRule.style
51+
- api.CSSStyleSheet
52+
- api.CSSStyleSheet.cssRules
53+
- api.CSSStyleSheet.deleteRule
54+
- api.CSSStyleSheet.insertRule
55+
- api.CSSStyleSheet.insertRule.index_parameter_optional
56+
- api.CSSStyleSheet.ownerRule
57+
- api.Document.styleSheets
58+
- api.HTMLElement.style
59+
- api.HTMLLinkElement.sheet
60+
- api.HTMLStyleElement.sheet
61+
- api.MediaList
62+
- api.MediaList.appendMedium
63+
- api.MediaList.deleteMedium
64+
- api.MediaList.item
65+
- api.MediaList.length
66+
- api.MediaList.mediaText
67+
- api.MediaList.toString
68+
- api.ProcessingInstruction.sheet
69+
- api.ShadowRoot.styleSheets
70+
- api.StyleSheet
71+
- api.StyleSheet.disabled
72+
- api.StyleSheet.href
73+
- api.StyleSheet.media
74+
- api.StyleSheet.ownerNode
75+
- api.StyleSheet.parentStyleSheet
76+
- api.StyleSheet.title
77+
- api.StyleSheet.type
78+
- api.StyleSheetList
79+
- api.StyleSheetList.item
80+
- api.StyleSheetList.length
81+
- api.CSSMarginRule
82+
- api.CSSMarginRule.name
83+
- api.CSSMarginRule.style

features/css-object-model.yml.dist

Lines changed: 251 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,251 @@
1+
# Generated from: css-object-model.yml
2+
# Do not edit this file by hand. Edit the source file instead!
3+
4+
status:
5+
baseline: high
6+
baseline_low_date: 2015-09-30
7+
baseline_high_date: 2018-03-30
8+
support:
9+
chrome: "28"
10+
chrome_android: "28"
11+
edge: "12"
12+
firefox: "22"
13+
firefox_android: "22"
14+
safari: "9"
15+
safari_ios: "9"
16+
compat_features:
17+
# baseline: high
18+
# baseline_low_date: 2015-07-29
19+
# baseline_high_date: 2018-01-29
20+
# support:
21+
# chrome: "1"
22+
# chrome_android: "18"
23+
# edge: "12"
24+
# firefox: "1"
25+
# firefox_android: "4"
26+
# safari: "1"
27+
# safari_ios: "1"
28+
- api.CSSRule
29+
- api.CSSRule.cssText
30+
- api.CSSRule.parentRule
31+
- api.CSSRule.parentStyleSheet
32+
- api.CSSRuleList
33+
- api.CSSRuleList.item
34+
- api.CSSRuleList.length
35+
- api.CSSStyleDeclaration
36+
- api.CSSStyleDeclaration.cssText
37+
- api.CSSStyleDeclaration.getPropertyPriority
38+
- api.CSSStyleDeclaration.getPropertyValue
39+
- api.CSSStyleDeclaration.parentRule
40+
- api.CSSStyleDeclaration.removeProperty
41+
- api.CSSStyleRule
42+
- api.CSSStyleRule.selectorText
43+
- api.CSSStyleRule.style
44+
- api.CSSStyleSheet
45+
- api.CSSStyleSheet.cssRules
46+
- api.CSSStyleSheet.deleteRule
47+
- api.CSSStyleSheet.insertRule
48+
- api.CSSStyleSheet.ownerRule
49+
- api.HTMLLinkElement.sheet
50+
- api.HTMLStyleElement.sheet
51+
- api.MediaList
52+
- api.MediaList.appendMedium
53+
- api.MediaList.deleteMedium
54+
- api.MediaList.item
55+
- api.MediaList.length
56+
- api.MediaList.mediaText
57+
- api.MediaList.toString
58+
- api.StyleSheet
59+
- api.StyleSheet.disabled
60+
- api.StyleSheet.href
61+
- api.StyleSheet.media
62+
- api.StyleSheet.ownerNode
63+
- api.StyleSheet.parentStyleSheet
64+
- api.StyleSheet.title
65+
- api.StyleSheet.type
66+
- api.StyleSheetList
67+
- api.StyleSheetList.item
68+
- api.StyleSheetList.length
69+
70+
# baseline: high
71+
# baseline_low_date: 2015-07-29
72+
# baseline_high_date: 2018-01-29
73+
# support:
74+
# chrome: "1"
75+
# chrome_android: "18"
76+
# edge: "12"
77+
# firefox: "1"
78+
# firefox_android: "4"
79+
# safari: "3"
80+
# safari_ios: "1"
81+
- api.HTMLElement.style
82+
83+
# baseline: high
84+
# baseline_low_date: 2015-07-29
85+
# baseline_high_date: 2018-01-29
86+
# support:
87+
# chrome: "1"
88+
# chrome_android: "18"
89+
# edge: "12"
90+
# firefox: "1"
91+
# firefox_android: "4"
92+
# safari: "4"
93+
# safari_ios: "3.2"
94+
- api.Document.styleSheets
95+
96+
# baseline: high
97+
# baseline_low_date: 2015-07-29
98+
# baseline_high_date: 2018-01-29
99+
# support:
100+
# chrome: "1"
101+
# chrome_android: "18"
102+
# edge: "12"
103+
# firefox: "1"
104+
# firefox_android: "4"
105+
# safari: "6"
106+
# safari_ios: "6"
107+
- api.CSSStyleDeclaration.item
108+
- api.CSSStyleDeclaration.length
109+
- api.CSSStyleDeclaration.setProperty
110+
111+
# baseline: high
112+
# baseline_low_date: 2015-07-29
113+
# baseline_high_date: 2018-01-29
114+
# support:
115+
# chrome: "1"
116+
# chrome_android: "18"
117+
# edge: "12"
118+
# firefox: "19"
119+
# firefox_android: "19"
120+
# safari: "3"
121+
# safari_ios: "1"
122+
- api.CSSPageRule
123+
- api.CSSPageRule.style
124+
125+
# ⬇️ Same status as overall feature ⬇️
126+
# baseline: high
127+
# baseline_low_date: 2015-09-30
128+
# baseline_high_date: 2018-03-30
129+
# support:
130+
# chrome: "28"
131+
# chrome_android: "28"
132+
# edge: "12"
133+
# firefox: "22"
134+
# firefox_android: "22"
135+
# safari: "9"
136+
# safari_ios: "9"
137+
- api.CSS
138+
139+
# baseline: high
140+
# baseline_low_date: 2017-08-08
141+
# baseline_high_date: 2020-02-08
142+
# support:
143+
# chrome: "1"
144+
# chrome_android: "18"
145+
# edge: "12"
146+
# firefox: "55"
147+
# firefox_android: "55"
148+
# safari: "1"
149+
# safari_ios: "1"
150+
- api.CSSStyleSheet.insertRule.index_parameter_optional
151+
152+
# baseline: high
153+
# baseline_low_date: 2018-10-02
154+
# baseline_high_date: 2021-04-02
155+
# support:
156+
# chrome: "51"
157+
# chrome_android: "51"
158+
# edge: "18"
159+
# firefox: "36"
160+
# firefox_android: "36"
161+
# safari: "11"
162+
# safari_ios: "11"
163+
- api.CSSStyleDeclaration.@@iterator
164+
165+
# baseline: high
166+
# baseline_low_date: 2020-01-15
167+
# baseline_high_date: 2022-07-15
168+
# support:
169+
# chrome: "1"
170+
# chrome_android: "18"
171+
# edge: "79"
172+
# firefox: "1"
173+
# firefox_android: "4"
174+
# safari: "1"
175+
# safari_ios: "1"
176+
- api.ProcessingInstruction.sheet
177+
178+
# baseline: high
179+
# baseline_low_date: 2020-01-15
180+
# baseline_high_date: 2022-07-15
181+
# support:
182+
# chrome: "53"
183+
# chrome_android: "53"
184+
# edge: "79"
185+
# firefox: "63"
186+
# firefox_android: "63"
187+
# safari: "12.1"
188+
# safari_ios: "12.2"
189+
- api.ShadowRoot.styleSheets
190+
191+
# baseline: high
192+
# baseline_low_date: 2021-04-26
193+
# baseline_high_date: 2023-10-26
194+
# support:
195+
# chrome: "45"
196+
# chrome_android: "45"
197+
# edge: "12"
198+
# firefox: "20"
199+
# firefox_android: "20"
200+
# safari: "14.1"
201+
# safari_ios: "14.5"
202+
- api.CSSGroupingRule
203+
- api.CSSGroupingRule.cssRules
204+
- api.CSSGroupingRule.deleteRule
205+
- api.CSSGroupingRule.insertRule
206+
207+
# baseline: low
208+
# baseline_low_date: 2023-02-14
209+
# support:
210+
# chrome: "1"
211+
# chrome_android: "18"
212+
# edge: "12"
213+
# firefox: "110"
214+
# firefox_android: "110"
215+
# safari: "3"
216+
# safari_ios: "1"
217+
- api.CSSPageRule.selectorText
218+
219+
# baseline: false
220+
# support:
221+
# chrome: "1"
222+
# chrome_android: "18"
223+
# edge: "12"
224+
# safari: "1"
225+
# safari_ios: "1"
226+
- api.CSSStyleDeclaration.cssFloat
227+
228+
# baseline: false
229+
# support:
230+
# firefox: "129"
231+
# firefox_android: "129"
232+
- api.CSSPageDescriptors
233+
- api.CSSPageDescriptors.margin
234+
- api.CSSPageDescriptors.margin-bottom
235+
- api.CSSPageDescriptors.margin-left
236+
- api.CSSPageDescriptors.margin-right
237+
- api.CSSPageDescriptors.margin-top
238+
- api.CSSPageDescriptors.marginBottom
239+
- api.CSSPageDescriptors.marginLeft
240+
- api.CSSPageDescriptors.marginRight
241+
- api.CSSPageDescriptors.marginTop
242+
- api.CSSPageDescriptors.page-orientation
243+
- api.CSSPageDescriptors.pageOrientation
244+
- api.CSSPageDescriptors.size
245+
- api.CSSPageRule.style.type_CSSPageDescriptors
246+
247+
# baseline: false
248+
# support: {}
249+
- api.CSSMarginRule
250+
- api.CSSMarginRule.name
251+
- api.CSSMarginRule.style

features/get-computed-style.yml

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
name: getComputedStyle()
2+
description: The `getComputedStyle()` global method returns an `CSSStyleDeclaration` object that represents all CSS declarations applied to a given element.
3+
spec: https://drafts.csswg.org/cssom-1/#extensions-to-the-window-interface
4+
caniuse: getcomputedstyle
5+
group: cssom
6+
compat_features:
7+
- api.Window.getComputedStyle
8+
- api.Window.getComputedStyle.pseudo_element_support

0 commit comments

Comments
 (0)