Software update: Google Chrome 70.0.3538.67




oogle has released version 70 of its web browser Chrome. 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. Since version 50, the support for older versions of Windows and macOS has expired . Version 70 makes it possible, among other things, to set permissions for extensions per site. The most important changes in this issue, in addition to the usual bug and security fixes , are listed below for you.

Shape Detection Origin Trial
The Shape Detection API makes a device’s shape detection capabilities available on the web, letting you identify faces, barcodes, and text in images. It does this without the use of a performance-killing library. As Chrome 70, this API is available for experimentation through a Chrome origin trial . The Shape Detection API consists of three APIs: A Face Detection API , a Barcode Detection API and a Text Detection API . Given an image bitmap or a blob, the Face Detection API returns the sights of eyes, noses, and mouths within those faces. To give you rudimentary control of performance, you can limit the number of returned faces and prioritize speed over performance. The Barcode Detection API decodes barcodes and QR codes into strings. (There is a QR code demo at ) The value can be anything from a single set of digits to multi-line text. The Text Detection API reads Latin-1 text (as defined in iso8859-1 ) in images. All of these APIs only expose what’s supported in the underlying device . A short example will give you a taste of these APIs, all of which work in a similar fashion. The code below finds all barcodes or QR codes in a given image and prints their values ​​to the console.
const image = document.getElementById (‘someImage’);
try {
const barcodeDetector = new Barcode Detector ();
const barcodes = await barcodeDetector.detect (image);
barcodes.forEach (barcode => console.log (barcodes.rawValue));
} catch (exception) {
console.error (‘Boo! Barcode detection failed:’, exception);
Web Authentication
Chrome 70 has two updates to the Web Authentication API related to the PublicKeyCredential type. The Credential Management API, enabled in Chrome 51, defined framework for handling credentials that included semantics for creating, getting, and failure them. It did this through two credential types: PasswordCredential and FederatedCredential . The Web Authentication API adds a third credential type, PublicKeyCredential , which allows us to use cryptographically attested, and application-scoped credentials to strongly authenticate users. The PublicKeyCredential type was enabled by default on desktop in Chrome 67. Chrome is also enabled by default on Android. Also enabled by mac OS are TouchID and Android’s fingerprint sensor via Web Authentication. These allow developers to access biometric authenticators through the Credential Management APIs PublicKeyCredential type.

Displaying a dialog causes pages to lose fullscreen
Dialog boxes, specific authentication prompts, payments, and file pickers require context for users to make decisions. Fullscreen, by definition is immersive, and removes the context that requires a decision. Chrome now exits full screen whenever a page shows a dialog box.

Add referrerpolicy support to elements
Many resource-fetching elements have support for the referrerpolicy attribute, which lets developers provide a reference to the referrerpolicy HTTP header that accompanies a request. The element already has support for this, so it is technically possible to preload a script with a developer-set referrer policy. Starting in this version of Chrome, the element supports the referrerpolicy as well.

The element defaults to display: none
The default style of the element has been changed to display:none instead of display:inline even if it is not inside the element as defined in the HTML specification. This behavior is implemented in the user agent stylesheet, but the web author can override it.

Intervention Reports
An intervention is when a user agent does not apply for security, performance, or annoyance reasons. With this change, Chrome can be configured and deprecated messages to your servers using the Report-To HTTP Response header and ReportingObserver them in the ReportingObserver interface. This is the first report of the report-To header. Follow these links to learn more about the header and the interface .

Support codec and container switching with MSE using SourceBuffer.changeType ()
This change adds the SourceBuffer.changeType() method to improve cross-codec or cross-byte stream transitions during playback with Media Source Extensions .

Support Opus in mp4 with Media Source Extensions
Opus is an audio codec already supported by the HTML5 src attribute on elements. It is now supported by Media Source Extensions .

‘name’ attribute for dedicated workers
Dedicated workers now have a name attribute , which is specified by an optional argument on the worker’s constructor. You can work with multiple workers with the same URL. Developers can print in the DevTools console which will make it easier to debug workers. When the name parameter is omitted, an empty string is used as the default value. For more information, see the discussion on GitHub .

ontouch * APIs default to disabled on desktop
To avoid confusion on touch feature detection, ontouch* members on window , document , and element are disabled by default on desktop (Mac, Windows, Linux, ChromeOS). Note that this is not disabling touches, and usage such as addEventListener(“touchstart”, …) is not affected.

Options dictionary for postMessage methods
An optional PostMessageOptions object has been added as an argument to postMessage() for 6 of the 7 interfaces where it’s supported, specifically, DedicatedWorkerGlobalScope , MessagePort , ServiceWorker , ServiceWorker.Client , Window , and Worker . This gives the function a similar interface on its definitions and allows it to be extended in the future. Because broadcastChannel.postMessage() does not take additional arguments (such as transfer) it is not being changed.

RTCPeerConnection.getConfiguration ()
This getConfiguration() was getConfiguration() according to the WebRTC 1.0. Specifically it returns the last configuration applied via setConfiguration() , or if setConfiguration() has not been called, the configuration the RTCPeerConnection was constructed with.

A description property is a symbol of the symbol. Symbol.prototype to provide a more ergonomic way of accessing the description of a Symbol. Previously, the description could only be accessed indirectly through Symbol.protoype.toString() .

TLS 1.3
TLS 1.3 is an overhaul of the TLS protocol with a simpler, less error-prone design that improves both efficiency and security. The new design reduces the number of round trips required to establish a connection and removes legacy insecure options, making it easier to securely configure a server. It additionally encrypts more of the handshake and makes the resumption mode more resilient to key compromise.

Update behavior of CSS Grid Layout percentage row tracks and gutters
Percentage of row tracks and gutters in grid containers now have indefinite heights . Previously, these were behaving similarly to percentage heights in regular blocks, but the CSS Working Group has resolved them symmetrically. Percentages are now ignored when computing intrinsic height and resolved afterwards against that height. That way both column and row axes will have symmetric behavior to resolve percentages of tracks and gutters.

Web Bluetooth available on Windows 10
Web Bluetooth allows websites to communicate over GATT with nearby user-selected Bluetooth devices in a secure and privacy-preserving way. In Chrome 56, this shipped on Android, ChromeOS, and macOS. In Chrome 70 it is shipping on Windows 10 . For earlier versions of Windows and Linux, it is still behind a flag (chrome: // flags / # enable-experimental-web-platform-features).

WebUSB on Dedicated Workers
WebUSB is enabled inside dedicated workers . This allows developers to perform heavy I / O and processing or data from a USB device on a separate thread to reduce the performance impact on the main thread.

Deprecations and Interoperability Improvements
Chrome sometimes deprecates, removes, or changes to increase interoperability with other browsers. This version of Chrome includes the following such changes.

Remove AppCache from insecure contexts.
AppCache is now removed from insecure contexts . AppCache is a powerful feature that allows offline and persistent access to an origin, which is a powerful privilege escalation for cross-site scripting. This removes that attack by means of HTTPS. Developers looking for an alternative to AppCache are encouraged to use service workers. An experimental library is available to ease that transition.

Remove anonymous getter for HTMLFrameSetElement
The anonymous getter for HTMLFrameSetElement is non-standard and therefore removed .

Deprecate and remove Gamepads.item ()
The legacy item() accessor is removed from the Gamepads array. This change improves compatibility with Firefox which is so far the only browser to implement GamepadList .

Deprecate Custom Elements v0
Custom Elements are a web components technology that lets you create new HTML tags, beef up existing tags, or extend components authored by other developers. Custom Elements v1 have been implemented in Chrome since version 54, which shipped in October 2016. Custom Elements v0 is now deprecated with removal expected in Chrome 73, around March 2019.

Deprecate HTML Imports
HTML Imports, which allow to be deprecated . Removal is expected in Chrome 73, around March 2019. Sites depending on HTML imports already require polyphill on non-Chromium browsers. When HTML imports are removed, sites that have the polyphill should continue to work on Chrome.

Deprecate Shadow DOM v0
Shadow DOM is a web components technology that uses scoped subtrees inside elements. Shadow DOM v1 has been implemented in Chrome since version 53, which is shipped in August of 2016. Shadow DOM v0 is now deprecated with removal expected in Chrome 73, around March 2019. Sites depending on HTML imports already require a polyfill on non-Chromium browsers . When Shadow DOM v0 is removed, sites that have the polyphill should continue to work on Chrome.

Deprecate SpeechSynthesis.speak () without user activation
The speechSynthesis.speak() function now throws an error if the document has not received a user activation. This API is being abused by sites since it is one of the only remaining APIs that does not apply to autoplay policies in Chrome.
Google Chrome 69

Version number 70.0.3538.67
Release status Final
Operating systems Windows 7, Linux, macOS, Windows Vista, Windows Server 2008, Windows Server 2012, Windows 8, Windows 10, Windows Server 2016
License type Freeware


In: A Technology & Gadgets Asked By: [23225 Red Star Level]

Answer this Question

You must be Logged In to post an Answer.

Not a member yet? Sign Up Now »