Fixed broken link for "WebGL 2" on the Feature Status page
[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 Painting API Level 1",
36         "status": {
37             "status": "Under Consideration"
38         },
39         "url": "https://drafts.css-houdini.org/css-paint-api/",
40         "keywords": ["css", "houdini"],
41         "category": "css"
42     },
43     {
44         "name": "CSS Positioned Layout Module Level 3",
45         "url": "http://dev.w3.org/csswg/css-position/",
46         "keywords": ["css positioning"],
47         "category": "css"
48     },
49     {
50         "name": "CSS Properties and Values API Level 1",
51         "status": {
52             "status": "Under Consideration"
53         },
54         "url": "https://drafts.css-houdini.org/css-properties-values-api/",
55         "keywords": ["css", "houdini"],
56         "category": "css"
57     },
58     {
59         "name": "CSS Scroll Snap Points Module Level 1",
60         "status": {
61             "status": "In Development",
62             "enabled-by-default": true
63         },
64         "url": "http://dev.w3.org/csswg/css-snappoints/",
65         "webkit-url": "https://bugs.webkit.org/show_bug.cgi?id=134283",
66         "keywords": ["css scroll snap points", "scroll snap", "snap points"],
67         "category": "css",
68         "contact": {
69             "name": "Brent Fulgham",
70             "email": "bfulgham@apple.com"
71         }
72     },
73     {
74         "name": "CSS Selectors Level 4",
75         "url": "http://dev.w3.org/csswg/selectors-4/",
76         "keywords": ["css selectors", "selectors"],
77         "category": "css",
78         "contact": {
79             "name": "Benjamin Poulain",
80             "twitter": "@awfulben",
81             "email": "benjamin@webkit.org"
82         }
83     },
84     {
85         "name": "CSS Shapes Level 1",
86         "url": "http://www.w3.org/TR/css-shapes-1/",
87         "keywords": ["css shapes", "shapes"],
88         "category": "css"
89     },
90     {
91         "name": "CSS Variables",
92         "status": {
93             "status": "Done",
94             "enabled-by-default": true
95         },
96         "url": "https://www.w3.org/TR/css-variables/",
97         "keywords": ["css variable", "css custom property"],
98         "category": "css",
99         "description": "Allows developers to define reusable custom property values.",
100         "contact": {
101             "name": "Jon Davis",
102             "twitter": "@jonathandavis",
103             "email": "web-evangelist@apple.com"
104         }
105     },
106     {
107         "name": "CSS Will Change",
108         "status": {
109             "status": "Done",
110             "enabled-by-default": true
111         },
112         "url": "https://drafts.csswg.org/css-will-change/",
113         "keywords": ["css willchange", "css will-change"],
114         "category": "css",
115         "contact": {
116             "name": "Simon Fraser",
117             "twitter": "@smfr"
118         }
119     },
120     {
121         "name": "DOM",
122         "url": "https://dom.spec.whatwg.org",
123         "keywords": ["dom", "dom4"],
124         "category": "html"
125     },
126     {
127         "name": "Fetch API",
128         "status": {
129             "status": "In Development"
130         },
131         "url": "https://fetch.spec.whatwg.org",
132         "webkit-url": "https://bugs.webkit.org/show_bug.cgi?id=151937",
133         "keywords": ["fetch", "http", "cors", "request", "response", "header"],
134         "category": "webapps",
135         "description": "An underlying unified architecture for making resource requests.",
136         "contact": {
137             "name": "Jon Davis",
138             "twitter": "@jonathandavis",
139             "email": "web-evangelist@apple.com"
140         }
141     },
142     {
143         "name": "Filter Effects Module Level 2",
144         "url": "http://dev.w3.org/fxtf/filters-2/",
145         "keywords": ["css filters", "filter effects", "filters"],
146         "category": "css"
147     },
148     {
149         "name": "HTML5",
150         "url": "https://html.spec.whatwg.org",
151         "keywords": ["html", "html5", "html5.1"],
152         "category": "html"
153     },
154     {
155         "name": "IndexedDB",
156         "status": {
157             "status": "Partial Support"
158         },
159         "url": "http://www.w3.org/TR/IndexedDB/",
160         "keywords": ["indexeddb", "index db"],
161         "description": "A standard interface to a browser database of records for simple values and objects.",
162         "contact": {
163             "name": "Jon Davis",
164             "twitter": "@jonathandavis",
165             "email": "web-evangelist@apple.com"
166         }
167     },
168     {
169         "name": "Service Workers",
170         "status": {
171             "status": "Under Consideration"
172         },
173         "url": "http://www.w3.org/TR/2015/WD-service-workers-20150625/",
174         "keywords": ["service workers"],
175         "category": "webapps",
176         "description": "A method for browsers to run JavaScript in the background to handle network requests and manage cached responses. Service Workers offers a replacement for Application Cache.",
177         "contact": {
178             "name": "Jon Davis",
179             "twitter": "@jonathandavis",
180             "email": "web-evangelist@apple.com"
181         }
182     },
183     {
184         "name": "Streams",
185         "url": "https://streams.spec.whatwg.org",
186         "keywords": ["streams api"],
187         "category": "webapps"
188     },
189     {
190         "name": "Web Components",
191         "url": "http://www.w3.org/wiki/WebComponents/",
192         "keywords": ["web components", "shadow dom", "html imports", "custom elements", "template element"],
193         "category": "webapps",
194         "description": "A collection of technologies to improve modularization of DOM subtrees.",
195         "contact": {
196             "name": "Ryosuke Niwa",
197             "twitter": "@RyosukeNiwa",
198             "email": "rniwa@webkit.org"
199         }
200     },
201     {
202         "name": "WebCrypto",
203         "status": {
204             "status": "Partial Support",
205             "enabled-by-default": true
206         },
207         "url": "http://www.w3.org/TR/WebCryptoAPI/",
208         "webkit-url": "https://bugs.webkit.org/show_bug.cgi?id=122679",
209         "keywords": ["webcrypto"],
210         "category": "webapps",
211         "description": "A JavaScript API for web applications to perform cryptographic operations.",
212         "contact": {
213             "name": "Jon Davis",
214             "twitter": "@jonathandavis",
215             "email": "web-evangelist@apple.com"
216         }
217     },
218     {
219         "name": "WebGL 1",
220         "status": {
221             "status": "Done",
222             "enabled-by-default": true
223         },
224         "url": "https://www.khronos.org/registry/webgl/specs/1.0/",
225         "keywords": ["webgl"],
226         "category": "html"
227     },
228     {
229         "name": "WebGL 2",
230         "status": {
231             "status": "In Development",
232             "enabled-by-default": true
233         },
234         "url": "https://www.khronos.org/registry/webgl/specs/latest/2.0/",
235         "keywords": ["webgl"],
236         "category": "html"
237     },
238     {
239         "name": "WebRTC",
240         "status": {
241             "status": "In Development"
242         },
243         "url": "http://www.w3.org/TR/webrtc/",
244         "webkit-url": "https://bugs.webkit.org/show_bug.cgi?id=124288",
245         "keywords": ["webrtc"],
246         "category": "webapps",
247         "description": "An API to facilitate real-time communication for browser-to-browser applications.",
248         "contact": {
249             "name": "Jon Davis",
250             "twitter": "@jonathandavis",
251             "email": "web-evangelist@apple.com"
252         }
253     }
254     ],
255
256     "features": [
257     {
258         "name": "CSS Selector :any-link",
259         "status": {
260             "status": "Done",
261             "enabled-by-default": true
262         },
263         "url": "http://dev.w3.org/csswg/selectors-4/#the-any-link-pseudo",
264         "specification": "CSS Selectors Level 4",
265         "description": "The pseudo class :any-link matches any element that would match :link or :visisted.",
266         "comment": "A prefix version :-webkit-any-link has been available for a while but it was not 100% compliant to the specification.",
267         "contact": {
268             "name": "Benjamin Poulain",
269             "twitter": "@awfulben",
270             "email": "benjamin@webkit.org"
271         }
272     },
273     {
274         "name": "CSS Selector :lang() level 4",
275         "status": {
276             "status": "Done",
277             "enabled-by-default": true
278         },
279         "url": "http://dev.w3.org/csswg/selectors-4/#the-lang-pseudo",
280         "specification": "CSS Selectors Level 4",
281         "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\")."
282     },
283     {
284         "name": "CSS Selector :matches()",
285         "status": {
286             "status": "Done",
287             "enabled-by-default": true
288         },
289         "url": "http://dev.w3.org/csswg/selectors-4/#matches",
290         "specification": "CSS Selectors Level 4",
291         "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.",
292         "comment": "The pseudo classes <em>:visited</em> and <em>:link</em> are not supported inside :matches().",
293         "contact": {
294             "name": "Benjamin Poulain",
295             "twitter": "@awfulben",
296             "email": "benjamin@webkit.org"
297         }
298     },
299     {
300         "name": "CSS Selector :not() level 4",
301         "status": {
302             "status": "Done",
303             "enabled-by-default": true
304         },
305         "url": "http://dev.w3.org/csswg/selectors-4/#negation",
306         "specification": "CSS Selectors Level 4",
307         "description": "The selector :not() in level 4 supports full selector lists as argument. For example: :not(:any-link >> img, :any-link >> picture).",
308         "comment": "The pseudo classes <em>:visited</em> and <em>:link</em> are not supported inside :not().",
309         "contact": {
310             "name": "Benjamin Poulain",
311             "twitter": "@awfulben",
312             "email": "benjamin@webkit.org"
313         }
314     },
315     {
316         "name": "CSS Selector :nth-child(An+B of selector list) and :nth-last-child(An+B of selector list)",
317         "status": {
318             "status": "Done",
319             "enabled-by-default": true
320         },
321         "url": "http://dev.w3.org/csswg/selectors-4/#the-nth-child-pseudo",
322         "specification": "CSS Selectors Level 4",
323         "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)\".",
324         "comment": "The pseudo classes <em>:visited</em> and <em>:link</em> are not supported inside :nth-child() and :nth-last-child().",
325         "contact": {
326             "name": "Benjamin Poulain",
327             "twitter": "@awfulben",
328             "email": "benjamin@webkit.org"
329         }
330     },
331     {
332         "name": "CSS Selector :placeholder-shown",
333         "status": {
334             "status": "Done",
335             "enabled-by-default": true
336         },
337         "url": "http://dev.w3.org/csswg/selectors-4/#placeholder",
338         "specification": "CSS Selectors Level 4",
339         "description": "The selector :placeholder-shown matches any input element that has a visible placeholder.",
340         "comment": "Styling the placeholder can be done through the WebKit pseudo-element \"::-webkit-input-placeholder\".",
341         "contact": {
342             "name": "Benjamin Poulain",
343             "twitter": "@awfulben",
344             "email": "benjamin@webkit.org"
345         }
346     },
347     {
348         "name": "Case-insensitive attribute selectors",
349         "status": {
350             "status": "Done",
351             "enabled-by-default": true
352         },
353         "url": "http://dev.w3.org/csswg/selectors-4/#attribute-case",
354         "specification": "CSS Selectors Level 4",
355         "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.",
356         "contact": {
357             "name": "Benjamin Poulain",
358             "twitter": "@awfulben",
359             "email": "benjamin@webkit.org"
360         }
361     },
362     {
363         "name": "Custom Elements",
364         "status": {
365             "status": "In Development"
366         },
367         "url": "http://w3c.github.io/webcomponents/spec/custom/",
368         "webkit-url": "https://bugs.webkit.org/show_bug.cgi?id=150225",
369         "specification": "Web Components",
370         "description": "Define a custom HTML tag and associate it with an ES6 class.",
371         "contact": {
372             "name": "Ryosuke Niwa",
373             "twitter": "@RyosukeNiwa",
374             "email": "rniwa@webkit.org"
375         }
376     },
377     {
378         "name": "Element.closest()",
379         "status": {
380             "status": "Done",
381             "enabled-by-default": true
382         },
383         "url": "https://dom.spec.whatwg.org/#dom-element-closest",
384         "documentation-url": "https://developer.mozilla.org/en-US/docs/Web/API/Element/closest",
385         "webkit-url": "https://bugs.webkit.org/show_bug.cgi?id=137418",
386         "specification": "DOM",
387         "description": "Find the closest ancestor matching the selector passed as argument. The element itself is returned if it matches the selector.",
388         "contact": {
389             "name": "Benjamin Poulain",
390             "twitter": "@awfulben",
391             "email": "benjamin@webkit.org"
392         }
393     },
394     {
395         "name": "Filter Effects backdrop-filter propery",
396         "status": {
397             "status": "Done",
398             "enabled-by-default": true
399         },
400         "url": "http://dev.w3.org/fxtf/filters-2/#propdef-backdrop-filter",
401         "specification": "Filter Effects Module Level 2",
402         "description": "This property specifies styling for filters applied to the backdrop of an element."
403     },
404     {
405         "name": "Force Click Events",
406         "status": {
407             "status": "Prototyping",
408             "enabled-by-default": true
409         },
410         "webkit-url": "https://bugs.webkit.org/show_bug.cgi?id=142836",
411         "description": "Provide the events necessary to handle force click events in the page, overriding the default behavior."
412     },
413     {
414         "name": "HTML imports",
415         "status": {
416             "status": "Not Considering"
417         },
418         "url": "http://w3c.github.io/webcomponents/spec/imports/",
419         "specification": "Web Components",
420         "description": "Includes resusable HTML documents in other HTML documents.",
421         "comment": "There are concerns about the disconnect between this specification and ES6 Modules. WebKit has no intent to support the current specification.",
422         "contact": {
423             "name": "Jon Davis",
424             "twitter": "@jonathandavis",
425             "email": "web-evangelist@apple.com"
426         }
427     },
428     {
429         "name": "Initial Letter",
430         "status": {
431             "status": "Done",
432             "enabled-by-default": true
433         },
434         "url": "http://dev.w3.org/csswg/css-inline/#propdef-initial-letter",
435         "specification": "CSS Inline Layout Module Level 3",
436         "description": "This property specifies styling for dropped, raised, and sunken initial letters."
437     },
438     {
439         "name": "Interaction Media Features (pointer, hover, any-pointer, any-hover)",
440         "status": {
441             "status": "Done",
442             "enabled-by-default": true
443         },
444         "url": "http://dev.w3.org/csswg/mediaqueries-4/#mf-interaction",
445         "specification": "CSS Media Queries Level 4",
446         "description": "The \"pointer\" media defines how percise the pointing device is. The \"hover\" media defines the ability of the poiting device to hover elements."
447     },
448     {
449         "name": "MicroData",
450         "status": {
451             "status": "Removed"
452         },
453         "url": "https://html.spec.whatwg.org/multipage/microdata.html",
454         "webkit-url": "https://bugs.webkit.org/show_bug.cgi?id=119480",
455         "specification": "HTML5",
456         "comment": "WebKit used to support MicroData. The feature never gained any traction and was eventually removed to clean up the codebase."
457     },
458     {
459         "name": "Navigator.hardwareConcurrency",
460         "status": {
461             "status": "Done",
462             "enabled-by-default": true
463         },
464         "url": "https://wiki.whatwg.org/wiki/Navigator_HW_Concurrency",
465         "webkit-url": "http://trac.webkit.org/changeset/169017",
466         "description": "Navigator.hardwareConcurrency provides the total number of logical processors available to the user agent."
467     },
468     {
469         "name": "Picture element",
470         "status": {
471             "status": "In Development",
472             "enabled-by-default": false
473         },
474         "url": "https://html.spec.whatwg.org/multipage/embedded-content.html#the-picture-element",
475         "webkit-url": "https://bugs.webkit.org/show_bug.cgi?id=116963",
476         "specification": "HTML5",
477         "description": "Enable handling the art-direction responsive images use-case by defining multiple image sources in markup",
478         "contact": {
479             "name": "Yoav Weiss",
480             "twitter": "@yoavweiss",
481             "email": "yoav@yoav.ws"
482         }
483     },
484     {
485         "name": "Position: sticky",
486         "status": {
487             "status": "Done",
488             "enabled-by-default": true
489         },
490         "url": "http://dev.w3.org/csswg/css-position/#sticky-pos",
491         "specification": "CSS Positioned Layout Module Level 3",
492         "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.",
493         "comment": "The feature is prefixed with <em>-webkit-</em>. There are some remaining issues to resolve in the specification."
494     },
495     {
496         "name": "Readable Streams",
497         "status": {
498             "status": "In Development",
499             "enabled-by-default": true
500         },
501         "url": "https://streams.spec.whatwg.org/#rs",
502         "webkit-url": "https://bugs.webkit.org/show_bug.cgi?id=138967",
503         "specification": "Streams",
504         "comment": "The ReadableStream and ReadableStreamReader interfaces are available but not functional."
505     },
506     {
507         "name": "Shadow DOM",
508         "status": {
509             "status": "In Development"
510         },
511         "url": "http://w3c.github.io/webcomponents/spec/shadow/",
512         "webkit-url": "https://bugs.webkit.org/show_bug.cgi?id=148695",
513         "specification": "Web Components",
514         "description": "Functional encapsulation of HTML and CSS for Web Components.",
515         "contact": {
516             "name": "Ryosuke Niwa",
517             "twitter": "@RyosukeNiwa",
518             "email": "rniwa@webkit.org"
519         }
520     },
521     {
522         "name": "Shape outside for floats",
523         "status": {
524             "status": "In Development",
525             "enabled-by-default": true
526         },
527         "url": "http://www.w3.org/TR/css-shapes-1/",
528         "specification": "CSS Shapes Level 1",
529         "description": "CSS Shapes describe geometric shapes for use in CSS. For Level 1, CSS Shapes can be applied to floats.",
530         "comment": "The implementation is feature complete and shipping, but is -webkit prefixed."
531     },
532     {
533         "name": "Shared Web Workers",
534         "status": {
535             "status": "Removed"
536         },
537         "url": "https://html.spec.whatwg.org/multipage/workers.html#shared-workers-introduction",
538         "webkit-url": "https://bugs.webkit.org/show_bug.cgi?id=140344",
539         "specification": "HTML5",
540         "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."
541     },
542     {
543         "name": "Srcset w descriptor and related sizes attribute",
544         "status": {
545             "status": "Done",
546             "enabled-by-default": true
547         },
548         "url": "https://html.spec.whatwg.org/multipage/embedded-content.html#the-img-element",
549         "webkit-url": "https://bugs.webkit.org/show_bug.cgi?id=133620",
550         "specification": "HTML5",
551         "description": "Enable handling the variable width responsive images use-case by defining multiple image resources in markup",
552         "contact": {
553             "name": "Yoav Weiss",
554             "twitter": "@yoavweiss",
555             "email": "yoav@yoav.ws"
556         }
557     },
558     {
559         "name": "Srcset x descriptor",
560         "status": {
561             "status": "Done",
562             "enabled-by-default": true
563         },
564         "url": "https://html.spec.whatwg.org/multipage/embedded-content.html#the-img-element",
565         "webkit-url": "https://bugs.webkit.org/show_bug.cgi?id=110252",
566         "specification": "HTML5",
567         "description": "Enable handling the fixed width responsive images use-case by defining multiple image resources in markup",
568         "contact": {
569             "name": "Yoav Weiss",
570             "twitter": "@yoavweiss",
571             "email": "yoav@yoav.ws"
572         }
573     },
574     {
575         "name": "Template Element",
576         "status": {
577             "status": "Done",
578             "enabled-by-default": true
579         },
580         "url": "http://www.w3.org/TR/html5/scripting-1.html#the-template-element",
581         "webkit-url": "https://bugs.webkit.org/show_bug.cgi?id=124637",
582         "documentation-url": "https://developer.mozilla.org/en-US/docs/Web/HTML/Element/template",
583         "specification": "Web Components",
584         "description": "Declares HTML fragments that can be cloned and inserted into the document by a script."
585     }
586     ]
587 }