Feature documentation for QtWebKit 2.0
NOTE: This is page is incomplete and under construction. These tables will be moved to QtWebKit documentation.
Overview
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)
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. 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 HTML5 media integration.
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
|
CSS Features
TBD: preparefortransition and dotransition?
Feature | Status | Bugzilla | Layout tests
|
CSS 2D Transforms Module Level 3 | | | LayoutTests/transforms, LayoutTests/transforms/2d, /LayoutTests/fast/transforms, LayoutTests/fast/css
|
CSS 3D Transforms Module Level 3 | | https://bugs.webkit.org/show_bug.cgi?id=23908, https://bugs.webkit.org/show_bug.cgi?id=23359 (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 | | https://bugs.webkit.org/show_bug.cgi?id=20337 | LayoutTests/transitions, LayoutTests/fast/css, LayoutTests/compositing/transitions
|
CSS Animations Module Level 3 | | https://bugs.webkit.org/show_bug.cgi?id=20119, https://bugs.webkit.org/show_bug.cgi?id=20337 | LayoutTests/animations, LayoutTests/animations/3d, LayoutTests/compositing/animation
|
CSS: Reflections | | |
|
CSS Backgrounds and Morders Modulke Level 3 support | | |
|
CSS3 Multiple layered background images (Backgrounds and Borders Module) | | |
|
CSS3 property Border-image | | |
|
Embedding and downloading CSS font faces | | |
|
-webkit-scrollbar-* CSS properties | | |
|
-webkit-mask-* CSS properties | | |
|
CSS text-overflow properties | | |
|
CSS text shadow properties | | |
|
CSS Background Size | | |
|
CSS Background Clip | | |
|
Feature | Status | Layout test
|
<input type="search"> for search boxes | Not supported |
|
<input type="number"> for spinboxes | Not supported |
|
<input type="range"> for sliders | Not supported |
|
<input type="color"> for color pickers | Not supported |
|
<input type="tel"> for telephone numbers | Not supported |
|
<input type="url"> for web addresses | Not supported |
|
<input type="email"> for email addresses | Not supported |
|
<input type="date"> for calendar date pickers | Not supported |
|
<input type="month"> for months | Not supported |
|
<input type="week"> for weeks | Not supported |
|
<input type="time"> for timestamps | Not supported |
|
<input type="datetime"> for precise, absolute date+time stamps | Not supported |
|
<input type="datetime-local"> for local dates and times | Not supported |
|
<input type="file"> for selecting local files | Not supported |
|
<menu> a menu list of form controls | |
|
<command> a command button inside a menu element | |
|
<datalist> element | |
|
<keygen> element | |
|
<output> element | |
|
autocomplete attribute | |
|
autofocus attribute for web form controls | |
|
list attribute | |
|
required attribute | |
|
multiple attribute | |
|
pattern attribute | |
|
min, max attributes | |
|
step attribute | |
|
placeholder attribute for placeholder text in an input field | |
|
challenge attribute | |
|
keytype attribute | |
|
form attribute | |
|
maxlength attribute | |
|
novalidate attribute | |
|
HTML5 semantic elements
Feature | Status | Layout test
|
<section> | |
|
<nav> | |
|
<article> | |
|
<aside> | |
|
<hgroup> | |
|
<header> | |
|
<footer> | |
|
<time> | |
|
<mark> | |
|
<details> | |
|
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 supported |
|
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 | Not supported |
|
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 | |
|
manifest attribute for <html> | |
|
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 | |
|
HTML5 compliant parsing of HTML documents | |
|
<a rel="noreferrer"> (don't leak referrer info when following link) | |
|