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

bugzilla-daemon at webkit.org bugzilla-daemon at webkit.org
Wed Jan 19 06:05:42 PST 2011


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





--- Comment #21 from Zoltan Herczeg <zherczeg at webkit.org>  2011-01-19 06:05:42 PST ---
> Is this necessary? Your idea was to clear all ImageBuffers an ImageData of the effects that needs to get repainted and of all of its childs, the last filterEffect should be affected as well. RenderSVGResourceFilter asks the last FilterEffect for its ImageBuffer, if it hasn't one, It calls FilterEffect::apply. apply calls FilterEffect::apply recursively up to that filterEffect that already has a result. So there isn't even a change necessary on applyResource or postApply, and repaint isn't necessary as well for the moment, right?  If the last effect isn't affected, we don't need to relayout or repaint at all, because the effect that changed is not needed for our result.
> 
> Hope it helps :-P

Exactly, but the issue is not here. Somehow something must tell WebKit, that an area must be repainted. Of course, the repainting itself happens with the unmodified code (applyResource, etc), but still, WebKit should knows about that an area must be repainted. Basically render->repaint() should do that, I think. All renderers has a virtual function, which returns the bounding box when you call this repaint(). However, SVGHiddenContainer returns with an empty box, so no repaint happens on the screen. Still, even one bounding box is not enough. A filter can have multiple painting boxes. I could unite them, but I don't think that is the best option, isn't it?

-- 
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