Browser-compat-data: Chrome JavaScript compat data: provide real version numbers

Created on 9 Oct 2019  ยท  2Comments  ยท  Source: mdn/browser-compat-data

Part of #4771. Below are JavaScript features that are set to true or null for Google Chrome (desktop edition). The goal of this issue is to find the actual version numbers these features were implemented, if at all.
Total amount of features: 381

_Note: Until Chrome 27, Chrome used the same engine as Safari (WebKit). As a result, you may be able to add Safari data for any features implemented in Chrome 1-27 by comparing the WebKit engine versions described in browsers/chrome.json and browser/safari.json. Additionally, Chrome 1 used a WebKit version just before Safari 4, so any features implemented in Safari 1-3.2 may be set to Chrome 1. Chrome 27 and Safari 6 were the last versions that maintained parity before Chrome forked WebKit into the Blink engine._



1: Array โœ…(#4962)

  • javascript.builtins.Array
  • javascript.builtins.Array.every
  • javascript.builtins.Array.filter
  • javascript.builtins.Array.forEach
  • javascript.builtins.Array.indexOf
  • javascript.builtins.Array.lastIndexOf
  • javascript.builtins.Array.length
  • javascript.builtins.Array.map
  • javascript.builtins.Array.prototype
  • javascript.builtins.Array.reduce
  • javascript.builtins.Array.reduceRight
  • javascript.builtins.Array.some
  • javascript.builtins.Array.toLocaleString
  • javascript.builtins.Array.toString
  • javascript.builtins.ArrayBuffer.isView
  • javascript.builtins.ArrayBuffer.new_required
  • javascript.builtins.ArrayBuffer.slice
  • javascript.builtins.Float32Array.constructor_without_arguments
  • javascript.builtins.Float32Array.new_required
  • javascript.builtins.Float64Array.constructor_without_arguments
  • javascript.builtins.Float64Array.new_required
  • javascript.builtins.Int16Array.constructor_without_arguments
  • javascript.builtins.Int16Array.new_required
  • javascript.builtins.Int32Array.constructor_without_arguments
  • javascript.builtins.Int32Array.new_required
  • javascript.builtins.Int8Array.constructor_without_arguments
  • javascript.builtins.Int8Array.new_required
  • javascript.builtins.TypedArray.constructor_without_arguments
  • javascript.builtins.TypedArray.find
  • javascript.builtins.TypedArray.findIndex
  • javascript.builtins.TypedArray.forEach
  • javascript.builtins.TypedArray.index_properties_not_consulting_prototype
  • javascript.builtins.TypedArray.join
  • javascript.builtins.TypedArray.keys
  • javascript.builtins.TypedArray.lastIndexOf
  • javascript.builtins.TypedArray.map
  • javascript.builtins.TypedArray.named_properties
  • javascript.builtins.TypedArray.new_required
  • javascript.builtins.TypedArray.sort
  • javascript.builtins.TypedArray.toLocaleString
  • javascript.builtins.TypedArray.toString
  • javascript.builtins.TypedArray.values
  • javascript.builtins.TypedArray.@@iterator
  • javascript.builtins.TypedArray.@@species
  • javascript.builtins.Uint16Array.constructor_without_arguments
  • javascript.builtins.Uint16Array.new_required
  • javascript.builtins.Uint32Array.constructor_without_arguments
  • javascript.builtins.Uint32Array.new_required
  • javascript.builtins.Uint8Array.constructor_without_arguments
  • javascript.builtins.Uint8Array.new_required
  • javascript.builtins.Uint8ClampedArray.constructor_without_arguments
  • javascript.builtins.Uint8ClampedArray.new_required


2: Date โœ…(#5052)

  • javascript.builtins.Date
  • javascript.builtins.Date.UTC
  • javascript.builtins.Date.getDate
  • javascript.builtins.Date.getDay
  • javascript.builtins.Date.getFullYear
  • javascript.builtins.Date.getHours
  • javascript.builtins.Date.getMilliseconds
  • javascript.builtins.Date.getMinutes
  • javascript.builtins.Date.getMonth
  • javascript.builtins.Date.getSeconds
  • javascript.builtins.Date.getTime
  • javascript.builtins.Date.getTimezoneOffset
  • javascript.builtins.Date.getUTCDate
  • javascript.builtins.Date.getUTCDay
  • javascript.builtins.Date.getUTCFullYear
  • javascript.builtins.Date.getUTCHours
  • javascript.builtins.Date.getUTCMilliseconds
  • javascript.builtins.Date.getUTCMinutes
  • javascript.builtins.Date.getUTCMonth
  • javascript.builtins.Date.getUTCSeconds
  • javascript.builtins.Date.getYear
  • javascript.builtins.Date.parse
  • javascript.builtins.Date.parse.iso_8601
  • javascript.builtins.Date.prototype
  • javascript.builtins.Date.setDate
  • javascript.builtins.Date.setFullYear
  • javascript.builtins.Date.setHours
  • javascript.builtins.Date.setMilliseconds
  • javascript.builtins.Date.setMinutes
  • javascript.builtins.Date.setMonth
  • javascript.builtins.Date.setSeconds
  • javascript.builtins.Date.setTime
  • javascript.builtins.Date.setUTCDate
  • javascript.builtins.Date.setUTCFullYear
  • javascript.builtins.Date.setUTCHours
  • javascript.builtins.Date.setUTCMilliseconds
  • javascript.builtins.Date.setUTCMinutes
  • javascript.builtins.Date.setUTCMonth
  • javascript.builtins.Date.setUTCSeconds
  • javascript.builtins.Date.setYear
  • javascript.builtins.Date.toDateString
  • javascript.builtins.Date.toGMTString
  • javascript.builtins.Date.toISOString
  • javascript.builtins.Date.toJSON
  • javascript.builtins.Date.toLocaleDateString
  • javascript.builtins.Date.toLocaleString
  • javascript.builtins.Date.toLocaleTimeString
  • javascript.builtins.Date.toString
  • javascript.builtins.Date.toTimeString
  • javascript.builtins.Date.toUTCString
  • javascript.builtins.Date.valueOf
  • javascript.builtins.Date.@@toPrimitive


3: Error โœ…(#5055)

  • javascript.builtins.Error
  • javascript.builtins.Error.message
  • javascript.builtins.Error.name
  • javascript.builtins.Error.prototype
  • javascript.builtins.Error.stack
  • javascript.builtins.Error.toString
  • javascript.builtins.EvalError
  • javascript.builtins.RangeError
  • javascript.builtins.ReferenceError
  • javascript.builtins.SyntaxError
  • javascript.builtins.TypeError
  • javascript.builtins.URIError


4: Function โœ…(#5056)

  • javascript.builtins.Function
  • javascript.builtins.Function.apply
  • javascript.builtins.Function.apply.generic_arrays_as_arguments
  • javascript.builtins.Function.arguments
  • javascript.builtins.Function.call
  • javascript.builtins.Function.caller
  • javascript.builtins.Function.length
  • javascript.builtins.Function.length.configurable_true
  • javascript.builtins.Function.prototype
  • javascript.builtins.Function.toString
  • javascript.builtins.GeneratorFunction
  • javascript.builtins.GeneratorFunction.prototype
  • javascript.functions
  • javascript.functions.arguments
  • javascript.functions.arguments.callee
  • javascript.functions.arguments.length


5: Math โœ…(#5057)

  • javascript.builtins.Math.E
  • javascript.builtins.Math.LN2
  • javascript.builtins.Math.LN10
  • javascript.builtins.Math.LOG2E
  • javascript.builtins.Math.LOG10E
  • javascript.builtins.Math.PI
  • javascript.builtins.Math.SQRT1_2
  • javascript.builtins.Math.SQRT2
  • javascript.builtins.Math.abs
  • javascript.builtins.Math.acos
  • javascript.builtins.Math.asin
  • javascript.builtins.Math.atan
  • javascript.builtins.Math.atan2
  • javascript.builtins.Math.ceil
  • javascript.builtins.Math.cos
  • javascript.builtins.Math.exp
  • javascript.builtins.Math.floor
  • javascript.builtins.Math.log
  • javascript.builtins.Math.max
  • javascript.builtins.Math.min
  • javascript.builtins.Math.pow
  • javascript.builtins.Math.random
  • javascript.builtins.Math.round
  • javascript.builtins.Math.sin
  • javascript.builtins.Math.sqrt
  • javascript.builtins.Math.tan


6: Number โœ…(#5058)

  • javascript.builtins.Number
  • javascript.builtins.Number.EPSILON
  • javascript.builtins.Number.MAX_VALUE
  • javascript.builtins.Number.MIN_VALUE
  • javascript.builtins.Number.NaN
  • javascript.builtins.Number.NEGATIVE_INFINITY
  • javascript.builtins.Number.POSITIVE_INFINITY
  • javascript.builtins.Number.isInteger
  • javascript.builtins.Number.isSafeInteger
  • javascript.builtins.Number.parseFloat
  • javascript.builtins.Number.parseInt
  • javascript.builtins.Number.prototype
  • javascript.builtins.Number.toExponential
  • javascript.builtins.Number.toFixed
  • javascript.builtins.Number.toLocaleString
  • javascript.builtins.Number.toPrecision
  • javascript.builtins.Number.toString
  • javascript.builtins.Number.valueOf


7: Object โœ…(#5060)

  • javascript.builtins.Object
  • javascript.builtins.Object.constructor
  • javascript.builtins.Object.defineGetter
  • javascript.builtins.Object.defineSetter
  • javascript.builtins.Object.hasOwnProperty
  • javascript.builtins.Object.isPrototypeOf
  • javascript.builtins.Object.lookupGetter
  • javascript.builtins.Object.lookupSetter
  • javascript.builtins.Object.propertyIsEnumerable
  • javascript.builtins.Object.proto
  • javascript.builtins.Object.prototype
  • javascript.builtins.Object.toLocaleString
  • javascript.builtins.Object.toString
  • javascript.builtins.Object.valueOf


8: RegExp โœ…(#5087)

  • javascript.builtins.RegExp
  • javascript.builtins.RegExp.compile
  • javascript.builtins.RegExp.exec
  • javascript.builtins.RegExp.flags
  • javascript.builtins.RegExp.global
  • javascript.builtins.RegExp.global.prototype_accessor
  • javascript.builtins.RegExp.ignoreCase
  • javascript.builtins.RegExp.ignoreCase.prototype_accessor
  • javascript.builtins.RegExp.input
  • javascript.builtins.RegExp.lastIndex
  • javascript.builtins.RegExp.lastMatch
  • javascript.builtins.RegExp.lastParen
  • javascript.builtins.RegExp.leftContext
  • javascript.builtins.RegExp.multiline
  • javascript.builtins.RegExp.multiline.prototype_accessor
  • javascript.builtins.RegExp.n
  • javascript.builtins.RegExp.prototype
  • javascript.builtins.RegExp.rightContext
  • javascript.builtins.RegExp.source
  • javascript.builtins.RegExp.source.empty_regex_string
  • javascript.builtins.RegExp.source.prototype_accessor
  • javascript.builtins.RegExp.sticky.anchored_sticky_flag
  • javascript.builtins.RegExp.sticky.prototype_accessor
  • javascript.builtins.RegExp.test
  • javascript.builtins.RegExp.toString
  • javascript.builtins.RegExp.toString.escaping
  • javascript.builtins.RegExp.@@match
  • javascript.builtins.RegExp.@@replace
  • javascript.builtins.RegExp.@@search
  • javascript.builtins.RegExp.@@species
  • javascript.builtins.RegExp.@@split


9: String โœ…(#5088)

  • javascript.builtins.String
  • javascript.builtins.String.anchor
  • javascript.builtins.String.big
  • javascript.builtins.String.blink
  • javascript.builtins.String.bold
  • javascript.builtins.String.charAt
  • javascript.builtins.String.charCodeAt
  • javascript.builtins.String.concat
  • javascript.builtins.String.fixed
  • javascript.builtins.String.fontcolor
  • javascript.builtins.String.fontsize
  • javascript.builtins.String.fromCharCode
  • javascript.builtins.String.indexOf
  • javascript.builtins.String.italics
  • javascript.builtins.String.lastIndexOf
  • javascript.builtins.String.length
  • javascript.builtins.String.link
  • javascript.builtins.String.localeCompare
  • javascript.builtins.String.match
  • javascript.builtins.String.prototype
  • javascript.builtins.String.replace
  • javascript.builtins.String.search
  • javascript.builtins.String.slice
  • javascript.builtins.String.small
  • javascript.builtins.String.split
  • javascript.builtins.String.strike
  • javascript.builtins.String.sub
  • javascript.builtins.String.substr
  • javascript.builtins.String.substring
  • javascript.builtins.String.sup
  • javascript.builtins.String.toLocaleLowerCase
  • javascript.builtins.String.toLocaleLowerCase.locale
  • javascript.builtins.String.toLocaleUpperCase
  • javascript.builtins.String.toLocaleUpperCase.locale
  • javascript.builtins.String.toLowerCase
  • javascript.builtins.String.toString
  • javascript.builtins.String.toUpperCase
  • javascript.builtins.String.trim
  • javascript.builtins.String.trimEnd (as trimRight)
  • javascript.builtins.String.trimStart (as trimLeft)
  • javascript.builtins.String.unicode_code_point_escapes
  • javascript.builtins.String.valueOf
  • javascript.builtins.String.@@iterator


10: Misc. Builtins โœ…(#5105)

  • javascript.builtins.Boolean.prototype
  • javascript.builtins.Boolean.toString
  • javascript.builtins.Boolean.valueOf
  • javascript.builtins.DataView.new_required
  • javascript.builtins.Intl.Collator.caseFirst
  • javascript.builtins.JSON
  • javascript.builtins.JSON.parse
  • javascript.builtins.JSON.stringify
  • javascript.builtins.Map.map_null
  • javascript.builtins.Map.map_without_new_throws
  • javascript.builtins.Map.@@iterator
  • javascript.builtins.Set.set_null
  • javascript.builtins.Set.set_without_new_throws
  • javascript.builtins.Set.@@iterator
  • javascript.builtins.WeakMap.weakmap_null
  • javascript.builtins.WeakMap.weakmap_without_new_throws
  • javascript.builtins.WeakSet.weakset_null


11: Top-Level Builtins โœ…(#5106)

  • javascript.builtins.Infinity
  • javascript.builtins.NaN
  • javascript.builtins.decodeURI
  • javascript.builtins.decodeURIComponent
  • javascript.builtins.encodeURI
  • javascript.builtins.encodeURIComponent
  • javascript.builtins.escape
  • javascript.builtins.eval
  • javascript.builtins.isFinite
  • javascript.builtins.isNaN
  • javascript.builtins.null
  • javascript.builtins.parseFloat
  • javascript.builtins.parseInt
  • javascript.builtins.undefined
  • javascript.builtins.unescape


12: Grammar โœ…(#5107)

  • javascript.grammar.array_literals
  • javascript.grammar.boolean_literals
  • javascript.grammar.decimal_numeric_literals
  • javascript.grammar.hexadecimal_escape_sequences
  • javascript.grammar.hexadecimal_numeric_literals
  • javascript.grammar.null_literal
  • javascript.grammar.regular_expression_literals
  • javascript.grammar.string_literals
  • javascript.grammar.unicode_escape_sequences
  • javascript.grammar.trailing_commas
  • javascript.grammar.trailing_commas.trailing_commas_in_object_literals


13: Operators โœ…(#5121)

  • javascript.operators.arithmetic.addition
  • javascript.operators.arithmetic.decrement
  • javascript.operators.arithmetic.division
  • javascript.operators.arithmetic.increment
  • javascript.operators.arithmetic.multiplication
  • javascript.operators.arithmetic.remainder
  • javascript.operators.arithmetic.subtraction
  • javascript.operators.arithmetic.unary_negation
  • javascript.operators.arithmetic.unary_plus
  • javascript.operators.assignment.addition
  • javascript.operators.assignment.bitwise_and
  • javascript.operators.assignment.bitwise_or
  • javascript.operators.assignment.bitwise_xor
  • javascript.operators.assignment.division
  • javascript.operators.assignment.left_shift
  • javascript.operators.assignment.multiplication
  • javascript.operators.assignment.remainder
  • javascript.operators.assignment.right_shift
  • javascript.operators.assignment.simple
  • javascript.operators.assignment.subtraction
  • javascript.operators.assignment.unsigned_right_shift
  • javascript.operators.bitwise.and
  • javascript.operators.bitwise.left_shift
  • javascript.operators.bitwise.not
  • javascript.operators.bitwise.or
  • javascript.operators.bitwise.right_shift
  • javascript.operators.bitwise.unsigned_right_shift
  • javascript.operators.bitwise.xor
  • javascript.operators.comma
  • javascript.operators.comparison.equality
  • javascript.operators.comparison.inequality
  • javascript.operators.comparison.identity
  • javascript.operators.comparison.non_identity
  • javascript.operators.comparison.greater_than
  • javascript.operators.comparison.greater_than_or_equal
  • javascript.operators.comparison.less_than
  • javascript.operators.comparison.less_than_or_equal
  • javascript.operators.conditional
  • javascript.operators.delete
  • javascript.operators.function
  • javascript.operators.function_star
  • javascript.operators.grouping
  • javascript.operators.in
  • javascript.operators.instanceof
  • javascript.operators.logical.and
  • javascript.operators.logical.or
  • javascript.operators.logical.not
  • javascript.operators.new
  • javascript.operators.property_accessors
  • javascript.operators.this
  • javascript.operators.typeof
  • javascript.operators.void
  • javascript.operators.yield_star


14: Statements โœ…(#5127)

  • javascript.statements.block
  • javascript.statements.break
  • javascript.statements.continue
  • javascript.statements.debugger
  • javascript.statements.default.switch
  • javascript.statements.do_while
  • javascript.statements.empty
  • javascript.statements.for
  • javascript.statements.for_in
  • javascript.statements.function
  • javascript.statements.generator_function.not_constructable_with_new
  • javascript.statements.generator_function.trailing_comma_in_parameters
  • javascript.statements.if_else
  • javascript.statements.label
  • javascript.statements.return
  • javascript.statements.switch
  • javascript.statements.throw
  • javascript.statements.try_catch
  • javascript.statements.var
  • javascript.statements.while
  • javascript.statements.with

KR data help wanted

All 2 comments

Looks like we have one last statement, and then Chrome's JavaScript compatibility data is all finished! The remaining one is javascript.statements.import.worker_support (which I wrote the PR for, #4904, and in it I decided to wait until later to find version numbers...and little did I anticipate how soon we'd have to get to it). Once that's done, we can lock Chrome from true/null values!

5136 is the last PR needed to complete this, followed by enforcing Chrome to use only real values!

Was this page helpful?
0 / 5 - 0 ratings

Related issues

ddbeck picture ddbeck  ยท  3Comments

bershanskiy picture bershanskiy  ยท  3Comments

ddbeck picture ddbeck  ยท  3Comments

Elchi3 picture Elchi3  ยท  4Comments

TomasHubelbauer picture TomasHubelbauer  ยท  4Comments