[[PageOutline]] = TODO List for QtWebKit = This is a TODO list of high-level items. In addition we are maintainling a release backlog in Bugzilla for upcoming releases: * https://bugs.webkit.org/showdependencytree.cgi?id=Qt46 == Incoming == uncategorized issues that the developers still need to prioritize. * QWebFrame should have a function to access the QWebHistory for that frame. * There should be an QWebIconDatabase class that gives you notifications when the icon has been loaded. * Autotest Coverage * ~~ header such as "webkitversion.h" that contains the version in a define ~~ DONE * Way to access list of files and progress on downloading them (i.e. be able to make an activity window) * Ability to pass the handling of listbox/select elements to the application * Instead of loading a plugin for loading and doing playback of media files, we should use a full-window html5 media player based on our Phonon code. * "Kinetic" support * Native scroll indicator instead of scrollbars. This should work for all frames and not just the mainframe. * Zoom to paragraph/image/etc example * Intelligent touch scroll, that takes the contents into account. Would be nice to be able to move widgets on igoogle around, still be able to scroll on google maps etc. * Add an API for controlling forms, like not showing a popdown for comboboxes, but letting the application handle it. == 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