remove filterSpan from SkColorFilter

Bug: skia:
Change-Id: Ie8a31ea8131c08d251a825622484342e3e174474
Reviewed-on: https://skia-review.googlesource.com/21207
Commit-Queue: Mike Reed <reed@google.com>
Commit-Queue: Mike Klein <mtklein@chromium.org>
Reviewed-by: Mike Klein <mtklein@chromium.org>
Reviewed-by: Florin Malita <fmalita@chromium.org>
diff --git a/src/core/SkColorFilter.cpp b/src/core/SkColorFilter.cpp
index 0bcde27..a107a06 100644
--- a/src/core/SkColorFilter.cpp
+++ b/src/core/SkColorFilter.cpp
@@ -49,9 +49,17 @@
 }
 
 SkColor SkColorFilter::filterColor(SkColor c) const {
-    SkPMColor dst, src = SkPreMultiplyColor(c);
-    this->filterSpan(&src, 1, &dst);
-    return SkUnPreMultiply::PMColorToColor(dst);
+    const float inv255 = 1.0f / 255;
+    SkColor4f c4 = this->filterColor4f({
+        SkColorGetR(c) * inv255,
+        SkColorGetG(c) * inv255,
+        SkColorGetB(c) * inv255,
+        SkColorGetA(c) * inv255,
+    });
+    return SkColorSetARGB(sk_float_round2int(c4.fA*255),
+                          sk_float_round2int(c4.fR*255),
+                          sk_float_round2int(c4.fG*255),
+                          sk_float_round2int(c4.fB*255));
 }
 
 #include "SkRasterPipeline.h"
@@ -89,11 +97,6 @@
         return fOuter->getFlags() & fInner->getFlags();
     }
 
-    void filterSpan(const SkPMColor shader[], int count, SkPMColor result[]) const override {
-        fInner->filterSpan(shader, count, result);
-        fOuter->filterSpan(result, count, result);
-    }
-
 #ifndef SK_IGNORE_TO_STRING
     void toString(SkString* str) const override {
         SkString outerS, innerS;