Image filters: remove SkBitmap-based cache.

Also some #include cleanup.

TBR=reed@google.com

BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1905753002

Review URL: https://codereview.chromium.org/1905753002
diff --git a/include/core/SkImageFilter.h b/include/core/SkImageFilter.h
index 43369d3..a31403f 100644
--- a/include/core/SkImageFilter.h
+++ b/include/core/SkImageFilter.h
@@ -15,13 +15,10 @@
 #include "SkFlattenable.h"
 #include "SkMatrix.h"
 #include "SkRect.h"
-#include "SkSurfaceProps.h"
 
 class GrContext;
 class GrFragmentProcessor;
-class GrTexture;
 class SkBaseDevice;
-class SkBitmap;
 class SkColorFilter;
 struct SkIPoint;
 class SkSpecialImage;
@@ -43,9 +40,7 @@
         virtual ~Cache() {}
         static Cache* Create(size_t maxBytes);
         static Cache* Get();
-        virtual bool get(const Key& key, SkBitmap* result, SkIPoint* offset) const = 0;
         virtual SkSpecialImage* get(const Key& key, SkIPoint* offset) const = 0;
-        virtual void set(const Key& key, const SkBitmap& result, const SkIPoint& offset) = 0;
         virtual void set(const Key& key, SkSpecialImage* image, const SkIPoint& offset) = 0;
         virtual void purge() = 0;
         virtual void purgeByKeys(const Key[], int) = 0;
diff --git a/include/effects/SkMatrixConvolutionImageFilter.h b/include/effects/SkMatrixConvolutionImageFilter.h
index 6c55967..9a45486 100644
--- a/include/effects/SkMatrixConvolutionImageFilter.h
+++ b/include/effects/SkMatrixConvolutionImageFilter.h
@@ -13,6 +13,8 @@
 #include "SkSize.h"
 #include "SkPoint.h"
 
+class SkBitmap;
+
 /*! \class SkMatrixConvolutionImageFilter
     Matrix convolution image filter.  This filter applies an NxM image
     processing kernel to a given input image.  This can be used to produce
diff --git a/src/core/SkImageFilter.cpp b/src/core/SkImageFilter.cpp
index 18fafd9..4128ba6 100644
--- a/src/core/SkImageFilter.cpp
+++ b/src/core/SkImageFilter.cpp
@@ -8,8 +8,7 @@
 #include "SkImageFilter.h"
 #include "SkImageFilterCacheKey.h"
 
-#include "SkBitmap.h"
-#include "SkBitmapDevice.h"
+#include "SkCanvas.h"
 #include "SkChecksum.h"
 #include "SkFuzzLogging.h"
 #include "SkLocalMatrixImageFilter.h"
@@ -26,8 +25,6 @@
 #if SK_SUPPORT_GPU
 #include "GrContext.h"
 #include "GrDrawContext.h"
-#include "SkGrPixelRef.h"
-#include "SkGr.h"
 #endif
 
 #ifdef SK_BUILD_FOR_IOS
@@ -467,13 +464,10 @@
         }
     }
     struct Value {
-        Value(const Key& key, const SkBitmap& bitmap, const SkIPoint& offset)
-            : fKey(key), fBitmap(bitmap), fOffset(offset) {}
         Value(const Key& key, SkSpecialImage* image, const SkIPoint& offset)
             : fKey(key), fImage(SkRef(image)), fOffset(offset) {}
 
         Key fKey;
-        SkBitmap fBitmap;
         SkAutoTUnref<SkSpecialImage> fImage;
         SkIPoint fOffset;
         static const Key& GetKey(const Value& v) {
@@ -485,20 +479,6 @@
         SK_DECLARE_INTERNAL_LLIST_INTERFACE(Value);
     };
 
-    bool get(const Key& key, SkBitmap* result, SkIPoint* offset) const override {
-        SkAutoMutexAcquire mutex(fMutex);
-        if (Value* v = fLookup.find(key)) {
-            *result = v->fBitmap;
-            *offset = v->fOffset;
-            if (v != fLRU.head()) {
-                fLRU.remove(v);
-                fLRU.addToHead(v);
-            }
-            return true;
-        }
-        return false;
-    }
-
     SkSpecialImage* get(const Key& key, SkIPoint* offset) const override {
         SkAutoMutexAcquire mutex(fMutex);
         if (Value* v = fLookup.find(key)) {
@@ -512,25 +492,6 @@
         return nullptr;
     }
 
-    void set(const Key& key, const SkBitmap& result, const SkIPoint& offset) override {
-        SkAutoMutexAcquire mutex(fMutex);
-        if (Value* v = fLookup.find(key)) {
-            this->removeInternal(v);
-        }
-        Value* v = new Value(key, result, offset);
-        fLookup.add(v);
-        fLRU.addToHead(v);
-        fCurrentBytes += result.getSize();
-        while (fCurrentBytes > fMaxBytes) {
-            Value* tail = fLRU.tail();
-            SkASSERT(tail);
-            if (tail == v) {
-                break;
-            }
-            this->removeInternal(tail);
-        }
-    }
-
     void set(const Key& key, SkSpecialImage* image, const SkIPoint& offset) override {
         SkAutoMutexAcquire mutex(fMutex);
         if (Value* v = fLookup.find(key)) {
@@ -571,11 +532,8 @@
     SkDEBUGCODE(int count() const override { return fLookup.count(); })
 private:
     void removeInternal(Value* v) {
-        if (v->fImage) {
-            fCurrentBytes -= v->fImage->getSize();
-        } else {
-            fCurrentBytes -= v->fBitmap.getSize();
-        }
+        SkASSERT(v->fImage);
+        fCurrentBytes -= v->fImage->getSize();
         fLRU.remove(v);
         fLookup.remove(v->fKey);
         delete v;