wiki:QtWebKitTableOfFeatures20

Version 57 (modified by Henry Haverinen, 9 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 the Acid 2 and Acid 3 tests.

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.
  • Delete row: not enough information is available right now, so this row will be deleted from the final version of this document

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
  • 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
DELETE ROW Is ENABLE(CHANNEL_MESSAGING) for this? We seem to enable this in WebCore.pri
    Forms WHATWG Draft Standard DELETE ROW Full picture not known, but we seem
to have some small parts like autofocus and placeholder attribute
    Ruby element WHATWG Draft Standard DELETE ROW 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 Delete row
    WebSocket protocol WHATWG Draft Standard, IETF Draft Delete row
    Server-sent Events WHATWG Draft Standard, W3C Editior's Draft DELETE ROW
    Web SQL Database W3C Editor's Draft Experimental
    Geolocation API W3C Editor's Draft No
  <device> Element WHATWG Draft Standard DELETE ROW
    File API W3C Editor's Draft DELETE ROW
    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
DELETE ROW
    Selectors API W3C Candidate Recommendation 22 December 2009
Experimental


Standard
Status
Supported
Notes
XHTML 1.0 W3C Recommendation 26 January 2000 (2nd Edition) Yes
XHTML 1.1 W3C Recommendation 31 May 2001 DELETE ROW
XHTML Basic 1.0 W3C Recommendation 19 December 2000 DELETE ROW
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 DELETE ROW
XHTML 2.0
W3C Working Draft 26 July 2006
DELETE ROW


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 DELETE ROW
    Basic User Interface W3C Candidate Recommendation 11 May 2004 DELETE ROW
    Color W3C Working Draft 21 July 2008 DELETE ROW
    Flexible Box Layout W3C Working Draft 23 July 2009 DELETE ROW
    Fonts W3C Working Draft 18 June 2009 Experimental
    Grid Positioning W3C Working Draft 5 September 2007 DELETE ROW
    Marquee W3C Candidate Recommendation 5 December 2008 DELETE ROW
    Media Queries W3C Candidate Recommendation 15 September 2009 Experimental Boston test results say "partial"
    Multi-column Layout W3C Candidate Recommendation 17 December 2009 DELETE ROW
    Namespace W3C Candidate Recommendation 23 May 2008 DELETE ROW
    Paged Media W3C Working Draft 10 October 2006 DELETE ROW
    Ruby W3C Candidate Recommendation 14 May 2003 DELETE ROW
    Selectors W3C Proposed Recommendation 15 December 2009 DELETE ROW
    Speech W3C Working Draft 16 December 2004 DELETE ROW
    Text W3C Working Draft 6 March 2007 DELETE ROW
    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 DELETE ROW
CSS Print Profile W3C Working Draft 13 October 2006 DELETE ROW
CSS TV Profile 1.0 W3C Candidate Recommendation 14 May 2003 DELETE ROW
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
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?
    

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
DELETE ROW
DOM Level 3


    Core W3C Recommendation 07 April 2004
DELETE ROW

    Load and Save W3C Recommendation 07 April 2004
DELETE ROW
    Validation W3C Recommendation 27 January 2004
DELETE ROW
    Views and Formatting W3C Working Group Note 26 February 2004
DELETE ROW
    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
DELETE ROW
JavaScript 1.6 Mozilla's "New In JavaScript 1.6" DELETE ROW
JavaScript 1.7 Mozilla's "New In JavaScript 1.7"
DELETE ROW
JavaScript 1.8
Mozilla's "New In JavaScript 1.8"
DELETE ROW
JavaScript 1.8.1
Mozilla's "New In JavaScript 1.8.1"
DELETE ROW
E4X 2nd Edition
ECMA-357 Standard December 2005
DELETE ROW



XML (Extensible Markup Language)

Standard
Status
Supported
Notes
XML 1.0 W3C Recomendation 26 November 2008 (5th Edition)
DELETE ROW
XML 1.1 W3C Recommendation 16 August 2006 (2nd Edition) DELETE ROW
XML Namespaces W3C Recommendation 8 December 2009 (3rd Edition) DELETE ROW
xml:id W3C Recommendation 9 September 2005 DELETE ROW
XML Events W3C Recommendation 14 October 2003 DELETE ROW
XML Inclusions W3C Recommendation 15 November 2006 (2nd Edition) DELETE ROW
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 DELETE ROW
XPath 2.0 W3C Recommendation 23 Januaary 2007 DELETE ROW
XQuery 1.0 W3C Candidate Recommendation 28 January 2010 DELETE ROW


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 DELETE ROW
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


Remaining Stuff



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.