New in Chrome 58

Want the full list of changes? Check out the Chromium source repository change list

I'm Pete LePage. Let's dive in and see what's new for developers in Chrome 58!

IndexedDB 2.0

The structure of your site's database has large performance impacts, and can be difficult to change. IndexedDB 2.0 changes that.

  • object stores and indexes can now be renamed in-place after a refactoring.
  • Binary keys allow more natural keys without worrying about performance penalties.
  • Data retrieval is easier with the getKey(), openKeyCursor() and continuePrimaryKey() methods.

And bulk recovery of entire datasets no longer needs a cursor with the getAll() and getAllKey().

Full screen Progressive Web Apps

When Progressive Web Apps are launched from the Android home screen, they launch in a standalone app-like mode that hides the omnibox. This helps create an engaging user experience, and frees up screen space for content.

However, for even more immersive experiences like games, video players, or other rich content, mobile UI elements such as the system bars can still be a distraction and take up valuable pixels that you may want.

Now you can make your Progressive Web App feel fully immersive by setting display: fullscreen in your web app manifest.

A PWA launched from the home screen (left), launched from the home screen in standalone mode (middle), and launched from the home screen in fullscreen mode (right).

When your app is launched from the home screen, all non-app mobile UI elements will be hidden.

Sandboxed iframe Improvements

Chrome 58 now supports the new iframe sandbox keyword allow-top-navigation-by-user-activation.

When triggered by a user interaction, this keyword gives sandboxed iframes the ability to navigate the top-level page, while still blocking auto-redirects.

And more!

And of course, there's plenty more.

  • Say goodbye to the clearfix hack. Instead of manually resetting multiple layout properties like float and clear, you can now add a new block-formatting context using display: flow-root.
  • PointerEvents.getCoalescedEvents() allows you to access all input events since the last time a PointerEvent was delivered. Perfect for when you need a precise history of points for things like drawing apps.
  • And Workers and SharedWorkers can now be created using data: URLs, making development with Workers more secure by giving them an opaque origin.

These are just a few of the changes in Chrome 58 for developers.

If you enjoyed this video, check out Designer vs. Developer, a new video series that tries to solve the challenges faced when designers and developers work together.

Then subscribe to our YouTube channel, and you'll get an email notification whenever we launch a new video.

I'm Pete LePage, and as soon as Chrome 59 is released, I'll be right here to tell you -- what's new in Chrome!