WebKit2 browser engine introduces split process model
The advantage of a split process model, also known as process isolation, is that crashes can be restricted to the tab or plugin which caused the crashing problem and do not take down the entire browser. The developers say the model they are adopting is largely similar to that implemented in Google's Chrome browser. The difference will be that the split process handling will be integrated into the WebKit framework, allowing all WebKit users to make use of the model. The idea of isolating the processes in which browser pages and plugins run is becoming more common; Mozilla's Electrolysis project aims to do the same for Firefox and Internet Explorer is moving in a similar direction.
The developers are building a stable C-based non-blocking and (mostly) platform agnostic API. To achieve this, they are implementing a number of "notification style" client callbacks, such as
didFinishLoadFrorFrame to notify applications that something has happened, and "policy style" callbacks, such as
decidePolicyForNavigationAction which allows application code to decide on actions "at their leisure". The latter case is complemented by a Policy settings mechanism which allows applications to preset what actions should be taken without WebKit having to ask. Finally, the developers plan to add a code-injection mechanism "where all other options fail" to allow code to be loaded into the WebProcess, though this is not currently implemented. WebKit is licensed under the LGPL and BSD licenses.