Google heeft versie 78 van zijn webbrowser Chrome uitgebracht. Google Chrome is beschikbaar voor Windows, Linux en macOS. Er zijn ook versies voor Android en iOS, maar die volgen een iets ander releaseschema. De belangrijkste veranderingen die in versie 78 zijn aangebracht, naast de gebruikelijke bug- en security fixes, zijn hieronder voor je op een rijtje gezet.
CSS Properties and ValuesCSS variables are getting more power with CSS Properties and Values API Level 1. With it, you can register your variables as full custom properties, ensuring they're always a specific type, and letting you set a default value, or even, animate them. For details and access to the code used to generate this image, see Smarter custom properties with Houdini's new API.
Native File SystemThe new Native File System API, now in an origin trial, enables developers to build powerful web apps that interact with files on the user's local device such as IDEs, photo and video editors, text editors, and more. After a user grants access, this API allows web apps to read or save changes directly to files and folders on the user's device. It does all this by invoking the platform's own open and save dialog boxes. The image below shows a web page invoked using the open dialog box on Mac. To learn more, see sample code, and a text editor demonstration app, see The Native File System API: Simplifying access to local files for details. See the Origin Trials section for information on signing up and for a list of other origin trials in this release.
Origin TrialsThis version of Chrome introduces the origin trials 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 those described here, visit the Origin Trials dashboard. To learn more about origin trials themselves, visit the Origin Trials Guide for Web Developers.
Signed Exchange Subresource Prefetching and Loading by Extending the HTTP Link Header.Signed Exchanges allow a distributor to provide content signed by a publisher and displayed in such a way that user agents show the publisher's URL, and scripts access the publisher's local storage. The URLs of subresources are fixed in the signed top-level HTML file, which prevents their loads from taking advantage of any signed versions that might be prefetched from the distributor's origin. To allow the subresources to be prefetched from the same distributor as the top-level page,the publisher needs to change the subresource URLs in the HTML to point to each distributors’ URL and needs to sign for each distributor. The intent of this is to allow publishers to create a single signed top-level HTML file that allows its subresources to be prefetched from a variety of distributors.
SMS Receiver APIWebsites use SMS messages as a way to verify phone numbers by sending a one-time-password for manual entry into a form (or for copy and paste). Native platforms offer an API that gives programmatic access to such messages that allows users to skip manual interaction with the form. The SMS Receiver API allows websites to access SMS messages that are delivered to the user's phone specifically addressed to the origin (via a special formatting convention).
Other Features in this Release
Apply Opacity for the Default Style of INPUT/TEXTAREA placeholderChanges the default style for ::placeholder from
Extend Byte-for-Byte Update Check to all Service Worker importScripts() Resources#757575
torgba(0, 0, 0, 0.54)
.Byte-for-byte checks are now available for service worker scripts imported by
Faster Web SocketsimportScripts()
. Currently, service workers update only when the service worker main script has changed. In addition to not conforming to the latest spec, this forces developers to build workarounds such as adding hashes to the imported script's urls.Chrome 78 improves the download speed of
ArrayBuffer
objects when used withWebSocket
objects on desktop. We have seen the following improvements in our own testing. Results depend on network speed and hardware so your results may be vary.More restrictive hasEnrolledInstrument() for Autofill Instruments
- Linux: 7.5 times faster
- Windows: 4.1 times faster
- Mac: 7.8 times faster
Improves the authorization of transactions by requiring unexpired cards and a billing address. This improves the quality of autofill data and increases the chances that
PaymentResponse.prototype.retry()PaymentRequest.hasEnrolledInstrument()
returns true. This improves the user experience on transactions that use autofill data.In cases where there is something wrong with the payment response's data (for example, the shipping address is a PO box), the
Percentage Opacityretry()
method of aPaymentResponse
instance now allows you to ask a user to retry a payment.Adds support for percentage values to the opacity properties, specifically,
Redact Address in PaymentRequest.onshippingaddresschange Eventopacity
,stop-opacity
,fill-opacity
,stroke-opacity
, andshape-image-threshold
. For example,opacity: 50%
is equivalent toopacity: 0.5
. This brings consistency and spec compliance. Thergba()
function already accepts percentage alpha value, for examplergba(0, 255, 0, 50%)
.Removes fine-grained information from the shipping address before exposing it to a merchant website in the
SeekingShippingAddressChange
event.PaymentRequest.onshippingaddresschange
is used to communicate the shipping address a user has selected to the merchant so they can make adjustments to the payment amounts such as shipping cost and tax. At this point, the user has not fully committed to the transaction, so the principle should be to return as little information as possible to the merchant. The redaction removesrecipient
,organization
,addressLine
andphoneNumber
from the shipping address because these are not typically needed for shipping cost and tax computation.Adds a media session action handler for the
User Timing L3seekto
action. An action handler is an event tied specifically to a common media function such as pause or play. Theseekto
action handler is called when the site should move the playback time to a specific time.Extends the existing User Timing API to enable two new use cases:
Deprecations, and Removals
- Developers can pass custom timestamps to
performance.measure()
andperformance.mark()
, so as to conduct measurement across arbitrary timestamps.- Developers can report arbitrary metadata with
performance.mark()
andperformance.measure()
, which provides rich data to analytics via a standardized API.
XSS AuditorXSS Auditor has been removed from Chrome. The XSS Auditor can introduce cross-site information leaks and mechanisms to bypass the Auditor are widely known.