[Webkit-unassigned] [Bug 12064] New: Need function for manual style-resolution for things like gradient stops

bugzilla-daemon at webkit.org bugzilla-daemon at webkit.org
Mon Jan 1 18:52:35 PST 2007


http://bugs.webkit.org/show_bug.cgi?id=12064

           Summary: Need function for manual style-resolution for things
                    like gradient stops
           Product: WebKit
           Version: 420+ (nightly)
          Platform: Macintosh
        OS/Version: Mac OS X 10.4
            Status: NEW
          Severity: Normal
          Priority: P2
         Component: SVG
        AssignedTo: webkit-unassigned at lists.webkit.org
        ReportedBy: macdome at opendarwin.org


Need function for manual style-resolution for things like gradient stops

Vector<SVGGradientStop> SVGGradientElement::buildStops() const
    // FIXME: Manual style resolution is a hack
    RenderStyle* gradientStyle =
const_cast<SVGGradientElement*>(this)->styleForRenderer(parent()->renderer());


Gradient stops must inherit style via CSS.  The WebCore render tree is
optimized not to bother computing styles for any node which does not have a
renderer.  Furthermore, if anynode does not have a renderer, none of its
ancestors do either.  Thus nodes like <defs> cause style resolution trouble.

In these cases, there should be a special function styleForResolution() (or
better named), which can be used by SVG element which need to resolve style
across "holes" in the render tree (as are to be expected by things such as
<defs> <*Gradient> and possibly eventually <pattern>.

Right now the current solution for gradients breaks when gradients are inside
<defs> (I think).


-- 
Configure bugmail: http://bugs.webkit.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