Software Update: Google Chrome 88.0.4324.96

Google has released version 88 of its Chrome web browser. Google Chrome is available for Windows, Linux and macOS. There are also versions for Android and iOS, but they follow a slightly different release schedule. In version 88 there are some things that are no longer possible, such as Adobe Flash, ftp, dtls 1.0 and downloads over a non-secure connection. Fortunately, new things have also been added, such as official support for extensions made with manifest version 3, there is protection against tab nabbing and passwords can now be changed manually. The main changes made in version 88, in addition to the usual bug and security fixes, are listed below for you.

Digital Goods API

Chrome now supports an API for querying and managing digital products to facilitate in-app purchases from web applications. This is used with the Payment Request API, which is used to make the actual purchases. The API would be linked to a digital distribution service connected via the user agent. In Chromium, this is specifically a web API wrapper around the Android Play Billing API.

This is needed so that web apps in the Play Store can accept purchases for digital goods. (Play policies prevent them from accepting payment via any other method.) Without this, websites that sell digital goods are not installable through the Play Store.

In Chrome 88, this is available for Android in an origin trial. For a list of other origin trials starting in this release, see below.

Origin Trials

This version of Chrome introduces the origin trial described below. Origin trials allow you to try new features and give feedback on usability, practicality, and effectiveness to the web standards community. To register for any of the origin trials currently supported in Chrome, including the ones described below, visit the Origin Trials dashboard. To learn more about origin trials themselves, visit the Origin Trials Guide for Web Developers.

New Origin Trials
WebXR: AR Lighting Estimation

Allows sites to query for estimates of the environmental lighting conditions within WebXR sessions. This exposes both spherical harmonics representing the ambient lighting, as well as a cubemap texture representing “reflections”. Adding lighting estimation can help to make models feel more natural and like they “fit” better with the user’s environment. This can make them feel more “real” or “natural”.

In Chrome 88, this is available for Android only.

Completed Origin Trials

The following features, previously in Chrome origin trials, are now enabled by default.

performance.measureMemory() Method

Adds the performance.measureMemory() method that estimates the memory usage of the web page in case the page is currently isolated (eg on Desktop). Because the method is gated behind COOP/COEP web sites need to enabled crossOriginIsolated to use this method. For more information, see Monitor your web page’s total memory usage with measureMemory().

PointerLock unadjustedMovement

Adds the ability to request unadjusted/unaccelerated mouse movement data when in PointerLock. If unadjustedMovement is set to true, then the pointer movements will not be affected by the underlying platform modifications such as mouse acceleration. For more information, see Disable mouse acceleration to provide a better FPS gaming experience.

Other features in this release
Anchor rel=”external” implies rel=noopener by Default

To mitigate “tab-napping” attacks, in which a new tab/window opened by a victim context may navigate that opener context, anchors that target _blank will behave as though rel is set to noopener. To opt out of this behavior, you can set rel to opener. This conforms to a change in the HTML standard.

Dark Mode Form Controls and Scrollbars

Dark mode is an accessibility feature that allows web authors to enable their web pages to be viewed in dark mode. When enabled, users are able to view dark mode supported websites by toggling the dark mode settings on their OS. The benefits of dark mode are being easier on the eyes in a low light environment and lower battery consumption. For more about dark mode and form controls, see Improved dark mode default styling with the color-scheme CSS property and the corresponding meta tag.

AbortSignal in addEventListener()

Adds the AbortSignal option, named signal, to the options parameter of addEventListener(). The signal option must first be created by an AbortController by accessing the signal property on an AbortController instance. Once the signal is passed in to addEventListener(), calling AbortController.abort() removes the event listener added with addEventListener().

CSS aspect ratio Property

Allowance explicitly specifying an aspect ratio for any element to get similar behavior to a replaced element. This generalizes the aspect ratio concept to general elements. It allows various effects, examples include sizing