remove xfermode from public api

BUG=skia:

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

CQ_INCLUDE_TRYBOTS=master.client.skia:Test-Ubuntu-GCC-GCE-CPU-AVX2-x86_64-Release-SKNX_NO_SIMD-Trybot

Change-Id: I19cd056f2af778f10e8c6c2b7b2735593b43dbac
Reviewed-on: https://skia-review.googlesource.com/4020
Reviewed-by: Florin Malita <fmalita@chromium.org>
Reviewed-by: Mike Klein <mtklein@chromium.org>
Commit-Queue: Mike Reed <reed@google.com>
diff --git a/include/core/SkShader.h b/include/core/SkShader.h
index c31ce73..6c4ee0a 100644
--- a/include/core/SkShader.h
+++ b/include/core/SkShader.h
@@ -320,7 +320,10 @@
     struct ComposeRec {
         const SkShader*     fShaderA;
         const SkShader*     fShaderB;
+#ifdef SK_SUPPORT_LEGACY_XFERMODE_PARAM
         const SkXfermode*   fMode;
+#endif
+        SkBlendMode         fBlendMode;
     };
 
     virtual bool asACompose(ComposeRec*) const { return false; }
@@ -420,8 +423,13 @@
      */
     static sk_sp<SkShader> MakeColorShader(const SkColor4f&, sk_sp<SkColorSpace>);
 
+    static sk_sp<SkShader> MakeComposeShader(sk_sp<SkShader> dst, sk_sp<SkShader> src, SkBlendMode);
+
+#ifdef SK_SUPPORT_LEGACY_XFERMODE_PARAM
     static sk_sp<SkShader> MakeComposeShader(sk_sp<SkShader> dst, sk_sp<SkShader> src,
-                                             SkXfermode::Mode);
+                                             SkXfermode::Mode mode) {
+        return MakeComposeShader(dst, src, (SkBlendMode)mode);
+    }
 
     /**
      *  Create a new compose shader, given shaders dst, src, and a combining xfermode mode.
@@ -431,7 +439,10 @@
      *  The caller is responsible for managing its reference-count for the xfer (if not null).
      */
     static sk_sp<SkShader> MakeComposeShader(sk_sp<SkShader> dst, sk_sp<SkShader> src,
-                                             sk_sp<SkXfermode> xfer);
+                                             sk_sp<SkXfermode> xfer) {
+        return MakeComposeShader(dst, src, xfer ? xfer->blend() : SkBlendMode::kSrcOver);
+    }
+#endif
 
     /** Call this to create a new shader that will draw with the specified bitmap.
      *