Index: third_party/WebKit/Source/core/paint/FilterEffectBuilder.cpp |
diff --git a/third_party/WebKit/Source/core/paint/FilterEffectBuilder.cpp b/third_party/WebKit/Source/core/paint/FilterEffectBuilder.cpp |
index 1100612276d80668306422a37ed03b616e2b28c6..77b99c825d2df639ed17b430763d369a932dd3b8 100644 |
--- a/third_party/WebKit/Source/core/paint/FilterEffectBuilder.cpp |
+++ b/third_party/WebKit/Source/core/paint/FilterEffectBuilder.cpp |
@@ -148,16 +148,17 @@ FilterEffect* FilterEffectBuilder::buildFilterEffect( |
case FilterOperation::REFERENCE: { |
ReferenceFilterOperation& referenceOperation = |
toReferenceFilterOperation(*filterOperation); |
- if (Filter* referenceFilter = |
- buildReferenceFilter(referenceOperation, previousEffect)) { |
+ Filter* referenceFilter = |
+ buildReferenceFilter(referenceOperation, previousEffect); |
+ if (referenceFilter) { |
+ effect = referenceFilter->lastEffect(); |
Stephen White
2016/10/27 17:10:51
I'm not sure I understand why we now grab the last
fs
2016/10/28 08:46:31
That's what we did previously as well (I only reor
Stephen White
2016/10/28 14:58:06
Oh right; I misread.
fs
2016/10/31 09:19:12
I'd expect something along those lines to be the r
|
// TODO(fs): This is essentially only needed for the |
// side-effects (mapRect). The filter differs from the one |
// computed just above in what the SourceGraphic is, and how |
// it's connected to the filter-chain. |
- referenceOperation.setFilter( |
- buildReferenceFilter(referenceOperation, nullptr)); |
- effect = referenceFilter->lastEffect(); |
+ referenceFilter = buildReferenceFilter(referenceOperation, nullptr); |
} |
+ referenceOperation.setFilter(referenceFilter); |
break; |
} |
case FilterOperation::GRAYSCALE: { |
@@ -308,7 +309,6 @@ CompositorFilterOperations FilterEffectBuilder::buildFilterOperations( |
Filter* referenceFilter = |
buildReferenceFilter(referenceOperation, nullptr); |
if (referenceFilter && referenceFilter->lastEffect()) { |
- referenceOperation.setFilter(referenceFilter); |
SkiaImageFilterBuilder::populateSourceGraphicImageFilters( |
referenceFilter->getSourceGraphic(), nullptr, currentColorSpace); |
@@ -317,6 +317,7 @@ CompositorFilterOperations FilterEffectBuilder::buildFilterOperations( |
filters.appendReferenceFilter( |
SkiaImageFilterBuilder::build(filterEffect, currentColorSpace)); |
} |
+ referenceOperation.setFilter(referenceFilter); |
break; |
} |
case FilterOperation::GRAYSCALE: |