Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(535)

Unified Diff: third_party/WebKit/Source/core/svg/graphics/filters/SVGFilterBuilder.cpp

Issue 2303703002: Revamp filter primitive region calculations for Filter Effects (Closed)
Patch Set: Baselines again; Manual for mac10.11-retina Created 4 years, 3 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: third_party/WebKit/Source/core/svg/graphics/filters/SVGFilterBuilder.cpp
diff --git a/third_party/WebKit/Source/core/svg/graphics/filters/SVGFilterBuilder.cpp b/third_party/WebKit/Source/core/svg/graphics/filters/SVGFilterBuilder.cpp
index 2eaea703d3225e657af975761297db42602cad3a..63f508c6f8c157057c96f0f485eee62015a41ed4 100644
--- a/third_party/WebKit/Source/core/svg/graphics/filters/SVGFilterBuilder.cpp
+++ b/third_party/WebKit/Source/core/svg/graphics/filters/SVGFilterBuilder.cpp
@@ -166,6 +166,7 @@ ColorSpace SVGFilterBuilder::resolveColorSpace(EColorInterpolation colorInterpol
void SVGFilterBuilder::buildGraph(Filter* filter, SVGFilterElement& filterElement, const FloatRect& referenceBox)
{
EColorInterpolation filterColorInterpolation = colorInterpolationForElement(filterElement, CI_AUTO);
+ SVGUnitTypes::SVGUnitType primitiveUnits = filterElement.primitiveUnits()->currentValue()->enumValue();
for (SVGElement* element = Traversal<SVGElement>::firstChild(filterElement); element; element = Traversal<SVGElement>::nextSibling(*element)) {
if (!element->isFilterEffect())
@@ -179,8 +180,7 @@ void SVGFilterBuilder::buildGraph(Filter* filter, SVGFilterElement& filterElemen
if (m_nodeMap)
m_nodeMap->addPrimitive(effectElement->layoutObject(), effect);
- effectElement->setStandardAttributes(effect);
- effect->setEffectBoundaries(SVGLengthContext::resolveRectangle<SVGFilterPrimitiveStandardAttributes>(effectElement, filterElement.primitiveUnits()->currentValue()->enumValue(), referenceBox));
+ effectElement->setStandardAttributes(effect, primitiveUnits, referenceBox);
EColorInterpolation colorInterpolation = colorInterpolationForElement(*effectElement, filterColorInterpolation);
effect->setOperatingColorSpace(resolveColorSpace(colorInterpolation));
if (effectElement->taintsOrigin(effect->inputsTaintOrigin()))

Powered by Google App Engine
This is Rietveld 408576698