[Webkit-unassigned] [Bug 52200] Small filter primitive renderer improvements

bugzilla-daemon at webkit.org bugzilla-daemon at webkit.org
Wed Jan 12 00:45:43 PST 2011


https://bugs.webkit.org/show_bug.cgi?id=52200





--- Comment #6 from Zoltan Herczeg <zherczeg at webkit.org>  2011-01-12 00:45:42 PST ---
> > Source/WebCore/rendering/svg/RenderSVGResourceFilter.cpp:333
> > +void RenderSVGResourceFilter::repaintFilterPrimitve(RenderObject* object)
> > +{
> > +    RenderObject* filter = object->parent();
> > +    if (!filter || !filter->isSVGResourceFilter())
> > +        return;
> > +    filter->repaint();
> > +}
> 
> This function is never called right now, can describe what you plan to do with it please?

Repainting somehow. No idea yet. But somehow when a change happens, which does not affect layout, but needs repaint, this function should invalidate all rects, where the filter is used (absoluteBoundingBoxes). Since it would be too difficult to determine its affected subregion, I would invalidate the whole (at least for now -> image copy is cheap). I could remove this function if you wish, not important for now. Unfortunately clippedOverflowRectForRepaint can return only 1 rect. I could unite all absoluteBoundingBoxes, but I would prefer something more clever.

> > Source/WebCore/rendering/svg/RenderSVGResourceFilterPrimitive.h:51
> > +    void invalidate(bool repaint = false);
> 
> do you really mean repaint or relayout?

Repaint. Anyway I have no strong opinion here. Should I reverse them? (bool relayout = true) ?

> > Source/WebCore/svg/SVGFEOffsetElement.cpp:69
> > +    if (attrName == SVGNames::dxAttr || attrName == SVGNames::dyAttr)
> > +        invalidate(true);
> 
> This is unclear to me. Do we want to repaint or relayout? Changing dx or dy definitely affects the repaintRect size of following filter primitives, ergo relayout, right?

Hm, forgot about it. Thanks for mentioning it. I should find another filter to work on this feature. Perhaps diffuseConstant for lightning. Remove this from the future patch.

-- 
Configure bugmail: https://bugs.webkit.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug.



More information about the webkit-unassigned mailing list