Apple adds process management to WebKit

The technology to isolate processes from each other is already used in Chrome, but Apple promises to bring it to any WebKit-based application

Apple has unveiled an early test version of its WebKit2 rendering engine, an update that will add process management technology to WebKit-based browsers and applications.

The new approach — called a split process model, or process isolation — is already used in Google's WebKit-based Chrome browser. It is designed to improve responsiveness, robustness and security, and to more efficiently use the capabilities of multicore chips.

The technology isolates the user interface and the application logic in a different process from the web content. This makes it easier, for instance, to isolate crashes or to create a security sandbox around web content.

While Chrome's implementation of process isolation can only easily be used by Chrome itself, Apple's implementation is designed particularly to allow reuse by other WebKit-based applications.

"The Chrome team at Google did a great job at trailblazing multiprocess browsing with Chrome. But it's difficult to reuse their work, because the critical logic for process management, proxying between processes and sandboxing is all part of the Chrome application, rather than part of the API (application programming interface) layer," Apple said in a document on the WebKit developer site.

Apple said WebKit2 takes a different approach. "We would like chat clients, mail clients, Twitter clients and all the creative applications that people build with WebKit to be able to take advantage of this technology," the company stated.

Other techniques introduced in WebKit2 include notification-style client callbacks, policy-style client callbacks, policy settings and injected code, Apple said.

The release, published on Friday, is an "early technology demo" and should not be considered production quality, though users can currently see how it works, the company added.

The release is incompatible with the existing API, and thus will not work with shipping versions of Safari. Apple said it would release a basic web browser suitable for testing WebKit2 "in the near future".

WebKit's HTML and JavaScript code began as a branch of KDE's KHTML and KJS libraries. The code, which is released under the open source LGPL and BSD licences, powers browsers such as the Symbian S60 browser, as well as Mac OS X applications such as Dashboard and Mail.

WebKit2 is available for download from the WebKit website.