[webkit-reviews] review granted: [Bug 52200] Repaint SVG elements with filter instead of relayout where possible : [Attachment 80061] final patch
bugzilla-daemon at webkit.org
bugzilla-daemon at webkit.org
Tue Jan 25 06:58:41 PST 2011
Dirk Schulze <krit at webkit.org> has granted Zoltan Herczeg
<zherczeg at webkit.org>'s request for review:
Bug 52200: Repaint SVG elements with filter instead of relayout where possible
https://bugs.webkit.org/show_bug.cgi?id=52200
Attachment 80061: final patch
https://bugs.webkit.org/attachment.cgi?id=80061&action=review
------- Additional Comments from Dirk Schulze <krit at webkit.org>
View in context: https://bugs.webkit.org/attachment.cgi?id=80061&action=review
r=me with two notes. great work!
> Source/WebCore/rendering/svg/RenderSVGResourceFilter.cpp:340
> +static void recursiveClearResult(SVGFilterBuilder* builder, FilterEffect*
effect)
> +{
> + if (effect->hasResult()) {
> + effect->clearResult();
> +
> + HashSet<FilterEffect*>& effectReferences =
builder->effectReferences(effect);
> + HashSet<FilterEffect*>::iterator end = effectReferences.end();
> + for (HashSet<FilterEffect*>::iterator it = effectReferences.begin();
it != end; ++it)
> + recursiveClearResult(builder, *it);
> + }
> +}
please reomve this before landing
> Source/WebCore/svg/graphics/filters/SVGFilterBuilder.cpp:105
> + if (effect->hasResult()) {
> + effect->clearResult();
> +
> + HashSet<FilterEffect*>& effectReferences =
this->effectReferences(effect);
> + HashSet<FilterEffect*>::iterator end = effectReferences.end();
> + for (HashSet<FilterEffect*>::iterator it = effectReferences.begin();
it != end; ++it)
> + clearResultsRecursive(*it);
> + }
make a early return here:
if (!effect->hasResult())
return;
More information about the webkit-reviews
mailing list