A few days ago, we saw Google launch the final stable build of Chrome, the Chrome 46. The new version of the browser brought forth many interesting features both for web users as well as for developers.
Just over a week after that release, Google has launched Chrome 47 in beta for Windows, Mac, Linux and Android. The new beta of Chrome brings in tow many features which will help developers take web experience to a whole new level.
The new features include support for cooperative multitasking, flexible desktop notifications, the usual security fixes and splash screens for sites added to the Android home screen.
The detailed features list can be found here.
Talking sqaurely from developer’s perspective, with the new Chrome 47 Beta, you can now set a task to run during idle time using requestIdleCallback(). This means that you can create functions with a deadline which can return before that limit is reached, register for another requestIdleCallback() to continue work during the next idle period.
The implication is that you can now use timers to schedule performance-hungry tasks and not work around them. Though the approach will not be a hundred percent accurate, as things like scrolling cannot be predicted, the function will be quite useful, nonetheless.
Chrome will now also allow developers to configure automatic dismissal of desktop notifications. Although, websites can set NotificationOptions.requireInteraction to indicate that the notification should remain onscreen until the user dismisses it. This will clean up your experience by getting rid of annoying notifications pushed onto your screen.
The Android client of Chrome will now also support splash screens for web apps when a site is launched from the Android home screen. The splash screen comes up as soon as you launch the app even if it’s still rendering. Developers can customize it by setting a name, icon, background color and notification bar color in the web app manifest.
Other developer additions include:
- Array.prototype.includes() simplifies the syntax for checking array membership.
- The rest parameters syntax allows functions with an indefinite number of arguments to be called using arrays.
- Cache.matchAll() simplifies bulk searching of the cache and removes the need for polyfills.
- RequestInit.referrer allows requests captured by service workers to match the original referrer.
- The new Navigator.MediaDevices interface allows developers toenumerate connected media devices such as audio output.
- Updated values for request properties in navigation FetchEvents offer improved spec compliance.
- MouseEvent.getModifierState() makes input processing more powerful and consistent across MouseEvent and KeyboardEvent.
- Developers can now more accurately detect input device capabilitiesusing UIEvent.sourceCapabilities andInputDeviceCapabilities.firesTouchEvents.
- Several SVG methods have been removed, including pixel conversionsand hasExtension() methods on several elements.
- Prefixed encrypted media extensions are now disabled in favor ofunprefixed EMEs, which have more capabilities and conform to the spec.
- Chrome no longer highlights the gaps between content when painting selections.
- The notification center has been removed from Windows, Mac, and Linuxto keep Chrome simpler.
We can expect the stable version of Chrome 47 to be out sometime during the end of November as Chrome usually gets final builds every six weeks or so.