Remove deprecated morphology image filter headers

Bug: skia:11230
Change-Id: I7e065bfe1ba567396e242b45076b520f1aa3e414
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/371963
Commit-Queue: Michael Ludwig <michaelludwig@google.com>
Reviewed-by: Robert Phillips <robertphillips@google.com>
diff --git a/gn/effects_imagefilters.gni b/gn/effects_imagefilters.gni
index bbb5896..d7df79b 100644
--- a/gn/effects_imagefilters.gni
+++ b/gn/effects_imagefilters.gni
@@ -25,7 +25,6 @@
   "$_src/effects/imagefilters/SkMatrixConvolutionImageFilter.cpp",
   "$_src/effects/imagefilters/SkMergeImageFilter.cpp",
   "$_src/effects/imagefilters/SkMorphologyImageFilter.cpp",
-  "$_src/effects/imagefilters/SkMorphologyImageFilter.h",
   "$_src/effects/imagefilters/SkOffsetImageFilter.cpp",
   "$_src/effects/imagefilters/SkOffsetImageFilter.h",
   "$_src/effects/imagefilters/SkPaintImageFilter.cpp",
diff --git a/src/core/SkImageFilter_Base.h b/src/core/SkImageFilter_Base.h
index 11ba0a2..69f9f17 100644
--- a/src/core/SkImageFilter_Base.h
+++ b/src/core/SkImageFilter_Base.h
@@ -496,5 +496,6 @@
 void SkRegisterMagnifierImageFilterFlattenable();
 void SkRegisterMatrixConvolutionImageFilterFlattenable();
 void SkRegisterMergeImageFilterFlattenable();
+void SkRegisterMorphologyImageFilterFlattenables();
 
 #endif // SkImageFilter_Base_DEFINED
diff --git a/src/effects/imagefilters/SkImageFilters.cpp b/src/effects/imagefilters/SkImageFilters.cpp
index cc87fd5..4481b1f 100644
--- a/src/effects/imagefilters/SkImageFilters.cpp
+++ b/src/effects/imagefilters/SkImageFilters.cpp
@@ -9,7 +9,6 @@
 
 #include "include/core/SkPaint.h"
 
-#include "src/effects/imagefilters/SkMorphologyImageFilter.h"
 #include "src/effects/imagefilters/SkOffsetImageFilter.h"
 #include "src/effects/imagefilters/SkPaintImageFilter.h"
 #include "src/effects/imagefilters/SkPictureImageFilter.h"
@@ -20,7 +19,6 @@
 #include "src/core/SkMatrixImageFilter.h"
 
 void SkImageFilters::RegisterFlattenables() {
-    SkDilateImageFilter::RegisterFlattenables();
     SkOffsetImageFilter::RegisterFlattenables();
     SkPaintImageFilter::RegisterFlattenables();
     SkPictureImageFilter::RegisterFlattenables();
@@ -81,15 +79,3 @@
         const SkRect& src, const SkRect& dst, sk_sp<SkImageFilter> input) {
     return SkTileImageFilter::Make(src, dst, std::move(input));
 }
-
-// Morphology filter effects
-
-sk_sp<SkImageFilter> SkImageFilters::Dilate(
-        SkScalar radiusX, SkScalar radiusY, sk_sp<SkImageFilter> input, const CropRect& cropRect) {
-    return SkDilateImageFilter::Make(radiusX, radiusY, std::move(input), cropRect);
-}
-
-sk_sp<SkImageFilter> SkImageFilters::Erode(
-        SkScalar radiusX, SkScalar radiusY, sk_sp<SkImageFilter> input, const CropRect& cropRect) {
-    return SkErodeImageFilter::Make(radiusX, radiusY, std::move(input), cropRect);
-}
diff --git a/src/effects/imagefilters/SkMorphologyImageFilter.cpp b/src/effects/imagefilters/SkMorphologyImageFilter.cpp
index d924a12..466b5b0 100644
--- a/src/effects/imagefilters/SkMorphologyImageFilter.cpp
+++ b/src/effects/imagefilters/SkMorphologyImageFilter.cpp
@@ -5,10 +5,9 @@
  * found in the LICENSE file.
  */
 
-#include "src/effects/imagefilters/SkMorphologyImageFilter.h"
-
 #include "include/core/SkBitmap.h"
 #include "include/core/SkRect.h"
+#include "include/effects/SkImageFilters.h"
 #include "include/private/SkColorData.h"
 #include "src/core/SkImageFilter_Base.h"
 #include "src/core/SkReadBuffer.h"
@@ -39,10 +38,10 @@
 
 enum class MorphDirection { kX, kY };
 
-class SkMorphologyImageFilterImpl final : public SkImageFilter_Base {
+class SkMorphologyImageFilter final : public SkImageFilter_Base {
 public:
-    SkMorphologyImageFilterImpl(MorphType type, SkScalar radiusX, SkScalar radiusY,
-                                sk_sp<SkImageFilter> input, const SkRect* cropRect)
+    SkMorphologyImageFilter(MorphType type, SkScalar radiusX, SkScalar radiusY,
+                            sk_sp<SkImageFilter> input, const SkRect* cropRect)
             : INHERITED(&input, 1, cropRect)
             , fType(type)
             , fRadius(SkSize::Make(radiusX, radiusY)) {}
@@ -73,9 +72,9 @@
     }
 
 private:
-    friend void SkDilateImageFilter::RegisterFlattenables();
+    friend void ::SkRegisterMorphologyImageFilterFlattenables();
 
-    SK_FLATTENABLE_HOOKS(SkMorphologyImageFilterImpl)
+    SK_FLATTENABLE_HOOKS(SkMorphologyImageFilter)
 
     MorphType fType;
     SkSize    fRadius;
@@ -85,33 +84,33 @@
 
 } // end namespace
 
-sk_sp<SkImageFilter> SkDilateImageFilter::Make(SkScalar radiusX, SkScalar radiusY,
-                                               sk_sp<SkImageFilter> input,
-                                               const SkRect* cropRect) {
+sk_sp<SkImageFilter> SkImageFilters::Dilate(SkScalar radiusX, SkScalar radiusY,
+                                            sk_sp<SkImageFilter> input,
+                                            const CropRect& cropRect) {
     if (radiusX < 0 || radiusY < 0) {
         return nullptr;
     }
-    return sk_sp<SkImageFilter>(new SkMorphologyImageFilterImpl(
+    return sk_sp<SkImageFilter>(new SkMorphologyImageFilter(
             MorphType::kDilate, radiusX, radiusY, std::move(input), cropRect));
 }
 
-sk_sp<SkImageFilter> SkErodeImageFilter::Make(SkScalar radiusX, SkScalar radiusY,
-                                              sk_sp<SkImageFilter> input,
-                                              const SkRect* cropRect) {
+sk_sp<SkImageFilter> SkImageFilters::Erode(SkScalar radiusX, SkScalar radiusY,
+                                           sk_sp<SkImageFilter> input,
+                                           const CropRect& cropRect) {
     if (radiusX < 0 || radiusY < 0) {
         return nullptr;
     }
-    return sk_sp<SkImageFilter>(new SkMorphologyImageFilterImpl(
+    return sk_sp<SkImageFilter>(new SkMorphologyImageFilter(
             MorphType::kErode, radiusX, radiusY,  std::move(input), cropRect));
 }
 
-void SkDilateImageFilter::RegisterFlattenables() {
-    SK_REGISTER_FLATTENABLE(SkMorphologyImageFilterImpl);
+void SkRegisterMorphologyImageFilterFlattenables() {
+    SK_REGISTER_FLATTENABLE(SkMorphologyImageFilter);
+    // TODO (michaelludwig): Remove after grace period for SKPs to stop using old name
+    SkFlattenable::Register("SkMorphologyImageFilterImpl", SkMorphologyImageFilter::CreateProc);
 }
 
-///////////////////////////////////////////////////////////////////////////////
-
-sk_sp<SkFlattenable> SkMorphologyImageFilterImpl::CreateProc(SkReadBuffer& buffer) {
+sk_sp<SkFlattenable> SkMorphologyImageFilter::CreateProc(SkReadBuffer& buffer) {
     SK_IMAGEFILTER_UNFLATTEN_COMMON(common, 1);
     SkScalar width;
     SkScalar height;
@@ -126,22 +125,24 @@
     MorphType filterType = buffer.read32LE(MorphType::kLastType);
 
     if (filterType == MorphType::kDilate) {
-        return SkDilateImageFilter::Make(width, height, common.getInput(0), common.cropRect());
+        return SkImageFilters::Dilate(width, height, common.getInput(0), common.cropRect());
     } else if (filterType == MorphType::kErode) {
-        return SkErodeImageFilter::Make(width, height, common.getInput(0), common.cropRect());
+        return SkImageFilters::Erode(width, height, common.getInput(0), common.cropRect());
     } else {
         return nullptr;
     }
 }
 
-void SkMorphologyImageFilterImpl::flatten(SkWriteBuffer& buffer) const {
+void SkMorphologyImageFilter::flatten(SkWriteBuffer& buffer) const {
     this->INHERITED::flatten(buffer);
     buffer.writeScalar(fRadius.fWidth);
     buffer.writeScalar(fRadius.fHeight);
     buffer.writeInt(static_cast<int>(fType));
 }
 
-static void call_proc_X(SkMorphologyImageFilterImpl::Proc procX,
+///////////////////////////////////////////////////////////////////////////////
+
+static void call_proc_X(SkMorphologyImageFilter::Proc procX,
                         const SkBitmap& src, SkBitmap* dst,
                         int radiusX, const SkIRect& bounds) {
     procX(src.getAddr32(bounds.left(), bounds.top()), dst->getAddr32(0, 0),
@@ -149,7 +150,7 @@
           src.rowBytesAsPixels(), dst->rowBytesAsPixels());
 }
 
-static void call_proc_Y(SkMorphologyImageFilterImpl::Proc procY,
+static void call_proc_Y(SkMorphologyImageFilter::Proc procY,
                         const SkPMColor* src, int srcRowBytesAsPixels, SkBitmap* dst,
                         int radiusY, const SkIRect& bounds) {
     procY(src, dst->getAddr32(0, 0),
@@ -157,13 +158,13 @@
           srcRowBytesAsPixels, dst->rowBytesAsPixels());
 }
 
-SkRect SkMorphologyImageFilterImpl::computeFastBounds(const SkRect& src) const {
+SkRect SkMorphologyImageFilter::computeFastBounds(const SkRect& src) const {
     SkRect bounds = this->getInput(0) ? this->getInput(0)->computeFastBounds(src) : src;
     bounds.outset(fRadius.width(), fRadius.height());
     return bounds;
 }
 
-SkIRect SkMorphologyImageFilterImpl::onFilterNodeBounds(
+SkIRect SkMorphologyImageFilter::onFilterNodeBounds(
         const SkIRect& src, const SkMatrix& ctm, MapDirection, const SkIRect* inputRect) const {
     SkSize radius = mappedRadius(ctm);
     return src.makeOutset(SkScalarCeilToInt(radius.width()), SkScalarCeilToInt(radius.height()));
@@ -623,8 +624,8 @@
 #endif
 }  // namespace
 
-sk_sp<SkSpecialImage> SkMorphologyImageFilterImpl::onFilterImage(const Context& ctx,
-                                                                 SkIPoint* offset) const {
+sk_sp<SkSpecialImage> SkMorphologyImageFilter::onFilterImage(const Context& ctx,
+                                                             SkIPoint* offset) const {
     SkIPoint inputOffset = SkIPoint::Make(0, 0);
     sk_sp<SkSpecialImage> input(this->filterInput(0, ctx, &inputOffset));
     if (!input) {
@@ -696,7 +697,7 @@
         return nullptr;
     }
 
-    SkMorphologyImageFilterImpl::Proc procX, procY;
+    SkMorphologyImageFilter::Proc procX, procY;
 
     if (MorphType::kDilate == fType) {
         procX = &morph<MorphType::kDilate, MorphDirection::kX>;
diff --git a/src/effects/imagefilters/SkMorphologyImageFilter.h b/src/effects/imagefilters/SkMorphologyImageFilter.h
deleted file mode 100644
index 3dbcef0..0000000
--- a/src/effects/imagefilters/SkMorphologyImageFilter.h
+++ /dev/null
@@ -1,40 +0,0 @@
-/*
- * Copyright 2012 The Android Open Source Project
- *
- * Use of this source code is governed by a BSD-style license that can be
- * found in the LICENSE file.
- */
-
-#ifndef SkMorphologyImageFilter_DEFINED
-#define SkMorphologyImageFilter_DEFINED
-
-#include "include/core/SkImageFilter.h"
-
-///////////////////////////////////////////////////////////////////////////////
-// DEPRECATED: Use include/effects/SkImageFilters::Dilate
-class SK_API SkDilateImageFilter {
-public:
-    static sk_sp<SkImageFilter> Make(SkScalar radiusX, SkScalar radiusY,
-                                     sk_sp<SkImageFilter> input,
-                                     const SkRect* cropRect = nullptr);
-
-    // Registers all morphology filter implementations
-    static void RegisterFlattenables();
-
-private:
-    SkDilateImageFilter() = delete;
-};
-
-///////////////////////////////////////////////////////////////////////////////
-// DEPRECATED: Use include/effects/SkImageFilters::Erode
-class SK_API SkErodeImageFilter {
-public:
-    static sk_sp<SkImageFilter> Make(SkScalar radiusX, SkScalar radiusY,
-                                     sk_sp<SkImageFilter> input,
-                                     const SkRect* cropRect = nullptr);
-
-private:
-    SkErodeImageFilter() = delete;
-};
-
-#endif
diff --git a/src/ports/SkGlobalInitialization_default.cpp b/src/ports/SkGlobalInitialization_default.cpp
index c79f947..e399000 100644
--- a/src/ports/SkGlobalInitialization_default.cpp
+++ b/src/ports/SkGlobalInitialization_default.cpp
@@ -129,6 +129,7 @@
         SkRegisterMagnifierImageFilterFlattenable();
         SkRegisterMatrixConvolutionImageFilterFlattenable();
         SkRegisterMergeImageFilterFlattenable();
+        SkRegisterMorphologyImageFilterFlattenables();
         SK_REGISTER_FLATTENABLE(SkLocalMatrixImageFilter);
         SK_REGISTER_FLATTENABLE(SkMatrixImageFilter);
     }