Got a tip for us? Share it...

Apple's WebKit2 Coming Soon, Will Offer 'Sandboxing' of Processes

Apple engineers Anders Carlsson and Sam Weinig yesterday announced the forthcoming release of a new web framework known as "WebKit2" that will build upon the existing engine that powers the company's Safari browser as well as a number of other browser applications including Google Chrome. Notably, WebKit2 will support running various browser elements in different processes, "sandboxing" them to prevent problems with a single element from crashing the entire browser.

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. 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.

The team behind WebKit2 has also posted documentation outlining some of the changes coming in WebKit2 and how its split process model differs from that used in Chromium and Google Chrome, building the functionality directly into the framework rather than putting it in the application layer where considerable work would be required for porting or reusing the functionality.

CNET notes that Apple's announcement has ruffled some feathers in the WebKit community, as it is being seen as rolling out a major revamp of the engine without the input of the rest of the community. Apple's Maciej Stachowiak responded to the criticism, noting that existing ports will continue to work and that the new tools are in a very early stage that is appropriate for review and discussion by the community.

We picked the name "WebKit2" in the hopes of picking something really bland. Apparently that backfired, because it seems to make this project seem like a bigger deal than it is. Basically, you can think of this as a new port-specific API [application programming interface]. But we're trying to put some general mechanisms in this API, so other ports can use it if they choose. We are also welcoming input from the whole WebKit community on the design, architecture and direction of this work. It is at a very early stage, barely enough that you can build a trivial demo browser on top of it. We decided that our proof of concept was far enough along at that point that we should make the code public for community review and input.

Initial versions of WebKit2 have been developed for Mac and Windows, and the developers invite others to submit patches for additional ports.

Top Rated Comments

(View all)

24 months ago
Great - it should make Safari a lot more stable.

Nice to see Apple continue to progress , unlike microsoft who seemed to rest with IE 6 and fall to sleep for several years, and wake up to find the world had surpass them and then play the catch up game.
Rating: 0 Positives / 0 Negatives
24 months ago
This should help with speed & not make Safari crash if one part of rendering a web site crashes.

However, how will this effect performance & resources? If each website has 3 processes (html, layout & javascript) instead of just the 1 combined, and each tab/window is its own process, that's a lot of processes, RAM used, etc if my understanding is correct. If it isn't, feel free to correct me.
Rating: 0 Positives / 0 Negatives
24 months ago
this is so weird....
Rating: 0 Positives / 0 Negatives
24 months ago
What if people shun this like flash?
Rating: 0 Positives / 0 Negatives
24 months ago

This should help with speed & not make Safari crash if one part of rendering a web site crashes.

However, how will this effect performance & resources? If each website has 3 processes (html, layout & javascript) instead of just the 1 combined, and each tab/window is its own process, that's a lot of processes, RAM used, etc if my understanding is correct. If it isn't, feel free to correct me.


Performance will increase since things can b done in parallel.
Rating: 0 Positives / 0 Negatives
24 months ago
Just wondering if the title should be: 'Sandboxing' of webpage elements? OS processes are already 'sandboxed'.
Rating: 0 Positives / 0 Negatives
24 months ago

This should help with speed & not make Safari crash if one part of rendering a web site crashes.

However, how will this effect performance & resources? If each website has 3 processes (html, layout & javascript) instead of just the 1 combined, and each tab/window is its own process, that's a lot of processes, RAM used, etc if my understanding is correct. If it isn't, feel free to correct me.


The processes could be distributed between the available cores in your processor using Grand Central Dispatch.
Rating: 0 Positives / 0 Negatives
24 months ago

this is so weird....


:confused: How is this weird again?

What if people shun this like flash?


Like they've been shunning it in Chrome since it came out? :) (hint: they haven't).
Rating: 0 Positives / 0 Negatives
24 months ago
Bravo! I hate it when one page crashes the entire browser. There are so many badly behaved pages that try to, and sometimes succeed, in taking over the computer. Running with Java, plugins and Javascript turned off helps. PithHelmet helps. Sandboxing of pages will help a lot more. Apple should integrate PithHelmet into it as well so you can turn resources on and off for specific sites.
Rating: 0 Positives / 0 Negatives
24 months ago

What if people shun this like flash?


This shows an amazingly deep lack of understanding of what webkit is.

One thing I've noticed, that seems to happen with almost every MacRumors article posted: "Rating (20 Positives; 4 Negatives)" as of 10:18 am EST. Who the hell has a negative reaction to there being an update to webkit?
Rating: 0 Positives / 0 Negatives

[ Read All Comments ]