KHTML: Difference between revisions
imported>Fenriris m Set to final release because as of KDE6, KHTML is no longer being maintained |
imported>InternetArchiveBot Rescuing 1 sources and tagging 0 as dead.) #IABot (v2.0.9.5) (Tomkozak61 - 26997 |
||
| Line 17: | Line 17: | ||
'''KHTML''' is a discontinued<ref name="discontinued"/> [[browser engine]] that was developed by the [[KDE]] project. It originated as the engine of the [[Konqueror]] browser in the late 1990s, but active development ceased in 2016.<ref name="git_log"/><ref name="kde 6"/> It was officially discontinued in 2023.<ref name="discontinued">{{cite web |title=KHTML repository |quote=Removed for KF6, the 'kf5' branch contains the last maintained state. |url=https://github.com/KDE/khtml/tree/6d89b39ddb93aa5b655508c0b5295f3f4db626b8 |website=GitHub |access-date=5 May 2023}}</ref> | '''KHTML''' is a discontinued<ref name="discontinued"/> [[browser engine]] that was developed by the [[KDE]] project. It originated as the engine of the [[Konqueror]] browser in the late 1990s, but active development ceased in 2016.<ref name="git_log"/><ref name="kde 6"/> It was officially discontinued in 2023.<ref name="discontinued">{{cite web |title=KHTML repository |quote=Removed for KF6, the 'kf5' branch contains the last maintained state. |url=https://github.com/KDE/khtml/tree/6d89b39ddb93aa5b655508c0b5295f3f4db626b8 |website=GitHub |access-date=5 May 2023}}</ref> | ||
Built on the [[KParts]] framework and written in [[C++]], KHTML had relatively good [[KHTML#Standards compliance|support for Web standards]] during its prime. Engines forked from KHTML are used by most of the browsers that are widely used today, including [[WebKit]] ([[Safari (web browser)|Safari]]) and [[Blink (browser engine)|Blink]] ([[Google Chrome]], [[Chromium (web browser)|Chromium]], [[Microsoft Edge]], [[Opera (web browser)|Opera]], [[Vivaldi (web browser)|Vivaldi]] and [[Brave (web browser)|Brave]]). | Built on the [[KParts]] framework and written in [[C++]], KHTML had relatively good [[KHTML#Standards compliance|support for Web standards]] during its prime. Engines forked from KHTML are used by most of the browsers that are widely used today, including [[WebKit]] ([[Safari (web browser)|Safari]]) and [[Blink (browser engine)|Blink]] ([[Google Chrome]], [[Chromium (web browser)|Chromium]], [[Microsoft Edge]], [[Opera (web browser)|Opera]], [[Vivaldi (web browser)|Vivaldi]], [[Opera GX]], [[Opera Mini]], [[Opera Mobile]], [[Yandex Browser]], [[Orion Browser|Orion]], [[Arc (web browser)|Arc]] (On [[iOS]]), [[GNOME Web|Epiphany]], [[Midori (web browser)|Midori]], [[Konqueror]], [[Otter Browser]], [[Dooble]], [[Epic (web browser)|Epic Privacy Browser]], [[SlimBrowser|Slimjet]], [[Comodo Dragon]], [[SRWare Iron]], [[Cốc Cốc]], [[Torch (web browser)|Torch Browser]], [[Orbitum (Web Browser)|Orbitum]], [[UC Browser]], [[Kiwi Browser]], [[Samsung Internet]], [[Bromite (Web Browser)|Bromite]], Blisk, [[Colibri Browser]], Min Browser, [[Ungoogled-chromium|Ungoogled Chromium]], [[Iridium Browser]], [[Avast Secure Browser]], [[Avast Secure Browser|AVG Secure Browser]] and [[Brave (web browser)|Brave]]). | ||
==History== | ==History== | ||
| Line 26: | Line 26: | ||
===Re-write and improvement=== | ===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]]"<ref name="auto"/> and with adding support for [[JavaScript]] as the highest priority. So in May 1999, Lars Knoll<ref>{{cite web |url=https://behindkde.org/node/145/ |title=Lars Knoll | Behind KDE |website=Behindkde.org |access-date=1 September 2019}}</ref> began doing research with an eye toward implementing the [[Document Object Model|DOM]] specification, finally announcing<ref>{{cite web |url=https://marc.info/?l=kfm-devel&m=93489518402924 |title='changes in KHTML' - MARC |website=Marc.info |access-date=1 September 2019}}</ref> on August 16, 1999 that he had checked in<ref>{{cite web |url=https://marc.info/?l=kde-commits&m=93476738632582 |title='khtml_to_dom: kdelibs/khtml' - MARC |website=Marc.info |access-date=1 September 2019}}</ref> what amounted to a complete rewrite of the KHTML library—changing KHTML to use the standard [[Document Object Model|DOM]] as its internal document representation. That in turn allowed the beginnings of [[JavaScript]] support to be added in October 1999,<ref name="auto"/> followed shortly afterwards with the integration of [[KJS (JavaScript engine)|KJS]] by [[Harri Porten]]. | 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]]"<ref name="auto"/> and with adding support for [[JavaScript]] as the highest priority. So in May 1999, Lars Knoll<ref>{{cite web |url=https://behindkde.org/node/145/ |title=Lars Knoll | Behind KDE |website=Behindkde.org |access-date=1 September 2019 |archive-date=1 September 2019 |archive-url=https://web.archive.org/web/20190901123411/https://behindkde.org/node/145/ |url-status=dead }}</ref> began doing research with an eye toward implementing the [[Document Object Model|DOM]] specification, finally announcing<ref>{{cite web |url=https://marc.info/?l=kfm-devel&m=93489518402924 |title='changes in KHTML' - MARC |website=Marc.info |access-date=1 September 2019}}</ref> on August 16, 1999 that he had checked in<ref>{{cite web |url=https://marc.info/?l=kde-commits&m=93476738632582 |title='khtml_to_dom: kdelibs/khtml' - MARC |website=Marc.info |access-date=1 September 2019}}</ref> what amounted to a complete rewrite of the KHTML library—changing KHTML to use the standard [[Document Object Model|DOM]] as its internal document representation. That in turn allowed the beginnings of [[JavaScript]] support to be added in October 1999,<ref name="auto"/> followed shortly afterwards with the integration of [[KJS (JavaScript engine)|KJS]] by [[Harri Porten]]. | ||
In the closing months of 1999 and first few months of 2000, Knoll did further work with Antti Koivisto and Dirk Mueller<ref name="auto"/><ref>{{cite web |url=http://trac.webkit.org/projects/webkit/wiki/WebKit%20Team#AnttiKoivistoanttikreview |title=WebKit Team – WebKit |website=Trac.webkit.org |access-date=1 September 2019}}</ref><ref>{{cite web |url=https://behindkde.org/node/211/ |title=Dirk Mueller | Behind KDE |website=Behindkde.org |access-date=1 September 2019}}</ref> to add CSS support and to refine and stabilize the KHTML architecture,<ref name="auto"/> 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 [[Bi-directional text|right-to-left]]<ref name="auto"/>—before [[Mozilla]] had such support. | In the closing months of 1999 and first few months of 2000, Knoll did further work with Antti Koivisto and Dirk Mueller<ref name="auto"/><ref>{{cite web |url=http://trac.webkit.org/projects/webkit/wiki/WebKit%20Team#AnttiKoivistoanttikreview |title=WebKit Team – WebKit |website=Trac.webkit.org |access-date=1 September 2019}}</ref><ref>{{cite web |url=https://behindkde.org/node/211/ |title=Dirk Mueller | Behind KDE |website=Behindkde.org |access-date=1 September 2019 |archive-date=1 September 2019 |archive-url=https://web.archive.org/web/20190901124926/https://behindkde.org/node/211/ |url-status=dead }}</ref> to add CSS support and to refine and stabilize the KHTML architecture,<ref name="auto"/> 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 [[Bi-directional text|right-to-left]]<ref name="auto"/>—before [[Mozilla]] had such support. | ||
[[KDE 2.0]] was the first KDE release (on October 23, 2000) to include KHTML<ref>{{cite web |url=https://www.youtube.com/watch?v=Tldf1rT0Rn0 |title=Lars Knoll and George Staikos: From KDE to WebKit |date=26 August 2011 |publisher=[[YouTube]] |access-date=1 September 2019}}</ref> (as the rendering engine of the new [[Konqueror]] [[file manager|file]] and [[web browser]], which replaced the monolithic KDE File Manager). | [[KDE 2.0]] was the first KDE release (on October 23, 2000) to include KHTML<ref>{{cite web |url=https://www.youtube.com/watch?v=Tldf1rT0Rn0 |title=Lars Knoll and George Staikos: From KDE to WebKit |date=26 August 2011 |publisher=[[YouTube]] |access-date=1 September 2019}}</ref> (as the rendering engine of the new [[Konqueror]] [[file manager|file]] and [[web browser]], which replaced the monolithic KDE File Manager). | ||
===Other modules=== | ===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 (module)|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.).<ref> | 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 (module)|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.).<ref>{{Cite web |url=http://mlblog.osdir.com/kde.devel.ksvg/2005-01/msg00004.shtml |title=Archived copy |access-date=2008-11-17 |archive-date=2016-03-03 |archive-url=https://web.archive.org/web/20160303201803/http://mlblog.osdir.com/kde.devel.ksvg/2005-01/msg00004.shtml |url-status=dead }}</ref> | ||
KSVG2 is also a part of [[WebKit]].<ref>{{cite web|url=http://webkit.org/projects/svg/|title=The WebKit Open Source Project|website=Webkit.org|date=7 November 2015 |access-date=1 September 2019}}</ref> | KSVG2 is also a part of [[WebKit]].<ref>{{cite web|url=http://webkit.org/projects/svg/|title=The WebKit Open Source Project|website=Webkit.org|date=7 November 2015 |access-date=1 September 2019}}</ref> | ||
| Line 57: | Line 57: | ||
==Descendants== | ==Descendants== | ||
{{Main|WebKit#Origins}} | {{Main|WebKit#Origins}} | ||
KHTML and [[KJS (software)|KJS]] were adopted by [[Apple Inc.|Apple]] in 2002 for use in the [[Safari (web browser)|Safari]] web browser. Apple publishes the source code for their [[Fork (software development)|fork]] of the KHTML engine, called [[WebKit]]. In 2013, [[Google]] began development on a fork of WebKit, called [[Blink (browser engine)|Blink]] | KHTML and [[KJS (software)|KJS]] were adopted by [[Apple Inc.|Apple]] in 2002 for use in the [[Safari (web browser)|Safari]] web browser. Apple publishes the source code for their [[Fork (software development)|fork]] of the KHTML engine, called [[WebKit]]. In 2013, [[Google]] began development on a fork of WebKit, called [[Blink (browser engine)|Blink]],<ref>{{cite web|url=https://blog.chromium.org/2013/04/blink-rendering-engine-for-chromium.html|title=Blink: A rendering engine for the Chromium project|website=Blog.chromium.org|access-date=1 September 2019}}</ref> which is now widely used in browsers such as [[Google Chrome]], [[Microsoft Edge]], [[Opera (web browser)|Opera]], [[Brave (web browser)|Brave]] and more.<ref>{{Cite web |title=What is Blink? {{!}} Web Platform |url=https://developer.chrome.com/docs/web-platform/blink |access-date=2025-10-13 |website=Chrome for Developers |language=en}}</ref> | ||
==See also== | ==See also== | ||
Latest revision as of 17:54, 10 November 2025
Template:Short description Script error: No such module "Infobox". Script error: No such module "Check for unknown parameters".Script error: No such module "Check for conflicting parameters".
KHTML is a discontinued[1] browser engine that was developed by the KDE project. It originated as the engine of the Konqueror browser in the late 1990s, but active development ceased in 2016.[2][3] It was officially discontinued in 2023.[1]
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 most of the browsers that are widely used today, including WebKit (Safari) and Blink (Google Chrome, Chromium, Microsoft Edge, Opera, Vivaldi, Opera GX, Opera Mini, Opera Mobile, Yandex Browser, Orion, Arc (On iOS), Epiphany, Midori, Konqueror, Otter Browser, Dooble, Epic Privacy Browser, Slimjet, Comodo Dragon, SRWare Iron, Cốc Cốc, Torch Browser, Orbitum, UC Browser, Kiwi Browser, Samsung Internet, Bromite, Blisk, Colibri Browser, Min Browser, Ungoogled Chromium, Iridium Browser, Avast Secure Browser, AVG Secure Browser and Brave).
History
Origins
KHTML was preceded by an earlier engine called khtmlw or the KDE HTML Widget, developed by Torben Weis and Martin Jones,[4][5] which implemented support for HTML 3.2, HTTP 1.0, and HTML frames, but not the DOM, CSS, or JavaScript.
KHTML itself came into existence on November 4, 1998,[4] as a fork 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[6] was among those who did the work of creating that early version of KHTML.[4]
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"[4] and with adding support for JavaScript as the highest priority. So in May 1999, Lars Knoll[7] began doing research with an eye toward implementing the DOM specification, finally announcing[8] on August 16, 1999 that he had checked in[9] what amounted to a complete rewrite of the KHTML library—changing KHTML to use the standard DOM as its internal document representation. That in turn allowed the beginnings of JavaScript support to be added in October 1999,[4] followed shortly afterwards with the integration of KJS by Harri Porten.
In the closing months of 1999 and first few months of 2000, Knoll did further work with Antti Koivisto and Dirk Mueller[4][10][11] to add CSS support and to refine and stabilize the KHTML architecture,[4] 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[4]—before Mozilla had such support.
KDE 2.0 was the first KDE release (on October 23, 2000) to include KHTML[12] (as the rendering engine of the new Konqueror file and web browser, 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.).[13]
KSVG2 is also a part of WebKit.[14]
Sunsetting
KHTML was scheduled to be removed in KDE Frameworks 6.[3] Active development ended in 2016, just the necessary maintenance to work with updates to Frameworks 5.[2] It was officially discontinued in 2023.[1]
Standards compliance
The following standards are supported by the KHTML engine:
<templatestyles src="Div col/styles.css"/>
Descendants
Script error: No such module "Labelled list hatnote". 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,[16] which is now widely used in browsers such as Google Chrome, Microsoft Edge, Opera, Brave and more.[17]
See also
Script error: No such module "Portal".
References
<templatestyles src="Reflist/styles.css" />
- ↑ a b c Script error: No such module "citation/CS1".
- ↑ a b Cite error: Script error: No such module "Namespace detect".Script error: No such module "Namespace detect".
- ↑ a b Script error: No such module "citation/CS1".
- ↑ a b c d e f g h Script error: No such module "citation/CS1".
- ↑ Script error: No such module "citation/CS1".
- ↑ Script error: No such module "citation/CS1".
- ↑ Script error: No such module "citation/CS1".
- ↑ Script error: No such module "citation/CS1".
- ↑ Script error: No such module "citation/CS1".
- ↑ Script error: No such module "citation/CS1".
- ↑ Script error: No such module "citation/CS1".
- ↑ Script error: No such module "citation/CS1".
- ↑ Script error: No such module "citation/CS1".
- ↑ Script error: No such module "citation/CS1".
- ↑ Script error: No such module "citation/CS1".
- ↑ Script error: No such module "citation/CS1".
- ↑ Script error: No such module "citation/CS1".
Script error: No such module "Check for unknown parameters".
External links
- Web Browser – the Konqueror website
- KHTML – KDE's HTML library – description at developer.kde.org
- KHTML at the KDE git repository
- 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)
Script error: No such module "Navbox". Script error: No such module "Navbox".