Posted on Leave a comment

Chrome 101: Federated Credential Management Origin Trial, Media Capabilities for WebRTC, and More

Unless otherwise noted, changes described below apply to the newest Chrome beta channel release for Android, Chrome OS, Linux, macOS, and Windows. Learn more about the features listed here through the provided links or from the list on ChromeStatus.com. Chrome 101 is beta as of March 31, 2022. You can download the latest on Google.com for desktop or on Google Play Store on Android.

Chrome is trying to reduce the amount of information the user agent string exposes in HTTP requests as well as in navigator.userAgent, navigator.appVersion, and navigator.platform. We’re doing this to prevent the user agent string from being used for passive user fingerprinting. To join the origin trial, see its entry on Chrome Origin Trials. See the end of this article for additional deprecations and removals.

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 Chrome Origin Trials dashboard. To learn more about origin trials in Chrome, visit the Origin Trials Guide for Web Developers. Microsoft Edge runs its own origin trials separate from Chrome. To learn more, see the Microsoft Edge Origin Trials Developer Console.

New Origin Trial

Federated Credential Management API

Federated Credential Management API (FedCM) aims to create privacy-preserving identity federation and is designed to make identity federation continue to allow use cases without the need for cross-site tracking such as third-party cookies. This feature starts its origin trial in 101 on Android only. We expect to add desktop support in Chrome 102.

Completed Origin Trials

The following feature, previously in a Chrome origin trial, is now enabled by default.

Priority Hints

Priority Hints provides a way to indicate a resource’s relative importance to the browser, allowing more control over the order resources are loaded.

AudioContext.outputLatency

AudioContext.outputLatency property is an estimation in seconds of the interval between when the user agent requests a host system to play a buffer and when the first sample in the buffer is processed by the audio output device. For devices such as speakers or headphones that produce an acoustic signal, ‘processed by the audio output device’ refers to the time when a sample’s sound is produced. This property helps developers compensate for the latency between the input and the output. It’s also useful for synchronization of video and audio streams.

This property is already implemented in Firefox.

font-palette and Custom @font-palette-values Palettes

The font-palette CSS property allows selecting a palette from a color font. In combination with the @font-palette-values at-rule, custom palettes can be defined. This feature is useful in designs where an icon or emoji font is used with dark or light mode, or when using multi-colored icon fonts that use the font-palette to harmonize with the content’s color scheme.

hwb() CSS function

HWB (short for ‘hue whiteness blackness’) is another method of specifying sRGB colors, similar to HSL, but often even easier for humans to work with. The hwb() function specifies HWB values in CSS. The function takes three arguments. The first, hue, specifies hue in degrees (not constrained to the range [0, 360]). The next two, whiteness and blackness, are specified as percentages.

Make Popup Argument for window.open() Evaluate to ‘true’

This feature follows a recent change to the spec for parsing the popup argument for window.open(). Previously, when popup was set equal to true, window.open() was interpreted to mean false. This is counterintuitive and confusing. This change makes boolean features easier to use and understand.

MediaCapabilities API for WebRTC

The MediaCapabilities API has been extended to support WebRTC streams. The MediaCapabilities API helps websites make informed decisions on what codec, resolution, etc. to use for video playback by indicating whether a configuration is supported and also whether the playback is expected to be smooth.
Without this feature, web apps need to guess about suitable configurations. This can result in poor quality such as when an application uses low resolution or frame rates unnecessarily, or stuttering when the frame rate is too high.

Secure Payment Confirmation API V3

The following features from version three of the Secure Payment Confirmation API are now implemented:

  • A relying party ID that is a required input. Because this is required, existing code will need to be updated.
  • An optional boolean to allow failed instrument icon download.
  • A payeeName property as an optional input.

USBDevice forget()

The USBDevice forget() method allows web developers to voluntarily revoke a permission to a USBDevice that was granted by a user.

WebUSB sameObject Behavior

USBConfiguration, USBInterface, USBAlternateInterface, and USBEndpoint instances are now only strictly equal (“===”) when they are retrieved from accessors on the same USBDevice.

This version of Chrome introduces the deprecations and removals listed below. Visit ChromeStatus.com for lists of current deprecations and previous removals.

Remove WebSQL in Third-Party Contexts

WebSQL in third-party contexts is now removed. The Web SQL Database standard was first proposed in April 2009 and abandoned in November 2010. Gecko never implemented this feature and WebKit deprecated it in 2019. The W3C encourages Web Storage and Indexed Database for those needing alternatives.

Developers should expect that WebSQL itself will be deprecated and removed when usage is low enough.

Leave a Reply

Your email address will not be published.