Chrome Release Summary

Chrome version: 125, 124, 123, 122, 121, 120, 119, 118, 117, 116, 115, 114, 113, 112, 111, 110, 109, 108, 107, 106, 105, 104, 103, 102, 101, 100, 99, 98, 97, 96, 95, 94, 93, 92, 91, 90, 89, 88, 87, 86, 85, 84, 83, 82, 81, 80, 79, 78, 77, 76, 75, 74, 73, 72, 71, 70, 69, 68, 67, 66, 65, 64, 63, 62, 61, 60, 59, 58, 57, 56, 55, 54, 53, 52, 51, 50, 49, 48, 47, 46, 45, 44, 43, 42, 41, 40, 39, 38, 37, 36, 35, 34, 33, 32, 31, 30, 29, 28, 27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0

Chrome 57

Enabled (29) | Origin Trial (0) | Behind a flag (2) | Deprecated (1) | Removed (6)

Enabled by default in 57

This release of Chrome had 29 new features.

Add sequence constructor to PresentationRequest and PresentationConnection.url

This change adds a new constructor to PresentationRequest taking taking multiple URLs (sequence<DOMString>), in addition to the existing constructor that takes a single URL. It also adds the url attribute to PresentationConnection to tell the site what URL was presented. #

This feature was specified in this Spec.

Add |timecode| to MediaRecorder's BlobEvent

MediaRecorder produces BlobEvents that have no timing information. [1] requested adding a DOMHighResTimestamp to said BlobEvent [2]. The Pull Request was reviewed and approved by the only two implementors of the said API, Gecko and Chrome. [1] https://github.com/w3c/mediacapture-record/issues/73 [2] https://github.com/w3c/mediacapture-record/pull/95 #

This feature was specified in this Spec.

Resources

Docs: https://developer.mozilla.org/en-US/docs/Web/API/BlobEventhttps://developer.mozilla.org/en-US/docs/Web/API/BlobEvent/timecodehttps://developer.mozilla.org/en-US/docs/Web/API/BlobEvent/BlobEvent

No linked samples

CSS ::placeholder pseudo element

Unprefixed version of ::-webkit-input-placeholder. #

This feature was specified in this Spec.

CSS Grid Layout

A two-dimensional grid-based layout system, optimized for user interface design. #

This feature was specified in this Spec.

Resources

Docs: https://developer.mozilla.org/en-US/docs/Learn/CSS/CSS_layout/Gridshttps://css-tricks.com/snippets/css/complete-guide-grid/

Samples: http://gridbyexample.com/http://labs.jensimmons.com/

CSS UI: caret-color property

This property allows coloring the insertion caret. #

This feature was specified in this Spec.

Resources

Docs: https://developer.mozilla.org/en-US/docs/Web/CSS/caret-color

No linked samples

CSS logical height and width

Implement {inline-,block-}size and {min-,max-}{inline-,block-}size, which are introduced by CSS Logical Properties. The related properties are: inline-size, block-size , min-inline-size,min-block-size, max-inline-size, max-block-size Provide the author with the ability to control layout through logical, rather than physical, direction and dimension mappings. #

This feature was specified in this Spec.

Resources

Docs: https://developer.mozilla.org/docs/Web/CSS/CSS_Logical_Propertieshttps://drafts.csswg.org/css-writing-modes/#logical-to-physical

Samples: https://jsfiddle.net/xuxing/fL8rpcko/https://jsfiddle.net/xuxing/433e3fdw/https://jsfiddle.net/xuxing/25xh1mpn/https://jsfiddle.net/xuxing/ug00c0vj/

CSS3 Text Decorations

CSS3 Text Decoration specification provides new properties that implements new text decoration styling features such as lines, color and style. As the specification says: "CSS Levels 1 and 2 only defined very basic line decorations (underlines, overlines, and strike-throughs) appropriate to Western typographical traditions. Level 3 of this module adds the ability to change the color, style, position, [...]" This Chromestatus entry consists of the https://drafts.csswg.org/css-text-decor-2 #

This feature was specified in this Spec.

Resources

Docs: https://developer.mozilla.org/en-US/docs/Web/CSS/text-decoration

No linked samples

Child-indexed pseudo-classes matching elements without a parent

Change how the child-indexed pseudo-class selectors are matched so they also match elements without a parent. This is a change in the spec from selectors-3 to selectors-4. The reasoning for this is explained in the spec. #

This feature was specified in this Spec.

Resources

No linked docs

Samples: http://software.hixie.ch/utilities/js/live-dom-viewer/?%3C!DOCTYPE%20html%3E%0A%3Cstyle%3Ehtml%20%7B%20color%3A%20red%3B%20%7D%20html%3Afirst-child%20%7B%20color%3A%20green%3B%20%7D%3C%2Fstyle%3E%0Afoo

FontFaceSetLoadEvent Constructor

This entry tracks exposing FontFaceSetLoadEvent constructor. #

This feature was specified in this Spec.

Resources

Docs: https://developer.mozilla.org/en-US/docs/Web/API/FontFaceSetLoadEvent/FontFaceSetLoadEvent

No linked samples

Fullscreen Media Orientation

Automatically lock the screen orientation when a video with default controls go fullscreen in order to maximize the screen usage. The orientation of the screen will match the aspect ratio of the video. #

This feature was specified in this Spec.

Intl.DateTimeFormat.prototype.formatToParts()

Intl.DateTimeFormat.prototype.formatToParts() is scheduled to be added to the EcmaScript Internationalization API specification (Ecma 402). It adds a method to format date and time to a list of tokens and their type (e.g. literal, day, year, month, hour, minute, era, etc). #

This feature was specified in this Spec.

Resources

Docs: https://github.com/tc39/ecma402/issues/30https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/DateTimeFormat/formatToPartshttps://github.com/zbraniecki/proposal-intl-formatToParts

No linked samples

MediaDevices devicechange event

The devicechange event is fired when a media device (e.g., camera, microphone or speaker) is connected to or removed from the system. This feature is useful for applications that wish to react to changes in the set of available media devices; for example, to show a device list that is always up-to-date. This is expected to be on by default in Chrome 57. #

This feature was specified in this Spec.

Resources

Docs: https://developer.mozilla.org/en-US/docs/Web/Events/devicechange

No linked samples

Navigation Timing 2

Navigation Timing 2 (NT2) enables obtaining accurate timing data related to the navigation of the document. #

This feature was specified in this Spec.

Resources

Docs: https://developer.mozilla.org/en-US/docs/Web/API/PerformanceNavigationTiming

No linked samples

PaymentDetails.error

When the payment request is updated using updateWith, the PaymentDetails can contain a message in the error field that will be displayed to the user. For example, this might commonly be used to explain why goods cannot be shipped to the chosen shipping address. The error field cannot be passed to the PaymentRequest constructor. Doing so will cause a TypeError to be thrown. #

This feature was specified in this Spec.

Resources

Docs: https://developer.mozilla.org/en-US/docs/Web/API/PaymentRequestUpdateEvent/PaymentRequestUpdateEvent

Samples: https://rsolomakhin.github.io/pr/us/

RTCDataChannelEvent constructor

This entry track exposing RTCDataChannelEvent constructor. RTCDataChannel and RTCDataChannelEvent was implemented and shippped before the current process. #

This feature was specified in this Spec.

Resources

Docs: https://developer.mozilla.org/en-US/docs/Web/API/RTCDataChannelEvent

No linked samples

Remove MediaRecorder |ignoreMutedMedia|

After discussion in the W3C Spec Github [1], there is agreement to remove this feature (and its associated boolean attribute). FF never shipped it [2], Chromium never wired its behaviour [3]. [1] https://github.com/w3c/mediacapture-record/issues/99 [2] https://github.com/mozilla/gecko-dev/blob/master/dom/webidl/MediaRecorder.webidl [3] https://cs.chromium.org/search/?q=m_ignoreMutedMedia&sq=package:chromium&type=cs #

This feature was specified in this Spec.

Resources

Docs: https://w3c.github.io/mediacapture-record/MediaRecorder.html

No linked samples

Remove ServiceWorkerMessageEvent in favor of using MessageEvent

As HTML spec extended MessageEvent to allow ServiceWorker as a type of the source attribute, client.postMessage(message, transfer) and creation of custom message events are changed to use MessageEvent instead of ServiceWorkerMessageEvent. ServiceWorkerMessageEvent is removed. #

This feature was specified in this Spec.

String.prototype.padStart() / String.prototype.padEnd()

String formatting tools which returns a target/receiver string prepended or appended with a repeating pattern of characters: "foo".padStart(10, "0"); -> "0000000foo"; "foo".padEnd(10, "0"); -> "foo0000000"; #

This feature was specified in this Spec.

Resources

Docs: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/padStarthttps://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/padEndhttp://www.2ality.com/2015/11/string-padding.html

No linked samples

WebAssembly

WebAssembly, or wasm, is an efficient low-level programming language for in-browser client-side execution. It is designed to support C/C++ and similar low-level languages. Future versions may be enhanced to better support other languages. WebAssembly is intended to be small, fast to decode, fast to compile, and fast to execute. #

This feature was specified in this Spec.

Resources

Docs: https://github.com/WebAssembly/designhttps://github.com/WebAssembly/spechttps://developer.mozilla.org/en-US/docs/WebAssembly

No linked samples

WebAudio: Add AudioContext.getOutputTimestamp() method

The AudioContext.getOutputTimestamp() method helps to synchronize DOM time and AudioContext time values. It is used to estimate DOMHighResTimeStamp value of the audio output stream position for the given AudioContext.currentTime value, or do the opposite: estimate AudioContext.currentTime value of the audio output stream position for the given DOMHighResTimeStamp value. #

This feature was specified in this Spec.

Resources

Docs: https://webaudio.github.io/web-audio-api/#widl-AudioContext-getOutputTimestamp-AudioTimestamphttps://developer.mozilla.org/en-US/docs/Web/API/AudioContext

No linked samples

WebAudio: Add AudioScheduledSourceNode base class for source nodes

Add AudioScheduledSourceNode as a base class of AudioBufferSourceNode, OscillatorNode, and ConstantSourceNode. This is a small change to capture the common features of the source nodes into a base class. #

This feature was specified in this Spec.

Resources

Docs: https://webaudio.github.io/web-audio-api/#AudioScheduledSourceNode

No linked samples

WebAudio: AudioParam cancelAndHoldAtTime

cancelAndHoldAtTime cancels future AudioParam events and holds the value of the AudioParam at the value at the scheduled time. #

This feature was specified in this Spec.

Resources

Docs: https://developer.mozilla.org/en-US/docs/Web/API/AudioParam/cancelAndHoldAtTimehttps://webaudio.github.io/web-audio-api/#widl-AudioParam-cancelAndHoldAtTime-AudioParam-double-cancelTime

No linked samples

WebAudio: Event Constructors

Allow WebAudio-specific events to be constructed. Specifically, OfflineAudioCompletionEvent and AudioProcessEvent can be constructed. #

This feature was specified in this Spec.

Resources

Docs: https://webaudio.github.io/web-audio-api/#OfflineAudioCompletionEventhttps://webaudio.github.io/web-audio-api/#the-audioprocessingevent-interface---deprecated

No linked samples

WebAudio: Remove prefixed AudioContext and OfflineAudioContext

Support for webkitAudioContext and webkitOfflineAudioContext is removed in favor of AudioContext and OfflineAudioContext. Currently warnings are produced, but upon removal, the prefixed versions will no longer exist. #

This feature was specified in this Spec.

XSS Auditor blocks by default

Chrome's XSS Auditor should block pages by default, rather than filtering out suspected reflected XSS. Moreover, we should remove the filtering option, as breaking specific pieces of page's script has been an XSS vector itself in the past. #

This feature was specified in this Spec.

Resources

Docs: https://msdn.microsoft.com/en-us/library/dd565647(v=vs.85).aspx

No linked samples

basic-card support in PaymentRequest

Support the "basic-card" method for web payments. #

This feature was specified in this Spec.

Resources

No linked docs

Samples: https://rsolomakhin.github.io/pr/

fieldset.elements returns an HTMLCollection, not an HTMLFormControlsCollection

The specification was changed so that fieldset.elements returns an HTMLCollection instead of an HTMLFormControlsCollection. https://github.com/whatwg/html/commit/934887d313305448b7ba6dd3af6f7434e1b600c8 #

This feature was specified in this Spec.

location.reload() behavior change

Originally, location.reload() revalidates all cached resources. But from the m57, this behavior is changed to revalidate only the main resource, and to follow cache policy protocols for subresources. #

This feature was specified in this Spec.

ongot/lostpointercaptures in GlobalEventHandlers

Previously in PointerEvents spec v1 (https://www.w3.org/TR/pointerevents/) we had ongotpointercapture and onlostpointercapture attributes as part of the Element. Now we are moving them to GlobalEventHandlers to make them consistent with the other on'event' attributes as the capture events will also bubble similar to other events. Note that this way of listening to the events through on'event' attributes are legacy and should not be mostly used. But this change makes sure they are all consistent. #

This feature was specified in this Spec.

Origin Trials in-progress in 57

This release of Chrome had 0 new origin trials.

Flagged features in 57

This release of Chrome had 2 are available behind a flag.

Intervention: Block audible cross-origin autoplay

This is an intervention that intends to block cross-origin iframes from autoplaying audible media. In other words, cross-origin iframes on desktop will behave like mobile currently behaves: only muted/inaudible autoplay will be allowed. #

This feature was specified in this Spec.

MediaStreamTrack Content Hints

This feature extends MediaStreamTrack to provide a media-content hint attribute. This optional hint permits MediaStreamTrack consumers such as PeerConnection or MediaRecorder to encode or process track media with methods more appropriate to the type of content that is being consumed. #

This feature was specified in this Spec.

Resources

Docs: https://developer.mozilla.org/en-US/docs/Web/API/MediaStreamTrack

No linked samples

Deprecations and Removals

Deprecation policy

To keep the platform healthy, we sometimes remove APIs from the Web Platform which have run their course. There can be many reasons why we would remove an API, such as:

Some of these changes will have an effect on a very small number of sites. To mitigate issues ahead of time, we try to give developers advanced notice so they can make the required changes to keep their sites running.

Chrome currently has a process for deprecations and removals of API's, essentially:

You can find a list of all deprecated features on chromestatus.com using the deprecated filter and removed features by applying the removed filter. We will also try to summarize some of the changes, reasoning, and migration paths in these posts.

Deprecated features in 57

This release of Chrome had 1 features deprecated.

Deprecate and remove -internal-media-controls-overlay-cast-button

-internal-media-controls-overlay-cast-button selector exposes Blink internal shadow DOM to the web content. Authors that want to have a custom cast button should use custom controls and implement a cast button with the Remote Playback API. Authors that have custom controls and want to hide the overlay can use the `disableRemotePlayback` attribute. #

This feature was specified in this Spec.

Removed features in 57

This release of Chrome had 6 features removed.

Deprecate and Remove webkitCancelRequestAnimationFrame

webkitCancelRequestAnimationFrame is an obsolete, vendor-specific API. Authors should use cancelAnimationFrame instead. #

This feature was specified in this Spec.

Legacy constants on Event

There are 16 numeric constants on Event, Event.MOUSEDOWN and others. These constants no longer serve any purpose. #

This feature was specified in this Spec.

Prefixed Resource Timing buffer-management API

Support for webkitClearResourceTimings(), webkitSetResourceTimingBufferSize(), and onwebkitresourcetimingbufferfull is removed from the Performance interface, in favor of clearResourceTimings(), setResourceTimingBufferSize(), and onresourcetimingbufferfull. Currently warnings are produced, but upon removal, the prefixed versions will no longer exist. #

This feature was specified in this Spec.

Resources

Docs: https://developer.mozilla.org/en-US/docs/Web/API/Performance/clearResourceTimingshttps://developer.mozilla.org/en-US/docs/Web/API/Performance/setResourceTimingBufferSizehttps://developer.mozilla.org/en-US/docs/Web/API/Performance/onresourcetimingbufferfull

No linked samples

Remove Key Generation Element

Since Chrome 49, <keygen>'s default behaviour has been to return the empty string, unless a permission was granted to this page. Removed in Chrome 57. #

This feature was specified in this Spec.

Resources

Docs: https://developer.mozilla.org/en-US/docs/Web/HTML/Element/keygen

No linked samples

SVGCursorElement

The <cursor> element. Can be referenced from the 'cursor' property to provide a use-defined cursor image. #

This feature was specified in this Spec.

Resources

Docs: https://developer.mozilla.org/en-US/docs/Web/API/SVGCursorElement

No linked samples

webkit-prefixed IndexedDB global aliases

The IndexedDB entry point and global constructors were exposed with `webkit` prefixes as was common circa Chrome 11: webkitIndexedDB (main entry point) webkitIDBKeyRange (non-callable global constructor, but has useful static methods) webkitIDBCursor webkitIDBDatabase webkitIDBFactory webkitIDBIndex webkitIDBObjectStore webkitIDBRequest webkitIDBTransaction (non-callable global constructors) The non-prefixed API shipped in M24 and the prefixed versions deprecated in M38. #

This feature was specified in this Spec.

Resources

Docs: https://developer.mozilla.org/en-US/docs/Web/API/IndexedDB_API

No linked samples