| Index: Source/core/rendering/svg/RenderSVGResourceFilter.cpp
|
| diff --git a/Source/core/rendering/svg/RenderSVGResourceFilter.cpp b/Source/core/rendering/svg/RenderSVGResourceFilter.cpp
|
| index 2ab6310483a9bf9121250a2aa1cdb2a0e4b7113b..1f0913e062b36455542aa2e136fe2a16a9cc631b 100644
|
| --- a/Source/core/rendering/svg/RenderSVGResourceFilter.cpp
|
| +++ b/Source/core/rendering/svg/RenderSVGResourceFilter.cpp
|
| @@ -100,10 +100,10 @@ PassRefPtr<SVGFilterBuilder> RenderSVGResourceFilter::buildPrimitives(SVGFilter*
|
| }
|
| builder->appendEffectToEffectReferences(effect, effectElement->renderer());
|
| effectElement->setStandardAttributes(effect.get());
|
| - effect->setEffectBoundaries(SVGLengthContext::resolveRectangle<SVGFilterPrimitiveStandardAttributes>(effectElement, filterElement->primitiveUnits(), targetBoundingBox));
|
| + effect->setEffectBoundaries(SVGLengthContext::resolveRectangle<SVGFilterPrimitiveStandardAttributes>(effectElement, filterElement->primitiveUnitsCurrentValue(), targetBoundingBox));
|
| effect->setOperatingColorSpace(
|
| effectElement->renderer()->style()->svgStyle()->colorInterpolationFilters() == CI_LINEARRGB ? ColorSpaceLinearRGB : ColorSpaceDeviceRGB);
|
| - builder->add(effectElement->result(), effect);
|
| + builder->add(effectElement->resultCurrentValue(), effect);
|
| }
|
| return builder.release();
|
| }
|
| @@ -140,7 +140,7 @@ bool RenderSVGResourceFilter::applyResource(RenderObject* object, RenderStyle*,
|
| FloatRect targetBoundingBox = object->objectBoundingBox();
|
|
|
| SVGFilterElement* filterElement = static_cast<SVGFilterElement*>(node());
|
| - filterData->boundaries = SVGLengthContext::resolveRectangle<SVGFilterElement>(filterElement, filterElement->filterUnits(), targetBoundingBox);
|
| + filterData->boundaries = SVGLengthContext::resolveRectangle<SVGFilterElement>(filterElement, filterElement->filterUnitsCurrentValue(), targetBoundingBox);
|
| if (filterData->boundaries.isEmpty())
|
| return false;
|
|
|
| @@ -160,7 +160,7 @@ bool RenderSVGResourceFilter::applyResource(RenderObject* object, RenderStyle*,
|
| FloatRect absoluteDrawingRegion = filterData->shearFreeAbsoluteTransform.mapRect(filterData->drawingRegion);
|
|
|
| // Create the SVGFilter object.
|
| - bool primitiveBoundingBoxMode = filterElement->primitiveUnits() == SVGUnitTypes::SVG_UNIT_TYPE_OBJECTBOUNDINGBOX;
|
| + bool primitiveBoundingBoxMode = filterElement->primitiveUnitsCurrentValue() == SVGUnitTypes::SVG_UNIT_TYPE_OBJECTBOUNDINGBOX;
|
| filterData->filter = SVGFilter::create(filterData->shearFreeAbsoluteTransform, absoluteDrawingRegion, targetBoundingBox, filterData->boundaries, primitiveBoundingBoxMode);
|
|
|
| // Create all relevant filter primitives.
|
| @@ -172,8 +172,8 @@ bool RenderSVGResourceFilter::applyResource(RenderObject* object, RenderStyle*,
|
| // Also see http://www.w3.org/TR/SVG/filters.html#FilterEffectsRegion
|
| FloatSize scale(1, 1);
|
| if (filterElement->hasAttribute(SVGNames::filterResAttr)) {
|
| - scale.setWidth(filterElement->filterResX() / absoluteFilterBoundaries.width());
|
| - scale.setHeight(filterElement->filterResY() / absoluteFilterBoundaries.height());
|
| + scale.setWidth(filterElement->filterResXCurrentValue() / absoluteFilterBoundaries.width());
|
| + scale.setHeight(filterElement->filterResYCurrentValue() / absoluteFilterBoundaries.height());
|
| }
|
|
|
| if (scale.isEmpty())
|
| @@ -312,7 +312,7 @@ void RenderSVGResourceFilter::postApplyResource(RenderObject* object, GraphicsCo
|
| FloatRect RenderSVGResourceFilter::resourceBoundingBox(RenderObject* object)
|
| {
|
| if (SVGFilterElement* element = static_cast<SVGFilterElement*>(node()))
|
| - return SVGLengthContext::resolveRectangle<SVGFilterElement>(element, element->filterUnits(), object->objectBoundingBox());
|
| + return SVGLengthContext::resolveRectangle<SVGFilterElement>(element, element->filterUnitsCurrentValue(), object->objectBoundingBox());
|
|
|
| return FloatRect();
|
| }
|
|
|