Jump to content

KHTML

From Wikipedia, the free encyclopedia

This is an old revision of this page, as edited by Brynet (talk | contribs) at 20:21, 27 May 2007. The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.

KHTML
Developer(s)KDE project
Stable release5.111.0 (September 10, 2023; 14 months ago (2023-09-10)) [±][1]
Repository
Operating systemLinux/Unix
TypeLayout engine
LicenseLGPL
Websitekhtml.info

KHTML is the HTML layout engine developed by the KDE project.

History

Built on the then new KPart framework, it was introduced with KDE2 in 2000, for use in the new Konqueror file and web browser which replaced the monolithic KDE File Manager. Written in C++ and licensed under the LGPL, it supports most of the standards related to web browsing. To render as many pages as possible, some extra abilities and quirks from Internet Explorer are supported, even though they are not part of the HTML standard definition.

KHTML is faster than the Gecko layout engine, its main open source rival and core of the Mozilla and Mozilla Firefox browsers, among others. However, being a less widely known browser, many websites fail to support it or claim no support even if the site does work. Gmail, for instance, only works if Konqueror reports itself as Firefox (See UA Spoofing).

KHTML and Apple

The engine was adopted by Apple in 2002 for its Safari web browser. Apple publishes the source code for up to date and all previous versions of their version of the KHTML engine, called WebCore and WebKit, as required by the LGPL. The exchange of code patches between the two branches of KHTML has diverged because the projects have increasingly different approaches. [5]

Contributing to the separation, Apple had not complied with parts of the Open Source philosophy. Examples include Apple working on their version of KHTML for a year before making their fork public, and Apple sometimes submitting their changes in large patches that incorporate a great number of changes, in some cases leaving code to do with future feature additions undocumented. The former example made it difficult for the KDE developers to incorporate the changes. Regardless, the KDE project was able to incorporate some of these changes to improve KHTML's rendering speed and add features, including compliance with the Acid2 rendering test.

According to Apple, some changes involved Mac OS X-specific features (e.g. Objective-C, KWQ, OS X calls) which are absent in KDE's KHTML, which called for different development tactics [2].

Apple has since released changes of the sourcecode of its KHTML fork in a CVS repository. [3] Since the divesture of the sourcecode into the CVS repository, Apple and KHTML developers have had increasing collaboration. Many of the top KHTML developers have become reviewers and submitters for Apple's WebKit SVN repository. Because the WebKit and KHTML source differ so greatly at this date, some key KHTML developers are looking to backport the WebKit source to KDE through a project codenamed 'Unity' [4].

Standards compliance

The following standards are supported by the KHTML engine:

KHTML-based applications

KDE applications

  • KDE Konqueror - web browser and file manager for KDE
  • KMail - uses KHTML for viewing HTML-formatted email
  • KHelpCenter - documentation viewer for KDE
  • Akregator - uses KHTML to display full articles without opening a separate web browser
  • Amarok - uses KHTML to display information about currently playing file

Mac OS X (WebKit) applications

  • Safari - Apple's web browser
  • Shiira, an open source browser for Mac OS X based on WebKit with more features than Safari
  • OmniWeb 5 - The Omni Group browser for Mac OS X

Other applications

See also

References

  1. ^ "KHTML commit log". KDE Invent. Retrieved 2021-09-14.
  2. ^ [1]
  3. ^ [2]
  4. ^ [3]
  5. ^ [4]

Template:WebKit