diff options
author | reed <reed@chromium.org> | 2015-12-20 20:08:42 -0800 |
---|---|---|
committer | Commit bot <commit-bot@chromium.org> | 2015-12-20 20:08:43 -0800 |
commit | 2d6ba6690f8951e152d8e793191b14afd52f5506 (patch) | |
tree | ff71833d1327c08c9e31451d2a18286fc95f7bb0 | |
parent | d63f60a36327e9580861205ebb35cade8c49bd34 (diff) |
Revert of change all factories to return their base-class (patchset #1 id:1 of https://codereview.chromium.org/1535353002/ )
Reason for revert:
need to update some chrome/blink call-sites
Original issue's description:
> change all factories to return their base-class
>
> will watch DEPS roll to see if there are chrome sites needing updates
>
> BUG=skia:
> GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1535353002
>
> TBR=
>
> Committed: https://skia.googlesource.com/skia/+/d63f60a36327e9580861205ebb35cade8c49bd34
TBR=
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=skia:
Review URL: https://codereview.chromium.org/1540203002
27 files changed, 62 insertions, 59 deletions
diff --git a/bench/MatrixConvolutionBench.cpp b/bench/MatrixConvolutionBench.cpp index 05f0193cec..6302f1273b 100644 --- a/bench/MatrixConvolutionBench.cpp +++ b/bench/MatrixConvolutionBench.cpp @@ -50,7 +50,7 @@ protected: private: typedef Benchmark INHERITED; - SkImageFilter* fFilter; + SkMatrixConvolutionImageFilter* fFilter; SkString fName; }; diff --git a/gm/circles.cpp b/gm/circles.cpp index 369548cc59..a178ba9b8e 100644 --- a/gm/circles.cpp +++ b/gm/circles.cpp @@ -81,7 +81,7 @@ protected: // AA with blur SkPaint p; p.setAntiAlias(true); - SkDrawLooper* shadowLooper = + SkBlurDrawLooper* shadowLooper = SkBlurDrawLooper::Create(SK_ColorBLUE, SkBlurMask::ConvertRadiusToSigma(SkIntToScalar(10)), SkIntToScalar(5), SkIntToScalar(10), diff --git a/gm/imagefiltersgraph.cpp b/gm/imagefiltersgraph.cpp index 14752dbab5..e27a523cbc 100644 --- a/gm/imagefiltersgraph.cpp +++ b/gm/imagefiltersgraph.cpp @@ -153,13 +153,13 @@ protected: 0, SK_Scalar1, 0, 0, 0, 0, 0, SK_Scalar1, 0, 0, 0, 0, 0, 0.5f, 0 }; - SkAutoTUnref<SkColorFilter> matrixCF(SkColorMatrixFilter::Create(matrix)); + SkAutoTUnref<SkColorMatrixFilter> matrixCF(SkColorMatrixFilter::Create(matrix)); SkAutoTUnref<SkImageFilter> matrixFilter(SkColorFilterImageFilter::Create(matrixCF)); SkAutoTUnref<SkImageFilter> offsetFilter( SimpleOffsetFilter::Create(10.0f, 10.f, matrixFilter)); SkAutoTUnref<SkXfermode> arith(SkArithmeticMode::Create(0, SK_Scalar1, SK_Scalar1, 0)); - SkAutoTUnref<SkImageFilter> arithFilter( + SkAutoTUnref<SkXfermodeImageFilter> arithFilter( SkXfermodeImageFilter::Create(arith, matrixFilter, offsetFilter)); SkPaint paint; diff --git a/gm/rects.cpp b/gm/rects.cpp index 38108fed22..c4d5880e14 100644 --- a/gm/rects.cpp +++ b/gm/rects.cpp @@ -95,7 +95,7 @@ protected: SkPaint p; p.setColor(SK_ColorWHITE); p.setAntiAlias(true); - SkDrawLooper* shadowLooper = + SkBlurDrawLooper* shadowLooper = SkBlurDrawLooper::Create(SK_ColorWHITE, SkBlurMask::ConvertRadiusToSigma(SkIntToScalar(10)), SkIntToScalar(5), SkIntToScalar(10), diff --git a/gm/shadows.cpp b/gm/shadows.cpp index bb2bf3c5bd..f4034a4e5c 100644 --- a/gm/shadows.cpp +++ b/gm/shadows.cpp @@ -54,7 +54,7 @@ protected: } void onDraw(SkCanvas* canvas) override { - SkDrawLooper* shadowLoopers[5]; + SkBlurDrawLooper* shadowLoopers[5]; shadowLoopers[0] = SkBlurDrawLooper::Create(SK_ColorBLUE, SkBlurMask::ConvertRadiusToSigma(SkIntToScalar(10)), diff --git a/include/effects/Sk1DPathEffect.h b/include/effects/Sk1DPathEffect.h index 3419dc23b7..6a7804f111 100644 --- a/include/effects/Sk1DPathEffect.h +++ b/include/effects/Sk1DPathEffect.h @@ -56,7 +56,8 @@ public: @param style how to transform path at each point (based on the current position and tangent) */ - static SkPathEffect* Create(const SkPath& path, SkScalar advance, SkScalar phase, Style style) { + static SkPath1DPathEffect* Create(const SkPath& path, SkScalar advance, SkScalar phase, + Style style) { return new SkPath1DPathEffect(path, advance, phase, style); } diff --git a/include/effects/Sk2DPathEffect.h b/include/effects/Sk2DPathEffect.h index 73da83c4b9..fa12dcf095 100644 --- a/include/effects/Sk2DPathEffect.h +++ b/include/effects/Sk2DPathEffect.h @@ -55,7 +55,7 @@ private: class SK_API SkLine2DPathEffect : public Sk2DPathEffect { public: - static SkPathEffect* Create(SkScalar width, const SkMatrix& matrix) { + static SkLine2DPathEffect* Create(SkScalar width, const SkMatrix& matrix) { return new SkLine2DPathEffect(width, matrix); } @@ -84,7 +84,7 @@ public: * Stamp the specified path to fill the shape, using the matrix to define * the latice. */ - static SkPathEffect* Create(const SkMatrix& matrix, const SkPath& path) { + static SkPath2DPathEffect* Create(const SkMatrix& matrix, const SkPath& path) { return new SkPath2DPathEffect(matrix, path); } diff --git a/include/effects/SkBlurDrawLooper.h b/include/effects/SkBlurDrawLooper.h index 930af15ff8..808557b9da 100644 --- a/include/effects/SkBlurDrawLooper.h +++ b/include/effects/SkBlurDrawLooper.h @@ -35,8 +35,8 @@ public: kAll_BlurFlag = 0x07 }; - static SkDrawLooper* Create(SkColor color, SkScalar sigma, SkScalar dx, SkScalar dy, - uint32_t flags = kNone_BlurFlag) { + static SkBlurDrawLooper* Create(SkColor color, SkScalar sigma, SkScalar dx, SkScalar dy, + uint32_t flags = kNone_BlurFlag) { return new SkBlurDrawLooper(color, sigma, dx, dy, flags); } diff --git a/include/effects/SkColorMatrixFilter.h b/include/effects/SkColorMatrixFilter.h index 057e5cc325..bd2b939a43 100644 --- a/include/effects/SkColorMatrixFilter.h +++ b/include/effects/SkColorMatrixFilter.h @@ -13,10 +13,10 @@ class SK_API SkColorMatrixFilter : public SkColorFilter { public: - static SkColorFilter* Create(const SkColorMatrix& cm) { + static SkColorMatrixFilter* Create(const SkColorMatrix& cm) { return new SkColorMatrixFilter(cm); } - static SkColorFilter* Create(const SkScalar array[20]) { + static SkColorMatrixFilter* Create(const SkScalar array[20]) { return new SkColorMatrixFilter(array); } diff --git a/include/effects/SkCornerPathEffect.h b/include/effects/SkCornerPathEffect.h index 13095f0e6c..4c8908575d 100644 --- a/include/effects/SkCornerPathEffect.h +++ b/include/effects/SkCornerPathEffect.h @@ -20,7 +20,8 @@ public: /** radius must be > 0 to have an effect. It specifies the distance from each corner that should be "rounded". */ - static SkPathEffect* Create(SkScalar radius) { return new SkCornerPathEffect(radius); } + static SkCornerPathEffect* Create(SkScalar radius) { return new SkCornerPathEffect(radius); } + virtual ~SkCornerPathEffect(); virtual bool filterPath(SkPath* dst, const SkPath& src, SkStrokeRec*, const SkRect*) const override; @@ -33,8 +34,6 @@ public: #endif protected: - virtual ~SkCornerPathEffect(); - explicit SkCornerPathEffect(SkScalar radius); void flatten(SkWriteBuffer&) const override; diff --git a/include/effects/SkDashPathEffect.h b/include/effects/SkDashPathEffect.h index 3c1407b725..d3adeed99a 100644 --- a/include/effects/SkDashPathEffect.h +++ b/include/effects/SkDashPathEffect.h @@ -36,7 +36,8 @@ public: Note: only affects stroked paths. */ - static SkPathEffect* Create(const SkScalar intervals[], int count, SkScalar phase) { + static SkDashPathEffect* Create(const SkScalar intervals[], int count, + SkScalar phase) { return new SkDashPathEffect(intervals, count, phase); } virtual ~SkDashPathEffect(); diff --git a/include/effects/SkDiscretePathEffect.h b/include/effects/SkDiscretePathEffect.h index a49e2d89a7..b55dca8644 100644 --- a/include/effects/SkDiscretePathEffect.h +++ b/include/effects/SkDiscretePathEffect.h @@ -29,7 +29,9 @@ public: they can pass in a different seedAssist to get a different set of path segments. */ - static SkPathEffect* Create(SkScalar segLength, SkScalar deviation, uint32_t seedAssist = 0) { + static SkDiscretePathEffect* Create(SkScalar segLength, + SkScalar deviation, + uint32_t seedAssist=0) { return new SkDiscretePathEffect(segLength, deviation, seedAssist); } diff --git a/include/effects/SkDisplacementMapEffect.h b/include/effects/SkDisplacementMapEffect.h index e94461795b..253dabe0bd 100644 --- a/include/effects/SkDisplacementMapEffect.h +++ b/include/effects/SkDisplacementMapEffect.h @@ -23,11 +23,11 @@ public: ~SkDisplacementMapEffect(); - static SkImageFilter* Create(ChannelSelectorType xChannelSelector, - ChannelSelectorType yChannelSelector, - SkScalar scale, SkImageFilter* displacement, - SkImageFilter* color = NULL, - const CropRect* cropRect = NULL); + static SkDisplacementMapEffect* Create(ChannelSelectorType xChannelSelector, + ChannelSelectorType yChannelSelector, + SkScalar scale, SkImageFilter* displacement, + SkImageFilter* color = NULL, + const CropRect* cropRect = NULL); SK_DECLARE_PUBLIC_FLATTENABLE_DESERIALIZATION_PROCS(SkDisplacementMapEffect) diff --git a/include/effects/SkEmbossMaskFilter.h b/include/effects/SkEmbossMaskFilter.h index 72020bf3ce..b6bd1a1642 100644 --- a/include/effects/SkEmbossMaskFilter.h +++ b/include/effects/SkEmbossMaskFilter.h @@ -23,7 +23,7 @@ public: uint8_t fSpecular; // exponent, 4.4 right now }; - static SkMaskFilter* Create(SkScalar blurSigma, const Light& light); + static SkEmbossMaskFilter* Create(SkScalar blurSigma, const Light& light); // overrides from SkMaskFilter // This method is not exported to java. diff --git a/include/effects/SkMatrixConvolutionImageFilter.h b/include/effects/SkMatrixConvolutionImageFilter.h index 7a2026c86b..09a3acf31a 100644 --- a/include/effects/SkMatrixConvolutionImageFilter.h +++ b/include/effects/SkMatrixConvolutionImageFilter.h @@ -52,15 +52,15 @@ public: passed to filterImage() is used instead. @param cropRect The rectangle to which the output processing will be limited. */ - static SkImageFilter* Create(const SkISize& kernelSize, - const SkScalar* kernel, - SkScalar gain, - SkScalar bias, - const SkIPoint& kernelOffset, - TileMode tileMode, - bool convolveAlpha, - SkImageFilter* input = NULL, - const CropRect* cropRect = NULL); + static SkMatrixConvolutionImageFilter* Create(const SkISize& kernelSize, + const SkScalar* kernel, + SkScalar gain, + SkScalar bias, + const SkIPoint& kernelOffset, + TileMode tileMode, + bool convolveAlpha, + SkImageFilter* input = NULL, + const CropRect* cropRect = NULL); SK_TO_STRING_OVERRIDE() SK_DECLARE_PUBLIC_FLATTENABLE_DESERIALIZATION_PROCS(SkMatrixConvolutionImageFilter) diff --git a/include/effects/SkXfermodeImageFilter.h b/include/effects/SkXfermodeImageFilter.h index d59b7a2b25..57fd288f24 100644 --- a/include/effects/SkXfermodeImageFilter.h +++ b/include/effects/SkXfermodeImageFilter.h @@ -23,9 +23,9 @@ class SK_API SkXfermodeImageFilter : public SkImageFilter { public: virtual ~SkXfermodeImageFilter(); - static SkImageFilter* Create(SkXfermode* mode, SkImageFilter* background, - SkImageFilter* foreground = NULL, - const CropRect* cropRect = NULL) { + static SkXfermodeImageFilter* Create(SkXfermode* mode, SkImageFilter* background, + SkImageFilter* foreground = NULL, + const CropRect* cropRect = NULL) { SkImageFilter* inputs[2] = { background, foreground }; return new SkXfermodeImageFilter(mode, inputs, cropRect); } diff --git a/samplecode/SampleAll.cpp b/samplecode/SampleAll.cpp index 21d93bd8ae..b5a0fe568d 100644 --- a/samplecode/SampleAll.cpp +++ b/samplecode/SampleAll.cpp @@ -382,7 +382,7 @@ protected: light.fAmbient = 0x48; light.fSpecular = 0x80; SkScalar sigma = SkBlurMask::ConvertRadiusToSigma(SkIntToScalar(12)/5); - SkMaskFilter* embossFilter = SkEmbossMaskFilter::Create(sigma, light); + SkEmbossMaskFilter* embossFilter = SkEmbossMaskFilter::Create(sigma, light); SkXfermode* xfermode = SkXfermode::Create(SkXfermode::kXor_Mode); SkColorFilter* lightingFilter = SkColorFilter::CreateLightingFilter( diff --git a/samplecode/SampleTiling.cpp b/samplecode/SampleTiling.cpp index ed244eb3d2..ba79e5a0ba 100644 --- a/samplecode/SampleTiling.cpp +++ b/samplecode/SampleTiling.cpp @@ -55,8 +55,8 @@ static const int gWidth = 32; static const int gHeight = 32; class TilingView : public SampleView { - SkAutoTUnref<SkPicture> fTextPicture; - SkAutoTUnref<SkDrawLooper> fLooper; + SkAutoTUnref<SkPicture> fTextPicture; + SkAutoTUnref<SkBlurDrawLooper> fLooper; public: TilingView() : fLooper(SkBlurDrawLooper::Create(0x88000000, diff --git a/samplecode/SampleUnpremul.cpp b/samplecode/SampleUnpremul.cpp index 4e3e1fae97..6d5cf6cccc 100644 --- a/samplecode/SampleUnpremul.cpp +++ b/samplecode/SampleUnpremul.cpp @@ -83,7 +83,7 @@ protected: SkPaint paint; paint.setAntiAlias(true); paint.setTextSize(SkIntToScalar(24)); - SkAutoTUnref<SkDrawLooper> looper( + SkAutoTUnref<SkBlurDrawLooper> looper( SkBlurDrawLooper::Create(SK_ColorBLUE, SkBlurMask::ConvertRadiusToSigma(SkIntToScalar(2)), 0, 0)); diff --git a/src/effects/SkDisplacementMapEffect.cpp b/src/effects/SkDisplacementMapEffect.cpp index 2b35036bc5..a3fff39b46 100644 --- a/src/effects/SkDisplacementMapEffect.cpp +++ b/src/effects/SkDisplacementMapEffect.cpp @@ -164,12 +164,12 @@ bool channel_selector_type_is_valid(SkDisplacementMapEffect::ChannelSelectorType /////////////////////////////////////////////////////////////////////////////// -SkImageFilter* SkDisplacementMapEffect::Create(ChannelSelectorType xChannelSelector, - ChannelSelectorType yChannelSelector, - SkScalar scale, - SkImageFilter* displacement, - SkImageFilter* color, - const CropRect* cropRect) { +SkDisplacementMapEffect* SkDisplacementMapEffect::Create(ChannelSelectorType xChannelSelector, + ChannelSelectorType yChannelSelector, + SkScalar scale, + SkImageFilter* displacement, + SkImageFilter* color, + const CropRect* cropRect) { if (!channel_selector_type_is_valid(xChannelSelector) || !channel_selector_type_is_valid(yChannelSelector)) { return nullptr; diff --git a/src/effects/SkEmbossMaskFilter.cpp b/src/effects/SkEmbossMaskFilter.cpp index 64afa49447..2607e255d9 100644 --- a/src/effects/SkEmbossMaskFilter.cpp +++ b/src/effects/SkEmbossMaskFilter.cpp @@ -13,7 +13,7 @@ #include "SkWriteBuffer.h" #include "SkString.h" -SkMaskFilter* SkEmbossMaskFilter::Create(SkScalar blurSigma, const Light& light) { +SkEmbossMaskFilter* SkEmbossMaskFilter::Create(SkScalar blurSigma, const Light& light) { return new SkEmbossMaskFilter(blurSigma, light); } diff --git a/src/effects/SkMatrixConvolutionImageFilter.cpp b/src/effects/SkMatrixConvolutionImageFilter.cpp index a80ba45fdb..a1f23f7a29 100644 --- a/src/effects/SkMatrixConvolutionImageFilter.cpp +++ b/src/effects/SkMatrixConvolutionImageFilter.cpp @@ -47,7 +47,7 @@ SkMatrixConvolutionImageFilter::SkMatrixConvolutionImageFilter( SkASSERT(kernelOffset.fY >= 0 && kernelOffset.fY < kernelSize.fHeight); } -SkImageFilter* SkMatrixConvolutionImageFilter::Create( +SkMatrixConvolutionImageFilter* SkMatrixConvolutionImageFilter::Create( const SkISize& kernelSize, const SkScalar* kernel, SkScalar gain, diff --git a/tests/AsADashTest.cpp b/tests/AsADashTest.cpp index fc4efecbb2..c59dc8344f 100644 --- a/tests/AsADashTest.cpp +++ b/tests/AsADashTest.cpp @@ -12,7 +12,7 @@ #include "SkCornerPathEffect.h" DEF_TEST(AsADashTest_noneDash, reporter) { - SkAutoTUnref<SkPathEffect> pe(SkCornerPathEffect::Create(1.0)); + SkAutoTUnref<SkCornerPathEffect> pe(SkCornerPathEffect::Create(1.0)); SkPathEffect::DashInfo info; SkPathEffect::DashType dashType = pe->asADash(&info); @@ -22,7 +22,7 @@ DEF_TEST(AsADashTest_noneDash, reporter) { DEF_TEST(AsADashTest_nullInfo, reporter) { SkScalar inIntervals[] = { 4.0, 2.0, 1.0, 3.0 }; const SkScalar phase = 2.0; - SkAutoTUnref<SkPathEffect> pe(SkDashPathEffect::Create(inIntervals, 4, phase)); + SkAutoTUnref<SkDashPathEffect> pe(SkDashPathEffect::Create(inIntervals, 4, phase)); SkPathEffect::DashType dashType = pe->asADash(nullptr); REPORTER_ASSERT(reporter, SkPathEffect::kDash_DashType == dashType); @@ -33,7 +33,7 @@ DEF_TEST(AsADashTest_usingDash, reporter) { SkScalar totalIntSum = 10.0; const SkScalar phase = 2.0; - SkAutoTUnref<SkPathEffect> pe(SkDashPathEffect::Create(inIntervals, 4, phase)); + SkAutoTUnref<SkDashPathEffect> pe(SkDashPathEffect::Create(inIntervals, 4, phase)); SkPathEffect::DashInfo info; diff --git a/tests/DashPathEffectTest.cpp b/tests/DashPathEffectTest.cpp index f55bcf8a85..6639ec7b40 100644 --- a/tests/DashPathEffectTest.cpp +++ b/tests/DashPathEffectTest.cpp @@ -18,7 +18,7 @@ DEF_TEST(DashPathEffectTest_crbug_348821, r) { SkScalar intervals[] = { 1.76934361e+36f, 2.80259693e-45f }; // Values from bug. const int count = 2; SkScalar phase = SK_ScalarInfinity; // Used to force the bad fInitialDashLength = -1 path. - SkAutoTUnref<SkPathEffect> dash(SkDashPathEffect::Create(intervals, count, phase)); + SkAutoTUnref<SkDashPathEffect> dash(SkDashPathEffect::Create(intervals, count, phase)); // nullptr -> refuses to work with flattening framework. REPORTER_ASSERT(r, dash->getFactory() != nullptr); @@ -33,7 +33,7 @@ DEF_TEST(DashPathEffectTest_asPoints, r) { const SkScalar intervals[] = { 1.0f, 1.0f }; const int count = 2; - SkAutoTUnref<SkPathEffect> dash(SkDashPathEffect::Create(intervals, count, 0.0f)); + SkAutoTUnref<SkDashPathEffect> dash(SkDashPathEffect::Create(intervals, count, 0.0f)); SkRect cull = SkRect::MakeWH(1.0f, 1.0f); diff --git a/tests/DrawPathTest.cpp b/tests/DrawPathTest.cpp index 721b030477..e5d50d33d7 100644 --- a/tests/DrawPathTest.cpp +++ b/tests/DrawPathTest.cpp @@ -192,7 +192,7 @@ static void test_crbug_140642() { */ const SkScalar vals[] = { 27734, 35660, 2157846850.0f, 247 }; - SkAutoTUnref<SkPathEffect> dontAssert(SkDashPathEffect::Create(vals, 4, -248.135982067f)); + SkAutoTUnref<SkDashPathEffect> dontAssert(SkDashPathEffect::Create(vals, 4, -248.135982067f)); } static void test_crbug_124652() { @@ -202,7 +202,7 @@ static void test_crbug_124652() { large values can "swamp" small ones. */ SkScalar intervals[2] = {837099584, 33450}; - SkAutoTUnref<SkPathEffect> dash(SkDashPathEffect::Create(intervals, 2, -10)); + SkAutoTUnref<SkDashPathEffect> dash(SkDashPathEffect::Create(intervals, 2, -10)); } static void test_bigcubic() { @@ -242,7 +242,7 @@ static void test_infinite_dash(skiatest::Reporter* reporter) { path.lineTo(5000000, 0); SkScalar intervals[] = { 0.2f, 0.2f }; - SkAutoTUnref<SkPathEffect> dash(SkDashPathEffect::Create(intervals, 2, 0)); + SkAutoTUnref<SkDashPathEffect> dash(SkDashPathEffect::Create(intervals, 2, 0)); SkPath filteredPath; SkPaint paint; @@ -262,7 +262,7 @@ static void test_crbug_165432(skiatest::Reporter* reporter) { path.lineTo(10000000, 0); SkScalar intervals[] = { 0.5f, 0.5f }; - SkAutoTUnref<SkPathEffect> dash(SkDashPathEffect::Create(intervals, 2, 0)); + SkAutoTUnref<SkDashPathEffect> dash(SkDashPathEffect::Create(intervals, 2, 0)); SkPaint paint; paint.setStyle(SkPaint::kStroke_Style); diff --git a/tests/PictureTest.cpp b/tests/PictureTest.cpp index 86c791ae8a..fdb2de4948 100644 --- a/tests/PictureTest.cpp +++ b/tests/PictureTest.cpp @@ -146,7 +146,7 @@ static void test_gpu_veto(skiatest::Reporter* reporter) { path.lineTo(50, 50); SkScalar intervals[] = { 1.0f, 1.0f }; - SkAutoTUnref<SkPathEffect> dash(SkDashPathEffect::Create(intervals, 2, 0)); + SkAutoTUnref<SkDashPathEffect> dash(SkDashPathEffect::Create(intervals, 2, 0)); SkPaint paint; paint.setStyle(SkPaint::kStroke_Style); diff --git a/tests/SerializationTest.cpp b/tests/SerializationTest.cpp index ba95ddf8da..38e84bd4b4 100644 --- a/tests/SerializationTest.cpp +++ b/tests/SerializationTest.cpp @@ -246,7 +246,7 @@ static void TestBitmapSerialization(const SkBitmap& validBitmap, SkAutoTUnref<SkImage> invalidImage(SkImage::NewFromBitmap(invalidBitmap)); SkAutoTUnref<SkImageFilter> invalidBitmapSource(SkImageSource::Create(invalidImage)); SkAutoTUnref<SkXfermode> mode(SkXfermode::Create(SkXfermode::kSrcOver_Mode)); - SkAutoTUnref<SkImageFilter> xfermodeImageFilter( + SkAutoTUnref<SkXfermodeImageFilter> xfermodeImageFilter( SkXfermodeImageFilter::Create(mode, invalidBitmapSource, validBitmapSource)); SkAutoTUnref<SkImageFilter> deserializedFilter( |