The newest Chrome Beta channel release version 58 for Android, Chrome OS, Linux, Mac, and Windows—brings along with full support to IndexedDB 2.0, improvements to iframe navigation and full screen PWAs.
Chrome 58 also now supports new iframe sandbox keyword allow-top-navigation-by-user-activation, that gives sandboxed iframes the ability to navigate top-level page when triggered by user interaction, while still blocking auto-redirects.
When Progressive Web Apps (PWAs) are launched from the Android Home screen, they launch in a standalone app-like mode that hides the omnibox. Now PWAs can provide a fully immersive experience by setting display: fullscreen in their web app manifest, "which hides non-app UI when the site is launched from the home screen," the Chrome team said.
IndexedDB (IDB) 2.0 standard, now fully supported in Chrome, features new schema management, bulk action methods, and more standardized handling of failures. And, makes it easier to work with large data sets in the browser.
"The structure of a site's database has large performance impacts and can be difficult to change. To simplify updates, object stores and indexes can now be renamed in-place after a refactoring. Sites can also use more natural keys without worrying about a performance penalty thanks to binary keys, which allow compact representations for custom keys," writes the team.
"Data retrieval is easier with the getKey() and openKeyCursor() methods, which also provide better performance when only a database key is needed. The new continuePrimaryKey() cursor method makes it easier to divide large data access across transactions and page loads without worrying about duplicate primary keys. The getAll() and getAllKeys() methods allow bulk recovery of entire datasets without the need for a cursor."
Here are other features in this release:
- Workers and SharedWorkers can now be created using data: URLs, making development with Workers more secure by giving them an opaque origin.
- PointerEvents.getCoalescedEvents() allows developers to access all input events since the last time a PointerEvent was delivered, making it easier for drawing apps to create smoother curves using a precise history of points.
- Developers can now customize Chrome's native media controls such as the download, fullscreen and remoteplayback buttons using the new ControlsList API.
- On Chrome for Android, sites installed using the improved Add to Homescreen flow will be allowed to autoplay audio and video served from origins included in the manifest's scope without restrictions.
- On Chrome for Android, videos using the autoplay attribute will be paused when offscreen and resumed when back in view to preserve consistency across browsers.
- Sites can now access the approximate range of colors supported by Chrome and output devices using the color-gamut Media Query.
- Instead of manually resetting multiple layout properties like float and clear, sites can now add a new block-formatting context using display: flow-root.
- Using removeRange(), a new Selection API function, developers can now programmatically remove a specified text Range.
- The PointerEvent.tangentialPressure and PointerEvent.twist attributes are now supported on Chrome for Mac to provide more information to stylus devices and painting apps.
- The WebAudio API's new playback AudioContextLatencyCategory enables the developer to easily make conscious tradeoffs between latency, power, and CPU efficiency.