Chrome 91 released back in May with an improved File System Access API and support for the automatic transfer of one-time passwords (OTP) from SMS to cross-origin iframes on the web. Today, Chrome 92 will be rolling out in the Stable channel and notably, it enhances the behavior of PWAs and deprecates a payment handler configuration, among other things.
Chrome previously allowed payment handlers to receive events for “paymentrequest” as long as it came via standardized payment method identifiers such as tokenized-card or basic-card. However, the company has observed that since these do not have lists to explicitly allow or block access and can be installed silently, they can mislead and confuse a user who receives a popup for an obscure payment handler even though they are trying to make a transaction with their credit or debit card already stored in the browser. As such, this feature is now being removed.
There are bunch of developer-focused capabilities in this release as well. Following frequent requests, the Display P3 color space can be used to create a 2D canvas. While the convention is sRGB, it is not good enough for most modern displays, hence this enhancement. Furthermore, the sticky positioned element on a webpage being targeted by any operation has to revert to its original position without any offset.
There are accessibility improvements being made as well for those who use screen readers. Typically, screen readers with touch screens feature a “touch exploration” mode in which users can tap across the screen and receive feedback depending upon the element they touch. However, Google says that this capability is not always desirable so now developers can add an “aria-touchpassthrough” HTML element which will allow gestures to receive no feedback when applied. The specification for the imperative slot distribution API has been finalized as well and is supported in Chrome 92. Some enhancements to CSS @font-face have been made too.
Yet another feature that developers will find particularly useful is an improvement to the method called Intl.DateTimeFormat(), which can now handle times such as “1 in the afternoon” and “6 in the evening”. This is in line with what is already offered in Java and C++. Prior to this feature being natively offered, developers had to either format the time on the server-side or transfer the mappings from the server to the client. Similarly, the Intl Locale Info API, currently being proposed in Stage ECMAScript TC39, is now supported in Chrome 92 to expose locale information. In the same vein, a relative indexing method called at() has been introduced for Array, String, and TypedArrays.
Improvements are being made to how Resource Timing handles tainted origin flags. In order to enable developers to build more secure applications, the crypto.randomUUID() is being introduced to generate UUIDs that are compliant with RFC 4122.
Web developers will be further pleased to know that Chrome 92 contains a proposal for a Shared Element Transitions script API that enables smooth transitions for Single-Page Applications (SPAs) and Multi-Page Applications (MPAs) without requiring major effort.
Another feature that is bound to please both Bluetooth device manufacturers and their end-users is that the former will now be able to use vendor and product IDs to show only their Bluetooth devices in the browser. This means that the UI will be potentially less cluttered if this filter is applied instead of showing all nearby devices.
Finally, Progressive Web Apps (PWAs) can now register themselves as the default handlers of specific URLs via their installation manifest. This will not only enhance the end-user experience but also increase the discoverability of a PWA.
Chrome 92 will be rolling out later today. If it does not update to version 92 automatically for you throughout the course of the day, head over to Help > About Google Chrome to trigger the update once it becomes available. Next up is Chrome 93 which is currently in the Dev channel, scheduled to hit Beta on July 29, with a Stable release expected on August 31.