It has been about a month since Chrome 77 entered beta, and right on schedule, it has now graduated to the stable branch. This release doesn't have many groundbreaking changes on the surface, but there are still some new features worth mentioning. Without further ado, let's take a deep dive into Chrome 77!
One of my favorite features in Firefox is the ability to send the page I currently have open to any other device with Firefox installed with just a few clicks. This functionality has never been available in Chrome, except if you had Google's 'Chrome To Phone' extension installed, but that's finally changing.
Chrome 77 adds a new 'Send to your device' option to the system share menu. Tapping on it gives you a list of your recently-active devices with Chrome installed, and tapping on one will cause a notification to appear on the destination device. Pretty simple.
There has never been a way for web apps to import contacts stored on your device, though obvious privacy concerns probably had something to do with that. Chrome 77 addresses this with a new Contact Picker API, which allows web apps to bring up a screen where you can select contacts. When you tap 'Done,' the site can access whatever contacts you selected.
Thankfully, there are a number of privacy and security barriers put in place to prevent malicious behavior. If you don't want to share all the info in a contact, the values can be unselected from the top of the picker.
The contact picker is an Origin Trial for now, which means you'll need to enable the #enable-experimental-web-platform-features flag in chrome://flags to try it out. A demo is available here.
Google began working on a revamped Downloads page back in Chrome 69, but it has taken until now for the change to roll out to everyone. The new page replaces the filter menu with a series of buttons, and saved articles are now separated from downloaded files.
Left: Old Downloads page Right: New Downloads page
Chrome's download manager on Android has always been lackluster, so it's nice to see some improvements in this area.
Dark mode improvements
Chrome currently has two behaviors for dark mode. Chrome 76 added support for the 'prefers-color-scheme' CSS query, allowing sites to make a dark theme and have it automatically enabled when the device is set to dark mode. Chrome is also working on a forced dark mode feature, which has been slightly improved in this update.
This mode first appeared a few releases ago as a simple color invert filter, but it has become a bit better since then. As pointed out by XDA Developers, Chrome seems less likely to invert images now, even if they have mostly white backgrounds.
From left to right: Firefox Chrome 76 Chrome Beta 77
Google is still tuning this feature, and there are even a few regressions compared to Chrome 76. For example, XDA pointed out that the dark grey text in its articles are no longer converted to white, as they were in the last update.
If you want to give this a try, just enable the #enable-android-web-contents-dark-mode flag from chrome://flags.
Enter key hint
You've probably noticed how some mobile apps change the Enter key on virtual keyboards to make it more clear what pressing the button will actually do. For example, Android allows the Enter button to change to a send icon, a forward arrow, a checkmark, and so on (using imeOptions). Web apps can finally do the same, starting in Chrome 77.
With the new "enterkeyhint" attribute, sites can tell the browser what the enter key should look like. Some of the possible values include enter, go, done, previous, and search. If you have Chrome Beta installed, you can check out a demo here.
Notice how the Enter key changes depending on the textbox.
This definitely isn't a groundbreaking change, but it should make it easier for people to tell what the button will do before they press it.
Lite Mode changes
Earlier this year, Chrome renamed its data saver mode to 'Lite Mode,' and now more changes are coming to Lite Mode. We already covered how 'lazy loading' allows a site to prevent loading images and video until they are actually visible to the person (e.g., a video half-way down the page wouldn't load until it is scrolled to), but lazy loading doesn't take effect until the site updates their code to enable it.
Starting with Chrome 77, lazy loading will be automatically activated for all frames (videos, ads, etc.) and images if Lite Mode is turned on. Here's how Google describes the change:
Web pages often have images or embedded content like ads out of view near the bottom of the page, and users don't always end up scrolling all the way down. With support for lazyload theses iframes and images can be deferred until user scrolls near them.
It makes perfect sense — Lite Mode is all about saving data, and not loading media until it actually becomes visible can save plenty of data on large sites.
As always, Chrome 77 includes changes for both users and developers. Here are some smaller features bundled with this update:
- Web MIDI on insecure pages is now deprecated.
- Several improvements to the Developer Tools make it easier to tell how long it takes for elements to appear in the page.
- Behind a flag: Chrome's HTTP cache is now divided by origins, to prevent pages from one site from knowing if a resource from another site was cached.
- Chrome can now try to predict future mouse clicks and taps, and pages can access the data with the new PointerEvent.getPredictedEvents function.
- Behind a flag: The Serial API allows sites to communicate with hardware devices over a physical or virtual serial port, once given permission.
- A Stop action has been added to the Media Session API. This would allow sites playing media (like Spotify or YouTube) to add a stop button to the playback notification.
- The Serial API, a way for sites to communicate with hardware devices over a physical or virtual serial port, is now available as a Chrome flag. Get your 1990's printers ready.
- Chrome no longer shows the full SSL certificate name in the address bar.
- More theming options are supported on desktop Chrome.
- Tab Groups appear to be live, but they're a bit buggy.
Google announced today that Site Isolation, a feature introduced in desktop Chrome after last year's Spectre vulnerabilities, is now rolling out to Android with Chrome v77:
Site Isolation ensures that pages from different sites end up in different sandboxed processes in the browser. Chrome can thus limit the entire process to accessing data from only one site, making it harder for an attacker to steal cross-site data. We started isolating all sites for desktop users back in Chrome 67, and now we’re excited to enable it on Android for sites that users log into in Chrome 77. We've also strengthened Site Isolation on desktop to help defend against even fully compromised processes.
Site Isolation helps defend against two types of threats. First, attackers may try to use advanced "side channel" attacks to leak sensitive data from a process through unexpected means. For example, Spectre attacks take advantage of CPU performance features to access data that should be off limits. With Site Isolation, it is harder for the attacker to get cross-site data into their process in the first place.
You can read more in this blog post.
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. Rather than wait for Google to push this download to your devices, which can take days, download and install it just like any other APK.
Note: Most versions of the Chrome APK use app bundles, which APKMirror doesn't support yet. As a result, only a few variants are available for download.
- Taras Mukin