It's time for a new Chrome release, and as always, there is both new features for users and new abilities developers can use. Let's take a look at what's new.
Background media playback
Starting with Chrome 54 Beta, Chrome finally began allowing background media playback. On HTML5 audio and video by default, you can play/pause the content from a notification. If the website provides an 'apple-touch-icon', usually used as the icon for sites pinned to the iOS home screen, it is displayed in the notification. That may seem strange, but considering it is widely used by mobile sites, it makes sense.
Back when this feature was first introduced in Chrome Beta, it actually worked with YouTube's mobile site. Unfortunately this is no longer the case. Chrome 54 also supports the new Page Visibility standard, which allows pages to detect when they are moved to the background (this is likely what YouTube's mobile site is using).
In summary, background playback of media will work unless the page specifically blocks it. So right now, it works for just about every site.
Colored tabs in tab switcher
Chrome has long since allowed sites to color the navigation bar, but now those colors appear in the tab switcher as well.
This feature first appeared in Chrome Dev 53 as an optional flag, but as of Beta 54 (and thus, the stable release) is enabled by default. As always, sites have to specifically define a color for this to work.
(New) New Tab page
Chrome 54 has a slightly-redesigned New Tab page, and I'm not a fan of it. Instead of shortcuts to Bookmarks and Recent Tabs, the bottom area has been replaced with suggested articles.
I'm sure at least some of you will like this feature, but I wish Google would at least include a setting to disable it. I would much prefer easy access to Bookmarks over this.
One of the advantages to automatic updates with Chrome (and most other browsers) is that developers can use new web standards quickly. Chrome 54 brings a number of new abilities web pages can use, so here is a quick summary of the important features:
- Full screen improvements: To prevent harmful sites from taking up your whole screen without your approval, entering full-screen mode has always required a button press. Chrome 54 on Android now allows sites to automatically show content in full screen when the device is switched to landscape mode, with the requestFullScreen API. For example, the mobile YouTube site could switch to full-screen mode when you switch to landscape mode, just like the Android app.
- Broadcast Channel API: Traditionally, web pages have been designed to stay isolated from each other. In fact, one of Chrome's major features when it was first released was that it sandboxes tabs. Chrome 54 implements support for the Broadcast Channel API, which allows different windows/tabs, workers, and iframes to communicate with each other (as long as they are all on the same domain). You can find more information here.
- Foreign Fetch: This is a bit hard to explain unless you are familiar with Service workers, but this essentially allows service workers to communicate with other service workers from different domains. Google explains it far better here.
The APK is signed by Google and upgrades your existing app. The cryptographic signature guarantees that the file is safe to install and was not tampered with in any way.