Improve the feature.json files
authorbenjamin@webkit.org <benjamin@webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Mon, 20 Apr 2015 03:54:06 +0000 (03:54 +0000)
committerbenjamin@webkit.org <benjamin@webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Mon, 20 Apr 2015 03:54:06 +0000 (03:54 +0000)
* features.json:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@182998 268f45cc-cd09-0410-ab3c-d52691b4dbfc

Source/JavaScriptCore/ChangeLog
Source/JavaScriptCore/features.json
Source/WebCore/ChangeLog
Source/WebCore/features.json

index fa09ae4..3fc11a6 100644 (file)
@@ -1,3 +1,9 @@
+2015-04-19  Benjamin Poulain  <benjamin@webkit.org>
+
+        Improve the feature.json files
+
+        * features.json:
+
 2015-04-19  Yusuke Suzuki  <utatane.tea@gmail.com>
 
         Introduce bytecode intrinsics
index ed63f3b..eb937d2 100644 (file)
 
     "features": [
     {
+        "name": "ASM.js",
+        "status": {
+            "status": "Continuously improving",
+            "enabled-by-default": true
+        },
+        "url": "http://asmjs.org",
+        "description": "ASM.js defines a subset of JavaScript that enforce stronger typing and has specific patterns of memory access. ASM.js is rarely hand-written, it is typically generated from other languages by compiler such as Emscripten.",
+        "comment": "There is no \"use asm\" mode in JavaScriptCore. Instead WebKit integrates ASM.js optimizations directly in the optimizer. As a result, it is possible to mix ASM-style typing with regular code and still get great performance and power efficiency."
+    },
+    {
         "name": "Array.prototype.includes",
         "status": {
             "status": "Done",
         "specification": "ES7"
     },
     {
+        "name": "Classes",
+        "status": {
+            "status": "Done",
+            "enabled-by-default": true
+        },
+        "url": "https://people.mozilla.org/~jorendorff/es6-draft.html#sec-class-definitions",
+        "documentation-url": "https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Classes",
+        "webkit-url": "https://bugs.webkit.org/show_bug.cgi?id=142774",
+        "specification": "ES6",
+        "description": "The new class syntax of ES6 provides a new syntax to define and extend JavaScript objects. The class syntax is a new notation, objects still use prototypal inheritance."
+    },
+    {
+        "name": "Map data structure",
+        "status": {
+            "status": "Done",
+            "enabled-by-default": true
+        },
+        "url": "http://people.mozilla.org/~jorendorff/es6-draft.html#sec-map-constructor",
+        "documentation-url": "https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Map",
+        "webkit-url": "https://bugs.webkit.org/show_bug.cgi?id=120333",
+        "description": "Map provides an <a href=\"https://en.wikipedia.org/wiki/Associative_array\">associative array data</a> structure that maps keys to values.",
+        "specification": "ES6"
+    },
+    {
+        "name": "Number extensions (ES6)",
+        "status": {
+            "status": "Done",
+            "enabled-by-default": true
+        },
+        "url": "http://people.mozilla.org/~jorendorff/es6-draft.html#sec-number-objects",
+        "documentation-url": "https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number",
+        "webkit-url": "https://bugs.webkit.org/show_bug.cgi?id=131707",
+        "specification": "ES6",
+        "description": "ES6 extend Number with the methods Number.isFinite(), Number.isInteger(), Number.isSafeInteger(), Number.isNaN() and the attributes Number.EPSILON, Number.MIN_SAFE_INTEGER, Number.MAX_SAFE_INTEGER."
+    },
+    {
+        "name": "Octal and binary literals",
+        "status": {
+            "status": "Done",
+            "enabled-by-default": true
+        },
+        "url": "https://people.mozilla.org/~jorendorff/es6-draft.html#sec-literals-numeric-literals",
+        "webkit-url": "https://bugs.webkit.org/show_bug.cgi?id=142681",
+        "specification": "ES6",
+        "description": "New syntax for number literals. Numbers can be provided as binary (e.g. 0b001001) or octal (e.g. 0o24)."
+    },
+    {
         "name": "Promise Objects",
         "status": {
             "status": "Done",
         "specification": "ES6"
     },
     {
+        "name": "Set data structure",
+        "status": {
+            "status": "Done",
+            "enabled-by-default": true
+        },
+        "url": "https://people.mozilla.org/~jorendorff/es6-draft.html#sec-set-constructor",
+        "documentation-url": "https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Set",
+        "webkit-url": "https://bugs.webkit.org/show_bug.cgi?id=120549",
+        "description": "Set is a collection of unique objects.",
+        "specification": "ES6"
+    },
+    {
         "name": "Symbol Objects",
         "status": {
             "status": "Done",
         "documentation-url": "https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Symbol",
         "webkit-url": "https://bugs.webkit.org/show_bug.cgi?id=140435",
         "specification": "ES6"
+    },
+    {
+        "name": "WeakMap",
+        "status": {
+            "status": "Done",
+            "enabled-by-default": true
+        },
+        "url": "http://people.mozilla.org/~jorendorff/es6-draft.html#sec-weakmap-objects",
+        "documentation-url": "https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/WeakMap",
+        "webkit-url": "https://bugs.webkit.org/show_bug.cgi?id=120912",
+        "description": "Map provides an <a href=\"https://en.wikipedia.org/wiki/Associative_array\">associative array data</a> structure that maps keys to values. WeakMap's keys must be objects.",
+        "specification": "ES6"
+    },
+    {
+        "name": "for...of loops",
+        "status": {
+            "status": "Done",
+            "enabled-by-default": true
+        },
+        "url": "http://people.mozilla.org/~jorendorff/es6-draft.html#sec-for-in-and-for-of-statements",
+        "documentation-url": "https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/for...of",
+        "description": "The for...of loops iterate over the values provided by the iterator of the target object.",
+        "specification": "ES6",
+        "comment": "Older versions of WebKit only supported iterating JavaScript arrays."
     }
     ]
 }
index dcb8602..45b1e11 100644 (file)
@@ -1,3 +1,9 @@
+2015-04-19  Benjamin Poulain  <benjamin@webkit.org>
+
+        Improve the feature.json files
+
+        * features.json:
+
 2015-04-18  Jon Lee  <jonlee@apple.com>
 
         [Mac] Time elapsed should be right-aligned
index e7fa630..905954e 100644 (file)
         "category": "css"
     },
     {
+        "name": "CSS Positioned Layout Module Level 3",
+        "url": "http://dev.w3.org/csswg/css-position/",
+        "keywords": ["css positioning"],
+        "category": "css"
+    },
+    {
         "name": "CSS Selectors Level 4",
         "url": "http://dev.w3.org/csswg/selectors-4/",
         "keywords": ["css selectors", "selectors"],
-        "category": "css"
+        "category": "css",
+        "contact": {
+            "name": "Benjamin Poulain",
+            "twitter": "@awfulben",
+            "email": "benjamin@webkit.org"
+        }
     },
     {
         "name": "CSS Shapes Level 1",
         "url": "http://dev.w3.org/csswg/selectors-4/#the-any-link-pseudo",
         "specification": "CSS Selectors Level 4",
         "description": "The pseudo class :any-link matches any element that would match :link or :visisted.",
-        "comment": "A prefix version :-webkit-any-link has been available for a while but it was not 100% compliant to the specification."
+        "comment": "A prefix version :-webkit-any-link has been available for a while but it was not 100% compliant to the specification.",
+        "contact": {
+            "name": "Benjamin Poulain",
+            "twitter": "@awfulben",
+            "email": "benjamin@webkit.org"
+        }
     },
     {
         "name": "CSS Selector :lang() level 4",
         "url": "http://dev.w3.org/csswg/selectors-4/#matches",
         "specification": "CSS Selectors Level 4",
         "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.",
-        "comment": "The pseudo classes <em>:visited</em> and <em>:link</em> are not supported inside :matches()."
+        "comment": "The pseudo classes <em>:visited</em> and <em>:link</em> are not supported inside :matches().",
+        "contact": {
+            "name": "Benjamin Poulain",
+            "twitter": "@awfulben",
+            "email": "benjamin@webkit.org"
+        }
     },
     {
         "name": "CSS Selector :not() level 4",
         "url": "http://dev.w3.org/csswg/selectors-4/#negation",
         "specification": "CSS Selectors Level 4",
         "description": "The selector :not() in level 4 supports full selector lists as argument. For example: :not(:any-link >> img, :any-link >> picture).",
-        "comment": "The pseudo classes <em>:visited</em> and <em>:link</em> are not supported inside :not()."
+        "comment": "The pseudo classes <em>:visited</em> and <em>:link</em> are not supported inside :not().",
+        "contact": {
+            "name": "Benjamin Poulain",
+            "twitter": "@awfulben",
+            "email": "benjamin@webkit.org"
+        }
     },
     {
         "name": "CSS Selector :nth-child(An+B of selector list) and :nth-last-child(An+B of selector list)",
         "url": "http://dev.w3.org/csswg/selectors-4/#the-nth-child-pseudo",
         "specification": "CSS Selectors Level 4",
         "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)\".",
-        "comment": "The pseudo classes <em>:visited</em> and <em>:link</em> are not supported inside :nth-child() and :nth-last-child()."
+        "comment": "The pseudo classes <em>:visited</em> and <em>:link</em> are not supported inside :nth-child() and :nth-last-child().",
+        "contact": {
+            "name": "Benjamin Poulain",
+            "twitter": "@awfulben",
+            "email": "benjamin@webkit.org"
+        }
     },
     {
         "name": "CSS Selector :placeholder-shown",
         "url": "http://dev.w3.org/csswg/selectors-4/#placeholder",
         "specification": "CSS Selectors Level 4",
         "description": "The selector :placeholder-shown matches any input element that has a visible placeholder.",
-        "comment": "Styling the placeholder can be done through the WebKit pseudo-element \"::-webkit-input-placeholder\"."
+        "comment": "Styling the placeholder can be done through the WebKit pseudo-element \"::-webkit-input-placeholder\".",
+        "contact": {
+            "name": "Benjamin Poulain",
+            "twitter": "@awfulben",
+            "email": "benjamin@webkit.org"
+        }
     },
     {
         "name": "Case-insensitive attribute selectors",
         },
         "url": "http://dev.w3.org/csswg/selectors-4/#attribute-case",
         "specification": "CSS Selectors Level 4",
-        "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."
+        "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.",
+        "contact": {
+            "name": "Benjamin Poulain",
+            "twitter": "@awfulben",
+            "email": "benjamin@webkit.org"
+        }
     },
     {
         "name": "Element.closest()",
         "documentation-url": "https://developer.mozilla.org/en-US/docs/Web/API/Element/closest",
         "webkit-url": "https://bugs.webkit.org/show_bug.cgi?id=137418",
         "specification": "DOM",
-        "description": "Find the closest ancestor matching the selector passed as argument. The element itself is returned if it matches the selector."
+        "description": "Find the closest ancestor matching the selector passed as argument. The element itself is returned if it matches the selector.",
+        "contact": {
+            "name": "Benjamin Poulain",
+            "twitter": "@awfulben",
+            "email": "benjamin@webkit.org"
+        }
     },
     {
         "name": "Force Click Events",
         "description": "The \"pointer\" media defines how percise the pointing device is. The \"hover\" media defines the ability of the poiting device to hover elements."
     },
     {
+        "name": "MicroData",
+        "status": {
+            "status": "Removed"
+        },
+        "url": "https://html.spec.whatwg.org/multipage/microdata.html",
+        "webkit-url": "https://bugs.webkit.org/show_bug.cgi?id=119480",
+        "specification": "HTML5",
+        "comment": "WebKit used to support MicroData. The feature never gained any traction and was eventually removed to clean up the codebase."
+    },
+    {
         "name": "Navigator.hardwareConcurrency",
         "status": {
             "status": "Done",
         "description": "Navigator.hardwareConcurrency provides the total number of logical processors available to the user agent."
     },
     {
+        "name": "Position: sticky",
+        "status": {
+            "status": "Done",
+            "enabled-by-default": true
+        },
+        "url": "http://dev.w3.org/csswg/css-position/#sticky-pos",
+        "specification": "CSS Positioned Layout Module Level 3",
+        "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.",
+        "comment": "The feature is prefixed with <em>-webkit-</em>. There are some remaining issues to resolve in the specification."
+    },
+    {
         "name": "Readable Streams",
         "status": {
             "status": "In Development",
         "specification": "CSS Shapes Level 1",
         "description": "CSS Shapes describe geometric shapes for use in CSS. For Level 1, CSS Shapes can be applied to floats.",
         "comment": "The implementation is feature complete and shipping, but is -webkit prefixed."
+    },
+    {
+        "name": "Shared Web Workers",
+        "status": {
+            "status": "Removed"
+        },
+        "url": "https://html.spec.whatwg.org/multipage/workers.html#shared-workers-introduction",
+        "webkit-url": "https://bugs.webkit.org/show_bug.cgi?id=140344",
+        "specification": "HTML5",
+        "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."
     }
     ]
 }