Revert "Hoist path check"

This reverts commit 6de0fca928153c38fcbd4d6c7b199161a0571dee.

Reason for revert: Busted some GMs, e.g., largeglyphblur and mixedtextblobs.

Original change's description:
> Hoist path check
> 
> Hoist path check up one level in on the way to
> moving it to regenerateGlyphRunList.
> 
> Change-Id: I77d24c1d80daf72ddd3e9f09dd264c1e9d504573
> Reviewed-on: https://skia-review.googlesource.com/144902
> Commit-Queue: Herb Derby <herb@google.com>
> Reviewed-by: Jim Van Verth <jvanverth@google.com>
> Auto-Submit: Herb Derby <herb@google.com>

TBR=jvanverth@google.com,herb@google.com

Change-Id: Idf1ea5818f6a97989c520b93804627af385b5045
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://skia-review.googlesource.com/145327
Reviewed-by: Jim Van Verth <jvanverth@google.com>
Commit-Queue: Jim Van Verth <jvanverth@google.com>
diff --git a/src/gpu/text/GrTextContext.cpp b/src/gpu/text/GrTextContext.cpp
index ca9d809..f089a65 100644
--- a/src/gpu/text/GrTextContext.cpp
+++ b/src/gpu/text/GrTextContext.cpp
@@ -84,32 +84,6 @@
     }
 }
 
-bool glyph_too_big_for_atlas(const SkGlyph& glyph) {
-    return glyph.fWidth >= 256 || glyph.fHeight >= 256;
-}
-
-static SkRect rect_to_draw(
-        const SkGlyph& glyph, SkPoint origin, SkScalar textScale, GrGlyph::MaskStyle maskStyle) {
-
-    SkScalar dx = SkIntToScalar(glyph.fLeft);
-    SkScalar dy = SkIntToScalar(glyph.fTop);
-    SkScalar width = SkIntToScalar(glyph.fWidth);
-    SkScalar height = SkIntToScalar(glyph.fHeight);
-
-    if (maskStyle == GrGlyph::kDistance_MaskStyle) {
-        dx += SK_DistanceFieldInset;
-        dy += SK_DistanceFieldInset;
-        width -= 2 * SK_DistanceFieldInset;
-        height -= 2 * SK_DistanceFieldInset;
-    }
-
-    dx *= textScale;
-    dy *= textScale;
-    width *= textScale;
-    height *= textScale;
-
-    return SkRect::MakeXYWH(origin.x() + dx, origin.y() + dy, width, height);
-}
 
 void GrTextContext::regenerateGlyphRunList(GrTextBlob* cacheBlob,
                                            GrGlyphCache* glyphCache,
@@ -162,7 +136,6 @@
                     SkPoint glyphPos = origin + *positionCursor++;
                     if (glyph.fWidth > 0) {
                         if (glyph.fMaskFormat == SkMask::kSDF_Format) {
-
                             AppendGlyph(
                                     cacheBlob, runIndex, glyphCache, &currStrike,
                                     glyph, GrGlyph::kDistance_MaskStyle,
@@ -226,10 +199,10 @@
                     [cacheBlob, runIndex, glyphCache, &currStrike, runPaint, cache{cache.get()}]
                     (const SkMask& mask, const SkGlyph& glyph, SkPoint position) {
                 AppendGlyph(cacheBlob, runIndex, glyphCache, &currStrike,
-                            glyph, GrGlyph::kCoverage_MaskStyle,
-                            SkScalarFloorToScalar(position.fX),
-                            SkScalarFloorToScalar(position.fY),
-                            runPaint.filteredPremulColor(), cache, SK_Scalar1, false);
+                               glyph, GrGlyph::kCoverage_MaskStyle,
+                               SkScalarFloorToScalar(position.fX),
+                               SkScalarFloorToScalar(position.fY),
+                               runPaint.filteredPremulColor(), cache, SK_Scalar1, false);
             };
 
             glyphDrawer->drawUsingMasks(cache.get(), glyphRun, origin, viewMatrix, drawOneGlyph);
@@ -238,48 +211,6 @@
     }
 }
 
-void GrTextContext::AppendGlyph(GrTextBlob* blob, int runIndex,
-                                GrGlyphCache* grGlyphCache,
-                                sk_sp<GrTextStrike>* strike,
-                                const SkGlyph& skGlyph, GrGlyph::MaskStyle maskStyle,
-                                SkScalar sx, SkScalar sy,
-                                GrColor color, SkGlyphCache* skGlyphCache,
-                                SkScalar textRatio, bool needsTransform) {
-    if (!*strike) {
-        *strike = grGlyphCache->getStrike(skGlyphCache);
-    }
-
-    GrGlyph::PackedID id = GrGlyph::Pack(skGlyph.getGlyphID(),
-                                         skGlyph.getSubXFixed(),
-                                         skGlyph.getSubYFixed(),
-                                         maskStyle);
-    GrGlyph* glyph = (*strike)->getGlyph(skGlyph, id, skGlyphCache);
-    if (!glyph) {
-        return;
-    }
-
-    SkASSERT(skGlyph.fWidth == glyph->width());
-    SkASSERT(skGlyph.fHeight == glyph->height());
-
-    SkRect glyphRect = rect_to_draw(skGlyph, {sx, sy}, textRatio, maskStyle);
-
-    if (!glyphRect.isEmpty()) {
-        // If the glyph is too large we fall back to paths
-        if (glyph_too_big_for_atlas(skGlyph)) {
-            if (glyph->fPath != nullptr) {
-                const SkPath* glyphPath = skGlyphCache->findPath(skGlyph);
-                if (glyphPath != nullptr) {
-                    glyph->fPath = new SkPath(*glyphPath);
-                }
-                blob->appendPathGlyph(runIndex, *glyph->fPath, sx, sy, textRatio, !needsTransform);
-            }
-        } else {
-            blob->appendGlyph(runIndex, glyphRect, color, *strike, glyph,
-                              skGlyphCache, skGlyph, sx, sy, textRatio, !needsTransform);
-        }
-    }
-}
-
 void GrTextContext::drawGlyphRunList(
         GrContext* context, GrTextUtils::Target* target, const GrClip& clip,
         const SkMatrix& viewMatrix, const SkSurfaceProps& props, const SkGlyphRunList& glyphRunList,
@@ -522,6 +453,52 @@
     fallbackTextHelper.drawText(blob, runIndex, glyphCache, props, origPaint, scalerContextFlags);
 }
 
+void GrTextContext::AppendGlyph(GrTextBlob* blob, int runIndex,
+                                GrGlyphCache* grGlyphCache,
+                                sk_sp<GrTextStrike>* strike,
+                                const SkGlyph& skGlyph, GrGlyph::MaskStyle maskStyle,
+                                SkScalar sx, SkScalar sy,
+                                GrColor color, SkGlyphCache* skGlyphCache,
+                                SkScalar textRatio, bool needsTransform) {
+    if (!*strike) {
+        *strike = grGlyphCache->getStrike(skGlyphCache);
+    }
+
+    GrGlyph::PackedID id = GrGlyph::Pack(skGlyph.getGlyphID(),
+                                         skGlyph.getSubXFixed(),
+                                         skGlyph.getSubYFixed(),
+                                         maskStyle);
+    GrGlyph* glyph = (*strike)->getGlyph(skGlyph, id, skGlyphCache);
+    if (!glyph) {
+        return;
+    }
+
+    SkASSERT(skGlyph.fWidth == glyph->width());
+    SkASSERT(skGlyph.fHeight == glyph->height());
+
+    SkScalar dx = SkIntToScalar(glyph->fBounds.fLeft);
+    SkScalar dy = SkIntToScalar(glyph->fBounds.fTop);
+    SkScalar width = SkIntToScalar(glyph->fBounds.width());
+    SkScalar height = SkIntToScalar(glyph->fBounds.height());
+
+    if (maskStyle == GrGlyph::kDistance_MaskStyle) {
+        dx += SK_DistanceFieldInset;
+        dy += SK_DistanceFieldInset;
+        width -= 2 * SK_DistanceFieldInset;
+        height -= 2 * SK_DistanceFieldInset;
+    }
+
+    dx *= textRatio;
+    dy *= textRatio;
+    width *= textRatio;
+    height *= textRatio;
+
+    SkRect glyphRect = SkRect::MakeXYWH(sx + dx, sy + dy, width, height);
+
+    blob->appendGlyph(runIndex, glyphRect, color, *strike, glyph, skGlyphCache, skGlyph, sx, sy,
+                      textRatio, !needsTransform);
+}
+
 void GrTextContext::SanitizeOptions(Options* options) {
     if (options->fMaxDistanceFieldFontSize < 0.f) {
         options->fMaxDistanceFieldFontSize = kDefaultMaxDistanceFieldFontSize;