Gecko:Task List: Difference between revisions

2,107 bytes removed ,  8 November 2009
Line 3: Line 3:
Core Mozilla2 work such as XPCOMGC and changes to XPConnect is not listed here. (Should it be?)
Core Mozilla2 work such as XPCOMGC and changes to XPConnect is not listed here. (Should it be?)


=== Outstanding "Want To Have" Features ===
=== Outstanding "Want To Have" Platform 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)
* (Re)implement CSS3 page-break and column-break properties [fantasai?]
* Implement the remainder of CSS3 Selectors [dbaron]
* Implement final version of CSS3 columns spec
* 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 writing-mode and related properties
* Implement CSS3 word-wrap, text-overflow and other text layout properties
* Implement CSS3 text-overflow
* Implement CSS3 text-justify
* Implement CSS3 ruby
* Implement better-than-greedy line breaking in justified mode
* 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 Advanced Layout and/or Grid
* Implement CSS3 borders and backgrounds module
* Implement CSS 3D transformations
* Implement CSS animations
* Implement HTML5 Web Forms
* 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 CSSOM rangeFromPoint (or whatever it gets called)
* Implement auto-hyphenation
* Implement auto-hyphenation
* HTML5 <video> and <audio> [doublec, cpearce, kinetik]
* Implement XBL2
* 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
* Eliminate XUL box objects in favour of APIs directly on XUL elements
* Work on cairo OpenGL backend
* SVG SMIL support
* SVG fonts [karlt]
* SVG fonts [karlt]
* SVG in <img>
* SVG images
* 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)
* Advanced PDF output (bookmarks, clickable links, form fields)
* Canvas3D [vlad]


=== Outstanding "Want To Have" Cleanup ===
=== Outstanding "Want To Have" Cleanup ===


* HTML5 parser
* Clean up editor code
* Clean up editor code
** Move some code to JS
** Move some code to JS
** remaining C++ code can use Gecko-private interfaces like nsINode/nsIContent instead of DOM interfaces
** remaining C++ code can use Gecko-private interfaces like nsINode/nsIContent instead of DOM interfaces
** Move editor objects to document
** 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
* Move selection to document, rename selection classes
* 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
* PresShell / PresContext unification
** First task in this is making sure they always have the same lifetime.
** 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
* [[Gecko:Compositor|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
* 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 XUL <tree> to content using a beforepaint event
** Move selection to content?
* Move XUL <tree> to content
* Deal with the frame continuation mess
* Deal with the frame continuation mess
* Rework XUL layout to operate more like normal reflow (compute all widths first, then all heights)
* 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
* Replace inline reflow logic so it's not tied to recursive Reflow calls
** Ditto for most other reflow logic
** Ditto for most other reflow logic
* Factor abs-pos reflow out of nsBlockFrame so any rel-pos frame can be an abs-pos container
* Factor abs-pos reflow out of nsBlockFrame so any rel-pos frame can be an abs-pos container
* [http://weblogs.mozillazine.org/roc/archives/2007/12/our_rectangles.html Fix overflow areas]
* [http://weblogs.mozillazine.org/roc/archives/2007/12/our_rectangles.html Fix overflow areas]
* Fix invariants for invalidation during reflow
* Fix invariants for invalidation during reflow, or move to display-list-based invalidation
* Rework [[CSSFrameConstructor|frame construction]] to be simpler, faster and less fragile
** Then merge nsHTMLScrollFrame/nsXULScrollFrame
* Optional floating-point nscoord
* Optional floating-point nscoord
 
* Rework printing to use the print presentation and a separate document full of XUL "page" elements to render the preview
=== 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
1,295

edits