KHTML is a
browser engine developed by the
KDE project. It is the default engine of the
Konqueror browser, but it has not been actively worked on since 2016.
Moreover, KHTML will be discontinued for
KDE Frameworks 6.
Built on the
KParts framework and written in
C++, KHTML had relatively good
support for Web standards during its prime. Engines forked from KHTML are used by some of the world's most widely used browsers, among them
Google Chrome
Google Chrome is a cross-platform web browser developed by Google. It was first released in 2008 for Microsoft Windows, built with free software components from Apple WebKit and Mozilla Firefox. Versions were later released for Linux, macOS, ...
,
Safari,
Opera
Opera is a form of theatre in which music is a fundamental component and dramatic roles are taken by singers. Such a "work" (the literal translation of the Italian word "opera") is typically a collaboration between a composer and a libr ...
,
Vivaldi
Antonio Lucio Vivaldi (4 March 1678 – 28 July 1741) was an Italian composer, virtuoso violinist and impresario of Baroque music. Regarded as one of the greatest Baroque composers, Vivaldi's influence during his lifetime was widesprea ...
, and
Microsoft Edge.
History
Origins
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
The HyperText Markup Language or HTML is the standard markup language for documents designed to be displayed in a web browser. It can be assisted by technologies such as Cascading Style Sheets (CSS) and scripting languages such as JavaS ...
3.2,
HTTP
The Hypertext Transfer Protocol (HTTP) is an application layer protocol in the Internet protocol suite model for distributed, collaborative, hypermedia information systems. HTTP is the foundation of data communication for the World Wide We ...
1.0, and
HTML frames
In the context of a web browser, a frame is a part of a web page or browser Window (computing), window which displays content independent of its container, with the ability to load content independently. The HTML or media elements shown in a fr ...
, but not the
W3C DOM,
CSS
Cascading Style Sheets (CSS) is a style sheet language used for describing the presentation of a document written in a markup language such as HTML or XML (including XML dialects such as SVG, MathML or XHTML). CSS is a cornerstone technolo ...
, or
JavaScript
JavaScript (), often abbreviated as JS, is a programming language that is one of the core technologies of the World Wide Web, alongside HTML and CSS. As of 2022, 98% of websites use JavaScript on the client side for webpage behavior, of ...
.
KHTML itself came into existence on November 4, 1998,
as a
fork of the khtmlw library, with some slight refactoring and the addition of
Unicode
Unicode, formally The Unicode Standard,The formal version reference is is an information technology standard for the consistent encoding, representation, and handling of text expressed in most of the world's writing systems. The standard, ...
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
The real work on KHTML actually started between May and October 1999, with the realization that the choice facing the project was "either do a significant effort to move KHTML forward or to use
Mozilla
Mozilla (stylized as moz://a) is a free software community founded in 1998 by members of Netscape. The Mozilla community uses, develops, spreads and supports Mozilla products, thereby promoting exclusively free software and open standards, ...
"
and with adding support for
JavaScript
JavaScript (), often abbreviated as JS, is a programming language that is one of the core technologies of the World Wide Web, alongside HTML and CSS. As of 2022, 98% of websites use JavaScript on the client side for webpage behavior, of ...
as the highest priority. So in May 1999, Lars Knoll began doing research with an eye toward implementing the
W3C DOM specification, finally announcing on August 16, 1999 that he had checked in what amounted to a complete rewrite of the KHTML library—changing KHTML to use the standard
W3C DOM as its internal document representation. That in turn allowed the beginnings of
JavaScript
JavaScript (), often abbreviated as JS, is a programming language that is one of the core technologies of the World Wide Web, alongside HTML and CSS. As of 2022, 98% of websites use JavaScript on the client side for webpage behavior, of ...
support to be added in October 1999,
with the integration of
Harri Porten's
KJS following shortly afterwards.
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
Internet Explorer (formerly Microsoft Internet Explorer and Windows Internet Explorer, commonly abbreviated IE or MSIE) is a series of graphical web browsers developed by Microsoft which was used in the Windows line of operating systems (in ...
to correctly support
Hebrew
Hebrew (; ; ) is a Northwest Semitic language of the Afroasiatic language family. Historically, it is one of the spoken languages of the Israelites and their longest-surviving descendants, the Jews and Samaritans. It was largely preserved ...
and
Arabic
Arabic (, ' ; , ' or ) is a Semitic language spoken primarily across the Arab world.Semitic languages: an international handbook / edited by Stefan Weninger; in collaboration with Geoffrey Khan, Michael P. Streck, Janet C. E.Watson; Walter ...
and languages written
right-to-left—before
Mozilla
Mozilla (stylized as moz://a) is a free software community founded in 1998 by members of Netscape. The Mozilla community uses, develops, spreads and supports Mozilla products, thereby promoting exclusively free software and open standards, ...
had such support.
KDE 2.0
K Desktop Environment 2 was the second series of releases of the K Desktop Environment. There were three major releases in this series.
Major updates
K Desktop Environment 2 introduced significant technological improvements compared to its pre ...
was the first KDE release (on October 23, 2000) to include KHTML (as the rendering engine of the new
Konqueror file and
web browser
A web browser is application software for accessing websites. When a user requests a web page from a particular website, the browser retrieves its files from a web server and then displays the page on the user's screen. Browsers are used o ...
, which replaced the monolithic KDE File Manager).
Other modules
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.).
KSVG2 is also a part of
WebKit
WebKit is a browser engine developed by Apple and primarily used in its Safari web browser, as well as on the iOS and iPadOS version of any web browser. WebKit is also used by the BlackBerry Browser, PlayStation consoles beginning from the ...
.
Sunsetting
KHTML is set to be removed in
KDE Frameworks 6.
It has not had active development since 2016, just the necessary maintenance to work with updates to Frameworks 5.
Standards compliance
The following standards are supported by the KHTML engine:
*
HTML
The HyperText Markup Language or HTML is the standard markup language for documents designed to be displayed in a web browser. It can be assisted by technologies such as Cascading Style Sheets (CSS) and scripting languages such as JavaS ...
4.01
*
HTML 5 support
*
CSS
Cascading Style Sheets (CSS) is a style sheet language used for describing the presentation of a document written in a markup language such as HTML or XML (including XML dialects such as SVG, MathML or XHTML). CSS is a cornerstone technolo ...
1
*
CSS
Cascading Style Sheets (CSS) is a style sheet language used for describing the presentation of a document written in a markup language such as HTML or XML (including XML dialects such as SVG, MathML or XHTML). CSS is a cornerstone technolo ...
2.1 (screen and paged media)
*
CSS
Cascading Style Sheets (CSS) is a style sheet language used for describing the presentation of a document written in a markup language such as HTML or XML (including XML dialects such as SVG, MathML or XHTML). CSS is a cornerstone technolo ...
3 Selectors (fully as of KDE 3.5.6)
*
CSS
Cascading Style Sheets (CSS) is a style sheet language used for describing the presentation of a document written in a markup language such as HTML or XML (including XML dialects such as SVG, MathML or XHTML). CSS is a cornerstone technolo ...
3 Other (multiple backgrounds, box-sizing and text-shadow)
*
PNG,
MNG,
JPEG
JPEG ( ) is a commonly used method of lossy compression for digital images, particularly for those images produced by digital photography. The degree of compression can be adjusted, allowing a selectable tradeoff between storage size and imag ...
,
GIF graphic formats
*
DOM 1, 2 and partially 3
*
ECMA-262/JavaScript 1.5
* Partial
Scalable Vector Graphics support
Descendants
KHTML and
KJS were adopted by
Apple
An apple is an edible fruit produced by an apple tree (''Malus domestica''). Apple trees are cultivated worldwide and are the most widely grown species in the genus '' Malus''. The tree originated in Central Asia, where its wild ancest ...
in 2002 for use in the
Safari web browser. Apple publishes the source code for their
fork of the KHTML engine, called
WebKit
WebKit is a browser engine developed by Apple and primarily used in its Safari web browser, as well as on the iOS and iPadOS version of any web browser. WebKit is also used by the BlackBerry Browser, PlayStation consoles beginning from the ...
. In 2013,
Google
Google LLC () is an American Multinational corporation, multinational technology company focusing on Search Engine, search engine technology, online advertising, cloud computing, software, computer software, quantum computing, e-commerce, ar ...
began development on a fork of WebKit, called
Blink
Blinking is a bodily function; it is a semi-autonomic rapid closing of the eyelid. A single blink is determined by the forceful closing of the eyelid or inactivation of the levator palpebrae superioris and the activation of the palpebral portio ...
.
See also
*
*
Comparison of browser engines
This article compares browser engines, especially actively- developed ones.
Some of these engines have shared origins. For example, the WebKit engine was created by forking the KHTML engine in 2001. Then, in 2013, a modified version of WebKit wa ...
References
External links
Web Browsernbsp;– the Konqueror website
KHTML – KDE's HTML librarynbsp;– description at developer.kde.org
KHTML at the KDE git repositoryKHTML bugs fixed in the last year(self-updating query)
From KDE to WebKit: The Open Source Engine That's Here to Staynbsp;– presentation at Yahoo! office by Lars Knoll and George Staikos on December 8, 2006 (video)
{{KDE
1999 software
Free layout engines
Free software programmed in C++
KDE Frameworks
KDE Platform