Google heeft versie 57 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. Sinds versie 50 is de ondersteuning voor oudere versies van Windows en macOS vervallen. Nieuw in versie 57 is onder meer ondersteuning voor CSS Grid Layout, een manier om websites er goed uit te laten zien op schermen van elk willekeurige grootte. Daarnaast zijn er diverse kleinere verbeteringen aangebracht en de nodige bugfixes doorgevoerd. De belangrijkste verbeteringen zijn hieronder nog eens voor je op een rijtje gezet.
CSS Grid Layout
Sites are increasingly being accessed on screens of all sizes, from large LCD TVs to tiny watch faces. Historically, supporting all of these screen sizes required complex combinations of markup and CSS, making code hard to maintain. To give developers more granular control over how elements grow and shrink to fit the current screen size, CSS Grid Layout is now available.
CSS Grid supports a two-dimensional grid-based layout system, optimized for responsive user interface design. Elements within the grid can be specified to span multiple columns or rows. Elements positioned in a CSS grid can also be named, making layout code easier to understand.
CSS Grid allows developers to arbitrarily place elements on a grid with full control over element flow, sizing behavior and responsiveness.Improved Add to Home screen
Since early versions of Chrome for Android, users have been able to add sites to their Home screen for fast and convenient access. This feature adds the icons using Android shortcuts, which means that web apps don’t show up throughout Android in the same way as installed native apps.
In this release, when a user adds a Progressive Web App to their Home screen, Chrome will integrate it into Android in a much deeper way. For example, Progressive Web Apps will now appear in the app drawer section of the launcher and in Android Settings, and will be able to receive incoming intents from other apps. Long presses on their notifications will also reveal the normal Android notification management controls rather than the notification management controls for Chrome.Media Session API
Media consumption is one of the most common uses for the mobile web. In Chrome for Android, developers can customize the lock screen UI and notifications with media content using the new Media Session API. By providing metadata to the browser about the content being played, developers can create rich lock screen messaging that includes information such as title, artist, album name, and artwork. Additionally , the site is now able to respond to user actions taken on the notification itself, such as seeking or skipping.Other features in this release
Deprecations and interoperability improvements
- The WebAssembly API has been enabled by default, allowing developers to run near-native code in the browser without a plugin.
- When a video enters fullscreen on an Android device, Chrome now automatically locks the screen orientation according to the aspect ratio of the video.
- Sites using continuous setTimeout() will now be throttled when using loops to drive out-of-view frame animations, improving performance for users.
- The Fetch API Response class now supports the .redirected attribute to help web developers avoid untrustworthy responses and reduce the risk of open redirectors.
- The new padStart and padEnd formatting tools enable text padding, facilitating tasks like aligning console output or printing numbers with a fixed number of digits.
- Service Worker Navigation Preload is now available as an Origin Trial, allowing developers to parallelize the network request for the main resource alongside service worker startup.
- The Payment Request API can be made available inside an iframe by adding the allowpaymentrequest attribute.
- PaymentMethodData now supports basic-card, so developers can refer to all card types with a single method identifier, rather than individual data types.
- To simplify the migration from HTTP to HTTPS, stored credentials for HTTP forms are now transferred to the HTTPS version of the site, and the Credential Management API now supports filling credentials from matching subdomains.
- The caret-color property enables developers to specify the color of the text input cursor.
- To preserve consistency with other on<event> attributes, ongotpointercapture and onlostpointercapture are now part of the GlobalEventHandlers mixin.
- Support is now available for text-decoration-skip: ink to make underlines skip descenders, the portion of letters that extend below the text's baseline.
- New text-decoration properties are now available, allowing developers to specify visual effects such as line color and style.
- The PresentationRequest constructor has been modified to accept multiple URLs via a sequence<DOMString>, in addition to the existing constructor that takes a single URL.
- The new AudioContext.getOutputTimestamp() method enables developers to synchronize DOMHighResTimeStamp and AudioContext.currentTime values.
- AudioBufferSourceNode, OscillatorNode, and ConstantSourceNode now inherit from AudioScheduledSourceNode, consolidating functionality.
- The new cancelAndHoldAtTime function cancels future AudioParam events with times greater than or equal to cancelTime, allowing developers to preserve the value of the scheduled time in a direct way.
- Developers can now construct WebAudio-specific events such as OfflineAudioCompletionEvent and AudioProcessEvent.
- To increase user security, Chrome's XSS Auditor now blocks entire suspicious pages by default, rather than selectively filtering out the suspected reflected XSS on the page.
- Support for the <keygen> element has been removed, causing it to no longer display any controls nor submit form element data, to align with other browsers.
- As previously announced, locally-trusted SHA-1 certificates will now result in a certificate error page unless the EnableSha1ForLocalAnchors enterprise policy has been set.
- fieldset.elements now returns an HTMLCollection instead of an HTMLFormControlsCollection to better align with spec.
- The <cursor> element has been removed, but but cursor icons can still be set via the cursor CSS property.
- A legacy caller has been removed from HTMLEmbedElement and HTMLObjectElement, so the interfaces will now throw exceptions rather than having their instances called as functions.
- The usemap attribute now requires case-sensitive matching.
- All -webkit- prefixed IndexedDB global aliases have been removed, after their deprecation in M38.
- Custom message events and events created by client.postMessage(message, transfer) in a service worker will now use MessageEvent instead of ServiceWorkerMessageEvent, following the HTML MessageEvent spec extension.
- Support for webkitClearResourceTimings(), webkitSetResourceTimingBufferSize(), and onwebkitresourcetimingbufferfull has been removed from the Performance interface, in favor of clearResourceTimings(), setResourceTimingBufferSize(), and onresourcetimingbufferfull.
- The following -internal CSS selectors are being deprecated: -internal-media-controls-cast-button, -internal-media-controls-overlay-cast-button, and all of the -internal-media-controls-text-track-list selectors.
- Support for the obsolete API webkitCancelRequestAnimationFrame has been removed in favor of cancelAnimationFrame.
- On Android, wordWrap: break-word and -webkit-line-break: after-white-space will no longer be set on contenteditable containers by default, to preserve consistency between browsers.
- The webkit prefix has been removed from AudioContext and OfflineAudioContext.