www. O S N E W S .com
News Features Interviews
BlogContact Editorials

Apple Drops WebKit 2 Code, Adds Multiprocess Browsing
By Thom Holwerda, submitted by Cam on 2010-04-09 16:04:51
It almost got lost in all the iPhone OS 4.0 stuff, but Apple made a major contribution to the WebKit project yesterday. It's called WebKit 2, and it adds multiprocess browsing to the WebKit API; it may look similar to what Chromium does, but the difference is that Chromium's process boundary is not actually part of WebKit.

Apple's Anders Carlsson made the announcement yesterday on the WebKit mailing list. "WebKit2 is designed from the ground up to support a split process model, where the web content (JavaScript, HTML, layout, etc) lives in a separate process," Carlsson writes, "This model is similar to what Google Chrome offers, with the major difference being that we have built the process split model directly into the framework, allowing other clients to use it."

In WebKit-regular, there is no process boundary since the application and renderer sit in one process; there is, however, an API boundary that lies between the application and the WebKit API. In Google's Chrome/Chromium, the process boundary lies above the API boundary, which makes it hard for other WebKit implementations to make use of it.

"Chromium WebKit does not directly provide a multiprocess framework, rather, it is optimized for use as a component of a multiprocess application, which does all the proxying and process management itself," the WebKit 2 wiki page explains, "The Chrome team at Google did a great job at trailblaizing 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 layer. So if another WebKit-based application or another port wanted to do multiprocess based on Chromium WebKit, it would be necessary to reinvent or cut & paste a great deal of code."

In WebKit 2, the process boundary lies below the API boundary, which effectively makes multiprocess browsing a core part of the WebKit API. This also explains why it's called WebKit 2: it's incompatible with previous implementations.

"We want process management to be part of what is provided by WebKit itself, so that it is easy for any application to use," the wiki page further explains, "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. We believe this is fundamentally part of what a web content engine should provide."

This is a great and very welcome contribution from Apple, and should definitely help in spreading the joys of multiprocess browsing across platforms and browsers. It also means that Opera and Firefox are now starting to look even more archaic compared to WebKit-based browsers and Internet Explorer (yes, IE8 implements multiprocess browsing). Get with the program, guys.

42  Comments - Printer friendly - Related stories
Recent related stories
- The 5G standard is finally finished - 2018-06-15
- Looking for life on a flat earth - 2018-06-12
- The US net neutrality repeal is official. - 2018-06-11
- Facebook gave device makers deep access to user data - 2018-06-04
- Eudora source code released - 2018-05-22
- More related articles

Tell a friend
Your full name:
Your email address:
Your friend's email:
Anti-spam measure:

News Features Interviews
BlogContact Editorials

WAP site - RSS feed
© OSNews LLC 1997-2007. All Rights Reserved.
The readers' comments are owned and a responsibility of whoever posted them.
Prefer the desktop version of OSNews?