What’s New in Chrome 31

Share this article

“Very little” is possibly the best answer. Chrome releases rarely offer a long feature list but there are a couple of interesting technologies to note.

Click the Tool icon followed by About Google Chrome to ensure you have the latest version on Windows, Mac or Linux. If you’re one of the few people who hasn’t installed the browser, head to google.com/chrome.

Auto-Complete Forms and requestAutocomplete()

Form auto-complete has been available in browsers for many years. Enter your email address and you can usually select it when prompted for it again on any other form elsewhere.

requestAutocomplete() is a new API which allows users to store often-used payment details such as credit card numbers. Rather than completing a checkout process, the user can select pre-defined payment and shipping values:


The HTML field autocomplete attribute can normally be set to “on” (the default) or “off” but Chrome extends this and allows you to set appropriately-named value such as name, tel, email, cc-name, cc-number, etc:

<form id="payment" method="/pay">
	<input autocomplete="cc-name" name="myname">
	<input autocomplete="cc-number" name="ccnumber">
	<input autocomplete="cc-exp" name="ccexp">
	<input autocomplete="cc-csc" name="cccvc">

The requestAutocomplete() method of HTMLFormElement shows the auto-complete choice when a button such as “Checkout” is clicked. An autocomplete event indicates a choice has been made and the form has been filled ready for submission. An autocompleteerror event fires if a problem occurs such as canceling.

The API is not yet a standard but seems straightforward and will progressively enhance existing forms. It’ll work well if users trust handing their credit card details to a Google application for safe-keeping.

For more information, refer to Using requestAutocomplete().

Portable Native Client (PNaCl)

Google’s Native Client (NaCl) is a sandbox for running compiled C/C++ code directly in the browser. In other words, you can download native low-level executables to the browser which run at near-maximum OS speeds. The technology is ideal for sophisticated high-performance applications such as video editors and 3D games.

To ensure NaCl works everywhere, it requires architecture-specific representations for all devices. In other words, developers must compile their applications multiple times to run across x86, ARM or MIPS devices.

The new Portable Native Client makes life easier by compiling C/C++ to an intermediate bytecode. When the resource is accessed, Chrome downloads and translates the portable executable to architecture-specific machine code which is optimized for the device where it’s being run. It’s a similar concept to Java and .NET.

NaCl (and PNaCl) is currently a Chrome-only feature which has a niche following. The technology makes me uncomfortable; taken to the extreme, I hope browsers never become executable distribution platform.

I also suspect the technology is a little ahead of its time. If you require native OS speed, you’re probably building a large application — so why not build it for the desktop? With care, you can make it work across multiple OSs and it will give you far more control over the user experience. It can then be distributed as a large executable which need only be downloaded and installed once. You can also sleep soundly at night knowing Google can’t pull PNaCl from under you.

The web works well because it’s OS/device agnostic and permits applications to leverage network connectivity for collaboration purposes. Raw speed is often a lesser priority, but NaCl/PNaCl enables Google to capture a larger share of the desktop application market.

Miscellaneous Updates

Other minor features include:

  • video alpha transparency in WebM
  • a new internal chrome://components page to check installed components
  • packaged apps can target specific URLs
  • a beta chrome.desktopCapture for capturing screens in extensions
  • a new chrome.sessions API for querying and restoring tabs in extensions
  • a new chrome.fileSystem API for file access from extensions
  • a redesigned Report an issue dialog
  • Chrome for Android allows websites to be added to the home screen
  • 25 security fixes

Developers will also let out a small cheer when they discover Google and Mozilla have decided to drop vendor prefixes for new CSS3 and JavaScript features. Unfortunately, you’ll still need those -webkit prefixes since they’ve not been removed from Chrome and will be required by Safari for some time yet…

Craig BucklerCraig Buckler
View Author

Craig is a freelance UK web consultant who built his first page for IE2.0 in 1995. Since that time he's been advocating standards, accessibility, and best-practice HTML5 techniques. He's created enterprise specifications, websites and online applications for companies and organisations including the UK Parliament, the European Parliament, the Department of Energy & Climate Change, Microsoft, and more. He's written more than 1,000 articles for SitePoint and you can find him @craigbuckler.

browsergoogle chromeGoogle Tutorials & Articles
Share this article
Read Next
Get the freshest news and resources for developers, designers and digital creators in your inbox each week
Loading form