Gecko:Task List

From MozillaWiki
Jump to: navigation, search

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).

Outstanding "Want To Have" Platform Features

  • (Re)implement CSS3 page-break and column-break properties [fantasai?]
  • Implement final version of CSS3 columns spec
  • Implement CSS3 writing-mode and related properties
  • Implement CSS3 text-overflow
  • Implement CSS3 text-justify
  • Implement CSS3 ruby
  • Implement CSS color-correction
  • Implement better-than-greedy line breaking in justified mode
  • Implement CSS3 Advanced Layout and/or Grid
  • Implement CSS 3D transformations
  • Implement HTML5 Web Forms
  • Implement CSSOM rangeFromPoint (or whatever it gets called)
  • Implement auto-hyphenation
  • Implement XBL2
  • Eliminate XUL box objects in favour of APIs directly on XUL elements
  • SVG fonts [karlt]
  • SVG images
  • Advanced PDF output (bookmarks, clickable links, form fields)

Outstanding "Want To Have" Cleanup

  • 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. Also get rid of anonymous content in scrollbars
  • PresShell / PresContext unification
    • First task in this is making sure they always have the same lifetime.
  • Help Mailnews/Thunderbird finally get rid of its dependency on xpcom_obsolete as per Gecko:Obsolete_API and
  • Move XUL <tree> to content using a beforepaint event
  • Deal with the frame continuation mess
  • Rework XUL layout to operate more like normal reflow (compute all widths first, then all heights)
    • Then merge nsHTMLScrollFrame/nsXULScrollFrame
  • 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, or move to display-list-based invalidation
  • Optional floating-point nscoord
  • Rework printing to use the print presentation and a separate document full of XUL "page" elements to render the preview
  • Rework selection so all selection state lives entirely in content. At the same time, support an extensible set of selection types.