Google’s latest Chrome 34 Web browser was just released on April 8, but Google is already excited about the latest Chrome beta Version 35 browser that is being built to eventually succeed Chrome 34 in the future.
The latest Version 35 beta edition of Chrome includes a wide range of features that will enable developers to build even richer online content for Chrome users, especially for mobile devices, wrote Rick Byers, a Chrome team software engineer, in an April 10 post on The Chromium Blog. Most of the new beta features apply to Chrome for Android, Windows, Mac, Linux and Chrome OS, he wrote.
One of the biggest updates is a touch-action CSS property, which gives developers more control over touch and zoom input in their apps, including a mechanism to selectively disable touch scrolling, pinch-zooming or double-tap-zooming on parts of their Web content, wrote Byers. “Use cases include precise control over the dreaded 300ms click delay on mobile, reliable side-swipe UIs, and high-fidelity polyfills of Pointer Events. It’s also a prerequisite for future optimizations to enable scrolling and zooming that never block on the main thread.”
Developers will also find new tools to control Web content on desktop computers using mouse scroll wheel events with the ctrlKey modifier set, wrote Byers. “There are many sites that want to do something more appropriate for the user than trigger browser zoom,” he wrote. “For example, when a user holds control and scrolls over a map in Google Maps, they almost certainly want to zoom in on the map, not invoke browser zoom to zoom the page. This change will enable such a use case.”
Chrome 35 beta also is showing off several new JavaScript features defined in the ECMAScript 6 standard, according to Byers. “Together, they will help JavaScript developers write application logic that is easier to read, more powerful, and more memory efficient.”
One such control is called a Promise, which “represents a value that may not be available yet but will be known at some point in future,” he wrote. “With Promises, you can write cleaner asynchronous code. WeakMaps and WeakSets allow you to create efficient, garbage-collected data structures. In both, references to objects are held weakly: if there is no other reference to an object stored in the WeakSet, it can be garbage collected. This helps avoid memory leaks.”
Another included beta tool is Object.observe, which “lets you observe changes to JavaScript objects,” wrote Byers. “Your callback can observe multiple objects and will receive all changes to any objects in a single asynchronous call. This is especially useful for framework authors implementing data-binding.”
The latest beta Version 35 browser also now includes Shadow DOM, which “is one of several new API primitives landing under the Web Components umbrella,” according to Byers. Shadow DOM allows developers to “scope their HTML markup, CSS, hiding the implementation details of complex components,” while also allowing them to build their own first-class elements and APIs just like the <video> or <audio>, when combined with Custom Elements, he wrote. “With Shadow DOM, web frameworks can stop worrying about their widgets inadvertently breaking pages by using conflicting CSS selectors, class or id names, and start relying on DOM as the interoperable way of building components.”
Shadow DOM includes many changes and improvements made to the specification since the days of the prefixed implementation of Shadow DOM made available in Chrome 25, so developers should check the latest documentation as well as the up-to-date HTML5 Rocks articles as they consider using the features, wrote Byers.
Also added to the latest Chrome 35 beta is CSS Font Loading, which “can be used to dynamically load font resources,” according to Byers. “It gives developers more control over the user experience on pages that use Web Fonts. For instance, you can ask Chrome to start downloading the web fonts you’ll need on demand and be notified when they become available.”
Several other features have been removed in the Chrome 35 beta, which is done periodically to simplify codebases, minimize security attack surfaces and keep Chrome up to date for users, he wrote. “Features removed in this release include HTMLVideoElement-specific prefixed fullscreen API, TextTrackCue constructor, <isindex>, Legacy Web Notifications, support for NPAPI on Linux, and Attr.isId, ownerElement, prefix setter.”
Meanwhile, the window.showModalDialog feature will be removed in the next Chrome 36 release. Other features slated for removal in the future include Element.setAttributeNodeNS, overflowchanged Event, HTMLSourceElement.media, MediaError.MEDIA_ERR_ENCRYPTED, Prefixed media source extensions, and webkitRequestAnimationFrame, wrote Byers. “Support for these features will be completely removed from Chrome in a future release.”
In September 2013, the Chrome browser celebrated its fifth birthday. Launched in 2008 as a desktop or laptop application, Chrome today is widely used as a mobile Web browser on many different devices.
Chrome has had quite a ride since its birth. In June 2012, it surpassed Microsoft’s Internet Explorer as the world’s most used browser for the first time, and it has added many useful features over the years to encourage even more users to adopt it.