KHTML is a
browser engine
A browser engine (also known as a layout engine or rendering engine) is a core software component of every major web browser. The primary job of a browser engine is to transform HTML documents and other resources of a web page into an interactiv ...
developed by the
KDE project. It is the default engine of the
Konqueror
Konqueror is a free and open-source web browser and file manager that provides web access and file-viewer functionality for file systems (such as local files, files on a remote FTP server and files in a disk image). It forms a core part of ...
browser, but it has not been actively worked on since 2016.
Moreover, KHTML will be discontinued for
KDE Frameworks
KDE Frameworks is a collection of libraries and software frameworks readily available to any Qt-based software stacks or applications on multiple operating systems. Featuring frequently needed functionality solutions like hardware integration, ...
6.
Built on the
KParts
KDE Frameworks is a collection of libraries and software frameworks readily available to any Qt-based software stacks or applications on multiple operating systems. Featuring frequently needed functionality solutions like hardware integration, ...
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, macO ...
,
Safari
A safari (; ) is an overland journey to observe wild animals, especially in eastern or southern Africa. The so-called "Big Five" game animals of Africa – lion, leopard, rhinoceros, elephant, and Cape buffalo – particularly form an importa ...
,
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 libre ...
,
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 widespre ...
, and
Microsoft Edge
Microsoft Edge is a proprietary, cross-platform web browser created by Microsoft. It was first released in 2015 as part of Windows 10 and Xbox One and later ported to other platforms as a fork of Google's Chromium open-source project: Android ...
.
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 JavaScri ...
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 Web, ...
1.0, and
HTML frames, but not the
W3C DOM,
CSS, 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 Website, websites use JavaScript on the Client (computing), client side ...
.
KHTML itself came into existence on November 4, 1998,
as a
fork
In cutlery or kitchenware, a fork (from la, furca ' pitchfork') is a utensil, now usually made of metal, whose long handle terminates in a head that branches into several narrow and often slightly curved tines with which one can spear foods ...
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, w ...
"
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 Website, websites use JavaScript on the Client (computing), client side ...
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 Website, websites use JavaScript on the Client (computing), client side ...
support to be added in October 1999,
with the integration of
Harri Porten
Harri Porten (born 1972) is a software engineer. Porten, a KDE developer and former Trolltech employee, is the CEO of Froglogic, a consultancy company related to Qt development. He lives in Hamburg, Germany.
Porten originally wrote the KJS J ...
'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 user interface, graphical web browsers developed by Microsoft which was used in the Microsoft Wind ...
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; Walte ...
and languages written
right-to-left
In a script (commonly shortened to right to left or abbreviated RTL, RL-TB or R2L), writing starts from the right of the page and continues to the left, proceeding from top to bottom for new lines. Arabic, Hebrew, Persian, Pashto, Urdu, Kashmir ...
—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, w ...
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 pr ...
was the first KDE release (on October 23, 2000) to include KHTML (as the rendering engine of the new
Konqueror
Konqueror is a free and open-source web browser and file manager that provides web access and file-viewer functionality for file systems (such as local files, files on a remote FTP server and files in a disk image). It forms a core part of ...
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 on ...
, 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
KDE Frameworks is a collection of libraries and software frameworks readily available to any Qt-based software stacks or applications on multiple operating systems. Featuring frequently needed functionality solutions like hardware integration, ...
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 JavaScri ...
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
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 im ...
,
GIF graphic formats
*
DOM 1, 2 and partially 3
*
ECMA-262/JavaScript 1.5
* Partial
Scalable Vector Graphics
Scalable Vector Graphics (SVG) is an XML-based vector image format for defining two-dimensional graphics, having support for interactivity and animation. The SVG specification is an open standard developed by the World Wide Web Consortium sin ...
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 ances ...
in 2002 for use in the
Safari
A safari (; ) is an overland journey to observe wild animals, especially in eastern or southern Africa. The so-called "Big Five" game animals of Africa – lion, leopard, rhinoceros, elephant, and Cape buffalo – particularly form an importa ...
web browser. Apple publishes the source code for their
fork
In cutlery or kitchenware, a fork (from la, furca ' pitchfork') is a utensil, now usually made of metal, whose long handle terminates in a head that branches into several narrow and often slightly curved tines with which one can spear foods ...
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.
See also
*
*
Comparison of browser engines
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