Remove deprecated picture image filter header

Bug: skia:11230
Change-Id: I63cbfe31e1f2fd2aa0fe4479061f9958841c8030
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/372016
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 223dc34..8efe7b8 100644
--- a/gn/effects_imagefilters.gni
+++ b/gn/effects_imagefilters.gni
@@ -27,7 +27,6 @@
   "$_src/effects/imagefilters/SkMorphologyImageFilter.cpp",
   "$_src/effects/imagefilters/SkOffsetImageFilter.cpp",
   "$_src/effects/imagefilters/SkPictureImageFilter.cpp",
-  "$_src/effects/imagefilters/SkPictureImageFilter.h",
   "$_src/effects/imagefilters/SkShaderImageFilter.cpp",
   "$_src/effects/imagefilters/SkTileImageFilter.cpp",
   "$_src/effects/imagefilters/SkTileImageFilter.h",
diff --git a/src/core/SkImageFilter_Base.h b/src/core/SkImageFilter_Base.h
index ca74e63..20ecca9 100644
--- a/src/core/SkImageFilter_Base.h
+++ b/src/core/SkImageFilter_Base.h
@@ -498,6 +498,7 @@
 void SkRegisterMergeImageFilterFlattenable();
 void SkRegisterMorphologyImageFilterFlattenables();
 void SkRegisterOffsetImageFilterFlattenable();
+void SkRegisterPictureImageFilterFlattenable();
 void SkRegisterShaderImageFilterFlattenable();
 
 #endif // SkImageFilter_Base_DEFINED
diff --git a/src/effects/imagefilters/SkImageFilters.cpp b/src/effects/imagefilters/SkImageFilters.cpp
index e078251..b06ae60 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/SkPictureImageFilter.h"
 #include "src/effects/imagefilters/SkTileImageFilter.h"
 
 // TODO (michaelludwig) - Once SkCanvas can draw the results of a filter with any transform, this
@@ -17,7 +16,6 @@
 #include "src/core/SkMatrixImageFilter.h"
 
 void SkImageFilters::RegisterFlattenables() {
-    SkPictureImageFilter::RegisterFlattenables();
     SkTileImageFilter::RegisterFlattenables();
 }
 
@@ -37,10 +35,6 @@
 }
 #endif
 
-sk_sp<SkImageFilter> SkImageFilters::Picture(sk_sp<SkPicture> pic, const SkRect& targetRect) {
-    return SkPictureImageFilter::Make(std::move(pic), targetRect);
-}
-
 sk_sp<SkImageFilter> SkImageFilters::Tile(
         const SkRect& src, const SkRect& dst, sk_sp<SkImageFilter> input) {
     return SkTileImageFilter::Make(src, dst, std::move(input));
diff --git a/src/effects/imagefilters/SkPictureImageFilter.cpp b/src/effects/imagefilters/SkPictureImageFilter.cpp
index e908e9c..3245b4b 100644
--- a/src/effects/imagefilters/SkPictureImageFilter.cpp
+++ b/src/effects/imagefilters/SkPictureImageFilter.cpp
@@ -5,10 +5,9 @@
  * found in the LICENSE file.
  */
 
-#include "src/effects/imagefilters/SkPictureImageFilter.h"
-
 #include "include/core/SkCanvas.h"
 #include "include/core/SkPicture.h"
+#include "include/effects/SkImageFilters.h"
 #include "src/core/SkImageFilter_Base.h"
 #include "src/core/SkPicturePriv.h"
 #include "src/core/SkReadBuffer.h"
@@ -19,9 +18,9 @@
 
 namespace {
 
-class SkPictureImageFilterImpl final : public SkImageFilter_Base {
+class SkPictureImageFilter final : public SkImageFilter_Base {
 public:
-    SkPictureImageFilterImpl(sk_sp<SkPicture> picture, const SkRect& cropRect)
+    SkPictureImageFilter(sk_sp<SkPicture> picture, const SkRect& cropRect)
             : INHERITED(nullptr, 0, nullptr)
             , fPicture(std::move(picture))
             , fCropRect(cropRect) {}
@@ -41,8 +40,8 @@
                                MapDirection, const SkIRect* inputRect) const override;
 
 private:
-    friend void SkPictureImageFilter::RegisterFlattenables();
-    SK_FLATTENABLE_HOOKS(SkPictureImageFilterImpl)
+    friend void ::SkRegisterPictureImageFilterFlattenable();
+    SK_FLATTENABLE_HOOKS(SkPictureImageFilter)
 
     sk_sp<SkPicture>    fPicture;
     SkRect              fCropRect;
@@ -52,24 +51,17 @@
 
 } // end namespace
 
-sk_sp<SkImageFilter> SkPictureImageFilter::Make(sk_sp<SkPicture> picture) {
-    SkRect cropRect = picture ? picture->cullRect() : SkRect::MakeEmpty();
-    return Make(std::move(picture), cropRect);
+sk_sp<SkImageFilter> SkImageFilters::Picture(sk_sp<SkPicture> pic, const SkRect& targetRect) {
+    return sk_sp<SkImageFilter>(new SkPictureImageFilter(std::move(pic), targetRect));
 }
 
-sk_sp<SkImageFilter> SkPictureImageFilter::Make(sk_sp<SkPicture> picture, const SkRect& cropRect) {
-    return sk_sp<SkImageFilter>(new SkPictureImageFilterImpl(std::move(picture), cropRect));
-}
-
-void SkPictureImageFilter::RegisterFlattenables() {
-    SK_REGISTER_FLATTENABLE(SkPictureImageFilterImpl);
+void SkRegisterPictureImageFilterFlattenable() {
+    SK_REGISTER_FLATTENABLE(SkPictureImageFilter);
     // TODO (michaelludwig) - Remove after grace period for SKPs to stop using old name
-    SkFlattenable::Register("SkPictureImageFilter", SkPictureImageFilterImpl::CreateProc);
+    SkFlattenable::Register("SkPictureImageFilterImpl", SkPictureImageFilter::CreateProc);
 }
 
-///////////////////////////////////////////////////////////////////////////////////////////////////
-
-sk_sp<SkFlattenable> SkPictureImageFilterImpl::CreateProc(SkReadBuffer& buffer) {
+sk_sp<SkFlattenable> SkPictureImageFilter::CreateProc(SkReadBuffer& buffer) {
     sk_sp<SkPicture> picture;
     SkRect cropRect;
 
@@ -78,10 +70,10 @@
     }
     buffer.readRect(&cropRect);
 
-    return SkPictureImageFilter::Make(std::move(picture), cropRect);
+    return SkImageFilters::Picture(std::move(picture), cropRect);
 }
 
-void SkPictureImageFilterImpl::flatten(SkWriteBuffer& buffer) const {
+void SkPictureImageFilter::flatten(SkWriteBuffer& buffer) const {
     bool hasPicture = (fPicture != nullptr);
     buffer.writeBool(hasPicture);
     if (hasPicture) {
@@ -90,8 +82,10 @@
     buffer.writeRect(fCropRect);
 }
 
-sk_sp<SkSpecialImage> SkPictureImageFilterImpl::onFilterImage(const Context& ctx,
-                                                              SkIPoint* offset) const {
+///////////////////////////////////////////////////////////////////////////////////////////////////
+
+sk_sp<SkSpecialImage> SkPictureImageFilter::onFilterImage(const Context& ctx,
+                                                          SkIPoint* offset) const {
     if (!fPicture) {
         return nullptr;
     }
@@ -128,13 +122,13 @@
     return surf->makeImageSnapshot();
 }
 
-SkRect SkPictureImageFilterImpl::computeFastBounds(const SkRect& src) const {
+SkRect SkPictureImageFilter::computeFastBounds(const SkRect& src) const {
     return fCropRect;
 }
 
-SkIRect SkPictureImageFilterImpl::onFilterNodeBounds(const SkIRect& src, const SkMatrix& ctm,
-                                                     MapDirection direction,
-                                                     const SkIRect* inputRect) const {
+SkIRect SkPictureImageFilter::onFilterNodeBounds(const SkIRect& src, const SkMatrix& ctm,
+                                                 MapDirection direction,
+                                                 const SkIRect* inputRect) const {
     if (kReverse_MapDirection == direction) {
         return INHERITED::onFilterNodeBounds(src, ctm, direction, inputRect);
     }
diff --git a/src/effects/imagefilters/SkPictureImageFilter.h b/src/effects/imagefilters/SkPictureImageFilter.h
deleted file mode 100644
index 9ceaabc..0000000
--- a/src/effects/imagefilters/SkPictureImageFilter.h
+++ /dev/null
@@ -1,35 +0,0 @@
-/*
- * Copyright 2013 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 SkPictureImageFilter_DEFINED
-#define SkPictureImageFilter_DEFINED
-
-#include "include/core/SkImageFilter.h"
-
-class SkPicture;
-
-// DEPRECATED: Use include/effects/SkImageFilters::Picture
-class SK_API SkPictureImageFilter {
-public:
-    /**
-     *  Refs the passed-in picture.
-     */
-    static sk_sp<SkImageFilter> Make(sk_sp<SkPicture> picture);
-
-    /**
-     *  Refs the passed-in picture. cropRect can be used to crop or expand the destination rect when
-     *  the picture is drawn. (No scaling is implied by the dest rect; only the CTM is applied.)
-     */
-    static sk_sp<SkImageFilter> Make(sk_sp<SkPicture> picture, const SkRect& cropRect);
-
-    static void RegisterFlattenables();
-
-private:
-    SkPictureImageFilter() = delete;
-};
-
-#endif
diff --git a/src/ports/SkGlobalInitialization_default.cpp b/src/ports/SkGlobalInitialization_default.cpp
index 7b4a697..777d1a9 100644
--- a/src/ports/SkGlobalInitialization_default.cpp
+++ b/src/ports/SkGlobalInitialization_default.cpp
@@ -131,6 +131,7 @@
         SkRegisterMergeImageFilterFlattenable();
         SkRegisterMorphologyImageFilterFlattenables();
         SkRegisterOffsetImageFilterFlattenable();
+        SkRegisterPictureImageFilterFlattenable();
         SkRegisterShaderImageFilterFlattenable();
         SK_REGISTER_FLATTENABLE(SkLocalMatrixImageFilter);
         SK_REGISTER_FLATTENABLE(SkMatrixImageFilter);