The newest Chrome Beta channel release includes Web MIDI support, new features to improve security and compatibility and a number of small changes to enable developers to build more powerful web applications. Unless otherwise noted, changes described below apply to Chrome for Android, Windows, Mac, Linux and Chrome OS.

Connecting to MIDI devices from the web

MIDI is a well-established communication protocol used by music devices such as synthesizers, DJ decks, and drum machines. In Chrome 43, users are able to use MIDI hardware to create music without installing any specialized software, as the Web MIDI API allows websites to communicate with connected MIDI devices such as a USB-MIDI drum machine plugged into an Android tablet.





Permissions API

Until now, websites have been unable to determine the permission state of APIs such as Geolocation . Due to this, sites often attempt to use APIs immediately after page load without pre-existing permission, causing users to see confusing permission prompts with no context or explanation.

The new Permissions API allows developers to query and observe changes to their permission status for Geolocation , Push , Notifications and Web MIDI so they can ask for permission in context, improving the user experience.

Moving DOM attributes to the prototype chain

In Chrome 43, attributes defined on DOM objects have been moved to the prototype chain , as specified by Web IDL . This change allows developers to efficiently override or create methods on DOM Objects and improves compatibility with Firefox and Internet Explorer. As this subtle change may cause breakages in existing content, developers should use Chrome 43 to test their website to ensure their users don’t experience issues when this release rolls out to all users.

Upgrading legacy sites to HTTPS

Transitioning large collections of unmodifiable legacy web content to encrypted, authenticated HTTPS connections can be challenging as the content frequently includes links to insecure resources, triggering mixed content warnings. This release includes a new CSP directive, upgrade-insecure-resources , that causes Chrome to upgrade insecure resource requests to HTTPS before fetching them. This change allows developers to serve their hard-to-update legacy content via HTTPS more easily, improving security for their users.

Other updates in this release

Chrome OS now fires devicemotion events on pages at a regular interval, allowing developers to track the device’s acceleration in the same way they do on Chrome for Android, Windows, Mac, and Linux.

The Web Audio API now allows developers to selectively disconnect specific connections to an AudioNode or AudioParam , avoiding the audio artifacts caused by disconnecting all inputs and then manually re-connecting those that should have been retained.

Developers using the Web Audio API can now also explicitly close an AudioContext , releasing all allocated system audio resources instead of depending on unpredictable garbage collection.

The nonstandard WebSocket.URL and EventSource.URL were removed in favor of their standard counterparts WebSocket.url and EventSource.url.

CSS animations can now be used without the -webkit prefix.

As always, visit chromestatus.com/features for a complete overview of Chrome’s developer features, and circle +Google Chrome Developers for more frequent updates.