Revert "Fix webp bug compositing alpha frames on opaque"

This reverts commit 42bae8faa4b9b6a3341b15c6ac7c6b466e95625c.

Reason for revert: Breaking GMs. A more extensive fix is needed.

Original change's description:
> Fix webp bug compositing alpha frames on opaque
> 
> select_xform_alpha is used to determine how the color transform should
> handle alpha values. In a similar way, we're using it here to determine
> whether to premultiply pixels before blending them. In this case, the
> source is unpremul, so we should be premultiplying them, but since we
> are compositing on an opaque frame, the dst must be opaque and
> select_xform_alpha returns kOpaque. As a result, we do not premultiply
> (and even hint to the transform that the pixels are opaque). Since this
> all applies to the pre-blended pixels, we should not care that the dst
> is opaque. So drop the call to select_xform_alpha and just use the alpha
> type of the source. This matches the comment on the lines above.
> 
> Add the test image that failed (https://mathiasbynens.be/demo/animated-webp)
> 
> Change-Id: Ibd13c1f067bdf369ce1c882d4f6057aadccfa313
> Reviewed-on: https://skia-review.googlesource.com/71560
> Commit-Queue: Leon Scroggins <scroggo@google.com>
> Reviewed-by: Mike Klein <mtklein@chromium.org>

TBR=mtklein@chromium.org,scroggo@google.com

Change-Id: I6f535ff9b773a93e02a0358b830291594a6e738c
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://skia-review.googlesource.com/71720
Reviewed-by: Leon Scroggins <scroggo@google.com>
Commit-Queue: Leon Scroggins <scroggo@google.com>
diff --git a/src/codec/SkWebpCodec.cpp b/src/codec/SkWebpCodec.cpp
index 9cb44d2..6287617 100644
--- a/src/codec/SkWebpCodec.cpp
+++ b/src/codec/SkWebpCodec.cpp
@@ -571,6 +571,7 @@
     // We're only transforming the new part of the frame, so no need to worry about the
     // final composited alpha.
     const auto srcAlpha = 0 == index ? srcInfo.alphaType() : alpha_type(frame.has_alpha);
+    const auto xformAlphaType = select_xform_alpha(dstInfo.alphaType(), srcAlpha);
     const bool needsSrgbToLinear = dstInfo.gammaCloseToSRGB() &&
             options.fPremulBehavior == SkTransferFunctionBehavior::kRespect;
 
@@ -592,9 +593,9 @@
             xformDst = dst;
         }
         for (int y = 0; y < rowsDecoded; y++) {
-            this->applyColorXform(xformDst, xformSrc, scaledWidth, srcAlpha);
+            this->applyColorXform(xformDst, xformSrc, scaledWidth, xformAlphaType);
             if (blendWithPrevFrame) {
-                blend_line(dstCT, dst, dstCT, xformDst, needsSrgbToLinear, srcAlpha,
+                blend_line(dstCT, dst, dstCT, xformDst, needsSrgbToLinear, xformAlphaType,
                         scaledWidth);
                 dst = SkTAddOffset<void>(dst, rowBytes);
             } else {
@@ -607,7 +608,7 @@
 
         for (int y = 0; y < rowsDecoded; y++) {
             blend_line(dstCT, dst, webpDst.colorType(), src, needsSrgbToLinear,
-                    srcAlpha, scaledWidth);
+                    xformAlphaType, scaledWidth);
             src = SkTAddOffset<const uint8_t>(src, srcRowBytes);
             dst = SkTAddOffset<void>(dst, rowBytes);
         }