| Index: Source/core/svg/SVGFEDropShadowElement.cpp | 
| diff --git a/Source/core/svg/SVGFEDropShadowElement.cpp b/Source/core/svg/SVGFEDropShadowElement.cpp | 
| index 932e30e67e55f11db9e4917e2381d78b8880c3f5..24775e128e36b86bfa9db5dbe66bbbbb282017b1 100644 | 
| --- a/Source/core/svg/SVGFEDropShadowElement.cpp | 
| +++ b/Source/core/svg/SVGFEDropShadowElement.cpp | 
| @@ -80,9 +80,6 @@ PassRefPtrWillBeRawPtr<FilterEffect> SVGFEDropShadowElement::build(SVGFilterBuil | 
| if (!layoutObject) | 
| return nullptr; | 
|  | 
| -    if (stdDeviationX()->currentValue()->value() < 0 || stdDeviationY()->currentValue()->value() < 0) | 
| -        return nullptr; | 
| - | 
| ASSERT(layoutObject->style()); | 
| const SVGComputedStyle& svgStyle = layoutObject->style()->svgStyle(); | 
|  | 
| @@ -93,7 +90,10 @@ PassRefPtrWillBeRawPtr<FilterEffect> SVGFEDropShadowElement::build(SVGFilterBuil | 
| if (!input1) | 
| return nullptr; | 
|  | 
| -    RefPtrWillBeRawPtr<FilterEffect> effect = FEDropShadow::create(filter, stdDeviationX()->currentValue()->value(), stdDeviationY()->currentValue()->value(), m_dx->currentValue()->value(), m_dy->currentValue()->value(), color, opacity); | 
| +    // Clamp std.dev. to non-negative. (See SVGFEGaussianBlurElement::build) | 
| +    float stdDevX = std::max(0.0f, stdDeviationX()->currentValue()->value()); | 
| +    float stdDevY = std::max(0.0f, stdDeviationY()->currentValue()->value()); | 
| +    RefPtrWillBeRawPtr<FilterEffect> effect = FEDropShadow::create(filter, stdDevX, stdDevY, m_dx->currentValue()->value(), m_dy->currentValue()->value(), color, opacity); | 
| effect->inputEffects().append(input1); | 
| return effect.release(); | 
| } | 
|  |