Gecko:Task List: Difference between revisions

From MozillaWiki
Jump to navigation Jump to search
Line 35: Line 35:
* SVG fonts [karlt]
* SVG fonts [karlt]
* SVG in <img>
* SVG in <img>
* SVG in backgrounds, borders
* Finish SVG 1.1 filters
* Finish SVG 1.1 filters
* Features comparable to The Venice Project's XUL compositor: caching content subtree rendering in graphics memory
* Features comparable to The Venice Project's XUL compositor: caching content subtree rendering in graphics memory

Revision as of 10:10, 23 April 2008

This list is intended for items that we would like to have done in the near term, that are reasonably well specified and well understood, and that could be started quite soon (i.e., don't rely on some major other piece of work to happen first).

Core Mozilla2 work such as XPCOMGC and changes to XPConnect is not listed here. (Should it be?)

Outstanding "Want To Have" Features

  • When printing, clone the document and create a new presentation for that, instead of trying to create a new presenation (allows print preview/printing in a new window, letting the user continue to interact with the old document) (Blocked by bug 42976, although I suppose a kludge is possible. -Eli)
  • Implement the remainder of CSS3 Selectors [dbaron]
  • Implement the DOM Selectors API [bz]
  • Implement CSS3 page-break and column-break properties [fantasai?]
  • Implement final version of CSS3 columns spec, including column-rule
  • Implement CSS3 writing-mode and related properties
  • Implement CSS3 word-wrap, text-overflow and other text layout properties
  • Implement better-than-greedy line breaking in justified mode
  • Implement text-shadow [ventnor]
  • Implement box-shadow
  • Implement CSS3 Advanced Layout and/or Grid
  • Implement CSS3 borders and backgrounds module
  • Implement CSS animations
  • Implement CSS transformations
  • Implement CSS downloadable fonts [jdaggett]
  • Implement CSS media queries [dbaron]
  • Implement Web Forms 2
  • Implement HTML5 SQL
  • Implement HTML5 server-sent events
  • Implement CSSOM RangeView.getBoundingClientRect/getClientRects
  • Implement CSSOM rangeFromPoint (or whatever it gets called)
  • Implement auto-hyphenation
  • HTML5 <video> and <audio> [doublec, cpearce, kinetik]
  • Implement Web Apps 1.0: drag-and-drop (See bug 356295) [enndeakin]
  • XBL2 implementation
  • Eliminate XUL box objects in favour of APIs directly on XUL elements
  • Work on cairo OpenGL backend
  • SVG SMIL support
  • SVG fonts [karlt]
  • SVG in <img>
  • SVG in backgrounds, borders
  • Finish SVG 1.1 filters
  • Features comparable to The Venice Project's XUL compositor: caching content subtree rendering in graphics memory
  • Features comparable to The Venice Project's XUL compositor: DOM feature to visually clone another element in the document
  • Out-of-process plugins
  • Profile sharing
  • HTML speculative parsing to kick off parallel resource loads
  • Advanced PDF output (bookmarks, clickable links, form fields)
  • Canvas3D [vlad]

Outstanding "Want To Have" Cleanup

  • HTML5 parser
  • Clean up editor code
    • Move some code to JS
    • remaining C++ code can use Gecko-private interfaces like nsINode/nsIContent instead of DOM interfaces
    • Move editor objects to document
  • Unified scrollbar element with a private interface for setting its values so we don't have to use SetAttribute during layout
  • PresShell / PresContext unification
    • First task in this is making sure they always have the same lifetime.
  • Rework image drawing to decompress-on-draw and make the principal interface be "draw yourself to this Thebes context"
  • Unify widget events and DOM events
  • Compositor, widget removal, view removal
  • Help Mailnews/Thunderbird finally get rid of its dependency on xpcom_obsolete as per Gecko:Obsolete_API and https://bugzilla.mozilla.org/show_bug.cgi?id=38122
  • Rename selection classes
    • Move selection to content?
  • Move XUL <tree> to content
  • Deal with the frame continuation mess
  • Rework XUL layout to operate more like normal reflow (compute all widths first, then all heights)
  • Replace inline reflow logic so it's not tied to recursive Reflow calls
    • Ditto for most other reflow logic
  • Factor abs-pos reflow out of nsBlockFrame so any rel-pos frame can be an abs-pos container
  • Fix overflow areas
  • Fix invariants for invalidation during reflow
  • Rework frame construction to be simpler, faster and less fragile
    • Then merge nsHTMLScrollFrame/nsXULScrollFrame
  • Optional floating-point nscoord

Tasks Too Vaguely Specified

Please rescue these by defining them in more detail.

  • plugins
    • Needs an owner.
    • There's some low hanging fruit that's been proposed by the plugin-futures group to implement.
  • layout
    • form controls
    • further cleanup of nsHTMLReflowState following reflow branch landing
  • content
    • image loading (dbaron's complaints)
    • range
      • Some easy fixes to just use better interfaces (nsINode rather then nsIDOMNode) and better algorithms.
      • Some standards compliance bugs. Fixing is easy, but we have to make sure there are not internal code that depend on current behaviour.
  • imglib
    • bz's issues
  • docshell
    • document loading
  • focus