Update WebCore Features.json
[WebKit-https.git] / Source / WebCore / features.json
1 {
2     "specification": [
3     {
4         "name": "CSS Grid Layout Level 1",
5         "status": {
6             "status": "In Development",
7             "enabled-by-default": true
8         },
9         "url": "http://dev.w3.org/csswg/css-grid/",
10         "webkit-url": "https://bugs.webkit.org/show_bug.cgi?id=60731",
11         "keywords": ["css grid layout", "css grid", "grid"],
12         "category": "css",
13         "contact": {
14             "name": "Sergio Villar Senin",
15             "email": "svillar@igalia.com"
16         }
17     },
18     {
19         "name": "CSS Inline Layout Module Level 3",
20         "status": {
21             "status": "In Development",
22             "enabled-by-default": true
23         },
24         "url": "http://dev.w3.org/csswg/css-inline/",
25         "keywords": ["css inline layout", "css inline", "inline"],
26         "category": "css"
27     },
28     {
29         "name": "CSS Media Queries Level 4",
30         "url": "http://dev.w3.org/csswg/mediaqueries-4/",
31         "keywords": ["css media queries", "media queries"],
32         "category": "css"
33     },
34     {
35         "name": "CSS Positioned Layout Module Level 3",
36         "url": "http://dev.w3.org/csswg/css-position/",
37         "keywords": ["css positioning"],
38         "category": "css"
39     },
40     {
41         "name": "CSS Scroll Snap Points Module Level 1",
42         "status": {
43             "status": "In Development",
44             "enabled-by-default": true
45         },
46         "url": "http://dev.w3.org/csswg/css-snappoints/",
47         "webkit-url": "https://bugs.webkit.org/show_bug.cgi?id=134283",
48         "keywords": ["css scroll snap points", "scroll snap", "snap points"],
49         "category": "css",
50         "contact": {
51             "name": "Brent Fulgham",
52             "email": "bfulgham@apple.com"
53         }
54     },
55     {
56         "name": "CSS Selectors Level 4",
57         "url": "http://dev.w3.org/csswg/selectors-4/",
58         "keywords": ["css selectors", "selectors"],
59         "category": "css",
60         "contact": {
61             "name": "Benjamin Poulain",
62             "twitter": "@awfulben",
63             "email": "benjamin@webkit.org"
64         }
65     },
66     {
67         "name": "CSS Shapes Level 1",
68         "url": "http://www.w3.org/TR/css-shapes-1/",
69         "keywords": ["css shapes", "shapes"],
70         "category": "css"
71     },
72     {
73         "name": "DOM",
74         "url": "https://dom.spec.whatwg.org",
75         "keywords": ["dom", "dom4"],
76         "category": "html"
77     },
78     {
79         "name": "Filter Effects Module Level 2",
80         "url": "http://dev.w3.org/fxtf/filters-2/",
81         "keywords": ["css filters", "filter effects", "filters"],
82         "category": "css"
83     },
84     {
85         "name": "HTML5",
86         "url": "https://html.spec.whatwg.org",
87         "keywords": ["html", "html5", "html5.1"],
88         "category": "html"
89     },
90     {
91         "name": "Streams",
92         "url": "https://streams.spec.whatwg.org",
93         "keywords": ["streams api"],
94         "category": "webapps"
95     },
96     {
97         "name": "WebGL",
98         "status": {
99             "status": "In Development",
100             "enabled-by-default": true
101         },
102         "url": "https://www.khronos.org/registry/webgl/specs/1.0/",
103         "keywords": ["webgl"],
104         "category": "html"
105     }
106     ],
107
108     "features": [
109     {
110         "name": "CSS Selector :any-link",
111         "status": {
112             "status": "Done",
113             "enabled-by-default": true
114         },
115         "url": "http://dev.w3.org/csswg/selectors-4/#the-any-link-pseudo",
116         "specification": "CSS Selectors Level 4",
117         "description": "The pseudo class :any-link matches any element that would match :link or :visisted.",
118         "comment": "A prefix version :-webkit-any-link has been available for a while but it was not 100% compliant to the specification.",
119         "contact": {
120             "name": "Benjamin Poulain",
121             "twitter": "@awfulben",
122             "email": "benjamin@webkit.org"
123         }
124     },
125     {
126         "name": "CSS Selector :lang() level 4",
127         "status": {
128             "status": "Done",
129             "enabled-by-default": true
130         },
131         "url": "http://dev.w3.org/csswg/selectors-4/#the-lang-pseudo",
132         "specification": "CSS Selectors Level 4",
133         "description": "The selector :lang() is extended in level 4 to support a list of language range, each range can contain a wildcard. For example: p:lang(\"*-be\", \"en\")."
134     },
135     {
136         "name": "CSS Selector :matches()",
137         "status": {
138             "status": "Done",
139             "enabled-by-default": true
140         },
141         "url": "http://dev.w3.org/csswg/selectors-4/#matches",
142         "specification": "CSS Selectors Level 4",
143         "description": "The selector :matches() takes a selector list as argument and matches an element if any of them matches (e.g. :matches(article > section, #target)). When used for styling, the specificity of :matches() is the higest specificity of all selectors in the selector list.",
144         "comment": "The pseudo classes <em>:visited</em> and <em>:link</em> are not supported inside :matches().",
145         "contact": {
146             "name": "Benjamin Poulain",
147             "twitter": "@awfulben",
148             "email": "benjamin@webkit.org"
149         }
150     },
151     {
152         "name": "CSS Selector :not() level 4",
153         "status": {
154             "status": "Done",
155             "enabled-by-default": true
156         },
157         "url": "http://dev.w3.org/csswg/selectors-4/#negation",
158         "specification": "CSS Selectors Level 4",
159         "description": "The selector :not() in level 4 supports full selector lists as argument. For example: :not(:any-link >> img, :any-link >> picture).",
160         "comment": "The pseudo classes <em>:visited</em> and <em>:link</em> are not supported inside :not().",
161         "contact": {
162             "name": "Benjamin Poulain",
163             "twitter": "@awfulben",
164             "email": "benjamin@webkit.org"
165         }
166     },
167     {
168         "name": "CSS Selector :nth-child(An+B of selector list) and :nth-last-child(An+B of selector list)",
169         "status": {
170             "status": "Done",
171             "enabled-by-default": true
172         },
173         "url": "http://dev.w3.org/csswg/selectors-4/#the-nth-child-pseudo",
174         "specification": "CSS Selectors Level 4",
175         "description": "The pseudo classes :nth-child() and :nth-last-child() now supports a selector list that filters what to count. For example: \":nth-child(even of .visible)\".",
176         "comment": "The pseudo classes <em>:visited</em> and <em>:link</em> are not supported inside :nth-child() and :nth-last-child().",
177         "contact": {
178             "name": "Benjamin Poulain",
179             "twitter": "@awfulben",
180             "email": "benjamin@webkit.org"
181         }
182     },
183     {
184         "name": "CSS Selector :placeholder-shown",
185         "status": {
186             "status": "Done",
187             "enabled-by-default": true
188         },
189         "url": "http://dev.w3.org/csswg/selectors-4/#placeholder",
190         "specification": "CSS Selectors Level 4",
191         "description": "The selector :placeholder-shown matches any input element that has a visible placeholder.",
192         "comment": "Styling the placeholder can be done through the WebKit pseudo-element \"::-webkit-input-placeholder\".",
193         "contact": {
194             "name": "Benjamin Poulain",
195             "twitter": "@awfulben",
196             "email": "benjamin@webkit.org"
197         }
198     },
199     {
200         "name": "Case-insensitive attribute selectors",
201         "status": {
202             "status": "Done",
203             "enabled-by-default": true
204         },
205         "url": "http://dev.w3.org/csswg/selectors-4/#attribute-case",
206         "specification": "CSS Selectors Level 4",
207         "description": "Any attribute selector that test a value can take a flag \"i\" to use case insensitive checks. For example: input[type=number i] test the value \"number\" case-insensitively.",
208         "contact": {
209             "name": "Benjamin Poulain",
210             "twitter": "@awfulben",
211             "email": "benjamin@webkit.org"
212         }
213     },
214     {
215         "name": "Element.closest()",
216         "status": {
217             "status": "Done",
218             "enabled-by-default": true
219         },
220         "url": "https://dom.spec.whatwg.org/#dom-element-closest",
221         "documentation-url": "https://developer.mozilla.org/en-US/docs/Web/API/Element/closest",
222         "webkit-url": "https://bugs.webkit.org/show_bug.cgi?id=137418",
223         "specification": "DOM",
224         "description": "Find the closest ancestor matching the selector passed as argument. The element itself is returned if it matches the selector.",
225         "contact": {
226             "name": "Benjamin Poulain",
227             "twitter": "@awfulben",
228             "email": "benjamin@webkit.org"
229         }
230     },
231     {
232         "name": "Filter Effects backdrop-filter propery",
233         "status": {
234             "status": "Done",
235             "enabled-by-default": true
236         },
237         "url": "http://dev.w3.org/fxtf/filters-2/#propdef-backdrop-filter",
238         "specification": "Filter Effects Module Level 2",
239         "description": "This property specifies styling for filters applied to the backdrop of an element."
240     },
241     {
242         "name": "Force Click Events",
243         "status": {
244             "status": "Prototyping",
245             "enabled-by-default": true
246         },
247         "webkit-url": "https://bugs.webkit.org/show_bug.cgi?id=142836",
248         "description": "Provide the events necessary to handle force click events in the page, overriding the default behavior."
249     },
250     {
251         "name": "Initial Letter",
252         "status": {
253             "status": "Done",
254             "enabled-by-default": true
255         },
256         "url": "http://dev.w3.org/csswg/css-inline/#propdef-initial-letter",
257         "specification": "CSS Inline Layout Module Level 3",
258         "description": "This property specifies styling for dropped, raised, and sunken initial letters."
259     },
260     {
261         "name": "Interaction Media Features (pointer, hover, any-pointer, any-hover)",
262         "status": {
263             "status": "Done",
264             "enabled-by-default": true
265         },
266         "url": "http://dev.w3.org/csswg/mediaqueries-4/#mf-interaction",
267         "specification": "CSS Media Queries Level 4",
268         "description": "The \"pointer\" media defines how percise the pointing device is. The \"hover\" media defines the ability of the poiting device to hover elements."
269     },
270     {
271         "name": "MicroData",
272         "status": {
273             "status": "Removed"
274         },
275         "url": "https://html.spec.whatwg.org/multipage/microdata.html",
276         "webkit-url": "https://bugs.webkit.org/show_bug.cgi?id=119480",
277         "specification": "HTML5",
278         "comment": "WebKit used to support MicroData. The feature never gained any traction and was eventually removed to clean up the codebase."
279     },
280     {
281         "name": "Navigator.hardwareConcurrency",
282         "status": {
283             "status": "Done",
284             "enabled-by-default": true
285         },
286         "url": "https://wiki.whatwg.org/wiki/Navigator_HW_Concurrency",
287         "webkit-url": "http://trac.webkit.org/changeset/169017",
288         "description": "Navigator.hardwareConcurrency provides the total number of logical processors available to the user agent."
289     },
290     {
291         "name": "Picture element",
292         "status": {
293             "status": "In development",
294             "enabled-by-default": false
295         },
296         "url": "https://html.spec.whatwg.org/multipage/embedded-content.html#the-picture-element",
297         "webkit-url": "https://bugs.webkit.org/show_bug.cgi?id=116963",
298         "specification": "HTML5",
299         "description": "Enable handling the art-direction responsive images use-case by defining multiple image sources in markup",
300         "contact": {
301             "name": "Yoav Weiss",
302             "twitter": "@yoavweiss",
303             "email": "yoav@yoav.ws"
304         }
305     },
306     {
307         "name": "Position: sticky",
308         "status": {
309             "status": "Done",
310             "enabled-by-default": true
311         },
312         "url": "http://dev.w3.org/csswg/css-position/#sticky-pos",
313         "specification": "CSS Positioned Layout Module Level 3",
314         "description": "Sticky positioning provides a way to position element out of the normal flow when scrolling. Unlike solutions based on JavaScript, the change of position is synchronized with scrolling.",
315         "comment": "The feature is prefixed with <em>-webkit-</em>. There are some remaining issues to resolve in the specification."
316     },
317     {
318         "name": "Readable Streams",
319         "status": {
320             "status": "In Development",
321             "enabled-by-default": true
322         },
323         "url": "https://streams.spec.whatwg.org/#rs",
324         "webkit-url": "https://bugs.webkit.org/show_bug.cgi?id=138967",
325         "specification": "Streams",
326         "comment": "The ReadableStream and ReadableStreamReader interfaces are available but not functional."
327     },
328     {
329         "name": "Shape outside for floats",
330         "status": {
331             "status": "In Development",
332             "enabled-by-default": true
333         },
334         "url": "http://www.w3.org/TR/css-shapes-1/",
335         "specification": "CSS Shapes Level 1",
336         "description": "CSS Shapes describe geometric shapes for use in CSS. For Level 1, CSS Shapes can be applied to floats.",
337         "comment": "The implementation is feature complete and shipping, but is -webkit prefixed."
338     },
339     {
340         "name": "Shared Web Workers",
341         "status": {
342             "status": "Removed"
343         },
344         "url": "https://html.spec.whatwg.org/multipage/workers.html#shared-workers-introduction",
345         "webkit-url": "https://bugs.webkit.org/show_bug.cgi?id=140344",
346         "specification": "HTML5",
347         "comment": "The implementation of Shared Web Workers was imposing undesirable constraints on the engine. The feature never gained any adoption and was eventually removed from the engine."
348     },
349     {
350         "name": "Srcset w descriptor and related sizes attribute",
351         "status": {
352             "status": "Done",
353             "enabled-by-default": true
354         },
355         "url": "https://html.spec.whatwg.org/multipage/embedded-content.html#the-img-element",
356         "webkit-url": "https://bugs.webkit.org/show_bug.cgi?id=133620",
357         "specification": "HTML5",
358         "description": "Enable handling the variable width responsive images use-case by defining multiple image resources in markup",
359         "contact": {
360             "name": "Yoav Weiss",
361             "twitter": "@yoavweiss",
362             "email": "yoav@yoav.ws"
363         }
364     },
365     {
366         "name": "Srcset x descriptor",
367         "status": {
368             "status": "Done",
369             "enabled-by-default": true
370         },
371         "url": "https://html.spec.whatwg.org/multipage/embedded-content.html#the-img-element",
372         "webkit-url": "https://bugs.webkit.org/show_bug.cgi?id=110252",
373         "specification": "HTML5",
374         "description": "Enable handling the fixed width responsive images use-case by defining multiple image resources in markup",
375         "contact": {
376             "name": "Yoav Weiss",
377             "twitter": "@yoavweiss",
378             "email": "yoav@yoav.ws"
379         }
380     }
381     ]
382 }