[[PageOutline]] = TODO List for QtWebKit = This page is a scratch pad for projects ideas and todo items. It is not a substitute for JIRA or Bugzilla. == Project Drafts and Ideas == === Competitive Mobile Browser Engine === The goal of this project is to bring QtWebKit on par with the competition on mobile platforms. The primary target platforms for improvements in this project are the Maemo/Meego and Symbian platforms. From our experience with running QtWebKit on these platforms, we can extract four main areas of improvement that this project tries to touch: 1. Useability 1. Feature Completeness 1. Correctness / Stability 1. Performance Obviously all of these areas can take unlimited amounts of improvement. In this project we limit ourselves to simple and straightforward changes, easy wins. == Things we want to do == * Research out-of-process plugins * Research QtSvg vs. WebKit SVG * Make WebKit more modular * XSLT support with QtXmlPatterns. WIP (passes 30% of the tests) * Layout tests in 4.5, then trunk * Write examples, docs and screencasts * Finish DOM API * QtScript Integration * ~~ QtScript on top of JSC DONE ~~ * QtScript on top of JSC C-API == Things we should do == * Task maintenance (All) * Improve Media-Element support * Make the build more configurable in Qt * Research memory usage * Research performance * Extend APIs * Style-dependent scrolling (improvement to r41285) * A17n support * Check for new feature defines (i.e. ENABLED(3D_RENDERING)) == Dogfood Items == * Wallet integration * Arora extensions * Webclips * Inline editing example == Examples and Demos to be written == * how to use in a web page * HTML5 local/session storage * ~~using it with jQuery~~ (Ariya) DONE: see http://labs.trolltech.com/blogs/2009/04/17/jquery-and-qwebelement/ * Flash inside QWebView (like Girish's video feed example but simpler) * restricting web view to a certain set of URLs * convert HTML to PDF, continue from Kavindra's work * using QWebView with Graphics View * a utility monitor web sites, sit on the systray, display the thumbnail * simple example (without model/view) on how to use history and bookmarks * ~~google suggest~~ (Ariya) DONE: see http://labs.trolltech.com/blogs/2009/03/20/google-suggest-made-easy/ * ~~visual scraping~~ (Ariya) DONE: see http://labs.trolltech.com/blogs/2009/06/02/weather-applet-again/ * how to extend QWebView to handle e.g. FTP * cookie handling * XML Query for feed parser/reader == Documentation improvements == * Overview diagram between all QWebFoo class * Diagram/description of the relation between QtWebKit and QtNetwork * Using HTML files and images from the resource system * Import CSV example from QQ to Qt tree == Deferred DOM API Items == * Research setInner/OuterXml on default constructed QWebElements. * Add support for DOM events/listeners * Add QWebElement::connectEvent() * Add support for mapping JS events to Qt events (QMouseEvent, etc.) * Add support for pure JS events (QWebEvent?) * Add support for dispatching events from C++ * Add support for convenience functions on the selection/collection * Investigate support for different backends (xml and/or query language). * Need to add a documented method of retrieving the current selection as a QWebElementSelection, since the ::selection psuedo-element didn't make it into the current draft of css3-selectors. === Ideas for Examples & Demos === * A tool to create selections visually, built on top of the same API. Include a lineedit where you can type a selector and it visualizes the selected elements. (both ways) * Simple jquery-ui like effects. * Ad-block for Arora * Form completion (smart or not...) * Implement Arora's clicktoflash plugin with QWebElement