| Index: Source/platform/graphics/filters/SourceAlpha.cpp
|
| diff --git a/Source/platform/graphics/filters/SourceAlpha.cpp b/Source/platform/graphics/filters/SourceAlpha.cpp
|
| index d215cf2c80004ca00f587b0faffe3394058c4096..242081364481b50195d555196f615ce62e975b78 100644
|
| --- a/Source/platform/graphics/filters/SourceAlpha.cpp
|
| +++ b/Source/platform/graphics/filters/SourceAlpha.cpp
|
| @@ -21,10 +21,8 @@
|
| #include "config.h"
|
| #include "platform/graphics/filters/SourceAlpha.h"
|
|
|
| -#include "platform/graphics/Color.h"
|
| #include "platform/graphics/filters/Filter.h"
|
| #include "platform/graphics/filters/SkiaImageFilterBuilder.h"
|
| -#include "platform/graphics/filters/SourceGraphic.h"
|
| #include "platform/text/TextStream.h"
|
| #include "third_party/skia/include/effects/SkColorFilterImageFilter.h"
|
| #include "third_party/skia/include/effects/SkColorMatrixFilter.h"
|
| @@ -32,9 +30,9 @@
|
|
|
| namespace blink {
|
|
|
| -PassRefPtrWillBeRawPtr<SourceAlpha> SourceAlpha::create(Filter* filter)
|
| +PassRefPtrWillBeRawPtr<SourceAlpha> SourceAlpha::create(FilterEffect* sourceEffect)
|
| {
|
| - return adoptRefWillBeNoop(new SourceAlpha(filter));
|
| + return adoptRefWillBeNoop(new SourceAlpha(sourceEffect));
|
| }
|
|
|
| const AtomicString& SourceAlpha::effectName()
|
| @@ -43,17 +41,21 @@ const AtomicString& SourceAlpha::effectName()
|
| return s_effectName;
|
| }
|
|
|
| +SourceAlpha::SourceAlpha(FilterEffect* sourceEffect)
|
| + : FilterEffect(sourceEffect->filter())
|
| +{
|
| + setOperatingColorSpace(sourceEffect->operatingColorSpace());
|
| + inputEffects().append(sourceEffect);
|
| +}
|
| +
|
| FloatRect SourceAlpha::determineAbsolutePaintRect(const FloatRect& requestedRect)
|
| {
|
| - FloatRect srcRect = filter()->sourceImageRect();
|
| - srcRect.intersect(requestedRect);
|
| - addAbsolutePaintRect(srcRect);
|
| - return srcRect;
|
| + return inputEffect(0)->determineAbsolutePaintRect(requestedRect);
|
| }
|
|
|
| PassRefPtr<SkImageFilter> SourceAlpha::createImageFilter(SkiaImageFilterBuilder* builder)
|
| {
|
| - RefPtr<SkImageFilter> sourceGraphic(builder->build(builder->sourceGraphic(), operatingColorSpace()));
|
| + RefPtr<SkImageFilter> sourceGraphic(builder->build(inputEffect(0), operatingColorSpace()));
|
| SkScalar matrix[20] = {
|
| 0, 0, 0, 0, 0,
|
| 0, 0, 0, 0, 0,
|
|
|