WebKit Ported to Qt 4

Today the KDE team announces a new project to re-synchronize our HTML engine,
KHTML, with the WebKit engine. Code named Unity, the project has so far focused on porting the WebKit engine to Qt 4 with minimal changes to the existing code-base. WebKit is a derivative of the KHTML engine developed by Apple Computer Inc.

The initial work for this project was done by four KDE core developers at the
KDE Four Core meeting last week in Trysil, Norway. The contributors were
Dirk Mueller, Zack Rusin, Simon Hausmann, and George Staikos. The project also builds on lead-up work done over the past year by George Staikos and Maksim Orlovich, which synchronized the KDE and WebKit Javascript engines.

At this stage Unity is a research project to determine the feasibility of
merging much of the KHTML work done over the past few years into WebKit. This
will provide us a means to synchronizing our engines. There are no concrete
plans to replace KDE's current KHTML component, which is also used by Konqueror to render HTML pages, with Unity. Any such decision will be left to the KHTML and KDE core
development teams in the upcoming months. It is dependent on many factors such
as our ability to keep the engines synchronized over time, our ability to
produce a high-performance, stable, and complete KPart, our level of comfort
with the new code-base, and our ability to come to a suitable working
arrangement with the other WebKit contributors.

With respect to the technical work, our efforts have resulted in a Qt 4 based WebKit library that is able to render a variety of web pages quite nicely. There is still a considerable amount of work to do before it can be considered a complete browser engine on our platform but the basic foundations are complete. The KDE build system, cmake, is integrated into the WebKit sources, rendering uses Qt's graphics facilities, and a simple test driver has been developed. A KDE layer will be added to integrate the engine with the desktop facilities provided by KDE as well as creating a KPart which can be loaded by any KDE application requesting a handler for HTML.

Anyone wishing to join the effort should contact the developers on the
kfm-devel mailing list. Source code is accessible in KDE's Subversion repository.

For press queries about this and other KDE announcements see the KDE press contacts page.

Dot Categories: 


by sundher (not verified)

The KDE hackers haven't been shown to write good code despite insisting on perfection. . .Which is it? :-p

by gerd (not verified)

Are there other tools like Gnustep possible to get integrated in order to reimplement the full Apple API in KDE. This would mean that we could use native Apple Webkit and could leave development to Apple.

by blacksheep (not verified)

We NOW can do that. Webkit is frontend independent. We just need to maintain this Qt frontend, which should be really simple.

by morphado (not verified)

hello guys,
I am a newbie, and like newbie I like to read the commit-digest, can someone explain to me the meaning of BUZZ, and what is the difference between trunk and brunch, I know that the stable version is KDE3.5.X and the developpement one is KDE4.

and for the next kde ( aka kde4) are you going to split at last the file manager from the web browser( konqueror)


by AC (not verified)

Where did you read the word BUZZ? Buzz is usually used to express that a lot of noise is made around something.

trunk is the latest and greatest of something in development.
branch (I guess you didn't mean brunch) is a, well, development-branch of something else. For example, in KDE we have a branch for KDE 3.5.x and KDE 3.4.x while KDE4 is developed in trunk.

by Danny Allen (not verified)

"Buzz" is the name I give to a rating that I generate from several components, including commit activity, mentions on webpages, and short-term news and discussion (eg. blogs). These are added together to produce the score. Of course, the scores are not completely scientific, and are meant as a way to measure "popularity" relative to the other calculated scores.


p.s. Glad to hear that you enjoy reading the digest. :)

by Psychotron (not verified)

..well, subject says it all. Are they funding developers? Do they activly work on Unity? Or are they just taking what comes out of it...? Neither of these?

by George Staikos (not verified)

It is entirely a KDE project right now. If we use this library in KDE, it will be a joint effort with Apple, Nokia, and others.

by blacksheep (not verified)

Apple won't of course take what comes out of this because they couldn't care less about a Qt frontend for Webkit. But this will end up benefit them as well cause we can now ditch KHTML in favor of Webkit and focus on only one codebase.

by somekool (not verified)

call it unity, call it ksafari or kafari, but please release some new browser using WebKit. I don't know if its a good idea for KDE to switch from KHTML. but its definitely a good idea to bring a new WebKit based browser for Linux, BSD and Windows.


by Carewolf (not verified)

I would call it TourBus. Less exotic than a Safari, but available in more places ;)

by superstoned (not verified)


by Michael (not verified)

Konqueror will be ported to WebKit. No new browser will be made.

by SadEagle (not verified)

Incorrect in multiple ways.

by micha (not verified)

Konqueror is "my" browser for ages now, using it every day. I am developing web apps using konqueror first, checking other browsers later. I am convinced by its good-naturedness. I have seen other browsers fail in obscure ways, even firefox, even safari, where khtml just works fine. Note, this is addressed to khtml, not kjs.

Devs out there, keep up the good work, but don't mess things up, please. From a user's perspective, I have the impression that khtml is just fine as it is, but javascript and dom needs to catch up. So it seems as though merging with webkit is too radical as a cure. Issues can be pin-pointed quite precisely and they are already in the bugs database, I think. Don't pull out the merge sledgehammer as "the next logical step".

by Carewolf (not verified)

The few big things that make it hard is:
Rich text editing, which is very hard and something WebCore has
The same bugs as WebCore, we are assumed by websites to act the same or not detected at all. We need to be detected and support the same bugs as what we are detected as.

by Tim Sutton (not verified)

"WebKit is a derivative of the KHTML engine developed by Apple Computer Inc."

This sentance is badly worded - it makes it sound like Apple wrote KHTML. Isnt this more correct? :

"Apple Computer Inc's Webkit is a derivative of the KHTML engine developed by KDE programmers"

Just my 5c...

by epo (not verified)

Since Oct-23 2006 Unity is no more on branches/work (deleted on commit 598456), but it has been imported on the official Apple repository! See http://webkit.org.
Congratulations to everyone involved, big things can now happen. ^_^

by Martin Reddy (not verified)

This is a fabulous development! We have a large Qt based app that runs on Linux (GNOME) and Mac OS X, and we're looking for a solution to embed a webbrowser in that app. I'm wondering if Unity/WebKit is the answer. Specifically:

- Can Unity run on a Linux GNOME desktop? If so, does it require running a bunch of KDE services as root first (I've compiled everything up under GNOME but am having troubles running testunity), and

- Can you use the new WebKit sources to embed a webbrowser in a Qt app on Mac OS X?

If there's a more appropriate forum to ask these questions then just let me know! Thanks.


by Kevin Krammer (not verified)

> Can Unity run on a Linux GNOME desktop?

Any Qt or KDE program can run on a GNOME desktop, so why wouldn't a program using Unity?

> If so, does it require running a bunch of KDE services as root first

KDE never requires any service to be run as root

> If there's a more appropriate forum to ask these questions then just let me know!