rename FoceCopyMode to SkCopyPixelMode

BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2220603002

Review-Url: https://codereview.chromium.org/2220603002
diff --git a/gm/lightingshader.cpp b/gm/lightingshader.cpp
index 2cf4a95..54318ee 100644
--- a/gm/lightingshader.cpp
+++ b/gm/lightingshader.cpp
@@ -6,8 +6,6 @@
  */
 
 #include "gm.h"
-
-#include "SkBitmapProcShader.h"
 #include "SkLightingShader.h"
 #include "SkNormalSource.h"
 #include "SkPoint3.h"
@@ -100,10 +98,10 @@
         const SkMatrix& ctm = canvas->getTotalMatrix();
 
         SkPaint paint;
-        sk_sp<SkShader> diffuseShader = SkMakeBitmapShader(fDiffuse,
-                SkShader::kClamp_TileMode, SkShader::kClamp_TileMode, &matrix, nullptr);
-        sk_sp<SkShader> normalMap = SkMakeBitmapShader(fNormalMaps[mapType],
-                SkShader::kClamp_TileMode, SkShader::kClamp_TileMode, &matrix, nullptr);
+        sk_sp<SkShader> diffuseShader = SkShader::MakeBitmapShader(fDiffuse,
+                SkShader::kClamp_TileMode, SkShader::kClamp_TileMode, &matrix);
+        sk_sp<SkShader> normalMap = SkShader::MakeBitmapShader(fNormalMaps[mapType],
+                SkShader::kClamp_TileMode, SkShader::kClamp_TileMode, &matrix);
         sk_sp<SkNormalSource> normalSource = SkNormalSource::MakeFromNormalMap(std::move(normalMap),
                                                                                ctm);
         paint.setShader(SkLightingShader::Make(std::move(diffuseShader), std::move(normalSource),
diff --git a/gm/lightingshader2.cpp b/gm/lightingshader2.cpp
index 9283449..5e0d19b 100644
--- a/gm/lightingshader2.cpp
+++ b/gm/lightingshader2.cpp
@@ -6,8 +6,6 @@
  */
 
 #include "gm.h"
-
-#include "SkBitmapProcShader.h"
 #include "SkLightingShader.h"
 #include "SkNormalSource.h"
 #include "SkPoint3.h"
@@ -60,20 +58,21 @@
                 sk_tool_utils::color_to_565(0x0),
                 sk_tool_utils::color_to_565(0xFF804020),
                 8);
-        fOpaqueDiffuse = SkMakeBitmapShader(opaqueDiffuseMap, SkShader::kClamp_TileMode,
-                                            SkShader::kClamp_TileMode, &matrix, nullptr);
+        fOpaqueDiffuse = SkShader::MakeBitmapShader(opaqueDiffuseMap, SkShader::kClamp_TileMode,
+                                                    SkShader::kClamp_TileMode, &matrix);
 
         SkBitmap translucentDiffuseMap = sk_tool_utils::create_checkerboard_bitmap(
                 kTexSize, kTexSize,
                 SkColorSetARGB(0x55, 0x00, 0x00, 0x00),
                 SkColorSetARGB(0x55, 0x80, 0x40, 0x20),
                 8);
-        fTranslucentDiffuse = SkMakeBitmapShader(translucentDiffuseMap, SkShader::kClamp_TileMode,
-                                                 SkShader::kClamp_TileMode, &matrix, nullptr);
+        fTranslucentDiffuse = SkShader::MakeBitmapShader(translucentDiffuseMap,
+                                                         SkShader::kClamp_TileMode,
+                                                         SkShader::kClamp_TileMode, &matrix);
 
         SkBitmap normalMap = make_frustum_normalmap(kTexSize);
-        fNormalMapShader = SkMakeBitmapShader(normalMap, SkShader::kClamp_TileMode,
-                                              SkShader::kClamp_TileMode, &matrix, nullptr);
+        fNormalMapShader = SkShader::MakeBitmapShader(normalMap, SkShader::kClamp_TileMode,
+                                                      SkShader::kClamp_TileMode, &matrix);
 
     }
 
diff --git a/gm/lightingshaderbevel.cpp b/gm/lightingshaderbevel.cpp
index d119a27..dfc46e4 100644
--- a/gm/lightingshaderbevel.cpp
+++ b/gm/lightingshaderbevel.cpp
@@ -6,8 +6,6 @@
  */
 
 #include "gm.h"
-
-#include "SkBitmapProcShader.h"
 #include "SkLightingShader.h"
 #include "SkNormalSource.h"
 #include "SkPath.h"
@@ -54,8 +52,8 @@
                 sk_tool_utils::color_to_565(0x0),
                 sk_tool_utils::color_to_565(0xFF804020),
                 8);
-        fDiffuse = SkMakeBitmapShader(diffuseMap, SkShader::kClamp_TileMode,
-                                      SkShader::kClamp_TileMode, &matrix, nullptr);
+        fDiffuse = SkShader::MakeBitmapShader(diffuseMap, SkShader::kClamp_TileMode,
+                                              SkShader::kClamp_TileMode, &matrix);
 
         fConvexPath.moveTo(fRect.width() / 2.0f, 0.0f);
         fConvexPath.lineTo(0.0f, fRect.height());
diff --git a/samplecode/SampleLighting.cpp b/samplecode/SampleLighting.cpp
index dbab092..1c86c99 100755
--- a/samplecode/SampleLighting.cpp
+++ b/samplecode/SampleLighting.cpp
@@ -4,11 +4,10 @@
  * Use of this source code is governed by a BSD-style license that can be
  * found in the LICENSE file.
  */
+
 #include "DecodeFile.h"
 #include "SampleCode.h"
 #include "Resources.h"
-
-#include "SkBitmapProcShader.h"
 #include "SkCanvas.h"
 #include "SkLightingShader.h"
 #include "SkNormalSource.h"
@@ -66,8 +65,8 @@
 
         sk_sp<SkLights> lights(create_lights(fLightAngle, fColorFactor));
         SkPaint paint;
-        sk_sp<SkShader> normalMap = SkMakeBitmapShader(fNormalBitmap,
-            SkShader::kClamp_TileMode, SkShader::kClamp_TileMode, nullptr, nullptr);
+        sk_sp<SkShader> normalMap = SkShader::MakeBitmapShader(fNormalBitmap,
+            SkShader::kClamp_TileMode, SkShader::kClamp_TileMode, nullptr);
         sk_sp<SkNormalSource> normalSource = SkNormalSource::MakeFromNormalMap(
                 std::move(normalMap), SkMatrix::I());
         sk_sp<SkShader> diffuseShader = SkShader::MakeBitmapShader(fDiffuseBitmap,
diff --git a/samplecode/SampleLitAtlas.cpp b/samplecode/SampleLitAtlas.cpp
index cb42d39..5f62e2a 100644
--- a/samplecode/SampleLitAtlas.cpp
+++ b/samplecode/SampleLitAtlas.cpp
@@ -130,8 +130,8 @@
             SkMatrix m;
             m.setRSXform(xforms[i]);
 
-            sk_sp<SkShader> normalMap = SkMakeBitmapShader(fAtlas, SkShader::kClamp_TileMode,
-                    SkShader::kClamp_TileMode, &normalMat, nullptr);
+            sk_sp<SkShader> normalMap = SkShader::MakeBitmapShader(fAtlas, SkShader::kClamp_TileMode,
+                    SkShader::kClamp_TileMode, &normalMat);
             sk_sp<SkNormalSource> normalSource = SkNormalSource::MakeFromNormalMap(
                     std::move(normalMap), m);
             sk_sp<SkShader> diffuseShader = SkShader::MakeBitmapShader(fAtlas,
diff --git a/src/core/SkBitmapDevice.cpp b/src/core/SkBitmapDevice.cpp
index 79b62ab..41416e7 100644
--- a/src/core/SkBitmapDevice.cpp
+++ b/src/core/SkBitmapDevice.cpp
@@ -329,7 +329,7 @@
     SkTBlitterAllocator allocator;
     // construct a shader, so we can call drawRect with the dst
     auto s = SkMakeBitmapShader(*bitmapPtr, SkShader::kClamp_TileMode, SkShader::kClamp_TileMode,
-                                &matrix, &allocator);
+                                &matrix, kNever_SkCopyPixelsMode, &allocator);
     if (!s) {
         return;
     }
diff --git a/src/core/SkBitmapProcShader.h b/src/core/SkBitmapProcShader.h
index c0e6a40..edb9864 100644
--- a/src/core/SkBitmapProcShader.h
+++ b/src/core/SkBitmapProcShader.h
@@ -7,6 +7,7 @@
 #ifndef SkBitmapProcShader_DEFINED
 #define SkBitmapProcShader_DEFINED
 
+#include "SkImagePriv.h"
 #include "SkShader.h"
 #include "SkSmallAllocator.h"
 
@@ -36,6 +37,7 @@
 // If alloc is non-nullptr, it will be used to allocate the returned SkShader, and MUST outlive
 // the SkShader.
 sk_sp<SkShader> SkMakeBitmapShader(const SkBitmap& src, SkShader::TileMode, SkShader::TileMode,
-                                   const SkMatrix* localMatrix, SkTBlitterAllocator* alloc);
+                                   const SkMatrix* localMatrix, SkCopyPixelsMode,
+                                   SkTBlitterAllocator* alloc);
 
 #endif
diff --git a/src/core/SkDraw.cpp b/src/core/SkDraw.cpp
index ce4c408..487b46b 100644
--- a/src/core/SkDraw.cpp
+++ b/src/core/SkDraw.cpp
@@ -83,7 +83,9 @@
                               const SkMatrix* localMatrix = nullptr)
             : fPaint(paint) /* makes a copy of the paint */ {
         fPaint.setShader(SkMakeBitmapShader(src, SkShader::kClamp_TileMode,
-                                            SkShader::kClamp_TileMode, localMatrix, &fAllocator));
+                                            SkShader::kClamp_TileMode, localMatrix,
+                                            kNever_SkCopyPixelsMode,
+                                            &fAllocator));
         // we deliberately left the shader with an owner-count of 2
         fPaint.getShader()->ref();
         SkASSERT(2 == fPaint.getShader()->getRefCnt());
diff --git a/src/image/SkImagePriv.h b/src/core/SkImagePriv.h
similarity index 84%
rename from src/image/SkImagePriv.h
rename to src/core/SkImagePriv.h
index 9cdcbb6..ed40996 100644
--- a/src/image/SkImagePriv.h
+++ b/src/core/SkImagePriv.h
@@ -16,12 +16,18 @@
                                               const SkIPoint& pixelRefOrigin,
                                               size_t rowBytes);
 
+enum SkCopyPixelsMode {
+    kIfMutable_SkCopyPixelsMode,  //!< only copy src pixels if they are marked mutable
+    kAlways_SkCopyPixelsMode,     //!< always copy src pixels (even if they are marked immutable)
+    kNever_SkCopyPixelsMode,      //!< never copy src pixels (even if they are marked mutable)
+};
+
 /**
  *  Examines the bitmap to decide if it can share the existing pixelRef, or
  *  if it needs to make a deep-copy of the pixels.
  *
  *  The bitmap's pixelref will be shared if either the bitmap is marked as
- *  immutable, or forceSharePixelRef is true.  Shared pixel refs are also
+ *  immutable, or CopyPixelsMode allows it. Shared pixel refs are also
  *  locked when kLocked_SharedPixelRefMode is specified.
  *
  *  Passing kLocked_SharedPixelRefMode allows the image's peekPixels() method
@@ -34,13 +40,7 @@
  *  SkImageInfo, or the bitmap's pixels cannot be accessed, this will return
  *  nullptr.
  */
-enum ForceCopyMode {
-    kNo_ForceCopyMode,
-    kYes_ForceCopyMode,     // must copy the pixels even if the bitmap is immutable
-    kNever_ForceCopyMode,   // don't ever copy, even if the bitmap is mutable
-};
-extern sk_sp<SkImage> SkMakeImageFromRasterBitmap(const SkBitmap&,
-                                                  ForceCopyMode = kNo_ForceCopyMode);
+extern sk_sp<SkImage> SkMakeImageFromRasterBitmap(const SkBitmap&, SkCopyPixelsMode);
 
 // Given an image created from SkNewImageFromBitmap, return its pixelref. This
 // may be called to see if the surface and the image share the same pixelref,
diff --git a/src/core/SkShader.cpp b/src/core/SkShader.cpp
index 5fa5ec2..56011c5 100644
--- a/src/core/SkShader.cpp
+++ b/src/core/SkShader.cpp
@@ -240,7 +240,7 @@
 
 sk_sp<SkShader> SkShader::MakeBitmapShader(const SkBitmap& src, TileMode tmx, TileMode tmy,
                                            const SkMatrix* localMatrix) {
-    return SkMakeBitmapShader(src, tmx, tmy, localMatrix, nullptr);
+    return SkMakeBitmapShader(src, tmx, tmy, localMatrix, kIfMutable_SkCopyPixelsMode, nullptr);
 }
 
 sk_sp<SkShader> SkShader::MakePictureShader(sk_sp<SkPicture> src, TileMode tmx, TileMode tmy,
diff --git a/src/image/SkImage.cpp b/src/image/SkImage.cpp
index 15c5ea6..2d434ae 100644
--- a/src/image/SkImage.cpp
+++ b/src/image/SkImage.cpp
@@ -309,8 +309,7 @@
     }
 #endif
 
-    // This will check for immutable (share or copy)
-    return SkMakeImageFromRasterBitmap(bm);
+    return SkMakeImageFromRasterBitmap(bm, kIfMutable_SkCopyPixelsMode);
 }
 
 bool SkImage::asLegacyBitmap(SkBitmap* bitmap, LegacyBitmapMode mode) const {
diff --git a/src/image/SkImageShader.cpp b/src/image/SkImageShader.cpp
index a486f71..5fbb0a9 100644
--- a/src/image/SkImageShader.cpp
+++ b/src/image/SkImageShader.cpp
@@ -234,9 +234,14 @@
 
 sk_sp<SkShader> SkMakeBitmapShader(const SkBitmap& src, SkShader::TileMode tmx,
                                    SkShader::TileMode tmy, const SkMatrix* localMatrix,
-                                   SkTBlitterAllocator* allocator) {
-    ForceCopyMode mode = allocator ? kNever_ForceCopyMode : kNo_ForceCopyMode;
-    return SkImageShader::Make(SkMakeImageFromRasterBitmap(src, mode).get(),
+                                   SkCopyPixelsMode cpm, SkTBlitterAllocator* allocator) {
+    // Until we learn otherwise, it seems that any caller that is passing an allocator must be
+    // assuming that the returned shader will have a stack-frame lifetime, so we assert that
+    // they are also asking for kNever_SkCopyPixelsMode. If that proves otherwise, we can remove
+    // or modify this assert.
+    SkASSERT(!allocator || (kNever_SkCopyPixelsMode == cpm));
+
+    return SkImageShader::Make(SkMakeImageFromRasterBitmap(src, cpm).get(),
                                tmx, tmy, localMatrix, allocator);
 }
 
diff --git a/src/image/SkImage_Raster.cpp b/src/image/SkImage_Raster.cpp
index 192a4e0..645a3db 100644
--- a/src/image/SkImage_Raster.cpp
+++ b/src/image/SkImage_Raster.cpp
@@ -254,7 +254,7 @@
     return sk_make_sp<SkImage_Raster>(info, pr, pixelRefOrigin, rowBytes);
 }
 
-sk_sp<SkImage> SkMakeImageFromRasterBitmap(const SkBitmap& bm, ForceCopyMode forceCopy) {
+sk_sp<SkImage> SkMakeImageFromRasterBitmap(const SkBitmap& bm, SkCopyPixelsMode cpm) {
     bool hasColorTable = false;
     if (kIndex_8_SkColorType == bm.colorType()) {
         SkAutoLockPixels autoLockPixels(bm);
@@ -266,9 +266,7 @@
     }
 
     sk_sp<SkImage> image;
-    if (kYes_ForceCopyMode == forceCopy ||
-        (!bm.isImmutable() && kNever_ForceCopyMode != forceCopy))
-    {
+    if (kAlways_SkCopyPixelsMode == cpm || (!bm.isImmutable() && kNever_SkCopyPixelsMode != cpm)) {
         SkBitmap tmp(bm);
         tmp.lockPixels();
         SkPixmap pmap;
@@ -276,7 +274,7 @@
             image = SkImage::MakeRasterCopy(pmap);
         }
     } else {
-        image = sk_make_sp<SkImage_Raster>(bm, kNever_ForceCopyMode == forceCopy);
+        image = sk_make_sp<SkImage_Raster>(bm, kNever_SkCopyPixelsMode == cpm);
     }
     return image;
 }
diff --git a/src/image/SkSurface_Base.h b/src/image/SkSurface_Base.h
index 7164c88..8351bb8 100644
--- a/src/image/SkSurface_Base.h
+++ b/src/image/SkSurface_Base.h
@@ -43,7 +43,7 @@
      *  must faithfully represent the current contents, even if the surface
      *  is changed after this called (e.g. it is drawn to via its canvas).
      */
-    virtual sk_sp<SkImage> onNewImageSnapshot(SkBudgeted, ForceCopyMode) = 0;
+    virtual sk_sp<SkImage> onNewImageSnapshot(SkBudgeted, SkCopyPixelsMode) = 0;
 
     /**
      *  Default implementation:
@@ -122,9 +122,9 @@
     if (snap) {
         return sk_ref_sp(snap);
     }
-    ForceCopyMode fcm = (kYes_ForceUnique == unique) ? kYes_ForceCopyMode :
-                                                       kNo_ForceCopyMode;
-    snap = this->onNewImageSnapshot(budgeted, fcm).release();
+    SkCopyPixelsMode cpm = (kYes_ForceUnique == unique) ? kAlways_SkCopyPixelsMode :
+                                                          kIfMutable_SkCopyPixelsMode;
+    snap = this->onNewImageSnapshot(budgeted, cpm).release();
     if (kNo_ForceUnique == unique) {
         SkASSERT(!fCachedImage);
         fCachedImage = SkSafeRef(snap);
diff --git a/src/image/SkSurface_Gpu.cpp b/src/image/SkSurface_Gpu.cpp
index 800cf47..1d71570 100644
--- a/src/image/SkSurface_Gpu.cpp
+++ b/src/image/SkSurface_Gpu.cpp
@@ -75,7 +75,7 @@
                                        origin, &this->props());
 }
 
-sk_sp<SkImage> SkSurface_Gpu::onNewImageSnapshot(SkBudgeted budgeted, ForceCopyMode forceCopyMode) {
+sk_sp<SkImage> SkSurface_Gpu::onNewImageSnapshot(SkBudgeted budgeted, SkCopyPixelsMode cpm) {
     GrRenderTarget* rt = fDevice->accessDrawContext()->accessRenderTarget();
     SkASSERT(rt);
     GrTexture* tex = rt->asTexture();
@@ -83,7 +83,7 @@
     // If the original render target is a buffer originally created by the client, then we don't
     // want to ever retarget the SkSurface at another buffer we create. Force a copy now to avoid
     // copy-on-write.
-    if (kYes_ForceCopyMode == forceCopyMode || !tex || rt->resourcePriv().refsWrappedObjects()) {
+    if (kAlways_SkCopyPixelsMode == cpm || !tex || rt->resourcePriv().refsWrappedObjects()) {
         GrSurfaceDesc desc = fDevice->accessDrawContext()->desc();
         GrContext* ctx = fDevice->context();
         desc.fFlags = desc.fFlags & ~kRenderTarget_GrSurfaceFlag;
diff --git a/src/image/SkSurface_Gpu.h b/src/image/SkSurface_Gpu.h
index d0f1959..8432d9f 100644
--- a/src/image/SkSurface_Gpu.h
+++ b/src/image/SkSurface_Gpu.h
@@ -23,7 +23,7 @@
     bool onGetRenderTargetHandle(GrBackendObject*, BackendHandleAccess) override;
     SkCanvas* onNewCanvas() override;
     sk_sp<SkSurface> onNewSurface(const SkImageInfo&) override;
-    sk_sp<SkImage> onNewImageSnapshot(SkBudgeted, ForceCopyMode) override;
+    sk_sp<SkImage> onNewImageSnapshot(SkBudgeted, SkCopyPixelsMode) override;
     void onCopyOnWrite(ContentChangeMode) override;
     void onDiscard() override;
     void onPrepareForExternalIO() override;
diff --git a/src/image/SkSurface_Raster.cpp b/src/image/SkSurface_Raster.cpp
index c1be0b7..90f26be 100644
--- a/src/image/SkSurface_Raster.cpp
+++ b/src/image/SkSurface_Raster.cpp
@@ -24,7 +24,7 @@
 
     SkCanvas* onNewCanvas() override;
     sk_sp<SkSurface> onNewSurface(const SkImageInfo&) override;
-    sk_sp<SkImage> onNewImageSnapshot(SkBudgeted, ForceCopyMode) override;
+    sk_sp<SkImage> onNewImageSnapshot(SkBudgeted, SkCopyPixelsMode) override;
     void onDraw(SkCanvas*, SkScalar x, SkScalar y, const SkPaint*) override;
     void onCopyOnWrite(ContentChangeMode) override;
     void onRestoreBackingMutability() override;
@@ -118,7 +118,7 @@
     canvas->drawBitmap(fBitmap, x, y, paint);
 }
 
-sk_sp<SkImage> SkSurface_Raster::onNewImageSnapshot(SkBudgeted, ForceCopyMode forceCopyMode) {
+sk_sp<SkImage> SkSurface_Raster::onNewImageSnapshot(SkBudgeted, SkCopyPixelsMode cpm) {
     if (fWeOwnThePixels) {
         // SkImage_raster requires these pixels are immutable for its full lifetime.
         // We'll undo this via onRestoreBackingMutability() if we can avoid the COW.
@@ -126,12 +126,12 @@
             pr->setTemporarilyImmutable();
         }
     } else {
-        forceCopyMode = kYes_ForceCopyMode;
+        cpm = kAlways_SkCopyPixelsMode;
     }
 
     // Our pixels are in memory, so read access on the snapshot SkImage could be cheap.
     // Lock the shared pixel ref to ensure peekPixels() is usable.
-    return SkMakeImageFromRasterBitmap(fBitmap, forceCopyMode);
+    return SkMakeImageFromRasterBitmap(fBitmap, cpm);
 }
 
 void SkSurface_Raster::onRestoreBackingMutability() {
diff --git a/tests/ImageTest.cpp b/tests/ImageTest.cpp
index 671c479..14b55a4 100644
--- a/tests/ImageTest.cpp
+++ b/tests/ImageTest.cpp
@@ -194,20 +194,20 @@
 
 DEF_TEST(Image_MakeFromRasterBitmap, reporter) {
     const struct {
-        ForceCopyMode fMode;
-        bool          fExpectSameAsMutable;
-        bool          fExpectSameAsImmutable;
+        SkCopyPixelsMode fCPM;
+        bool            fExpectSameAsMutable;
+        bool            fExpectSameAsImmutable;
     } recs[] = {
-        { kNo_ForceCopyMode,    false,  true },
-        { kYes_ForceCopyMode,   false,  false },
-        { kNever_ForceCopyMode, true,   true },
+        { kIfMutable_SkCopyPixelsMode,  false,  true },
+        { kAlways_SkCopyPixelsMode,     false,  false },
+        { kNever_SkCopyPixelsMode,      true,   true },
     };
     for (auto rec : recs) {
         SkPixmap pm;
         SkBitmap bm;
         bm.allocN32Pixels(100, 100);
 
-        auto img = SkMakeImageFromRasterBitmap(bm, rec.fMode);
+        auto img = SkMakeImageFromRasterBitmap(bm, rec.fCPM);
         REPORTER_ASSERT(reporter, img->peekPixels(&pm));
         const bool sameMutable = pm.addr32(0, 0) == bm.getAddr32(0, 0);
         REPORTER_ASSERT(reporter, rec.fExpectSameAsMutable == sameMutable);
@@ -215,7 +215,7 @@
         bm.notifyPixelsChanged();   // force a new generation ID
 
         bm.setImmutable();
-        img = SkMakeImageFromRasterBitmap(bm, rec.fMode);
+        img = SkMakeImageFromRasterBitmap(bm, rec.fCPM);
         REPORTER_ASSERT(reporter, img->peekPixels(&pm));
         const bool sameImmutable = pm.addr32(0, 0) == bm.getAddr32(0, 0);
         REPORTER_ASSERT(reporter, rec.fExpectSameAsImmutable == sameImmutable);
diff --git a/tests/SerializationTest.cpp b/tests/SerializationTest.cpp
index 0e53ac6..86591b5 100644
--- a/tests/SerializationTest.cpp
+++ b/tests/SerializationTest.cpp
@@ -7,7 +7,6 @@
 
 #include "Resources.h"
 #include "SkAnnotationKeys.h"
-#include "SkBitmapProcShader.h"
 #include "SkCanvas.h"
 #include "SkFixed.h"
 #include "SkFontDescriptor.h"
@@ -581,12 +580,12 @@
         normals.allocN32Pixels(kTexSize, kTexSize);
 
         sk_tool_utils::create_frustum_normal_map(&normals, SkIRect::MakeWH(kTexSize, kTexSize));
-        sk_sp<SkShader> normalMap = SkMakeBitmapShader(normals, SkShader::kClamp_TileMode,
-                                                       SkShader::kClamp_TileMode, &matrix, nullptr);
+        sk_sp<SkShader> normalMap = SkShader::MakeBitmapShader(normals, SkShader::kClamp_TileMode,
+                SkShader::kClamp_TileMode, &matrix);
         sk_sp<SkNormalSource> normalSource = SkNormalSource::MakeFromNormalMap(std::move(normalMap),
                                                                                ctm);
-        sk_sp<SkShader> diffuseShader = SkMakeBitmapShader(diffuse, SkShader::kClamp_TileMode,
-                SkShader::kClamp_TileMode, &matrix, nullptr);
+        sk_sp<SkShader> diffuseShader = SkShader::MakeBitmapShader(diffuse,
+                SkShader::kClamp_TileMode, SkShader::kClamp_TileMode, &matrix);
 
         sk_sp<SkShader> lightingShader = SkLightingShader::Make(diffuseShader,
                                                                 normalSource,