| Index: third_party/WebKit/Source/core/paint/PaintLayer.cpp
|
| diff --git a/third_party/WebKit/Source/core/paint/PaintLayer.cpp b/third_party/WebKit/Source/core/paint/PaintLayer.cpp
|
| index 6aa246a751a34c29f6188630e8fc544454e7db43..57b95f0b7fcf815e84e8e150f43ee50cd6865582 100644
|
| --- a/third_party/WebKit/Source/core/paint/PaintLayer.cpp
|
| +++ b/third_party/WebKit/Source/core/paint/PaintLayer.cpp
|
| @@ -81,12 +81,12 @@
|
| #include "platform/geometry/FloatPoint3D.h"
|
| #include "platform/geometry/FloatRect.h"
|
| #include "platform/geometry/TransformState.h"
|
| +#include "platform/graphics/CompositorFilterOperations.h"
|
| #include "platform/graphics/filters/Filter.h"
|
| -#include "platform/graphics/filters/SourceGraphic.h"
|
| +#include "platform/graphics/filters/SkiaImageFilterBuilder.h"
|
| #include "platform/transforms/ScaleTransformOperation.h"
|
| #include "platform/transforms/TransformationMatrix.h"
|
| #include "platform/transforms/TranslateTransformOperation.h"
|
| -#include "public/platform/Platform.h"
|
| #include "wtf/PtrUtil.h"
|
| #include "wtf/StdLibExtras.h"
|
| #include "wtf/allocator/Partitions.h"
|
| @@ -2683,7 +2683,7 @@ bool PaintLayer::scrollsOverflow() const
|
|
|
| namespace {
|
|
|
| -FilterOperations computeFilterOperationsHandleReferenceFilters(const FilterOperations& filters, float effectiveZoom, Node* enclosingNode)
|
| +FilterOperations resolveReferenceFilters(const FilterOperations& filters, float effectiveZoom, Node* enclosingNode)
|
| {
|
| if (filters.hasReferenceFilter()) {
|
| for (size_t i = 0; i < filters.size(); ++i) {
|
| @@ -2708,12 +2708,18 @@ FilterOperations PaintLayer::computeFilterOperations(const ComputedStyle& style)
|
| BoxReflection reflection = boxReflectionForPaintLayer(*this, style);
|
| filterOperations.operations().append(BoxReflectFilterOperation::create(reflection));
|
| }
|
| - return computeFilterOperationsHandleReferenceFilters(filterOperations, style.effectiveZoom(), enclosingNode());
|
| + return resolveReferenceFilters(filterOperations, style.effectiveZoom(), enclosingNode());
|
| }
|
|
|
| -FilterOperations PaintLayer::computeBackdropFilterOperations(const ComputedStyle& style) const
|
| +CompositorFilterOperations PaintLayer::createCompositorFilterOperationsForFilter(const ComputedStyle& style)
|
| {
|
| - return computeFilterOperationsHandleReferenceFilters(style.backdropFilter(), style.effectiveZoom(), enclosingNode());
|
| + return SkiaImageFilterBuilder::buildFilterOperations(computeFilterOperations(style));
|
| +}
|
| +
|
| +CompositorFilterOperations PaintLayer::createCompositorFilterOperationsForBackdropFilter(const ComputedStyle& style)
|
| +{
|
| + FilterOperations operations = resolveReferenceFilters(style.backdropFilter(), style.effectiveZoom(), enclosingNode());
|
| + return SkiaImageFilterBuilder::buildFilterOperations(operations);
|
| }
|
|
|
| PaintLayerFilterInfo& PaintLayer::ensureFilterInfo()
|
|
|