Revert of Creating framework for drawShadowedPicture (patchset #14 id:260001 of https://codereview.chromium.org/2146073003/ )

Reason for revert:
Decided to re-wait for a final LGTM.

Already found a bug in variable naming to fix.

Original issue's description:
> Creating framework for drawShadowedPicture
> GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2146073003
>
> Committed: https://skia.googlesource.com/skia/+/0ae097d116f4332be02a135ffc99c162473dee6a

TBR=reed@google.com,robertphillips@google.com,bsalomon@google.com,jvanverth@google.com
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true

Review-Url: https://codereview.chromium.org/2167223002
diff --git a/gyp/common.gypi b/gyp/common.gypi
index a279503..a0a8105 100644
--- a/gyp/common.gypi
+++ b/gyp/common.gypi
@@ -112,13 +112,6 @@
           },
         },
       }],
-      [ 'skia_experimental_shadowing',
-        {
-          'defines': [
-            'SK_experimental_shadowing',
-          ],
-        },
-      ],
     ],
   }, # end 'target_defaults'
 }
diff --git a/gyp/common_variables.gypi b/gyp/common_variables.gypi
index acd187c..5163d88 100644
--- a/gyp/common_variables.gypi
+++ b/gyp/common_variables.gypi
@@ -251,7 +251,6 @@
         #'-ffast-math',           # Optimize float math even when it breaks IEEE compliance.
         #'-flto'                  # Enable link-time optimization.
     ],
-    'skia_experimental_shadowing': 0,       # for experimental shadow-drawing
 
     # These are referenced by our .gypi files that list files (e.g. core.gypi)
     #
diff --git a/include/core/SkCanvas.h b/include/core/SkCanvas.h
index 38b6f97..4d68a8e 100644
--- a/include/core/SkCanvas.h
+++ b/include/core/SkCanvas.h
@@ -17,7 +17,6 @@
 #include "SkRegion.h"
 #include "SkSurfaceProps.h"
 #include "SkXfermode.h"
-#include "SkLights.h"
 
 class GrContext;
 class GrDrawContext;
@@ -452,7 +451,6 @@
     */
     void resetMatrix();
 
-#ifdef SK_EXPERIMENTAL_SHADOWING
     /** Add the specified translation to the current draw depth of the canvas.
         @param z    The distance to translate in Z.
                     Negative into screen, positive out of screen.
@@ -460,16 +458,6 @@
     */
     void translateZ(SkScalar z);
 
-    /** Set the current set of lights in the canvas.
-        @param lights   The lights that we want the canvas to have.
-    */
-    void setLights(sk_sp<SkLights> lights);
-
-    /** Returns the current set of lights the canvas uses
-      */
-    sk_sp<SkLights> getLights() const;
-#endif
-
     /**
      *  Modify the current clip with the specified rectangle.
      *  @param rect The rect to combine with the current clip
@@ -1061,34 +1049,6 @@
         this->drawPicture(picture.get(), matrix, paint);
     }
 
-#ifdef SK_EXPERIMENTAL_SHADOWING
-    /**
-     *  Draw the picture into this canvas.
-     *
-     *  We will use the canvas's lights along with the picture information (draw depths of
-     *  objects, etc) to first create a set of shadowmaps for the light-picture pairs, and
-     *  then use that set of shadowmaps to render the scene with shadows.
-     *
-     *  If matrix is non-null, apply that matrix to the CTM when drawing this picture. This is
-     *  logically equivalent to
-     *      save/concat/drawPicture/restore
-     *
-     *  If paint is non-null, draw the picture into a temporary buffer, and then apply the paint's
-     *  alpha/colorfilter/imagefilter/xfermode to that buffer as it is drawn to the canvas.
-     *  This is logically equivalent to
-     *      saveLayer(paint)/drawPicture/restore
-     *
-     */
-    void drawShadowedPicture(const SkPicture*,
-                             const SkMatrix* matrix,
-                             const SkPaint* paint);
-    void drawShadowedPicture(const sk_sp<SkPicture>& picture,
-                             const SkMatrix* matrix,
-                             const SkPaint* paint) {
-        this->drawShadowedPicture(picture.get(), matrix, paint);
-    }
-#endif
-
     enum VertexMode {
         kTriangles_VertexMode,
         kTriangleStrip_VertexMode,
@@ -1307,14 +1267,10 @@
     void temporary_internal_describeTopLayer(SkMatrix* matrix, SkIRect* clip_bounds);
 
 protected:
-#ifdef SK_EXPERIMENTAL_SHADOWING
     /** Returns the current (cumulative) draw depth of the canvas.
       */
     SkScalar getZ() const;
 
-    sk_sp<SkLights> fLights;
-#endif
-
     /** After calling saveLayer(), there can be any number of devices that make
         up the top-most drawing area. LayerIter can be used to iterate through
         those devices. Note that the iterator is only valid until the next API
@@ -1380,10 +1336,7 @@
     virtual void didRestore() {}
     virtual void didConcat(const SkMatrix&) {}
     virtual void didSetMatrix(const SkMatrix&) {}
-
-#ifdef SK_EXPERIMENTAL_SHADOWING
     virtual void didTranslateZ(SkScalar) {}
-#endif
 
     virtual void onDrawAnnotation(const SkRect&, const char key[], SkData* value);
     virtual void onDrawDRRect(const SkRRect&, const SkRRect&, const SkPaint&);
@@ -1450,12 +1403,6 @@
 
     virtual void onDrawPicture(const SkPicture*, const SkMatrix*, const SkPaint*);
 
-#ifdef SK_EXPERIMENTAL_SHADOWING
-    virtual void onDrawShadowedPicture(const SkPicture*,
-                                       const SkMatrix*,
-                                       const SkPaint*);
-#endif
-
     // Returns the canvas to be used by DrawIter. Default implementation
     // returns this. Subclasses that encapsulate an indirect canvas may
     // need to overload this method. The impl must keep track of this, as it
diff --git a/include/core/SkLights.h b/include/core/SkLights.h
index 0b23cc1..c5c5427 100644
--- a/include/core/SkLights.h
+++ b/include/core/SkLights.h
@@ -12,7 +12,6 @@
 #include "SkPoint3.h"
 #include "SkRefCnt.h"
 #include "../private/SkTDArray.h"
-#include "SkImage.h"
 
 class SK_API SkLights  : public SkRefCnt {
 public:
@@ -27,7 +26,6 @@
             : fType(kAmbient_LightType)
             , fColor(color) {
             fDirection.set(0.0f, 0.0f, 1.0f);
-            fShadowMap.reset(nullptr);
         }
 
         Light(const SkColor3f& color, const SkVector3& dir)
@@ -37,7 +35,6 @@
             if (!fDirection.normalize()) {
                 fDirection.set(0.0f, 0.0f, 1.0f);
             }
-            fShadowMap.reset(nullptr);
         }
 
         LightType type() const { return fType; }
@@ -47,35 +44,11 @@
             return fDirection; 
         }
 
-        void setShadowMap(sk_sp<SkImage> shadowMap) {
-            fShadowMap = std::move(shadowMap);
-        }
-
-        sk_sp<SkImage> getShadowMap() const {
-            return fShadowMap;
-        }
-
-        Light& operator= (const Light& b) {
-            if (this == &b)
-                return *this;
-
-            this->fColor = b.fColor;
-            this->fType = b.fType;
-            this->fDirection = b.fDirection;
-
-            if (b.fShadowMap) {
-                this->fShadowMap = b.fShadowMap;
-            }
-
-            return *this;
-        }
-
     private:
         LightType   fType;
         SkColor3f   fColor;           // linear (unpremul) color. Range is 0..1 in each channel.
         SkVector3   fDirection;       // direction towards the light (+Z is out of the screen).
                                       // If degenerate, it will be replaced with (0, 0, 1).
-        sk_sp<SkImage> fShadowMap;
     };
 
     class Builder {
@@ -84,7 +57,7 @@
     
         void add(const Light& light) {
             if (fLights) {
-                (void) fLights->fLights.append(1, &light);
+                *fLights->fLights.push() = light;
             }
         }
 
@@ -104,10 +77,6 @@
         return fLights[index];
     }
 
-    Light& light(int index) {
-        return fLights[index];
-    }
-
 private:
     SkLights() {}
 
diff --git a/include/private/SkRecords.h b/include/private/SkRecords.h
index d9f2b3b..35adca2 100644
--- a/include/private/SkRecords.h
+++ b/include/private/SkRecords.h
@@ -68,7 +68,6 @@
     M(DrawPath)                                                     \
     M(DrawPatch)                                                    \
     M(DrawPicture)                                                  \
-    M(DrawShadowedPicture)                                          \
     M(DrawPoints)                                                   \
     M(DrawPosText)                                                  \
     M(DrawPosTextH)                                                 \
@@ -310,10 +309,6 @@
         Optional<SkPaint> paint;
         RefBox<const SkPicture> picture;
         TypedMatrix matrix);
-RECORD(DrawShadowedPicture, kDraw_Tag,
-        Optional<SkPaint> paint;
-        RefBox<const SkPicture> picture;
-        TypedMatrix matrix);
 RECORD(DrawPoints, kDraw_Tag,
         SkPaint paint;
         SkCanvas::PointMode mode;
diff --git a/src/core/SkCanvas.cpp b/src/core/SkCanvas.cpp
index 2cfe8ae..050253f 100644
--- a/src/core/SkCanvas.cpp
+++ b/src/core/SkCanvas.cpp
@@ -663,9 +663,6 @@
     fDeviceCMDirty = true;
     fSaveCount = 1;
     fMetaData = nullptr;
-#ifdef SK_EXPERIMENTAL_SHADOWING
-    fLights = nullptr;
-#endif
 
     fClipStack.reset(new SkClipStack);
 
@@ -1522,7 +1519,6 @@
     this->setMatrix(SkMatrix::I());
 }
 
-#ifdef SK_EXPERIMENTAL_SHADOWING
 void SkCanvas::translateZ(SkScalar z) {
     this->checkForDeferredSave();
     this->fMCRec->fCurDrawDepth += z;
@@ -1533,15 +1529,6 @@
     return this->fMCRec->fCurDrawDepth;
 }
 
-void SkCanvas::setLights(sk_sp<SkLights> lights) {
-    this->fLights = lights;
-}
-
-sk_sp<SkLights> SkCanvas::getLights() const {
-    return this->fLights;
-}
-#endif
-
 //////////////////////////////////////////////////////////////////////////////
 
 void SkCanvas::clipRect(const SkRect& rect, SkRegion::Op op, bool doAA) {
@@ -3013,24 +3000,6 @@
     picture->playback(this);
 }
 
-#ifdef SK_EXPERIMENTAL_SHADOWING
-void SkCanvas::drawShadowedPicture(const SkPicture* picture,
-                                   const SkMatrix* matrix,
-                                   const SkPaint* paint) {
-    RETURN_ON_NULL(picture);
-
-    TRACE_EVENT0("disabled-by-default-skia", "SkCanvas::drawShadowedPicture()");
-
-    this->onDrawShadowedPicture(picture, matrix, paint);
-}
-
-void SkCanvas::onDrawShadowedPicture(const SkPicture* picture,
-                                     const SkMatrix* matrix,
-                                     const SkPaint* paint) {
-    this->onDrawPicture(picture, matrix, paint);
-}
-#endif
-
 ///////////////////////////////////////////////////////////////////////////////
 ///////////////////////////////////////////////////////////////////////////////
 
diff --git a/src/core/SkLightingShader.cpp b/src/core/SkLightingShader.cpp
index b6b5496..92f41ad 100644
--- a/src/core/SkLightingShader.cpp
+++ b/src/core/SkLightingShader.cpp
@@ -45,7 +45,7 @@
     */
     SkLightingShaderImpl(sk_sp<SkShader> diffuseShader,
                          sk_sp<SkNormalSource> normalSource,
-                         sk_sp<SkLights> lights)
+                         const sk_sp<SkLights> lights)
         : fDiffuseShader(std::move(diffuseShader))
         , fNormalSource(std::move(normalSource))
         , fLights(std::move(lights)) {}
@@ -134,7 +134,6 @@
                 // TODO: handle more than one of these
                 fLightColor = lights->light(i).color();
                 fLightDir = lights->light(i).dir();
-                // TODO get the handle to the shadow map if there is one
             }
         }
 
@@ -177,9 +176,6 @@
             this->emitChild(0, nullptr, &dstNormalName, args);
 
             fragBuilder->codeAppendf("vec3 normal = %s.xyz;", dstNormalName.c_str());
-
-            // TODO: make this a loop and modulate the contribution from each light
-            // based on the shadow map
             fragBuilder->codeAppendf("float NdotL = clamp(dot(normal, %s), 0.0, 1.0);",
                                      lightDirUniName);
             // diffuse light
diff --git a/src/core/SkPictureFlat.h b/src/core/SkPictureFlat.h
index 17b7681..125d4e9 100644
--- a/src/core/SkPictureFlat.h
+++ b/src/core/SkPictureFlat.h
@@ -17,13 +17,6 @@
 #include "SkPtrRecorder.h"
 #include "SkTDynamicHash.h"
 
-/*
- * Note: While adding new DrawTypes, it is necessary to add to the end of this list
- *       and update LAST_DRAWTYPE_ENUM to avoid having the code read older skps wrong.
- *       (which can cause segfaults)
- *
- *       Reordering can be done during version updates.
- */
 enum DrawType {
     UNUSED,
     CLIP_PATH,
@@ -90,9 +83,7 @@
 
     TRANSLATE_Z,
 
-    DRAW_SHADOWED_PICTURE_LIGHTS,
-
-    LAST_DRAWTYPE_ENUM = DRAW_SHADOWED_PICTURE_LIGHTS
+    LAST_DRAWTYPE_ENUM = TRANSLATE_Z
 };
 
 // In the 'match' method, this constant will match any flavor of DRAW_BITMAP*
diff --git a/src/core/SkPicturePlayback.cpp b/src/core/SkPicturePlayback.cpp
index 0bce09c..60c4fe8 100644
--- a/src/core/SkPicturePlayback.cpp
+++ b/src/core/SkPicturePlayback.cpp
@@ -617,11 +617,9 @@
             canvas->translate(dx, dy);
         } break;
         case TRANSLATE_Z: {
-#ifdef SK_EXPERIMENTAL_SHADOWING
             SkScalar dz = reader->readScalar();
             canvas->translateZ(dz);
-#endif
-        } break;
+        }
         default:
             SkASSERTF(false, "Unknown draw type: %d", op);
     }
diff --git a/src/core/SkPictureRecord.cpp b/src/core/SkPictureRecord.cpp
index 562f056..f2a0fd8 100644
--- a/src/core/SkPictureRecord.cpp
+++ b/src/core/SkPictureRecord.cpp
@@ -219,7 +219,6 @@
 }
 
 void SkPictureRecord::didTranslateZ(SkScalar z) {
-#ifdef SK_EXPERIMENTAL_SHADOWING
     this->validate(fWriter.bytesWritten(), 0);
     // op + scalar
     size_t size = 1 * kUInt32Size + 1 * sizeof(SkScalar);
@@ -227,7 +226,6 @@
     this->addScalar(z);
     this->validate(initialOffset, size);
     this->INHERITED::didTranslateZ(z);
-#endif
 }
 
 static bool regionOpExpands(SkRegion::Op op) {
@@ -674,27 +672,6 @@
     this->validate(initialOffset, size);
 }
 
-void SkPictureRecord::onDrawShadowedPicture(const SkPicture* picture,
-                                            const SkMatrix* matrix,
-                                            const SkPaint* paint) {
-    // op + picture index
-    size_t size = 2 * kUInt32Size;
-    size_t initialOffset;
-
-    if (nullptr == matrix && nullptr == paint) {
-        initialOffset = this->addDraw(DRAW_PICTURE, &size);
-        this->addPicture(picture);
-    } else {
-        const SkMatrix& m = matrix ? *matrix : SkMatrix::I();
-        size += m.writeToMemory(nullptr) + kUInt32Size;    // matrix + paint
-        initialOffset = this->addDraw(DRAW_PICTURE_MATRIX_PAINT, &size);
-        this->addPaintPtr(paint);
-        this->addMatrix(m);
-        this->addPicture(picture);
-    }
-    this->validate(initialOffset, size);
-}
-
 void SkPictureRecord::onDrawDrawable(SkDrawable* drawable, const SkMatrix* matrix) {
     // op + drawable index
     size_t size = 2 * kUInt32Size;
diff --git a/src/core/SkPictureRecord.h b/src/core/SkPictureRecord.h
index 5f51a0e..276dd3e 100644
--- a/src/core/SkPictureRecord.h
+++ b/src/core/SkPictureRecord.h
@@ -159,11 +159,7 @@
     void didConcat(const SkMatrix&) override;
     void didSetMatrix(const SkMatrix&) override;
 
-#ifdef SK_EXPERIMENTAL_SHADOWING
     void didTranslateZ(SkScalar) override;
-#endif
-    void didTranslateZ(SkScalar);
-#endif
 
     void onDrawDRRect(const SkRRect&, const SkRRect&, const SkPaint&) override;
 
@@ -212,17 +208,6 @@
     void onClipRegion(const SkRegion&, SkRegion::Op) override;
 
     void onDrawPicture(const SkPicture*, const SkMatrix*, const SkPaint*) override;
-
-#ifdef SK_EXPERIMENTAL_SHADOWING
-    void onDrawShadowedPicture(const SkPicture*,
-                               const SkMatrix*,
-                               const SkPaint*) override;
-#else
-    void onDrawShadowedPicture(const SkPicture*,
-                               const SkMatrix*,
-                               const SkPaint*);
-#endif
-
     void onDrawDrawable(SkDrawable*, const SkMatrix*) override;
     void onDrawAnnotation(const SkRect&, const char[], SkData*) override;
 
@@ -268,3 +253,5 @@
 
     typedef SkCanvas INHERITED;
 };
+
+#endif
diff --git a/src/core/SkRecordDraw.cpp b/src/core/SkRecordDraw.cpp
index cdfce66..02d07d5 100644
--- a/src/core/SkRecordDraw.cpp
+++ b/src/core/SkRecordDraw.cpp
@@ -86,11 +86,7 @@
 DRAW(ClipRect, clipRect(r.rect, r.opAA.op, r.opAA.aa));
 DRAW(ClipRegion, clipRegion(r.region, r.op));
 
-#ifdef SK_EXPERIMENTAL_SHADOWING
 DRAW(TranslateZ, SkCanvas::translateZ(r.z));
-#else
-template <> void Draw::draw(const TranslateZ& r) { }
-#endif
 
 DRAW(DrawBitmap, drawBitmap(r.bitmap.shallowCopy(), r.left, r.top, r.paint));
 DRAW(DrawBitmapNine, drawBitmapNine(r.bitmap.shallowCopy(), r.center, r.dst, r.paint));
@@ -111,13 +107,6 @@
 DRAW(DrawPath, drawPath(r.path, r.paint));
 DRAW(DrawPatch, drawPatch(r.cubics, r.colors, r.texCoords, r.xmode, r.paint));
 DRAW(DrawPicture, drawPicture(r.picture, &r.matrix, r.paint));
-
-#ifdef SK_EXPERIMENTAL_SHADOWING
-DRAW(DrawShadowedPicture, drawShadowedPicture(r.picture, &r.matrix, r.paint));
-#else
-template <> void Draw::draw(const DrawShadowedPicture& r) { }
-#endif
-
 DRAW(DrawPoints, drawPoints(r.mode, r.count, r.pts, r.paint));
 DRAW(DrawPosText, drawPosText(r.text, r.byteLength, r.pos, r.paint));
 DRAW(DrawPosTextH, drawPosTextH(r.text, r.byteLength, r.xpos, r.y, r.paint));
@@ -483,12 +472,6 @@
         return this->adjustAndMap(dst, op.paint);
     }
 
-    Bounds bounds(const DrawShadowedPicture& op) const {
-        SkRect dst = op.picture->cullRect();
-        op.matrix.mapRect(&dst);
-        return this->adjustAndMap(dst, op.paint);
-    }
-
     Bounds bounds(const DrawPosText& op) const {
         const int N = op.paint.countText(op.text, op.byteLength);
         if (N == 0) {
diff --git a/src/core/SkRecorder.cpp b/src/core/SkRecorder.cpp
index 76fd3b8..c7869bb 100644
--- a/src/core/SkRecorder.cpp
+++ b/src/core/SkRecorder.cpp
@@ -305,20 +305,6 @@
     }
 }
 
-void SkRecorder::onDrawShadowedPicture(const SkPicture* pic,
-                                       const SkMatrix* matrix,
-                                       const SkPaint* paint) {
-    if (fDrawPictureMode == Record_DrawPictureMode) {
-        fApproxBytesUsedBySubPictures += SkPictureUtils::ApproximateBytesUsed(pic);
-        APPEND(DrawShadowedPicture, this->copy(paint), pic, matrix ? *matrix : SkMatrix::I());
-    } else {
-        SkASSERT(fDrawPictureMode == Playback_DrawPictureMode);
-        SkAutoCanvasMatrixPaint acmp(this,  matrix, paint, pic->cullRect());
-        pic->playback(this);
-    }
-}
-
-
 void SkRecorder::onDrawVertices(VertexMode vmode,
                                 int vertexCount, const SkPoint vertices[],
                                 const SkPoint texs[], const SkColor colors[],
@@ -383,10 +369,8 @@
     APPEND(SetMatrix, matrix);
 }
 
-void SkRecorder::didTranslateZ(SkScalar z) {
-#ifdef SK_EXPERIMENTAL_SHADOWING
+void SkRecorder::didTranslateZ(SkScalar z)  {
     APPEND(TranslateZ, z);
-#endif
 }
 
 void SkRecorder::onClipRect(const SkRect& rect, SkRegion::Op op, ClipEdgeStyle edgeStyle) {
diff --git a/src/core/SkRecorder.h b/src/core/SkRecorder.h
index 5282740..66a0067 100644
--- a/src/core/SkRecorder.h
+++ b/src/core/SkRecorder.h
@@ -60,12 +60,7 @@
 
     void didConcat(const SkMatrix&) override;
     void didSetMatrix(const SkMatrix&) override;
-
-#ifdef SK_EXPERIMENTAL_SHADOWING
     void didTranslateZ(SkScalar) override;
-#else
-    void didTranslateZ(SkScalar);
-#endif
 
     void onDrawDRRect(const SkRRect&, const SkRRect&, const SkPaint&) override;
     void onDrawDrawable(SkDrawable*, const SkMatrix*) override;
@@ -131,17 +126,6 @@
     void onClipRegion(const SkRegion& deviceRgn, SkRegion::Op op) override;
 
     void onDrawPicture(const SkPicture*, const SkMatrix*, const SkPaint*) override;
-
-#ifdef SK_EXPERIMENTAL_SHADOWING
-    void onDrawShadowedPicture(const SkPicture*,
-                               const SkMatrix*,
-                               const SkPaint*) override;
-#else
-    void onDrawShadowedPicture(const SkPicture*,
-                               const SkMatrix*,
-                               const SkPaint*);
-#endif
-
     void onDrawAnnotation(const SkRect&, const char[], SkData*) override;
 
     sk_sp<SkSurface> onNewSurface(const SkImageInfo&, const SkSurfaceProps&) override;
diff --git a/tests/CanvasTest.cpp b/tests/CanvasTest.cpp
index 6182d95..1e5f9e1 100644
--- a/tests/CanvasTest.cpp
+++ b/tests/CanvasTest.cpp
@@ -780,7 +780,7 @@
 }
 
 #define SHADOW_TEST_CANVAS_CONST 10
-#ifdef SK_EXPERIMENTAL_SHADOWING
+
 class SkShadowTestCanvas : public SkPaintFilterCanvas {
 public:
 
@@ -817,7 +817,6 @@
 
     typedef SkPaintFilterCanvas INHERITED;
 };
-#endif
 
 namespace {
 
@@ -853,7 +852,6 @@
     REPORTER_ASSERT(reporter, canvas.getClipBounds(&clip1) == filterCanvas.getClipBounds(&clip2));
     REPORTER_ASSERT(reporter, clip1 == clip2);
 
-#ifdef SK_EXPERIMENTAL_SHADOWING
     SkShadowTestCanvas* tCanvas = new SkShadowTestCanvas(100,100, reporter);
     tCanvas->testUpdateDepth(reporter);
     delete(tCanvas);
@@ -867,7 +865,6 @@
     tSCanvas->drawPicture(pic);
 
     delete(tSCanvas);
-#endif
 }
 
 ///////////////////////////////////////////////////////////////////////////////////////////////////
diff --git a/tools/debugger/SkDebugCanvas.cpp b/tools/debugger/SkDebugCanvas.cpp
index d5297ed..062445b 100644
--- a/tools/debugger/SkDebugCanvas.cpp
+++ b/tools/debugger/SkDebugCanvas.cpp
@@ -58,16 +58,6 @@
         this->SkCanvas::onDrawPicture(picture, matrix, paint);
     }
 
-    void onDrawShadowedPicture(const SkPicture* picture,
-                               const SkMatrix* matrix,
-                               const SkPaint* paint) {
-#ifdef SK_EXPERIMENTAL_SHADOWING
-        this->SkCanvas::onDrawShadowedPicture(picture, matrix, paint);
-#else
-        this->SkCanvas::onDrawPicture(picture, matrix, paint);
-#endif
-    }
-
 private:
     sk_sp<SkXfermode> fOverdrawXfermode;
 
@@ -613,15 +603,6 @@
     this->addDrawCommand(new SkEndDrawPictureCommand(SkToBool(matrix) || SkToBool(paint)));
 }
 
-void SkDebugCanvas::onDrawShadowedPicture(const SkPicture* picture,
-                                          const SkMatrix* matrix,
-                                          const SkPaint* paint) {
-    this->addDrawCommand(new SkBeginDrawShadowedPictureCommand(picture, matrix, paint));
-    SkAutoCanvasMatrixPaint acmp(this, matrix, paint, picture->cullRect());
-    picture->playback(this);
-    this->addDrawCommand(new SkEndDrawShadowedPictureCommand(SkToBool(matrix) || SkToBool(paint)));
-}
-
 void SkDebugCanvas::onDrawPoints(PointMode mode, size_t count,
                                  const SkPoint pts[], const SkPaint& paint) {
     this->addDrawCommand(new SkDrawPointsCommand(mode, count, pts, paint));
@@ -710,10 +691,8 @@
 }
 
 void SkDebugCanvas::didTranslateZ(SkScalar z) {
-#ifdef SK_EXPERIMENTAL_SHADOWING
     this->addDrawCommand(new SkTranslateZCommand(z));
     this->INHERITED::didTranslateZ(z);
-#endif
 }
 
 void SkDebugCanvas::toggleCommand(int index, bool toggle) {
diff --git a/tools/debugger/SkDebugCanvas.h b/tools/debugger/SkDebugCanvas.h
index 9f785ef..4264f55 100644
--- a/tools/debugger/SkDebugCanvas.h
+++ b/tools/debugger/SkDebugCanvas.h
@@ -24,27 +24,23 @@
 class SK_API SkDebugCanvas : public SkCanvas {
 public:
     SkDebugCanvas(int width, int height);
-
     virtual ~SkDebugCanvas();
 
     void toggleFilter(bool toggle) { fFilter = toggle; }
 
     void setMegaVizMode(bool megaVizMode) { fMegaVizMode = megaVizMode; }
-
     bool getMegaVizMode() const { return fMegaVizMode; }
 
     /**
      * Enable or disable overdraw visualization
      */
     void setOverdrawViz(bool overdrawViz);
-
     bool getOverdrawViz() const { return fOverdrawViz; }
 
     /**
      * Set the color of the clip visualization. An alpha of zero renders the clip invisible.
      */
     void setClipVizColor(SkColor clipVizColor) { this->fClipVizColor = clipVizColor; }
-
     SkColor getClipVizColor() const { return fClipVizColor; }
 
     void setDrawGpuBatchBounds(bool drawGpuBatchBounds) {
@@ -55,7 +51,7 @@
 
     bool getAllowSimplifyClip() const { return fAllowSimplifyClip; }
 
-    void setPicture(SkPicture *picture) { fPicture = picture; }
+    void setPicture(SkPicture* picture) { fPicture = picture; }
 
     /**
      * Enable or disable texure filtering override
@@ -66,7 +62,7 @@
         Executes all draw calls to the canvas.
         @param canvas  The canvas being drawn to
      */
-    void draw(SkCanvas *canvas);
+    void draw(SkCanvas* canvas);
 
     /**
         Executes the draw calls up to the specified index.
@@ -74,19 +70,19 @@
         @param index  The index of the final command being executed
         @param m an optional Mth gpu batch to highlight, or -1
      */
-    void drawTo(SkCanvas *canvas, int index, int m = -1);
+    void drawTo(SkCanvas* canvas, int index, int m = -1);
 
     /**
         Returns the most recently calculated transformation matrix
      */
-    const SkMatrix &getCurrentMatrix() {
+    const SkMatrix& getCurrentMatrix() {
         return fMatrix;
     }
 
     /**
         Returns the most recently calculated clip
      */
-    const SkIRect &getCurrentClip() {
+    const SkIRect& getCurrentClip() {
         return fClip;
     }
 
@@ -105,20 +101,20 @@
         Returns the draw command at the given index.
         @param index  The index of the command
      */
-    SkDrawCommand *getDrawCommandAt(int index);
+    SkDrawCommand* getDrawCommandAt(int index);
 
     /**
         Sets the draw command for a given index.
         @param index  The index to overwrite
         @param command The new command
      */
-    void setDrawCommandAt(int index, SkDrawCommand *command);
+    void setDrawCommandAt(int index, SkDrawCommand* command);
 
     /**
         Returns information about the command at the given index.
         @param index  The index of the command
      */
-    const SkTDArray<SkString *> *getCommandInfo(int index) const;
+    const SkTDArray<SkString*>* getCommandInfo(int index) const;
 
     /**
         Returns the visibility of the command at the given index.
@@ -130,13 +126,13 @@
         Returns the vector of draw commands
      */
     SK_ATTR_DEPRECATED("please use getDrawCommandAt and getSize instead")
-    const SkTDArray<SkDrawCommand *> &getDrawCommands() const;
+    const SkTDArray<SkDrawCommand*>& getDrawCommands() const;
 
     /**
         Returns the vector of draw commands. Do not use this entry
         point - it is going away!
      */
-    SkTDArray<SkDrawCommand *> &getDrawCommands();
+    SkTDArray<SkDrawCommand*>& getDrawCommands();
 
     /**
         Returns length of draw command vector.
@@ -162,9 +158,9 @@
         SkDebugCanvas::getSize(). The encoder may use the UrlDataManager to store binary data such
         as images, referring to them via URLs embedded in the JSON.
      */
-    Json::Value toJSON(UrlDataManager &urlDataManager, int n, SkCanvas *);
+    Json::Value toJSON(UrlDataManager& urlDataManager, int n, SkCanvas*);
 
-    Json::Value toJSONBatchList(int n, SkCanvas *);
+    Json::Value toJSONBatchList(int n, SkCanvas*);
 
 ////////////////////////////////////////////////////////////////////////////////
 // Inherited from SkCanvas
@@ -174,10 +170,8 @@
     static const int kVizImageWidth = 256;
 
     bool isClipEmpty() const override { return false; }
-
     bool isClipRect() const override { return true; }
-
-    bool getClipBounds(SkRect *bounds) const override {
+    bool getClipBounds(SkRect* bounds) const override {
         if (bounds) {
             bounds->setXYWH(0, 0,
                             SkIntToScalar(this->imageInfo().width()),
@@ -185,8 +179,7 @@
         }
         return true;
     }
-
-    bool getClipDeviceBounds(SkIRect *bounds) const override {
+    bool getClipDeviceBounds(SkIRect* bounds) const override {
         if (bounds) {
             bounds->setLargest();
         }
@@ -195,20 +188,13 @@
 
 protected:
     void willSave() override;
-
-    SaveLayerStrategy getSaveLayerStrategy(const SaveLayerRec &) override;
-
+    SaveLayerStrategy getSaveLayerStrategy(const SaveLayerRec&) override;
     void willRestore() override;
 
-    void didConcat(const SkMatrix &) override;
+    void didConcat(const SkMatrix&) override;
+    void didSetMatrix(const SkMatrix&) override;
 
-    void didSetMatrix(const SkMatrix &) override;
-
-#ifdef SK_EXPERIMENTAL_SHADOWING
     void didTranslateZ(SkScalar) override;
-#else
-    void didTranslateZ(SkScalar);
-#endif
 
     void onDrawAnnotation(const SkRect&, const char[], SkData*) override;
     void onDrawDRRect(const SkRRect&, const SkRRect&, const SkPaint&) override;
@@ -254,16 +240,6 @@
 
     void onDrawPicture(const SkPicture*, const SkMatrix*, const SkPaint*) override;
 
-#ifdef SK_EXPERIMENTAL_SHADOWING
-    void onDrawShadowedPicture(const SkPicture*,
-                               const SkMatrix*,
-                               const SkPaint*) override;
-#else
-    void onDrawShadowedPicture(const SkPicture*,
-                               const SkMatrix*,
-                               const SkPaint*);
-#endif
-
     void markActiveCommands(int index);
 
 private:
diff --git a/tools/debugger/SkDrawCommand.cpp b/tools/debugger/SkDrawCommand.cpp
index 51eb967..8f42cb7 100644
--- a/tools/debugger/SkDrawCommand.cpp
+++ b/tools/debugger/SkDrawCommand.cpp
@@ -180,7 +180,6 @@
 const char* SkDrawCommand::GetCommandString(OpType type) {
     switch (type) {
         case kBeginDrawPicture_OpType: return "BeginDrawPicture";
-        case kBeginDrawShadowedPicture_OpType: return "BeginDrawShadowedPicture";
         case kClipPath_OpType: return "ClipPath";
         case kClipRegion_OpType: return "ClipRegion";
         case kClipRect_OpType: return "ClipRect";
@@ -209,7 +208,6 @@
         case kDrawTextRSXform_OpType: return "DrawTextRSXform";
         case kDrawVertices_OpType: return "DrawVertices";
         case kEndDrawPicture_OpType: return "EndDrawPicture";
-        case kEndDrawShadowedPicture_OpType: return "EndDrawShadowedPicture";
         case kRestore_OpType: return "Restore";
         case kSave_OpType: return "Save";
         case kSaveLayer_OpType: return "SaveLayer";
@@ -272,9 +270,8 @@
         INSTALL_FACTORY(Save);
         INSTALL_FACTORY(SaveLayer);
         INSTALL_FACTORY(SetMatrix);
-#ifdef SK_EXPERIMENTAL_SHADOWING
+
         INSTALL_FACTORY(TranslateZ);
-#endif
     }
     SkString name = SkString(command[SKDEBUGCANVAS_ATTRIBUTE_COMMAND].asCString());
     FROM_JSON* factory = factories.find(name);
@@ -1494,13 +1491,10 @@
     result->set9(values);
 }
 
-#ifdef SK_EXPERIMENTAL_SHADOWING
-// somehow this is only used in shadows...
 static void extract_json_scalar(Json::Value& scalar, SkScalar* result) {
     SkScalar value = scalar.asFloat();
     *result = value;
 }
-#endif
 
 static void extract_json_path(Json::Value& path, SkPath* result) {
     const char* fillType = path[SKDEBUGCANVAS_ATTRIBUTE_FILLTYPE].asCString();
@@ -2387,68 +2381,6 @@
     }
 }
 
-SkBeginDrawShadowedPictureCommand::SkBeginDrawShadowedPictureCommand(const SkPicture* picture,
-                                                                     const SkMatrix* matrix,
-                                                                     const SkPaint* paint)
-        : INHERITED(kBeginDrawShadowedPicture_OpType)
-        , fPicture(SkRef(picture)) {
-
-    SkString* str = new SkString;
-    str->appendf("SkPicture: L: %f T: %f R: %f B: %f",
-                 picture->cullRect().fLeft, picture->cullRect().fTop,
-                 picture->cullRect().fRight, picture->cullRect().fBottom);
-    fInfo.push(str);
-
-    if (matrix) {
-        fMatrix.set(*matrix);
-        fInfo.push(SkObjectParser::MatrixToString(*matrix));
-    }
-
-    if (paint) {
-        fPaint.set(*paint);
-        fInfo.push(SkObjectParser::PaintToString(*paint));
-    }
-}
-
-void SkBeginDrawShadowedPictureCommand::execute(SkCanvas* canvas) const {
-    if (fPaint.isValid()) {
-        SkRect bounds = fPicture->cullRect();
-        if (fMatrix.isValid()) {
-            fMatrix.get()->mapRect(&bounds);
-        }
-        canvas->saveLayer(&bounds, fPaint.get());
-    }
-
-    if (fMatrix.isValid()) {
-        if (!fPaint.isValid()) {
-            canvas->save();
-        }
-        canvas->concat(*fMatrix.get());
-    }
-}
-
-bool SkBeginDrawShadowedPictureCommand::render(SkCanvas* canvas) const {
-    canvas->clear(0xFFFFFFFF);
-    canvas->save();
-
-    xlate_and_scale_to_bounds(canvas, fPicture->cullRect());
-
-    canvas->drawPicture(fPicture.get());
-
-    canvas->restore();
-
-    return true;
-}
-
-SkEndDrawShadowedPictureCommand::SkEndDrawShadowedPictureCommand(bool restore)
-        : INHERITED(kEndDrawShadowedPicture_OpType) , fRestore(restore) { }
-
-void SkEndDrawShadowedPictureCommand::execute(SkCanvas* canvas) const {
-    if (fRestore) {
-        canvas->restore();
-    }
-}
-
 SkDrawPointsCommand::SkDrawPointsCommand(SkCanvas::PointMode mode, size_t count,
                                          const SkPoint pts[], const SkPaint& paint)
     : INHERITED(kDrawPoints_OpType) {
@@ -3385,9 +3317,7 @@
 }
 
 void SkTranslateZCommand::execute(SkCanvas* canvas) const {
-#ifdef SK_EXPERIMENTAL_SHADOWING
     canvas->translateZ(fZTranslate);
-#endif
 }
 
 Json::Value SkTranslateZCommand::toJSON(UrlDataManager& urlDataManager) const {
@@ -3399,10 +3329,6 @@
 SkTranslateZCommand* SkTranslateZCommand::fromJSON(Json::Value& command,
                                        UrlDataManager& urlDataManager) {
     SkScalar z;
-#ifdef SK_EXPERIMENTAL_SHADOWING
     extract_json_scalar(command[SKDEBUGCANVAS_ATTRIBUTE_DRAWDEPTHTRANS], &z);
-#else
-    z = 0;
-#endif
     return new SkTranslateZCommand(z);
 }
diff --git a/tools/debugger/SkDrawCommand.h b/tools/debugger/SkDrawCommand.h
index 14a7af5..a7e6c73 100644
--- a/tools/debugger/SkDrawCommand.h
+++ b/tools/debugger/SkDrawCommand.h
@@ -24,7 +24,6 @@
 public:
     enum OpType {
         kBeginDrawPicture_OpType,
-        kBeginDrawShadowedPicture_OpType,
         kClipPath_OpType,
         kClipRegion_OpType,
         kClipRect_OpType,
@@ -53,7 +52,6 @@
         kDrawTextRSXform_OpType,
         kDrawVertices_OpType,
         kEndDrawPicture_OpType,
-        kEndDrawShadowedPicture_OpType,
         kRestore_OpType,
         kSave_OpType,
         kSaveLayer_OpType,
@@ -457,35 +455,6 @@
     typedef SkDrawCommand INHERITED;
 };
 
-class SkBeginDrawShadowedPictureCommand : public SkDrawCommand {
-public:
-    SkBeginDrawShadowedPictureCommand(const SkPicture* picture,
-                                      const SkMatrix* matrix,
-                                      const SkPaint* paint);
-
-    void execute(SkCanvas* canvas) const override;
-    bool render(SkCanvas* canvas) const override;
-
-private:
-    SkAutoTUnref<const SkPicture> fPicture;
-    SkTLazy<SkMatrix>             fMatrix;
-    SkTLazy<SkPaint>              fPaint;
-
-    typedef SkDrawCommand INHERITED;
-};
-
-class SkEndDrawShadowedPictureCommand : public SkDrawCommand {
-public:
-    SkEndDrawShadowedPictureCommand(bool restore);
-
-    void execute(SkCanvas* canvas) const override;
-
-private:
-    bool fRestore;
-
-    typedef SkDrawCommand INHERITED;
-};
-
 class SkDrawPointsCommand : public SkDrawCommand {
 public:
     SkDrawPointsCommand(SkCanvas::PointMode mode, size_t count, const SkPoint pts[],