wiki:QtWebKitTodo

Version 101 (modified by Simon Hausmann, 15 years ago) (diff)

--

TODO List for QtWebKit

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
  • 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.
  • Layout tests in 4.5, then trunk
  • Write examples, docs and screencasts
  • Finish DOM API
  • QtScript Integration

Things we should do

  • Task maintenance (All)
  • Improve plugin support (eg. windowless)
  • Improve Media-Element support
  • Make the build more configurable in Qt
  • Research memory usage
  • Research performance
  • Windowless plugins on X11
  • Extend APIs
  • Review new APIs in trunk
  • 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

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

Current TODO

  • Extend documentation with lots of snippets.
  • Implement the latest API changes:
    • Compare QWebElement::tagName(), prefix(), localName() and namespaceUri() with QXmlStreamReader names
    • Rename QRect QWebHitTestResult::enclosingBlock() const to QWebElement QWebHitTestResult::enclosingBlockElement() const (Simon)
    • Replace QString QWebHitTestResult::linkTarget()const with QWebElement QWebHitTestResult::linkElement() const
    • Remove bool QWebHitTestResult::isScrollBar() const and make sure a null QWebHitTestResult is returned instead
    • Remove void QWebFrame::renderContents(...) and make a graphics dojo example that shows how to turn off scrollbars via policy and draw indicators yourself.
    • Replace QWebPage::fixedLayoutSize and useFixedLayout with one singled fixedContentsSize property that disables the feature if a null size is set. Also send an email to Adam Treat to ask what the height is used for. If there is no use for the height then simply rename it to fixedContentsWidth.
    • Rename QWebSettings::AllowUniversalAccessFromFileUrls to QWebSettings::LocalContentCanAccessRemoteUrls.

Updating WebKit in Qt 4.6

Goal: Make a first beta release of QtWebKit for Qt 4.6, including the new QtWebKit DOM API.

  • Review new API in trunk.
  • Make sure it builds on all platforms it build with Qt 4.5. (including Windows/CE)

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

Attachments (1)

Download all attachments as: .zip