An Alpha Release of Linux/Gtk+ port of WebCore/KHTML rendering engine and reference browser from Gtk+ WebCore -project 1. SUMMARY Gtk+ WebCore -project releases pre-alpha version of Linux/Gtk port of WebCore/KHTML rendering engine and a reference browser implementation. Released components include KJS javascript interpreter, KHTML rendering engine, Qt porting layer, WebKit API for embedding and a reference browser for demonstrating the functionality of the other components. This is port is based on Apple Computer, Inc. WebCore, which provides a lean rendering engine and an open source alternative to Qt-based khtml rendering engine. This port combines the khtml's excellent design and standards compatibility with performance and standards compatibility improvements from WebCore. One motivation for this release is also that gnome-webkit project could benefit from our work and our hope is that they find Gtk+ WebCore project useful (see http://cvs.gnome.org/view-cvs/gnome-webkit for more information). You can find our port from the projects SourceForge.net download page: http://sourceforge.net/project/showfiles.php?group_id=121646 2. DETAILS OF THE RELEASE Let's start with a few words about the port itself, which consists of four different components. First of all, there is JavaScriptCore (originally KJS), which is virtually untouched and therefore almost the same as Apple's JavaScriptCore or KDE's KJS. Only changes there are in Date-functions where we use original KJS code because we don't have date and time classes of Apple framework available in Gtk+ / Linux. The NRCore-subproject contains both KHTML port and KWIQ Qt adaptation layer. We try to keep changes in KHTML-port minimal to avoid the need to fork yet another branch from KHMTL and Apple WebCore. Therefore all our changes are inside "#ifdef KWIQ" directives. Furthermore, most of these changes are just used in commenting out features Apple has implemented to khtml core and we haven't had time to implement (including canvas extensions and HTML editing). KWIQ (pronounced "quick") porting layer is where most of our work is done. We have ported Apples KWQ-porting layer from Objective C back to C++ and Gtk+ where required. NRCit-subproject consists C++ and C API's for using and embedding KHTML rendering engine in an application and implements required abstractions from NRCore. Finally, osb-browser -subproject contains a reference browser utilizing components above implemented using Gtk+/Glade. Main purpose of the browser is to demonstrate rendering engine capabilities and to test porting status. 3. DOCUMENTATION AND DOWNLOADS Project documentation is located at SourceForge.net documentation page: http://gtk-webcore.sourceforge.net/doc/index.html More information can be found from project home page: http://gtk-webcore.sourceforge.net/ Downloads: http://sourceforge.net/project/showfiles.php?group_id=121646 4. LICENSING Both JavaScriptCore and NRCore are released under their original LGPL and BSD -licenses from KDE project and Apple Computer, Inc. Qt-porting layer is released under (Apple's) BSD-license and our work under (Nokia) BSD-license in respective parts. NRCit and osb-browser are licensed under the same Nokia BSD-license. Links to licenses can be found in our links page. http://gtk-webcore.sourceforge.net/links.html 5. WHO WE ARE The project work is done at Nokia Research Center as part of ongoing internet browser-related research activities. By releasing the source we hope to support in open source communities interested in using KHTML rendering engine component. We are interested in feedback of other developers. If you find our project interesting and are considering testing out, using or extending it, feel free to contact us. * Kimmo Kinnunen kimmo.t.kinnunen@nokia.com * Petri Salmi petri.salmi@nokia.com Kind regards on behalf of NRC Open Source Browser -team, Petri Salmi and Kimmo Kinnunen