check for wide-open inside quickContains

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

Review-Url: https://codereview.chromium.org/2263373002
diff --git a/include/core/SkClipStack.h b/include/core/SkClipStack.h
index 2f2e940..fb0b278 100644
--- a/include/core/SkClipStack.h
+++ b/include/core/SkClipStack.h
@@ -333,8 +333,13 @@
      * by the clip. A return value of false does not guarantee that the (r)rect
      * is not contained by the clip.
      */
-    bool quickContains(const SkRect& devRect) const;
-    bool quickContains(const SkRRect& devRRect) const;
+    bool quickContains(const SkRect& devRect) const {
+        return this->isWideOpen() || this->internalQuickContains(devRect);
+    }
+
+    bool quickContains(const SkRRect& devRRect) const {
+        return this->isWideOpen() || this->internalQuickContains(devRRect);
+    }
 
     /**
      * Flattens the clip stack into a single SkPath. Returns true if any of
@@ -357,7 +362,7 @@
      * isWideOpen returns true if the clip state corresponds to the infinite
      * plane (i.e., draws are not limited at all)
      */
-    bool isWideOpen() const;
+    bool isWideOpen() const { return this->getTopmostGenID() == kWideOpenGenID; }
 
     /**
      * The generation ID has three reserved values to indicate special
@@ -479,6 +484,9 @@
     // invalid ID.
     static int32_t     gGenID;
 
+    bool internalQuickContains(const SkRect& devRect) const;
+    bool internalQuickContains(const SkRRect& devRRect) const;
+
     /**
      * Helper for clipDevPath, etc.
      */