Version 13 (modified by Henry Haverinen, 13 years ago) (diff)


Feature documentation for QtWebKit 2.0

NOTE: This is page is incomplete and under construction. These tables will be moved to QtWebKit documentation.


QtWebKit 2.0 is a web content engine based on the Open Source WebKit engine.

High-level list of supported standards:

  • HTML 4.01, partial and experimental support for upcoming HTML 5
  • XHTML 1.0
  • CSS 2.1 and partial and experimental support for upcoming CSS3
  • ECMAScript 3 (JavaScript)
  • DOM Level 2
  • AJAX technologies, including XMLHTTPRequest
  • XHTML / MP support

This documentation uses the following classification for the levels of support:

  • Not implemented: implementation for the feature does not exist or is so incomplete that even validation and experimentation is not recommended
  • Technology preview: the implementation of the feature is available for experimentation and validation, but not recommended for production use. The implementation may be incomplete and there may be known problems.
  • Experimental: the implementation of the feature is ready to be used in production applications with the caveat that the API, standard or the implementation may be still change in future releases, or there may be some limitations in the implementation.
  • Supported: the feature has been implemented and verified, and we don't expect changes in the API or standard.

Web application features

Feature Status Qt documentation Layout test
HTML5 application cache (manifest attribute) Technology preview (1), (2) OfflineWebApplicationCacheEnabled attribute
Web Storage (DOM storage, local storage & session storage) Experimental (1), (2) LocalStorageEnabled attribute LayoutTests/storage
Web SQL Database Experimental [(1), (2) OfflineStorageDatabaseEnabled attribute
"online" and "offline" events
Web Workers - dedicated workers Not implemented LayoutTests/workers
Web Workers - shared workers Not implemented LayoutTests/fast/workers
Web Sockets Not implemented LayoutTests/websocket

JavaScript JIT

Just-in-time (JIT) compilation for JavaScript is supported on the following platforms:

  • Mac OS X, 64-bit and 32-bit
  • Windows desktop platforms when using Microsoft Visual C++ or gcc 4.1 or higher (MinGW). 32-bit build only; JIT is not supported on 64-bit builds on Windows.
  • Linux on x86 platforms with gcc 4.1 or higher
  • Linux on ARM (Thumb-2 JIT is not currently used)

HTML5 canvas and media

Feature Status Layout test
<canvas> element Technology preview (partial support). LayoutTests/fast/canvas

QtWebKit has had experimental support for HTML5 media via the Phonon multimedia integration since Qt 4.5. As of QtWebKit 2.0, we have added integration to the new QtMultimedia framework in Qt 4.7. In the future, improvements and new development will focus on the QtMultimedia framework based architecture.

Feature Status Layout test
<audio>, <video> and <source> element Technology preview with QtMultimedia in Qt 4.7. Also previous experimental support with Phonon still available when using Qt 4.6. LayoutTests/media, LayoutTests/fast/media

Advanced CSS Features

Feature Status Bugzilla Layout tests
CSS 2D Transforms Module Level 3 Experimental LayoutTests/transforms, LayoutTests/transforms/2d, /LayoutTests/fast/transforms, LayoutTests/fast/css
CSS 3D Transforms Module Level 3, (accelerated compositing) LayoutTests/transforms, LayoutTests/transforms/3d/general, LayoutTests/transforms/3d/hit-testing, LayoutTests/transforms/3d/point-mapping, LayoutTests/compositing/animation
CSS Transitions Module Level 3 Experimental LayoutTests/transitions, LayoutTests/fast/css, LayoutTests/compositing/transitions
CSS Animations Module Level 3 Experimental, LayoutTests/animations, LayoutTests/animations/3d, LayoutTests/compositing/animation
Backgrounds and Borders Module Level 3 support
CSS Text Level 3
CSS Fonts Module Level 3
Styling scrollbars with -webkit-scrollbar-* CSS properties
-webkit-mask-* CSS properties

HTML5 functionality in web forms

Feature Status Layout test
<input type="search"> for search boxes Not implemented
<input type="number"> for spinboxes Not implemented
<input type="range"> for sliders Not implemented
<input type="color"> for color pickers Not implemented
<input type="tel"> for telephone numbers Not implemented
<input type="url"> for web addresses Not implemented
<input type="email"> for email addresses Not implemented
<input type="date"> for calendar date pickers Not implemented
<input type="month"> for months Not implemented
<input type="week"> for weeks Not implemented
<input type="time"> for timestamps Not implemented
<input type="datetime"> for precise, absolute date+time stamps Not implemented
<input type="datetime-local"> for local dates and times Not implemented
<input type="file"> for selecting local files Not implemented
<menu> a menu list of form controls
<command> a command button inside a <menu> element
<datalist> element and list attribute (for input type="list")
<keygen> element, challenge attribute and keytype attribute for PKI key generation
<output> element
autocomplete attribute for input values
autofocus attribute for web form controls technology preview
required attribute for specifying mandatory input fields
multiple attribute (if present, multiple input values allowed)
pattern attribute for validating input field's value
step attribute for date/time related input types
placeholder attribute for placeholder text in an input field technology preview
form attribute
maxlength attribute for text fields
novalidate attribute

HTML5 semantic elements

Feature Status Layout test
HTML5 Microdata (item, itemprop attributes, microdata DOM API)
window.onhashchange event (fires when a window's hash (#) location changes)

Miscellaneous web developer APIs

Feature Status Layout test
Geolocation API Not implemented
HTML5 getElementsByClassName API
HTML5 element.classList API
HTML5 registerProtocolHandler API
HTML5 registerContentHandler API
HTML5 Cross-document messaging API
W3C Selectors API
W3C Server-sent Events
Multi-touch input DOM events Not implemented

Miscellaneous HTML5 features

Feature Status Layout test
HTML5 drag and drop
<progress> progress indicator
<meter> an indicator for scalar measurement
<ruby>, <rt>, <rp> elements for Chinese notes or characters
<figure> element
<embed> element for embedding content such as a plug-in
Inline MathML
Inline SVG
sizes attribute for <link>
charset attribute for <meta>
scoped attribute for <style>
async attribute for <script>
ping attribute for <a>, <area>
reversed attribute for <ol>
sandbox attribute for <iframe>
seamless attribute for <iframe>
Datasets (data-*) global attribute
contextmenu global attribute
hidden global attribute
contenteditable global attribute
spellcheck global attribute
draggable global attribute
<a rel="noreferrer"> (don't leak referrer info when following link)