[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