Harden degenerate gradient context handling
Certain inputs produce degenerate values at context creation time only.
Detect such cases after context creation, and abort drawing by returning
a null shader context instead.
BUG=skia:5821
R=reed@google.com,brianosman@google.com
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2397473003
Review-Url: https://codereview.chromium.org/2397473003
diff --git a/src/effects/gradients/Sk4fGradientBase.h b/src/effects/gradients/Sk4fGradientBase.h
index 17f9563..fd6d656 100644
--- a/src/effects/gradients/Sk4fGradientBase.h
+++ b/src/effects/gradients/Sk4fGradientBase.h
@@ -28,6 +28,8 @@
void shadeSpan(int x, int y, SkPMColor dst[], int count) override;
void shadeSpan4f(int x, int y, SkPM4f dst[], int count) override;
+ bool isValid() const;
+
protected:
struct Interval {
Interval(const Sk4f& c0, SkScalar p0,