SVG:Cleanup: Difference between revisions

no edit summary
(killing SVGDev)
No edit summary
Line 13: Line 13:


[tor] {{bug|301628}} and follow-up patches for gradients and patterns have been checked in, removing much of the use of observers in the frame code.
[tor] {{bug|301628}} and follow-up patches for gradients and patterns have been checked in, removing much of the use of observers in the frame code.
[tor] {{bug|332162}} which rewrote SVGLength removed the observer system for those from the content side.


==== [DONE] Fix (animated) lengths ====
==== [DONE] Fix (animated) lengths ====
Line 70: Line 72:
but have SVG C++ code cast them to their concrete class for efficient access.
but have SVG C++ code cast them to their concrete class for efficient access.


[tor] Path data storage rewrite pending in {{bug|334999}}.  DOM version of the list created lazily as requested.
[tor] Path data storage rewrite done for {{bug|334999}}.  DOM version of the list created lazily as requested.


==== Eliminate extra vtable pointers by removing multiply inherited interfaces ====
==== Eliminate extra vtable pointers by removing multiply inherited interfaces ====
Line 81: Line 83:
but reducing the number of vtable-pointers in each object, and reducing the
but reducing the number of vtable-pointers in each object, and reducing the
number of QIs, is probably worth it.
number of QIs, is probably worth it.
[tor] There have been a number of checkins to remove interfaces in svg layout, replacing them with a concrete heirarchy.


==== Eliminate mostly-unused fields ====
==== Eliminate mostly-unused fields ====
Line 91: Line 95:


[tor] Filter field moved to a property as part of {{bug|330498}}.
[tor] Filter field moved to a property as part of {{bug|330498}}.
[tor] Mask field moved to a property in {{bug|338060}}.
[tor] Gradient/Pattern moved to a property in {{bug|339375}}.


==== DeCOMtaminate non-DOM interfaces ====
==== DeCOMtaminate non-DOM interfaces ====
Line 97: Line 105:
XPCOM method guidelines; their methods should be as close to C++ style as
XPCOM method guidelines; their methods should be as close to C++ style as
permits.
permits.
[tor] Ongoing...


==== Remove GDI+/libart renderers ====
==== Remove GDI+/libart renderers ====
Line 103: Line 113:


[tor] GDI+ and libart renderers removed, {{bug|330516}}.
[tor] GDI+ and libart renderers removed, {{bug|330516}}.
[tor] Many of the renderer interfaces have been removed, leaving mainly the surface and font related ones.


==== DeCOMtaminate/devirtualize cairo/Thebes renderer ====
==== DeCOMtaminate/devirtualize cairo/Thebes renderer ====
Line 108: Line 120:
Self-explanatory.
Self-explanatory.


==== Reconsider nsSVGCairoRegion ====
==== [DONE] Reconsider nsSVGCairoRegion ====


nsSVGCairoRegion is just a rectangle; dump it unless a reason exists to
nsSVGCairoRegion is just a rectangle; dump it unless a reason exists to
fix it.
fix it.
[tor] nsSVGCairoRegion removed, {{bug|340451}}.


==== [tor] Build up CTM incrementally during rendering ====
==== [tor] Build up CTM incrementally during rendering ====
49

edits