[webkit-reviews] review denied: [Bug 52200] Small filter primitive renderer improvements : [Attachment 79273] patch
bugzilla-daemon at webkit.org
bugzilla-daemon at webkit.org
Wed Jan 19 01:25:11 PST 2011
Dirk Schulze <krit at webkit.org> has denied Zoltan Herczeg
<zherczeg at webkit.org>'s request for review:
Bug 52200: Small filter primitive renderer improvements
https://bugs.webkit.org/show_bug.cgi?id=52200
Attachment 79273: patch
https://bugs.webkit.org/attachment.cgi?id=79273&action=review
------- Additional Comments from Dirk Schulze <krit at webkit.org>
View in context: https://bugs.webkit.org/attachment.cgi?id=79273&action=review
> Source/WebCore/ChangeLog:11
> + calls relayout (Thus, this is just a performance overhead
> + at this moment).
Please make a detailed description how you plan to reach the goal and what
you're doing right now: What happens if an attribute change? What does the
renderer of the primitive element do?
> Source/WebCore/ChangeLog:42
> + Demoing the new attribute setting mechanism.
Demonstration of ...
> Source/WebCore/ChangeLog:49
> + Scanning the FilterBuilder list, and calls the necessary callbacks.
s/calls/call/
> Source/WebCore/ChangeLog:57
> + FilterEffect belongs to this RenderObject.
that belongs or maybe belonging
> Source/WebCore/rendering/svg/RenderSVGResourceFilter.cpp:334
> + HashSet<FilterEffect*>::iterator end = effectReferences.end();
> + for (HashSet<FilterEffect*>::iterator it = effectReferences.begin();
it != end; ++it)
In other SVG files, we often use
HashSet<FilterEffect*>::iterator it = effectReferences.begin();
HashSet<FilterEffect*>::iterator end = effectReferences.end();
for (; it != end; ++it)
but it does not really matter.
Makes it really sense to clear all effects this way? I mean this function just
makes sense if you want to clear _all_ effects. But isn't it already covered by
calling the DTor of FilterBuilder?
> Source/WebCore/rendering/svg/RenderSVGResourceFilter.cpp:339
> +void RenderSVGResourceFilter::setAllFilterEffectsAttribute(RenderObject*
object, const QualifiedName& attribute)
s/setAllFilterEffectsAttribute/setAllFilterEffectAttributes/
> Source/WebCore/rendering/svg/RenderSVGResourceFilter.cpp:351
> + if (effect) {
> + primitve->setFilterEffectAttribute(effect, attribute);
> + recursiveClearResult(builder, effect);
> + }
> + }
if (!effect)
continue;
...
> Source/WebCore/rendering/svg/RenderSVGResourceFilterPrimitive.h:40
> - explicit
RenderSVGResourceFilterPrimitive(SVGFilterPrimitiveStandardAttributes*
filterPrimitiveElement)
> + explicit RenderSVGResourceFilterPrimitive(SVGStyledElement*
filterPrimitiveElement)
Why did you change the elements type?
> Source/WebCore/svg/SVGFEDiffuseLightingElement.cpp:108
> + if (attrName == SVGNames::diffuseConstantAttr
> + || attrName == SVGNames::surfaceScaleAttr
> + || attrName == SVGNames::lighting_colorAttr)
> + setAllFilterEffectsAttribute(attrName);
> +
This should be in a separate patch, together with dynamic update tests.
> Source/WebCore/svg/SVGFilterPrimitiveStandardAttributes.cpp:76
> + // When all filters support this method, it will be changed to a pure
virtual method.
> + ASSERT_NOT_REACHED();
If not all filters implemented this function, don't we run into this assert?
> Source/WebCore/svg/SVGFilterPrimitiveStandardAttributes.h:61
> + inline void setAllFilterEffectsAttribute(const QualifiedName& attribute)
arh. setFilterEffectAttribute and setAllFilterEffectsAttribute sounds to
simular for me. I even don't see a difference in the behavior if I just look at
the names. setAttributeToAllFilterEffects? Hm. even that sounds a bit strange.
Of course you should rename the function in the renderer as well.
More information about the webkit-reviews
mailing list