Revert "Revert "Revert "Revert "Snap alpha for small rects""""

This reverts commit ea560af463c2a791c7c320a81828e5f407360c84.

Reason for revert: the guard flag is now in Google3

Original change's description:
> Revert "Revert "Revert "Snap alpha for small rects"""
> 
> This reverts commit 15150a60ebea7b268493d0595cec7db9a5465fac.
> 
> Reason for revert: we suspect this is behind the roll failures
> 
> Original change's description:
> > Revert "Revert "Snap alpha for small rects""
> > 
> > This reverts commit 131c8ea4b7ffad7ebf6c49cf9337602f1249806d.
> > 
> > Reason for revert: the CL does not seem to have caused any failures
> > 
> > Original change's description:
> > > Revert "Snap alpha for small rects"
> > > 
> > > This reverts commit 52f8e71a45ead72f257317f82775eb3459b71eae.
> > > 
> > > Reason for revert: possibly causing Google3 roll failure?
> > > 
> > > Original change's description:
> > > > Snap alpha for small rects
> > > > 
> > > > This is more similar to our alpha snapping in AAA.  More critically, we
> > > > may have a tiny alpha difference after some 90 degree rotations and that
> > > > breaks the Chromium svg layout tests (where the expected reference is a
> > > > rotated svg...)
> > > > 
> > > > TBR: fmalita@google.com
> > > > Bug: skia:
> > > > Change-Id: I59b750153488083f65b731643e0baca823cb78e4
> > > > Reviewed-on: https://skia-review.googlesource.com/92940
> > > > Reviewed-by: Yuqian Li <liyuqian@google.com>
> > > > Commit-Queue: Yuqian Li <liyuqian@google.com>
> > > 
> > > TBR=mtklein@google.com,fmalita@chromium.org,liyuqian@google.com,reed@google.com
> > > 
> > > Change-Id: I2ca0b9375caa473dc2f407655b17603b68337c1f
> > > No-Presubmit: true
> > > No-Tree-Checks: true
> > > No-Try: true
> > > Bug: skia:
> > > Reviewed-on: https://skia-review.googlesource.com/93323
> > > Reviewed-by: Ethan Nicholas <ethannicholas@google.com>
> > > Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
> > 
> > TBR=mtklein@google.com,ethannicholas@google.com,fmalita@chromium.org,liyuqian@google.com,reed@google.com
> > 
> > Change-Id: I0cb343fa5448ecf0e6a2073bb4e3603275d6984c
> > No-Presubmit: true
> > No-Tree-Checks: true
> > No-Try: true
> > Bug: skia:
> > Reviewed-on: https://skia-review.googlesource.com/93680
> > Reviewed-by: Yuqian Li <liyuqian@google.com>
> > Commit-Queue: Yuqian Li <liyuqian@google.com>
> 
> TBR=mtklein@google.com,ethannicholas@google.com,fmalita@chromium.org,liyuqian@google.com,reed@google.com
> 
> Change-Id: If00c7c8cb6b44c489615444b9aca5a2f25b2d5fe
> No-Presubmit: true
> No-Tree-Checks: true
> No-Try: true
> Bug: skia:
> Reviewed-on: https://skia-review.googlesource.com/93860
> Reviewed-by: Ethan Nicholas <ethannicholas@google.com>
> Commit-Queue: Ethan Nicholas <ethannicholas@google.com>

TBR=mtklein@google.com,ethannicholas@google.com,fmalita@chromium.org,liyuqian@google.com,reed@google.com

# Not skipping CQ checks because original CL landed > 1 day ago.

Bug: skia:
Change-Id: I68d6b968460f0541d658a8641ca5e147405292d0
Reviewed-on: https://skia-review.googlesource.com/94540
Reviewed-by: Yuqian Li <liyuqian@google.com>
Commit-Queue: Yuqian Li <liyuqian@google.com>
diff --git a/src/core/SkBlitter.cpp b/src/core/SkBlitter.cpp
index 4bbd80d..1f21e28 100644
--- a/src/core/SkBlitter.cpp
+++ b/src/core/SkBlitter.cpp
@@ -42,7 +42,8 @@
  */
 
 inline static SkAlpha ScalarToAlpha(SkScalar a) {
-    return (SkAlpha)(a * 255);
+    SkAlpha alpha = (SkAlpha)(a * 255);
+    return alpha > 247 ? 0xFF : alpha < 8 ? 0 : alpha;
 }
 
 void SkBlitter::blitFatAntiRect(const SkRect& rect) {