Web platform features explorer

📃 October 2014 release notes

New in Chrome

The following features are now available in Chrome:

  • Battery status: The navigator.getBattery() API obtains information about the device's battery, including charge level and status. Also known as the Battery API.
  • EXT_blend_minmax WebGL extension: The EXT_blend_minmax extension for WebGL 1.0 contexts adds two blend equations, the minimum and maximum color components of the source and destination colors.
  • EXT_frag_depth WebGL extension: The EXT_frag_depth extension for WebGL 1.0 and 2.0 contexts adds setting the depth value of a fragment from within the fragment shader.
  • EXT_shader_texture_lod WebGL extension: The EXT_shader_texture_lod extension for WebGL 1.0 and 2.0 contexts adds texture functions to the OpenGL ES Shading Language such that the shader writer explicitly controls of the level of detail (LOD).
  • File API: The File API represents and reads from file data and metadata. Typically, you get files through other APIs, such as the <input type="file"> element or drag-and-drop events. You may also send file data to other APIs, such as creating images or drawing on canvases.
  • Iterators and the for...of loop: The for...of loop operates on a sequence of values sourced from an iterable object, such as arrays, array-like objects, DOM collections, iterators, generators, and user-defined iterables. All built-in iterators inherit from the Iterator class.
  • Map (initial support): Map objects hold key-value pairs and remember the original insertion order of the keys.
  • <picture>: The <picture> element is used for art direction in responsive images, where a different image is displayed based on the <source> element.
  • Screen orientation: The screen.orientation API gets information about the orientation of the viewport, such as landscape or portrait. With this API, you can adapt an application's layout or behavior in response to changes in orientation.
  • Set (initial support): Set objects store unique values of any type.
  • srcset and sizes: The srcset and sizes attributes for <img> elements set a list of possible sources for the image and a corresponding list of size conditions for choosing a source, to show a responsive image that fits the size of the display.
  • Symbol: A Symbol value is a unique, non-enumerable primitive value used for encapsulation or information hiding. For example, a symbol can be a key of an object that can never collide with any other key.
  • Text encoding and decoding: The TextEncoder API transforms a stream of code points into a byte stream with UTF-8 encoding, and TextDecoder does the reverse.
  • with: The with JavaScript statement adds a given object to the chain of scopes used to evaluate names.

New in Chrome Android

The following features are now available in Chrome Android:

  • Battery status: The navigator.getBattery() API obtains information about the device's battery, including charge level and status. Also known as the Battery API.
  • EXT_blend_minmax WebGL extension: The EXT_blend_minmax extension for WebGL 1.0 contexts adds two blend equations, the minimum and maximum color components of the source and destination colors.
  • EXT_frag_depth WebGL extension: The EXT_frag_depth extension for WebGL 1.0 and 2.0 contexts adds setting the depth value of a fragment from within the fragment shader.
  • EXT_shader_texture_lod WebGL extension: The EXT_shader_texture_lod extension for WebGL 1.0 and 2.0 contexts adds texture functions to the OpenGL ES Shading Language such that the shader writer explicitly controls of the level of detail (LOD).
  • File API: The File API represents and reads from file data and metadata. Typically, you get files through other APIs, such as the <input type="file"> element or drag-and-drop events. You may also send file data to other APIs, such as creating images or drawing on canvases.
  • Iterators and the for...of loop: The for...of loop operates on a sequence of values sourced from an iterable object, such as arrays, array-like objects, DOM collections, iterators, generators, and user-defined iterables. All built-in iterators inherit from the Iterator class.
  • Map (initial support): Map objects hold key-value pairs and remember the original insertion order of the keys.
  • <picture>: The <picture> element is used for art direction in responsive images, where a different image is displayed based on the <source> element.
  • Screen orientation lock: The screen.orientation.lock() method prevents changes to the screen orientation, typically in fullscreen applications such as games. For example, while locked, rotating a phone to the side won't change the screen orientation from landscape to portrait.
  • Set (initial support): Set objects store unique values of any type.
  • srcset and sizes: The srcset and sizes attributes for <img> elements set a list of possible sources for the image and a corresponding list of size conditions for choosing a source, to show a responsive image that fits the size of the display.
  • Symbol: A Symbol value is a unique, non-enumerable primitive value used for encapsulation or information hiding. For example, a symbol can be a key of an object that can never collide with any other key.
  • Text encoding and decoding: The TextEncoder API transforms a stream of code points into a byte stream with UTF-8 encoding, and TextDecoder does the reverse.
  • with: The with JavaScript statement adds a given object to the chain of scopes used to evaluate names.

New in Firefox

The following features are now available in Firefox:

  • @counter-style: The @counter-style CSS at-rule sets custom counter styles for list items. For example, you can use a sequence of specific symbols instead of numbers for an ordered list.
  • DOM Geometry: The DOMMatrix, DOMPoint, DOMQuad and DOMRect interfaces offer a way to represent points, rectangles, quadrilaterals and transformation matrices within JavaScript. They can be used in transformations in CSS, <canvas>, and SVG.
  • Screen capture: The navigator.mediaDevices.getDisplayMedia() method asks the user to choose a screen or portion of a screen (such as a window) to capture as a media stream.

New in Firefox for Android

The following features are now available in Firefox for Android:

  • @counter-style: The @counter-style CSS at-rule sets custom counter styles for list items. For example, you can use a sequence of specific symbols instead of numbers for an ordered list.
  • DOM Geometry: The DOMMatrix, DOMPoint, DOMQuad and DOMRect interfaces offer a way to represent points, rectangles, quadrilaterals and transformation matrices within JavaScript. They can be used in transformations in CSS, <canvas>, and SVG.

New in Safari

The following features are now available in Safari:

  • ANGLE_instanced_arrays WebGL extension: The ANGLE_instanced_arrays extension for WebGL 1.0 contexts draws the same object multiple times or groups of similar objects multiple times, if the group shares the same vertex data, primitive count and type.
  • Audio and video tracks: The audioTracks and videoTracks APIs for media elements switch audio and video tracks during playback.
  • background-blend-mode: The background-blend-mode CSS property blends an element's background image and background color using blend modes like multiply, difference, or color.
  • background-repeat: The background-repeat CSS property sets how a background image is tiled.
  • EXT_shader_texture_lod WebGL extension: The EXT_shader_texture_lod extension for WebGL 1.0 and 2.0 contexts adds texture functions to the OpenGL ES Shading Language such that the shader writer explicitly controls of the level of detail (LOD).
  • fastSeek(): The fastSeek() method seeks an <audio> or <video> element as fast as possible, by seeking to a keyframe instead of exactly the requested time.
  • isolation: The isolation CSS property creates a new stacking context, which impacts z-index ordering and blend modes.
  • Map (initial support): Map objects hold key-value pairs and remember the original insertion order of the keys.
  • Media source: The MediaSource API is a custom data source for media elements commonly used for adaptive streaming. Also known as Media Source Extensions (MSE).
  • mix-blend-mode: The mix-blend-mode CSS property blends an element's content with its background or parent elements using blend modes like multiply, difference, or color.
  • OES_element_index_uint WebGL extension: The OES_element_index_uint extension for WebGL 1.0 contexts adds support for gl.UNSIGNED_INT types to WebGLRenderingContext.drawElements().
  • OES_standard_derivatives WebGL extension: The OES_standard_derivatives extension for WebGL 1.0 contexts adds the GLSL derivative functions dFdx, dFdy, and fwidth.
  • OES_texture_float WebGL extension: The OES_texture_float extension for WebGL 1.0 contexts adds floating-point pixel types for textures.
  • OES_texture_float_linear WebGL extension: The OES_texture_float_linear extension for WebGL 1.0 and 2.0 contexts adds linear filtering with floating-point pixel types for textures.
  • OES_texture_half_float WebGL extension: The OES_texture_half_float extension for WebGL 1.0 contexts adds texture formats with 16-bit (also known as half float) and 32-bit floating-point components.
  • OES_texture_half_float_linear WebGL extension: The OES_texture_half_float_linear extension for WebGL 1.0 contexts adds linear filtering with half floating-point pixel types for textures.
  • OES_vertex_array_object WebGL extension: The OES_vertex_array_object extension for WebGL 1.0 contexts adds vertex array objects (VAOs) which encapsulate vertex array states. These objects keep pointers to vertex data and names for different sets of vertex data.
  • Performance: The performance global object and the Performance API provide access to performance-related information for the current execution context.
  • Promise (initial support): A promise represents an asynchronous operation which eventually succeeds or fails.
  • Set (initial support): Set objects store unique values of any type.
  • <template>: The <template> HTML element holds HTML fragments which you can clone and insert into the document using JavaScript.
  • WeakMap: A WeakMap object holds key-value pairs that do not create strong references to its keys, such that value data can be associated with a key without preventing garbage collection of the key.
  • WEBGL_compressed_texture_s3tc WebGL extension: The WEBGL_compressed_texture_s3tc extension for WebGL 1.0 and 2.0 contexts adds S3TC compressed texture formats to compressedTexImage2D() and compressedTexSubImage2D().
  • WEBGL_depth_texture WebGL extension: The WEBGL_depth_texture extension for WebGL 1.0 contexts defines 2D depth and depth-stencil textures.
  • WEBGL_lose_context WebGL extension: The WEBGL_lose_context extension for WebGL 1.0 and 2.0 contexts simulates losing and restoring a WebGLRenderingContext or WebGL2RenderingContext.