Index: third_party/WebKit/Source/platform/graphics/filters/SkiaImageFilterBuilder.cpp |
diff --git a/third_party/WebKit/Source/platform/graphics/filters/SkiaImageFilterBuilder.cpp b/third_party/WebKit/Source/platform/graphics/filters/SkiaImageFilterBuilder.cpp |
index e76c28629b641e34e90dd29743872f89d6107667..d07f799a9e85e165c839a7e1c9278aba7ddaa40f 100644 |
--- a/third_party/WebKit/Source/platform/graphics/filters/SkiaImageFilterBuilder.cpp |
+++ b/third_party/WebKit/Source/platform/graphics/filters/SkiaImageFilterBuilder.cpp |
@@ -100,10 +100,11 @@ void buildSourceGraphic(FilterEffect* sourceGraphic, sk_sp<SkPicture> picture) |
populateSourceGraphicImageFilters(sourceGraphic, std::move(filter), sourceGraphic->operatingColorSpace()); |
} |
-void buildFilterOperations(const FilterOperations& operations, CompositorFilterOperations* filters) |
+CompositorFilterOperations buildFilterOperations(const FilterOperations& operations) |
{ |
ColorSpace currentColorSpace = ColorSpaceDeviceRGB; |
+ CompositorFilterOperations filters; |
for (size_t i = 0; i < operations.size(); ++i) { |
const FilterOperation& op = *operations.at(i); |
switch (op.type()) { |
@@ -114,7 +115,7 @@ void buildFilterOperations(const FilterOperations& operations, CompositorFilterO |
FilterEffect* filterEffect = referenceFilter->lastEffect(); |
currentColorSpace = filterEffect->operatingColorSpace(); |
- filters->appendReferenceFilter(SkiaImageFilterBuilder::build(filterEffect, currentColorSpace)); |
+ filters.appendReferenceFilter(SkiaImageFilterBuilder::build(filterEffect, currentColorSpace)); |
} |
break; |
} |
@@ -125,16 +126,16 @@ void buildFilterOperations(const FilterOperations& operations, CompositorFilterO |
float amount = toBasicColorMatrixFilterOperation(op).amount(); |
switch (op.type()) { |
case FilterOperation::GRAYSCALE: |
- filters->appendGrayscaleFilter(amount); |
+ filters.appendGrayscaleFilter(amount); |
break; |
case FilterOperation::SEPIA: |
- filters->appendSepiaFilter(amount); |
+ filters.appendSepiaFilter(amount); |
break; |
case FilterOperation::SATURATE: |
- filters->appendSaturateFilter(amount); |
+ filters.appendSaturateFilter(amount); |
break; |
case FilterOperation::HUE_ROTATE: |
- filters->appendHueRotateFilter(amount); |
+ filters.appendHueRotateFilter(amount); |
break; |
default: |
ASSERT_NOT_REACHED(); |
@@ -148,16 +149,16 @@ void buildFilterOperations(const FilterOperations& operations, CompositorFilterO |
float amount = toBasicComponentTransferFilterOperation(op).amount(); |
switch (op.type()) { |
case FilterOperation::INVERT: |
- filters->appendInvertFilter(amount); |
+ filters.appendInvertFilter(amount); |
break; |
case FilterOperation::OPACITY: |
- filters->appendOpacityFilter(amount); |
+ filters.appendOpacityFilter(amount); |
break; |
case FilterOperation::BRIGHTNESS: |
- filters->appendBrightnessFilter(amount); |
+ filters.appendBrightnessFilter(amount); |
break; |
case FilterOperation::CONTRAST: |
- filters->appendContrastFilter(amount); |
+ filters.appendContrastFilter(amount); |
break; |
default: |
ASSERT_NOT_REACHED(); |
@@ -166,19 +167,19 @@ void buildFilterOperations(const FilterOperations& operations, CompositorFilterO |
} |
case FilterOperation::BLUR: { |
float pixelRadius = toBlurFilterOperation(op).stdDeviation().getFloatValue(); |
- filters->appendBlurFilter(pixelRadius); |
+ filters.appendBlurFilter(pixelRadius); |
break; |
} |
case FilterOperation::DROP_SHADOW: { |
const DropShadowFilterOperation& drop = toDropShadowFilterOperation(op); |
- filters->appendDropShadowFilter(drop.location(), drop.stdDeviation(), drop.getColor()); |
+ filters.appendDropShadowFilter(drop.location(), drop.stdDeviation(), drop.getColor()); |
break; |
} |
case FilterOperation::BOX_REFLECT: { |
// TODO(jbroman): Consider explaining box reflect to the compositor, |
// instead of calling this a "reference filter". |
const auto& reflection = toBoxReflectFilterOperation(op).reflection(); |
- filters->appendReferenceFilter(buildBoxReflectFilter(reflection, nullptr)); |
+ filters.appendReferenceFilter(buildBoxReflectFilter(reflection, nullptr)); |
break; |
} |
case FilterOperation::NONE: |
@@ -188,8 +189,9 @@ void buildFilterOperations(const FilterOperations& operations, CompositorFilterO |
if (currentColorSpace != ColorSpaceDeviceRGB) { |
// Transform to device color space at the end of processing, if required |
sk_sp<SkImageFilter> filter = transformColorSpace(nullptr, currentColorSpace, ColorSpaceDeviceRGB); |
- filters->appendReferenceFilter(std::move(filter)); |
+ filters.appendReferenceFilter(std::move(filter)); |
} |
+ return filters; |
} |
sk_sp<SkImageFilter> buildBoxReflectFilter(const BoxReflection& reflection, sk_sp<SkImageFilter> input) |