wiki:QtWebKitTableOfFeatures20

Version 68 (modified by Henry Haverinen, 14 years ago) (diff)

--

DRAFT Feature documentation for QtWebKit 2.0

NOTE: This is page is incomplete and under construction, and may contain errors at this point.

Overview

QtWebKit 2.0 is a web content engine based on the open source WebKit project. QtWebKit has broad support for modern web technologies and is compliant with typical web content. QtWebKit is developed in the trunk of WebKit's source code repository, which enables every new release of QtWebKit to include the latest developments from the WebKit project. As a general indicator of web compliance, QtWebKit passes all current ACID tests (1 to 3).

QtWebKit has a C++ API that allows Qt applications to embed web content, and to examine and manipulate the web content. The QtWebKit C++ API is extensively documented in the QtWebKit documentation. The C++ API documentation for QtWebKit 2.0 is included in Qt 4.7 documentation, available at http://doc.qt.nokia.com.

QtWebKit 2.0 is included in Qt 4.7. It can also be used with Qt 4.6, however this case is not covered by commercial support from Nokia.

Terms used in this documentation

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

  • Not implemented: implementation for the feature does not exist or it is so incomplete that even validation and experimentation is not recommended
  • Experimental: the implementation of the feature is experimental. The standard or the implementation may still change in future releases, or there may be even significant gaps or limitations in the implementation. Experimentation is required before using the feature in production applications.
  • Supported: the feature is fully ready for production applications. We don't expect changes in the API or standard.

What's new in QtWebKit 2.0

The highlights of the QtWebKit 2.0 release are listed here

  • Increased focus on performance through new performance benchmarks and benchmarking tools
  • Increased focus on quality e.g. through improved automatic test coverage
  • Tiling support in QGraphicsWebView, for improved scrolling and zooming performance
  • Frame flattening (resize frames to fit their content to avoid separate scrollbars)
  • Improvements in the native look and feel on Maemo 5
  • Hybrid development: support for transporting QPixmaps between Qt C++ and WebKit, and improved documentation for hybrid C++ and QtWebKit projects
  • Full screen editing of <select> and <select multiple> elements on mobile platforms
  • A new theme for form controls on mobile platforms. The theme has been designed to be compliant with web content and it is independent from the current device theme and the QStyle used by the application.
  • Support for CSS 'view-mode' media feature
  • Support for accelerated compositing, which enhances the performance of CSS animations and transitions
  • Experimental support for spatial navigation (navigating the web page with arrow keys)
  • Technology preview, not enabled by default: JIT support on Symbian

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)
  • Linux on MIPS architecture, maintained by MIPS Technologies.
  • Symbian (experimental, not enabled by default)

Netscape Plug-in API

QtWebKit supports the Netscape Plug-in API on X11, Windows, and Mac OS X.

Web Standard and Specification Support

HTML / XHTML (Hypertext Markup Language)

Standard Status Supported Notes
HTML 4.01 W3C Recommendation 24 December 1999
Yes
HTML5 (and related) WHATWG Draft Standard, W3C Working Draft


    HTML5 compatible parser WHATWG Draft Standard Not supported
    Microdata WHATWG Draft Standard Not supported
    2D Canvas WHATWG Draft Standard Experimental
    Cross-document Messaging WHATWG Draft Standard Experimental Kevin thinks this must be there because workers seem to work
    Channel Messaging WHATWG Draft Standard
Is ENABLE(CHANNEL_MESSAGING) for this? We seem to enable this in WebCore.pri
    Forms WHATWG Draft Standard Full picture not known, but we seem
to have some small parts like autofocus and placeholder attribute
    Ruby element WHATWG Draft Standard http://webkit.org/blog/948/ruby-rendering-in-webkit/
    Audio and Video WHATWG Draft Standard Experimental
    Drag and Drop WHATWG Draft Standard No
    Offline Web Applications
WHATWG Draft Standard
Experimental
    Web Workers WHATWG Draft Recommendation, W3C Editor's Draft Experimental Both dedicated and shared worker work according to Kevin. 
    Web Storage WHATWG Draft Standard, W3C Editor's Draft Experimental
    WebSocket API WHATWG Draft Standard, W3C Editor's Draft
    WebSocket protocol WHATWG Draft Standard, IETF Draft
    Server-sent Events WHATWG Draft Standard, W3C Editior's Draft
    Web SQL Database W3C Editor's Draft Experimental
    Indexed Database API W3C Working Draft 05 January 2010 Not supported
    Geolocation API W3C Editor's Draft No
  <device> Element WHATWG Draft Standard
    File API W3C Editor's Draft
    3D Canvas (WebGL) Khronos Group Working Draft No
    XMLHttpRequest Level 1 W3C Working Draft 19 November 2009
Yes
    XMLHttpRequest Level 2 W3C Working Draft 20 August 2009

    Selectors API W3C Candidate Recommendation 22 December 2009
Experimental
    Viewport meta tag QTWEBKIT-172 in Qt bug tracker
Not supported


Standard
Status
Supported
Notes
XHTML 1.0 W3C Recommendation 26 January 2000 (2nd Edition) Yes
XHTML 1.1 W3C Recommendation 31 May 2001
XHTML Basic 1.0 W3C Recommendation 19 December 2000
XHTML Basic 1.1 W3C Recommendation 29 July 2008 Experimental Boston tests results say "partial"
XHTML Mobile Profile 1.0 Open Mobile Alliance 29 October 2001 No Guarded by ENABLE(XHTMLMP)
XHTML Mobile Profile 1.1
Open Mobile Alliance 20 October 2006 No Guarded by ENABLE(XHTMLMP)
XHTML+Voice Profile (X+V) W3C Note 21 December 2001
XHTML 2.0
W3C Working Draft 26 July 2006



Standard
Status
Supported
Notes
WML 1.3 Open Mobile Alliance 19 February 2000 No Guarded by ENABLE(WML)
WML 2.0 Open Mobile Alliance 11 September 2001 No Guarded by ENABLE(WML)


CSS (Cascading Style Sheets)



Standard
Status
Supported
Notes
CSS Level 1 W3C Recommendation 17 Dec 1996
Yes
CSS Level 2 Revision 1 W3C Candidate Recommendation 08 September 2009
Yes Boston QA team test results have a 89% pass rate
CSS Level 3


    Backgrounds and Borders W3C Candidate Recommendation 17 December 2009 Experimental
    Basic Box Model W3C Working Draft 9 August 2007
    Basic User Interface W3C Candidate Recommendation 11 May 2004
    Color W3C Working Draft 21 July 2008
    Flexible Box Layout W3C Working Draft 23 July 2009
    Fonts W3C Working Draft 18 June 2009 Experimental
    Grid Positioning W3C Working Draft 5 September 2007
    Marquee W3C Candidate Recommendation 5 December 2008
    Media Queries W3C Candidate Recommendation 15 September 2009 Experimental Boston test results say "partial"
    Multi-column Layout W3C Candidate Recommendation 17 December 2009
    Namespace W3C Candidate Recommendation 23 May 2008
    Paged Media W3C Working Draft 10 October 2006
    Ruby W3C Candidate Recommendation 14 May 2003
    Selectors W3C Proposed Recommendation 15 December 2009
    Speech W3C Working Draft 16 December 2004
    Text W3C Working Draft 6 March 2007
    2D Transforms W3C Working Draft 01 December 2009 Experimental
    3D Transforms W3C Working Draft 20 March 2009 Experimental
    Transitions W3C Working Draft 01 December 2009 Experimental
    Animations W3C Working Draft 20 March 2009 Experimental
CSS Mobile Profile 2.0 W3C Candidate Recommendation 10 December 2008
CSS Print Profile W3C Working Draft 13 October 2006
CSS TV Profile 1.0 W3C Candidate Recommendation 14 May 2003
Wireless CSS 1.1 Open Mobile Alliance 20 October 2006 No Guarded by ENABLE(WCSS)
CSSOM W3C Editor's Draft 31 March 2010
Experimental According to Kenneth
CSSOM View Module W3C Working Draft 04 August 2009
Experimental According to Kenneth
The 'view-mode' Media Feature W3C Working Draft 20 April 2010 Experimental
WebKit specific extensions


    WebKit Scrollbar styling Surfin' Safari blog, 19 March 2009
Experimental Is this described in any standard draft?
    WebKit Masks Surfin' Safari blog, 24 April, 2008 Safari documentation
Experimental Is this described in any standard draft?
    WebKit CSS Canvas Drawing Surfin' Safari blog, 17 April 2008
Experimental Is this described in any standard draft?
    WebKit CSS Reflections Surfin' Safari blog, 29 April, 2008
Experimental Is this described in any standard draft?
    CSS Variables A document for discussion in W3C standardization, 2008
    

DOM (Document Object Model)


Standard Status Supported Notes
DOM Level 1 W3C Recommendation 1 October, 1998
Yes
DOM Level 2


    Core W3C Recommendation 13 November, 2000
Yes
    HTML W3C Recommendation 09 January 2003
Yes
    Views W3C Recommendation 13 November 2000
Yes

    Events W3C Recommendation 13 November 2000
Yes

    Style W3C Recommendation 13 November 2000
Yes

    Traversal and Range W3C Recommendation 13 November 2000

DOM Level 3


    Core W3C Recommendation 07 April 2004


    Load and Save W3C Recommendation 07 April 2004

    Validation W3C Recommendation 27 January 2004

    Views and Formatting W3C Working Group Note 26 February 2004

    Events W3C Working Draft 8 September 2009
Experimental
    XPath W3C Working Group Note 26 February 2004
No


Scripting

Standard
Status
Supported
Notes
ECMAScript 3rd Edition / JavaScript 1.5 ECMA-262 Standard December 1999 Yes
ECMAScript 5th Edition
ECMA 262 Standard December 2009
Not supported
JavaScript 1.6 Mozilla's "New In JavaScript 1.6" Partial support
JavaScript 1.7 Mozilla's "New In JavaScript 1.7"
Not supported
JavaScript 1.8
Mozilla's "New In JavaScript 1.8"
Not supported
JavaScript 1.8.1
Mozilla's "New In JavaScript 1.8.1"
Not supported
E4X 2nd Edition
ECMA-357 Standard December 2005
Not supported



XML (Extensible Markup Language)

Standard
Status
Supported
Notes
XML 1.0 W3C Recomendation 26 November 2008 (5th Edition)

XML 1.1 W3C Recommendation 16 August 2006 (2nd Edition)
XML Namespaces W3C Recommendation 8 December 2009 (3rd Edition)
xml:id W3C Recommendation 9 September 2005
XML Events W3C Recommendation 14 October 2003
XML Inclusions W3C Recommendation 15 November 2006 (2nd Edition)
XForms 1.0
W3C Recommendation 29 October 2007 (3rd Edition) No  Bug #10048


Standard
Status
Supported
Notes
XSLT 1.0 W3C Recommendation 16 November 1999 No Bug # 37445 
XSLT 2.0 W3C Recommendation 23 Januar 2007 No
EXSLT Official Website No Bug #4079


Standard
Status
Supported
Notes
XPath 1.0 W3C Recommendation 16 November 2009
XPath 2.0 W3C Recommendation 23 Januaary 2007
XQuery 1.0 W3C Candidate Recommendation 28 January 2010


Standard
Status
Supported
Notes
XLink 1.0 W3C Recommendation 27 June 2001 No Bug #10556
XML Base W3C Recommendation 28 January 2009 (2nd Edition) No Bug #17423
XPointer W3C Recommendation 25 March 2003 No Bug #17421


SVG (Scalable Vector Graphics)

Guarded by ENABLE(SVG)

Standard
Status
Supported
Notes
SVG 1.1 (Second Edition) W3C Working Draft 22 June 2010 Experimental http://webkit.org/projects/svg/status.xml 
SVG 1.1 Mobile Profiles W3C Recommendation 14 January 2003
SVG 1.2 Tiny W3C Recommendation 22 December 2008 Experimental Boston QA team results say "partial"


MathML (Mathematical Markup Language)

Guarded by ENABLE(MATHML)

Standard
Status
Supported
Notes
MathML 1.01 W3C Recommendation 7 July 1999 Not supported
MathML 2.0 W3C Recommendation 21 October 2003 (2nd Edition) Not supported


Spatial navigation


Standard
Status
Supported
Notes
WICD Core 1.0 - Current focus point algorithm W3C Candidate Recommendation 18 July 2007 Experimental
WICD Core 1.0 - Distance function W3C Candidate Recommendation 18 July 2007 Experimental
Spatial navigation to form input elements Not supported

Remaining Stuff



Links

License

This document and any changes thereto are licensed under the Creative Commons Attribution-Share Alike 2.5 License Agreement.

The full license text is available here: http://creativecommons.org/licenses/by-sa/2.5/legalcode. To the extent any examples and code snippets are referenced in this document, such examples and code snippets are licensed under the BSD license: www.opensource.org/licenses/bsd-license.php.