| Index: gm/recordopts.cpp
 | 
| diff --git a/gm/recordopts.cpp b/gm/recordopts.cpp
 | 
| index 97d13cb9c90836d616044b18c400f3e3ebcc0920..bac6d8858ce2ca8a8a9cf208d20c29a2ecdf865c 100644
 | 
| --- a/gm/recordopts.cpp
 | 
| +++ b/gm/recordopts.cpp
 | 
| @@ -22,26 +22,26 @@
 | 
|  // kDetectorGreenValue and then the incorrect value is observable by some part of the drawing
 | 
|  // pipeline, that pixel will remain empty.
 | 
|  
 | 
| -static SkColorFilter* make_detector_color_filter() {
 | 
| +static sk_sp<SkColorFilter> make_detector_color_filter() {
 | 
|      uint8_t tableA[256] = { 0, };
 | 
|      uint8_t tableR[256] = { 0, };
 | 
|      uint8_t tableG[256] = { 0, };
 | 
|      uint8_t tableB[256] = { 0, };
 | 
|      tableA[255] = 255;
 | 
|      tableG[kDetectorGreenValue] = 255;
 | 
| -    return SkTableColorFilter::CreateARGB(tableA, tableR, tableG, tableB);
 | 
| +    return SkTableColorFilter::MakeARGB(tableA, tableR, tableG, tableB);
 | 
|  }
 | 
|  
 | 
|  // This detector detects that color filter phase of the pixel pipeline receives the correct value.
 | 
|  static void install_detector_color_filter(SkPaint* drawPaint) {
 | 
| -    drawPaint->setColorFilter(make_detector_color_filter())->unref();
 | 
| +    drawPaint->setColorFilter(make_detector_color_filter());
 | 
|  }
 | 
|  
 | 
|  // This detector detects that image filter phase of the pixel pipeline receives the correct value.
 | 
|  static void install_detector_image_filter(SkPaint* drawPaint) {
 | 
| -    SkAutoTUnref<SkColorFilter> colorFilter(make_detector_color_filter());
 | 
| +    auto colorFilter(make_detector_color_filter());
 | 
|      SkImageFilter* imageFilter =
 | 
| -            SkColorFilterImageFilter::Create(colorFilter, drawPaint->getImageFilter());
 | 
| +            SkColorFilterImageFilter::Create(colorFilter.get(), drawPaint->getImageFilter());
 | 
|      drawPaint->setImageFilter(imageFilter)->unref();
 | 
|  }
 | 
|  
 | 
| 
 |