| Index: samplecode/SampleFilterFuzz.cpp
 | 
| diff --git a/samplecode/SampleFilterFuzz.cpp b/samplecode/SampleFilterFuzz.cpp
 | 
| index 82934ea3cc774079e7bcef4f17cdf1cf6bfca582..dd0fa4044e6f5b9bbeaf776b4d454d7311ecea78 100644
 | 
| --- a/samplecode/SampleFilterFuzz.cpp
 | 
| +++ b/samplecode/SampleFilterFuzz.cpp
 | 
| @@ -298,9 +298,9 @@
 | 
|      return bitmap[R(2)];
 | 
|  }
 | 
|  
 | 
| -static sk_sp<SkData> make_3Dlut(int* cubeDimension, bool invR, bool invG, bool invB) {
 | 
| +static SkData* make_3Dlut(int* cubeDimension, bool invR, bool invG, bool invB) {
 | 
|      int size = 4 << R(5);
 | 
| -    auto data = SkData::MakeUninitialized(sizeof(SkColor) * size * size * size);
 | 
| +    SkData* data = SkData::NewUninitialized(sizeof(SkColor) * size * size * size);
 | 
|      SkColor* pixels = (SkColor*)(data->writable_data());
 | 
|      SkAutoTMalloc<uint8_t> lutMemory(size);
 | 
|      SkAutoTMalloc<uint8_t> invLutMemory(size);
 | 
| @@ -350,17 +350,20 @@
 | 
|      }
 | 
|  }
 | 
|  
 | 
| -static sk_sp<SkColorFilter> make_color_filter() {
 | 
| +static SkColorFilter* make_color_filter() {
 | 
| +    SkColorFilter* colorFilter;
 | 
|      switch (R(6)) {
 | 
|          case 0: {
 | 
|              SkScalar array[20];
 | 
|              for (int i = 0; i < 20; ++i) {
 | 
|                  array[i] = make_scalar();
 | 
|              }
 | 
| -            return SkColorFilter::MakeMatrixFilterRowMajor255(array);
 | 
| +            colorFilter = SkColorMatrixFilter::Create(array);
 | 
| +            break;
 | 
|          }
 | 
|          case 1:
 | 
| -            return SkLumaColorFilter::Make();
 | 
| +            colorFilter = SkLumaColorFilter::Create();
 | 
| +            break;
 | 
|          case 2: {
 | 
|              uint8_t tableA[256];
 | 
|              uint8_t tableR[256];
 | 
| @@ -370,17 +373,21 @@
 | 
|              rand_color_table(tableR);
 | 
|              rand_color_table(tableG);
 | 
|              rand_color_table(tableB);
 | 
| -            return SkTableColorFilter::MakeARGB(tableA, tableR, tableG, tableB);
 | 
| +            colorFilter = SkTableColorFilter::CreateARGB(tableA, tableR, tableG, tableB);
 | 
| +            break;
 | 
|          }
 | 
|          case 3:
 | 
| -            return SkColorFilter::MakeModeFilter(make_color(), make_xfermode());
 | 
| +            colorFilter = SkColorFilter::CreateModeFilter(make_color(), make_xfermode());
 | 
| +            break;
 | 
|          case 4:
 | 
| -            return SkColorMatrixFilter::MakeLightingFilter(make_color(), make_color());
 | 
| +            colorFilter = SkColorMatrixFilter::CreateLightingFilter(make_color(), make_color());
 | 
| +            break;
 | 
|          case 5:
 | 
|          default:
 | 
| -            break;
 | 
| -    }
 | 
| -    return nullptr;
 | 
| +            colorFilter = nullptr;
 | 
| +            break;
 | 
| +    }
 | 
| +    return colorFilter;
 | 
|  }
 | 
|  
 | 
|  static SkPath make_path() {
 | 
| @@ -531,7 +538,7 @@
 | 
|      rasterizerBuilder.addLayer(paintForRasterizer);
 | 
|      paint.setRasterizer(rasterizerBuilder.detach());
 | 
|      paint.setImageFilter(make_image_filter());
 | 
| -    sk_sp<SkData> data(make_3Dlut(nullptr, make_bool(), make_bool(), make_bool()));
 | 
| +    SkAutoDataUnref data(make_3Dlut(nullptr, make_bool(), make_bool(), make_bool()));
 | 
|      paint.setTextAlign(make_paint_align());
 | 
|      paint.setTextSize(make_scalar());
 | 
|      paint.setTextScaleX(make_scalar());
 | 
| @@ -560,16 +567,16 @@
 | 
|          break;
 | 
|      case COLOR:
 | 
|      {
 | 
| -        sk_sp<SkColorFilter> cf(make_color_filter());
 | 
| -        filter = cf ? SkColorFilterImageFilter::Create(cf.get(), make_image_filter()) : 0;
 | 
| +        SkAutoTUnref<SkColorFilter> cf(make_color_filter());
 | 
| +        filter = cf.get() ? SkColorFilterImageFilter::Create(cf, make_image_filter()) : 0;
 | 
|      }
 | 
|          break;
 | 
|      case LUT3D:
 | 
|      {
 | 
|          int cubeDimension;
 | 
| -        sk_sp<SkData> lut3D(make_3Dlut(&cubeDimension, (R(2) == 1), (R(2) == 1), (R(2) == 1)));
 | 
| -        sk_sp<SkColorFilter> cf(SkColorCubeFilter::Make(lut3D, cubeDimension));
 | 
| -        filter = cf ? SkColorFilterImageFilter::Create(cf.get(), make_image_filter()) : 0;
 | 
| +        SkAutoDataUnref lut3D(make_3Dlut(&cubeDimension, (R(2) == 1), (R(2) == 1), (R(2) == 1)));
 | 
| +        SkAutoTUnref<SkColorFilter> cf(SkColorCubeFilter::Create(lut3D, cubeDimension));
 | 
| +        filter = cf.get() ? SkColorFilterImageFilter::Create(cf, make_image_filter()) : 0;
 | 
|      }
 | 
|          break;
 | 
|      case BLUR:
 | 
| 
 |