|Stable release||4.11.1 / August 31, 2013|
|License||GNU Lesser General Public License|
KHTML is a HTML layout engine developed by the KDE project. It is the engine used by the Konqueror web browser. A forked version of KHTML called WebKit is used by several web browsers, among them Safari. Distributed under the terms of the GNU Lesser General Public License, KHTML is free software.
Built on the KPart framework and written in C++, KHTML has relatively good support for Web standards. To render as many pages as possible, some extra abilities and quirks from Internet Explorer are also supported, even though those are non-standard.
KHTML was preceded by an earlier engine called khtmlw or the KDE HTML Widget, developed by Torben Weis and Martin Jones, which implemented support for HTML 3.2, HTTP 1.0, and HTML frames, but not the W3C DOM, CSS, or scripting.
KHTML came into existence on November 4, 1998, as a copy of the khtmlw library, with some slight refactoring and the addition of Unicode support and changes to support the move to Qt 2. Waldo Bastian was among those who did the work of creating that early version of KHTML.
Re-write and improvement
In the closing months of 1999 and first few months of 2000, Knoll did further work with Antti Koivisto and Dirk Mueller to add CSS support and to refine and stabilize the KHTML architecture, with most of that work being completed by March 2000. Among other things, those changes enabled KHTML to become the second browser after Internet Explorer to correctly support Hebrew and Arabic and languages written right-to-left — before Mozilla had such support.
KSVG was first developed in 2001 by Nikolas Zimmermann and Rob Buis; however, by 2003, it was decided to fork the then-current KSVG implementation into two new projects: KDOM/KSVG2 (to improve the state of DOM rendering in KHTML underneath a more formidable SVG 1.0 render state) and Kcanvas (to abstract any rendering done within khtml/ksvg2 in a single shared library, with multiple backends for it, e.g., Cairo/Qt, etc.).
The following standards are supported by the KHTML engine:
- HTML 4.01
- HTML 5 support
- CSS 1
- CSS 2.1 (screen and paged media)
- CSS 3 Selectors (fully as of KDE 3.5.6)
- CSS 3 Other (multiple backgrounds, box-sizing and text-shadow)
- PNG, MNG, JPEG, GIF graphic formats
- DOM 1, 2 and partially 3
- Partial Scalable Vector Graphics support
KHTML and Apple
KHTML and KJS were adopted by Apple in 2002 for use in the Safari web browser. Apple publishes the source code for their fork of the KHTML engine, called WebKit. In 2013, Google began development on a fork of WebKit, called Blink.
- Public KDE source archives (Note: KHTML is part of the KDElibs component)
- around 1:18 in the December 8, 2006 From KDE to WebKit presentation at Yahoo! office by Lars Knoll and George Staikos http://yuiblog.com/blog/2006/12/11/knoll-staikos-video/
- around 4:52 in http://yuiblog.com/blog/2006/12/11/knoll-staikos-video/
- Waldo Bastian http://www.behindkde.org/node/37/
- around 5:02 in http://yuiblog.com/blog/2006/12/11/knoll-staikos-video/
- around 5:30 in http://yuiblog.com/blog/2006/12/11/knoll-staikos-video/
- Lars Knoll http://www.behindkde.org/node/145/
- 1999-08-16 "changes in KHTML" message from Lars Knoll http://lists.kde.org/?l=kfm-devel&m=93489518402924
- 1999-08-16 "khtml_to_dom: kdelibs/khtml" commit message http://lists.kde.org/?l=kde-commits&m=93476738632582
- around 8:18 in http://yuiblog.com/blog/2006/12/11/knoll-staikos-video/
- around 9:10 in http://yuiblog.com/blog/2006/12/11/knoll-staikos-video/
- Antti Koivisto http://trac.webkit.org/projects/webkit/wiki/WebKit%20Team#AnttiKoivistoanttikreview>
- Dirk Mueller http://www.behindkde.org/node/211/
- around 9:32 in http://yuiblog.com/blog/2006/12/11/knoll-staikos-video/
- around 10:30 in http://yuiblog.com/blog/2006/12/11/knoll-staikos-video/
- around 11:10 in http://yuiblog.com/blog/2006/12/11/knoll-staikos-video/
- Re: Status of KSVG project by nikolas Zimmermann, January 25, 2005.
- Webkit's project page for SVG
- K Desktop Environment - KDE 3.5.6 Changelog
- Web Browser – list of KHTML features on the Konqueror website
- KHTML – KDE's HTML library – description at developer.kde.org
- KHTML at the KDE API Reference (v4.11)
- KHTML at the KDE git repository
- KHTML bugs fixed in the last year (self-updating query)
- From KDE to WebKit: The Open Source Engine That's Here to Stay – presentation at Yahoo! office by Lars Knoll and George Staikos on December 8, 2006 (video)