Skip to content

Commit b1644b5

Browse files
committed
Introduce compute_from to pin a feature's status to BCD key(s)
1 parent 6c56435 commit b1644b5

13 files changed

+215
-203
lines changed

features/map.yml

Lines changed: 2 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -18,33 +18,5 @@ spec:
1818
snapshot: ecmascript-2015
1919
group: maps
2020
status:
21-
baseline: high
22-
baseline_low_date: 2015-07-29
23-
# Editorial override has been applied to ignore Map.@@species
24-
# https://github.com/web-platform-dx/web-features/pull/712#discussion_r1532483885
25-
support:
26-
chrome: "38"
27-
chrome_android: "38"
28-
edge: "12"
29-
firefox: "13"
30-
firefox_android: "14"
31-
safari: "8"
32-
safari_ios: "8"
33-
compat_features:
34-
- javascript.builtins.Map
35-
- javascript.builtins.Map.Map
36-
- javascript.builtins.Map.Map.iterable_allowed
37-
- javascript.builtins.Map.Map.null_allowed
38-
- javascript.builtins.Map.clear
39-
- javascript.builtins.Map.delete
40-
- javascript.builtins.Map.entries
41-
- javascript.builtins.Map.forEach
42-
- javascript.builtins.Map.get
43-
- javascript.builtins.Map.has
44-
- javascript.builtins.Map.key_equality_for_zeros
45-
- javascript.builtins.Map.keys
46-
- javascript.builtins.Map.set
47-
- javascript.builtins.Map.size
48-
- javascript.builtins.Map.values
49-
- javascript.builtins.Map.@@iterator
50-
- javascript.builtins.Map.@@species
21+
compute_from:
22+
- javascript.builtins.Map.Map

features/map.yml.dist

Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
# Generated from: map.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-07-29
7+
baseline_high_date: 2018-01-29
8+
support:
9+
chrome: "38"
10+
chrome_android: "38"
11+
edge: "12"
12+
firefox: "13"
13+
firefox_android: "14"
14+
safari: "8"
15+
safari_ios: "8"
16+
compat_features:
17+
- javascript.builtins.Map
18+
- javascript.builtins.Map.@@iterator
19+
- javascript.builtins.Map.@@species
20+
- javascript.builtins.Map.Map
21+
- javascript.builtins.Map.Map.iterable_allowed
22+
- javascript.builtins.Map.Map.null_allowed
23+
- javascript.builtins.Map.clear
24+
- javascript.builtins.Map.delete
25+
- javascript.builtins.Map.entries
26+
- javascript.builtins.Map.forEach
27+
- javascript.builtins.Map.get
28+
- javascript.builtins.Map.has
29+
- javascript.builtins.Map.key_equality_for_zeros
30+
- javascript.builtins.Map.keys
31+
- javascript.builtins.Map.set
32+
- javascript.builtins.Map.size
33+
- javascript.builtins.Map.values

features/media-capture.yml

Lines changed: 2 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -2,20 +2,9 @@ name: Media capture
22
description: The `navigator.mediaDevices.getUserMedia()` API requests access to devices that produce audio or video streams, such as microphones or video cameras.
33
spec: https://w3c.github.io/mediacapture-main/
44
caniuse: stream
5-
# Firefox support for `enumerateDevices()` also needs an override since lack of
6-
# output device (a separate feature) is treated as partial implementation in
7-
# BCD.
85
status:
9-
baseline: high
10-
baseline_low_date: 2017-09-19
11-
support:
12-
chrome: "53"
13-
chrome_android: "53"
14-
edge: "12"
15-
firefox: "39"
16-
firefox_android: "39"
17-
safari: "11"
18-
safari_ios: "11"
6+
compute_from:
7+
- api.MediaDevices.getUserMedia
198
# This is a reasonable but incomplete subset of basic media capture, but
209
# there is a lot more that has been added over time, and possibly additional
2110
# pieces that should be considered part of the initial feature.

features/media-capture.yml.dist

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
# Generated from: media-capture.yml
2+
# Do not edit this file by hand. Edit the source file instead!
3+
4+
status:
5+
baseline: high
6+
baseline_low_date: 2017-09-19
7+
baseline_high_date: 2020-03-19
8+
support:
9+
chrome: "53"
10+
chrome_android: "53"
11+
edge: "12"
12+
firefox: "36"
13+
firefox_android: "36"
14+
safari: "11"
15+
safari_ios: "11"

features/set.yml

Lines changed: 2 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -4,31 +4,5 @@ spec: https://tc39.es/ecma262/multipage/keyed-collections.html#sec-set-objects
44
snapshot: ecmascript-2015
55
group: sets
66
status:
7-
# Editorial override has been applied to ignore Set.@@species
8-
baseline: high
9-
baseline_low_date: 2015-07-29
10-
support:
11-
chrome: "38"
12-
chrome_android: "38"
13-
edge: "12"
14-
firefox: "13"
15-
firefox_android: "13"
16-
safari: "8"
17-
safari_ios: "8"
18-
compat_features:
19-
- javascript.builtins.Set
20-
- javascript.builtins.Set.Set
21-
- javascript.builtins.Set.Set.iterable_allowed
22-
- javascript.builtins.Set.Set.null_allowed
23-
- javascript.builtins.Set.add
24-
- javascript.builtins.Set.clear
25-
- javascript.builtins.Set.delete
26-
- javascript.builtins.Set.entries
27-
- javascript.builtins.Set.forEach
28-
- javascript.builtins.Set.has
29-
- javascript.builtins.Set.key_equality_for_zeros
30-
- javascript.builtins.Set.keys
31-
- javascript.builtins.Set.size
32-
- javascript.builtins.Set.values
33-
- javascript.builtins.Set.@@iterator
34-
- javascript.builtins.Set.@@species
7+
compute_from:
8+
- javascript.builtins.Set.Set

features/set.yml.dist

Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
# Generated from: set.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-07-29
7+
baseline_high_date: 2018-01-29
8+
support:
9+
chrome: "38"
10+
chrome_android: "38"
11+
edge: "12"
12+
firefox: "13"
13+
firefox_android: "14"
14+
safari: "8"
15+
safari_ios: "8"
16+
compat_features:
17+
- javascript.builtins.Set
18+
- javascript.builtins.Set.@@iterator
19+
- javascript.builtins.Set.@@species
20+
- javascript.builtins.Set.Set
21+
- javascript.builtins.Set.Set.iterable_allowed
22+
- javascript.builtins.Set.Set.null_allowed
23+
- javascript.builtins.Set.add
24+
- javascript.builtins.Set.clear
25+
- javascript.builtins.Set.delete
26+
- javascript.builtins.Set.entries
27+
- javascript.builtins.Set.forEach
28+
- javascript.builtins.Set.has
29+
- javascript.builtins.Set.key_equality_for_zeros
30+
- javascript.builtins.Set.keys
31+
- javascript.builtins.Set.size
32+
- javascript.builtins.Set.values

features/trusted-types.yml

Lines changed: 3 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -3,33 +3,6 @@ description: Trusted types allow you to lock down insecure parts of the DOM API
33
spec: https://w3c.github.io/trusted-types/dist/spec/
44
caniuse: trusted-types
55
usage_stats: https://chromestatus.com/metrics/feature/timeline/popularity/2722
6-
# toJSON() is excluded because they are not needed to use trusted types in the
7-
# idiomatic way. toJSON() shipped in Chrome 90, and the rest in Chrome 83.
8-
compat_features:
9-
- api.TrustedHTML
10-
# - api.TrustedHTML.toJSON
11-
- api.TrustedHTML.toString
12-
- api.TrustedScript
13-
# - api.TrustedScript.toJSON
14-
- api.TrustedScript.toString
15-
- api.TrustedScriptURL
16-
# - api.TrustedScriptURL.toJSON
17-
- api.TrustedScriptURL.toString
18-
- api.TrustedTypePolicy
19-
- api.TrustedTypePolicy.createHTML
20-
- api.TrustedTypePolicy.createScript
21-
- api.TrustedTypePolicy.createScriptURL
22-
- api.TrustedTypePolicy.name
23-
- api.TrustedTypePolicyFactory
24-
- api.TrustedTypePolicyFactory.createPolicy
25-
- api.TrustedTypePolicyFactory.defaultPolicy
26-
- api.TrustedTypePolicyFactory.emptyHTML
27-
- api.TrustedTypePolicyFactory.emptyScript
28-
- api.TrustedTypePolicyFactory.getAttributeType
29-
- api.TrustedTypePolicyFactory.getPropertyType
30-
- api.TrustedTypePolicyFactory.isHTML
31-
- api.TrustedTypePolicyFactory.isScript
32-
- api.TrustedTypePolicyFactory.isScriptURL
33-
- api.trustedTypes
34-
- http.headers.Content-Security-Policy.require-trusted-types-for
35-
- http.headers.Content-Security-Policy.trusted-types
6+
status:
7+
compute_from:
8+
- api.trustedTypes

features/trusted-types.yml.dist

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,3 +7,31 @@ status:
77
chrome: "83"
88
chrome_android: "83"
99
edge: "83"
10+
compat_features:
11+
- api.TrustedHTML
12+
- api.TrustedHTML.toJSON
13+
- api.TrustedHTML.toString
14+
- api.TrustedScript
15+
- api.TrustedScript.toJSON
16+
- api.TrustedScript.toString
17+
- api.TrustedScriptURL
18+
- api.TrustedScriptURL.toJSON
19+
- api.TrustedScriptURL.toString
20+
- api.TrustedTypePolicy
21+
- api.TrustedTypePolicy.createHTML
22+
- api.TrustedTypePolicy.createScript
23+
- api.TrustedTypePolicy.createScriptURL
24+
- api.TrustedTypePolicy.name
25+
- api.TrustedTypePolicyFactory
26+
- api.TrustedTypePolicyFactory.createPolicy
27+
- api.TrustedTypePolicyFactory.defaultPolicy
28+
- api.TrustedTypePolicyFactory.emptyHTML
29+
- api.TrustedTypePolicyFactory.emptyScript
30+
- api.TrustedTypePolicyFactory.getAttributeType
31+
- api.TrustedTypePolicyFactory.getPropertyType
32+
- api.TrustedTypePolicyFactory.isHTML
33+
- api.TrustedTypePolicyFactory.isScript
34+
- api.TrustedTypePolicyFactory.isScriptURL
35+
- api.trustedTypes
36+
- http.headers.Content-Security-Policy.require-trusted-types-for
37+
- http.headers.Content-Security-Policy.trusted-types

features/web-animations.yml

Lines changed: 2 additions & 66 deletions
Original file line numberDiff line numberDiff line change
@@ -3,69 +3,5 @@ description: The web animations API allows you to animate and synchronize the an
33
spec: https://drafts.csswg.org/web-animations-1/
44
caniuse: web-animation
55
status:
6-
baseline: low
7-
baseline_low_date: 2022-09-12
8-
support:
9-
chrome: "84"
10-
chrome_android: "84"
11-
edge: "84"
12-
firefox: "80"
13-
firefox_android: "80"
14-
safari: "16"
15-
safari_ios: "16"
16-
compat_features:
17-
# Animation interface.
18-
- api.Animation
19-
- api.Animation.Animation
20-
- api.Animation.cancel_event
21-
- api.Animation.cancel
22-
- api.Animation.commitStyles
23-
- api.Animation.currentTime
24-
- api.Animation.effect
25-
- api.Animation.finish
26-
- api.Animation.finished
27-
- api.Animation.finish_event
28-
- api.Animation.id
29-
- api.Animation.pause
30-
- api.Animation.pending
31-
- api.Animation.persist
32-
- api.Animation.play
33-
- api.Animation.playbackRate
34-
- api.Animation.playState
35-
- api.Animation.ready
36-
- api.Animation.remove_event
37-
- api.Animation.replaceState
38-
- api.Animation.reverse
39-
- api.Animation.startTime
40-
- api.Animation.timeline
41-
- api.Animation.updatePlaybackRate
42-
# AnimationTimeline interface
43-
- api.AnimationTimeline
44-
- api.AnimationTimeline.currentTime
45-
# AnimationEffect interface
46-
- api.AnimationEffect
47-
- api.AnimationEffect.getComputedTiming
48-
- api.AnimationEffect.getTiming
49-
- api.AnimationEffect.updateTiming
50-
# AnimationPlaybackEvent interface
51-
- api.AnimationPlaybackEvent
52-
- api.AnimationPlaybackEvent.AnimationPlaybackEvent
53-
- api.AnimationPlaybackEvent.currentTime
54-
- api.AnimationPlaybackEvent.timelineTime
55-
# KeyframeEffect interface
56-
- api.KeyframeEffect
57-
- api.KeyframeEffect.KeyframeEffect
58-
- api.KeyframeEffect.composite
59-
- api.KeyframeEffect.getKeyframes
60-
# TODO: iterationComposite is a later addition and needs a better home than this feature
61-
# - api.KeyframeEffect.iterationComposite
62-
- api.KeyframeEffect.pseudoElement
63-
- api.KeyframeEffect.setKeyframes
64-
- api.KeyframeEffect.target
65-
# DocumentTimeline interface
66-
- api.DocumentTimeline
67-
- api.DocumentTimeline.DocumentTimeline
68-
# Various accessors
69-
- api.Document.getAnimations
70-
- api.Document.timeline
71-
- api.Element.animate
6+
compute_from:
7+
- api.Element.animate

features/web-animations.yml.dist

Lines changed: 63 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,63 @@
1+
# Generated from: web-animations.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-03-24
7+
baseline_high_date: 2022-09-24
8+
support:
9+
chrome: "36"
10+
chrome_android: "36"
11+
edge: "79"
12+
firefox: "48"
13+
firefox_android: "48"
14+
safari: "13.1"
15+
safari_ios: "13.4"
16+
compat_features:
17+
- api.Animation
18+
- api.Animation.Animation
19+
- api.Animation.cancel
20+
- api.Animation.cancel_event
21+
- api.Animation.commitStyles
22+
- api.Animation.currentTime
23+
- api.Animation.effect
24+
- api.Animation.finish
25+
- api.Animation.finish_event
26+
- api.Animation.finished
27+
- api.Animation.id
28+
- api.Animation.pause
29+
- api.Animation.pending
30+
- api.Animation.persist
31+
- api.Animation.play
32+
- api.Animation.playState
33+
- api.Animation.playbackRate
34+
- api.Animation.ready
35+
- api.Animation.remove_event
36+
- api.Animation.replaceState
37+
- api.Animation.reverse
38+
- api.Animation.startTime
39+
- api.Animation.timeline
40+
- api.Animation.updatePlaybackRate
41+
- api.AnimationEffect
42+
- api.AnimationEffect.getComputedTiming
43+
- api.AnimationEffect.getTiming
44+
- api.AnimationEffect.updateTiming
45+
- api.AnimationPlaybackEvent
46+
- api.AnimationPlaybackEvent.AnimationPlaybackEvent
47+
- api.AnimationPlaybackEvent.currentTime
48+
- api.AnimationPlaybackEvent.timelineTime
49+
- api.AnimationTimeline
50+
- api.AnimationTimeline.currentTime
51+
- api.Document.getAnimations
52+
- api.Document.timeline
53+
- api.DocumentTimeline
54+
- api.DocumentTimeline.DocumentTimeline
55+
- api.Element.animate
56+
- api.KeyframeEffect
57+
- api.KeyframeEffect.KeyframeEffect
58+
- api.KeyframeEffect.composite
59+
- api.KeyframeEffect.getKeyframes
60+
- api.KeyframeEffect.iterationComposite
61+
- api.KeyframeEffect.pseudoElement
62+
- api.KeyframeEffect.setKeyframes
63+
- api.KeyframeEffect.target

0 commit comments

Comments
 (0)