Chrome is now adult - today version 21 was released. We just added it to our cross-browser testing cloud.

Chrome 21 Version

Try it yourself right away!

Chrome 21 adds support for Apple's "VoiceOver", which makes browsing easier for the visually impaired. This is good, because we were starting to think that Google only cares about the technical side of the browser and not the interaction with its users. Most of the other important features however, are under the hood.

What's new in Chrome 21?

The most notable features are as follows:

  • Media Stream API (getUserMedia) enabled by default.
  • Gamepad API prototype available by default.
  • Support for (pointer) and (hover) CSS media queries so sites can optimize their user interface for touch when touch-screen support is available.
  • HTML5 audio/video and WebAudio now support 24-bit PCM wave files.

HTML5 audio/video and WebAudio now support 24-bit PCM wave files

What probably is mention-worthy is that Chrome still appears to play both types of HTML5 video, even though Google intended last year to ditch H.264 video support in favor of its own WebM codec. There are numerous reasons why Google could have decided so.

Full screen mode

Chrome now fully supports the Lion's full screen mode, which coexists somewhat awkwardly with Chrome’s own, functionally identical Presentation Mode.

Developer features and updates in Chrome 21

  • CSS Flexbox - A CSS box model optimized for user interface design. In the flex layout model, the children of a flex container can be laid out in any direction, and can "flex" their sizes, either growing to fill unused space or shrinking to avoid overflowing the parent.
  • Drag and Drop Directories - Allows dragging and dropping entire folders using HTML5 Drag and Drop. Extends the DataTransferItem with a method to get a FileEntry/DirectoryEntry.
  • Meta Referrer - Using the referrer metadata attribute, a document can control the behavior of the Referer HTTP header attached to requests that originate from the document.
  • getUserMedia - Local component of WebRTC.

Bug fixes in Chrome 21

  • CVE-2012-2846: Cross-process interference in renderers.
  • CVE-2012-2847: Missing re-prompt to user upon excessive downloads.
  • CVE-2012-2848: Overly broad file access granted after drag+drop.
  • CVE-2012-2849: Off-by-one read in GIF decoder.
  • CVE-2012-2850: Various lower severity issues in the PDF viewer.
  • CVE-2012-2851: Integer overflows in PDF viewer.
  • CVE-2012-2852: Use-after-free with bad object linkage in PDF.
  • CVE-2012-2853: webRequest can interfere with the Chrome Web Store.
  • CVE-2012-2854: Leak of pointer values to WebUI renderers.
  • CVE-2012-2855: Use-after-free in PDF viewer.
  • CVE-2012-2856: Out-of-bounds writes in PDF viewer.
  • CVE-2012-2857: Use-after-free in CSS DOM.
  • CVE-2012-2858: Buffer overflow in WebP decoder.
  • CVE-2012-2859: Crash in tab handling.
  • CVE-2012-2860: Out-of-bounds access when clicking in date picker.


Have fun cross-browser testing your code in Chrome 21!