Chrome 86 was a fairly massive update, with support for the Native File System API, various interface improvements, and new experiments to try out. Almost exactly one month later, Chrome 87 is starting to roll out to desktop and mobile platforms. There are more than a few exciting changes in store, so let's dive in!

New PDF viewer

The PDF viewer in Chrome has received small improvements over the years, including annotation and form editing, but Chrome 87 has more drastic changes in store. There's a new flag that turns on a revamped PDF viewer with long-awaited features, and it appears to be switched on by default in the stable channel.

Left: Old viewer; Right: New viewer

The updated viewer doesn't look too different than the old one at first glance, but there are a few key differences. There's now a side panel that displays a list of pages, so you can see a preview of each page and navigate through them more easily. The existing chapter list, which used to be a dropdown menu, has been moved to the same section. If you don't need to see the list, you can hide it by clicking the new hamburger button at the top-left corner.

Two-page mode in the new viewer

The PDF viewer can also now display two pages side-by-side, with a new option in the overflow menu. The floating action buttons for zoom and fit have also been moved to the top bar, so they are visible at all times, instead of popping in and out when you move your mouse.

Just as before, PDF viewing is not available on Chrome for Android or iOS, only on desktop platforms.

Font access API

More applications than ever are moving to the web, including creative tools like photo editors and video editors, but they usually can't access shared resources on your PC. For example, fonts installed on your computer are inaccessible to web apps, but they might not be for much longer.

// Query for all available fonts and log metadata.
const fonts = navigator.fonts.query();
try {
  for await (const metadata of fonts) {
    console.log(`${metadata.family} (${metadata.fullName})`);
  }
} catch (err) {
  console.error(err);
}
// Roboto (Roboto Black)
// Roboto (Roboto Black Italic)
// Roboto (Roboto Bold)

Chrome 87 has a new Font access API in the Origin Trial stage, which allows sites to read a list of the installed fonts on your PC. From there, they can read font files at the binary level for custom OpenType layout implementations.

Cookie Store API

Browser cookies have been around for a very long time: even pre-release versions of Netscape from 26 years ago supported them. However, the only option for sites to read and write specific cookies is to parse cookie lists themselves, sometimes with inefficient code that slows down the browser. Thankfully, that's finally changing.

await cookieStore.get('session_id')
// {
//   domain: "example.com",
//   expires: 1593745721000,
//   name: "session_id",
//   path: "/",
//   sameSite: "unrestricted",
//   secure: true,
//   value: "yxlgco2xtqb.ly25tv3tkb8"
// }

Chrome 87 includes a new Cookie Store API, which provides websites with a clean JSON-formatted list of all stored cookies. Most importantly, the new API is asynchronous, so the browser doesn't have to stop all code execution while it waits for the data to be found. Cookie Store also makes it possible for JavaScript Service Workers (e.g., background processes) to access cookies.

Other changes

As always, this update includes changes for both users and developers. Here are some smaller changes included in Chrome 87:

  • Chrome is dropping support for the -webkit-font-size-delta CSS property, which is rarely used and was never standardized across browsers.
  • A new flag forces servers hosted locally (127.0.0.1/localhost) or on an intranet to explicitly opt-in to connections from the public internet. Google hopes this will "mitigate the risks associated with unintentional exposure of devices and servers on a client’s internal network to the web at large."
  • A new addition to the getUserMedia() API allows Chrome to pan and tilt a connected camera, ideal for conference calls and other uses.
  • The new Streams API provides "ubiquitous, interoperable primitives for creating, composing, and consuming streams of data," and is enabled by default in Chrome 87.
  • The new WebXR Depth API allows easier calculation of depth information for physics.
  • Cross-origin Isolation is now enabled by default, so sites can safely use advanced APIs if they opt into new security restrictions.
  • New CSS Grid debugging options and an emulator for the Web Authentication API are available in the Developer Tools.

Download

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.

Google Chrome: Fast & Secure
Google Chrome: Fast & Secure
Developer: Google LLC
Price: Free