New ES2015 features

Over the past year Chrome has shipped a number of new JavaScript features defined in the ES2015 specification (formerly known as ES6), a major update to JavaScript that allows developers to write application logic that is easier to read, more powerful, and more memory efficient than ever before.


Service worker improvements

Chrome 40 introduced support for service workers, enabling developers to build high performance sites that work offline. This release includes a number of improvements:




Finally, in a breaking change, messages sent via Client.postMessage() now fire an event on navigator.serviceWorker instead of the window object.

Media controls in Android notifications

media-notification.png
Playback controls for currently-playing audio are shown in the notification tray and on the lock screen

On Android, native apps can show media controls in a system notification when playing audio, making it easy for users to control audio while multitasking. Chrome 45 brings this capability to the web by showing a notification with media controls when audio is playing in web content. The controls will automatically show up when <audio> or <video> tags play audio longer than 5 seconds.

Other updates in this release


Update: The User Timing and Resource Timing APIs are unfortunately not exposed to service workers in this release, but should be available in Chrome 46. As always, visit chromestatus.com/features for a complete overview of Chrome’s developer features, and circle +Google Chrome Developers for more frequent updates.

Posted by Andreas Rossberg, Software Engineer and ECMAScript Evangelizer


The Physical Web is an open source approach to help you build contextual interactions that people can discover and use with less friction. A few months ago, Chrome for iOS added a Today widget to let users open a new tab or do a voice search right from the Notification Center.  The new Chrome for iOS  integrates the Physical Web into the Chrome Today widget, enabling users to access an on-demand list of web content that is relevant to their surroundings.


It’s easy to make your content discoverable via the Physical Web using Eddystone, an open Bluetooth Low Energy beacon format announced last week. Eddystone supports multiple frame types for different use cases. The Physical Web displays content that is broadcasted using Eddystone-URL, the beacon frame type designed to convey compressed URLs. You can add your content to the Physical Web by simply configuring a beacon that supports Eddystone-URL to transmit your URL of choice.

When users who have enabled the Physical Web open the Today view, the Chrome widget scans for broadcasted URLs and displays these results, using estimated proximity of the beacons to rank the content. You can learn more about the types of user experiences that the Physical Web enables by visiting our cookbook and joining the open source community on GitHub.

The new Chrome for iOS is an early exploration in enabling users to access the Physical Web in their day-to-day mobile experiences. As the ecosystem grows,  we’ll continue to explore new ways to bring the Physical Web to users’ fingertips. We’re looking forward to seeing the new contextual experiences you’ll build.

Posted by Jake Leichtling, Physical Web Explorer



TurboFan was built from the ground up with many unique capabilities in mind. It optimizes more code than the previous optimizing compiler, supports flexible and dynamic optimization modes, and enables easier contributions and maintenance. Thanks to these features and more, we've turned on TurboFan for some types of code that were challenging for our previous compiler to optimize, such as asm.js, class literals, with scopes, computed property names and for-of loops. TurboFan already shows promising performance results, including a 29% increase on the zlib score of the Octane benchmark.


Over the coming months, we expect to enable TurboFan for more and more types of JavaScript, with the eventual goal of entirely replacing our existing CrankShaft compiler. As it rolls out, developers' code will automatically get these free speedups with no changes needed. Stay tuned for future progress.

Posted by Ben L. Titzer, Software Engineer and TurboFan Mechanic