| Index: Source/core/paint/SVGPaintContext.cpp
|
| diff --git a/Source/core/paint/SVGPaintContext.cpp b/Source/core/paint/SVGPaintContext.cpp
|
| index 2193366815f51015d3d593e301dbd820fe5c9bc5..6b6f40336922963cc83b0a7577cbdaa6ee31e2d7 100644
|
| --- a/Source/core/paint/SVGPaintContext.cpp
|
| +++ b/Source/core/paint/SVGPaintContext.cpp
|
| @@ -34,6 +34,7 @@
|
| #include "core/layout/svg/SVGResources.h"
|
| #include "core/layout/svg/SVGResourcesCache.h"
|
| #include "core/paint/LayoutObjectDrawingRecorder.h"
|
| +#include "core/paint/SVGFilterPainter.h"
|
| #include "core/paint/SVGMaskPainter.h"
|
| #include "platform/FloatConversion.h"
|
|
|
| @@ -47,7 +48,7 @@ SVGPaintContext::~SVGPaintContext()
|
|
|
| LayoutObjectDrawingRecorder recorder(m_originalPaintInfo->context, *m_object, DisplayItem::SVGFilter, LayoutRect::infiniteIntRect());
|
| if (!recorder.canUseCachedDrawing())
|
| - m_filter->finishEffect(m_object, m_originalPaintInfo->context);
|
| + SVGFilterPainter(*m_filter).finishEffect(m_object, m_originalPaintInfo->context);
|
|
|
| // Reset the paint info after the filter effect has been completed.
|
| // This isn't strictly required (e.g., m_paintInfo.rect is not used
|
| @@ -160,7 +161,7 @@ bool SVGPaintContext::applyFilterIfNecessary(SVGResources* resources)
|
| return false;
|
| } else if (LayoutSVGResourceFilter* filter = resources->filter()) {
|
| m_filter = filter;
|
| - GraphicsContext* filterContext = filter->prepareEffect(m_object, m_paintInfo.context);
|
| + GraphicsContext* filterContext = SVGFilterPainter(*filter).prepareEffect(m_object, m_paintInfo.context);
|
| if (!filterContext)
|
| return false;
|
|
|
|
|