Index: Source/core/rendering/svg/RenderSVGResourceFilter.cpp |
diff --git a/Source/core/rendering/svg/RenderSVGResourceFilter.cpp b/Source/core/rendering/svg/RenderSVGResourceFilter.cpp |
index 1d33e07aad3af7ee616d19cbc00c4d4b018ac82a..bd3653ce57e7f292b473c563b40437e9bf1c28e0 100644 |
--- a/Source/core/rendering/svg/RenderSVGResourceFilter.cpp |
+++ b/Source/core/rendering/svg/RenderSVGResourceFilter.cpp |
@@ -143,7 +143,13 @@ static bool createImageBuffer(const Filter* filter, OwnPtr<ImageBuffer>& imageBu |
static void beginDeferredFilter(GraphicsContext* context, FilterData* filterData) |
{ |
- context->beginRecording(filterData->boundaries); |
+ // FIXME: maybe filterData should just hold onto SourceGraphic after creation? |
+ SourceGraphic* sourceGraphic = static_cast<SourceGraphic*>(filterData->builder->getEffectById(SourceGraphic::effectName())); |
chrishtr
2014/09/02 22:05:58
Typo in variable name.
Stephen Chennney
2014/09/03 14:19:37
Not here, right?
chrishtr
2014/09/03 16:56:11
Acknowledged.
|
+ ASSERT(sourceGraphic); |
+ RefPtr<DisplayList> sourceGraphcisDisplayList = DisplayList::create(filterData->boundaries); |
chrishtr
2014/09/02 22:05:57
Typo in variable name.
Stephen Chennney
2014/09/03 14:19:37
Done.
|
+ sourceGraphic->setDisplayList(sourceGraphcisDisplayList); |
+ context->beginRecording(sourceGraphcisDisplayList); |
+ |
// We pass the boundaries to SkPictureImageFilter so it knows the |
// world-space position of the filter primitives. It gets them |
// from the DisplayList, which also applies the inverse translate |
@@ -157,10 +163,7 @@ static void beginDeferredFilter(GraphicsContext* context, FilterData* filterData |
static void endDeferredFilter(GraphicsContext* context, FilterData* filterData) |
{ |
- // FIXME: maybe filterData should just hold onto SourceGraphic after creation? |
- SourceGraphic* sourceGraphic = static_cast<SourceGraphic*>(filterData->builder->getEffectById(SourceGraphic::effectName())); |
- ASSERT(sourceGraphic); |
- sourceGraphic->setDisplayList(context->endRecording()); |
+ context->endRecording(); |
} |
static void drawDeferredFilter(GraphicsContext* context, FilterData* filterData, SVGFilterElement* filterElement) |