[Webkit-unassigned] [Bug 10745] New: SVG layout needs to move out of DOM and into rendering tree during layout() call

bugzilla-daemon at opendarwin.org bugzilla-daemon at opendarwin.org
Wed Sep 6 00:50:56 PDT 2006


http://bugzilla.opendarwin.org/show_bug.cgi?id=10745

           Summary: SVG layout needs to move out of DOM and into rendering
                    tree during layout() call
           Product: WebKit
           Version: 420+ (nightly)
          Platform: Macintosh
        OS/Version: Mac OS X 10.4
            Status: NEW
          Severity: normal
          Priority: P4
         Component: SVG
        AssignedTo: webkit-unassigned at opendarwin.org
        ReportedBy: macdome at opendarwin.org


SVG layout needs to move out of DOM and into rendering tree during layout()
call

Right now SVG does all of it's viewport-releative length calculations
(percentages) during creation and "update" (notifyAttributeChanged) time.  This
is wrong for a host of reasons.  Mostly, it's just inefficient.

In order to correct this, several things need to be done.
1.  SVGLength needs to lose it's m_context pointer.
2.  SVGLength::value() should be passed a viewportElement pointer
3.  toPathData() and other calculations related to layout should be moved from
creation/update time to layout() time.  (This means no
newRenderPath->setPath(toPathData()) at creation time.)
4.  DOM elements should have a needsLayoutOnViewportChange() function which
checks to see if any of the values (SVGLengths) on the element are viewport
relative (percentage values).  This could allow us to avoid unnecessary layouts
on those elements.  (We should probably talk to hyatt a bit more about this
flag.)
I think that's it.  There are probably other little tweaks I've forgotten
however.  This isn't super hard, but will take a little while to get right.

Implementing this will be a huge win for speed.


-- 
Configure bugmail: http://bugzilla.opendarwin.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug, or are watching the assignee.



More information about the webkit-unassigned mailing list