Roll third_party/skia/ 191e64b6c..d3bde0b79 (464 commits; 44 trivial rolls)

https://chromium.googlesource.com/skia.git/+log/191e64b6c6c2..d3bde0b79860

Update callers to deprecated APIs.

Change-Id: I9adf188a8a23fe2f2472cf4069c286c2d2624339
Reviewed-on: https://pdfium-review.googlesource.com/c/pdfium/+/53110
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Lei Zhang <thestig@chromium.org>
diff --git a/DEPS b/DEPS
index a97ee7c..60df0cf 100644
--- a/DEPS
+++ b/DEPS
@@ -28,7 +28,7 @@
   'jpeg_turbo_revision': '61a2bbaa9aec89cb2c882d87ace6aba9aee49bb9',
   'markupsafe_revision': '8f45f5cfa0009d2a70589bcda0349b8cb2b72783',
   'pdfium_tests_revision': '5a68e87859476eb75d3e068bd406c4921a6be8e2',
-  'skia_revision': '191e64b6c6c2e791ff4d7dae0209a78eed0376f0',
+  'skia_revision': 'd3bde0b798600eed78189dffc9f9569eeaaaecae',
   'tools_memory_revision': 'f7b00daf4df7f6c469f5fbc68d7f40f6bd15d6e6',
   'trace_event_revision': '936ba8a963284a6b3737cf2f0474a7131073abee',
   'v8_revision': '93306f1d7b2c10824e1e8876e5b8a3ab37c42b96',
diff --git a/core/fxge/skia/fx_skia_device.cpp b/core/fxge/skia/fx_skia_device.cpp
index 4643aaa..11f7a47 100644
--- a/core/fxge/skia/fx_skia_device.cpp
+++ b/core/fxge/skia/fx_skia_device.cpp
@@ -40,6 +40,7 @@
 #include "third_party/skia/include/core/SkRSXform.h"
 #include "third_party/skia/include/core/SkShader.h"
 #include "third_party/skia/include/core/SkStream.h"
+#include "third_party/skia/include/core/SkTextBlob.h"
 #include "third_party/skia/include/core/SkTypeface.h"
 #include "third_party/skia/include/effects/SkDashPathEffect.h"
 #include "third_party/skia/include/effects/SkGradientShader.h"
@@ -900,15 +901,17 @@
     SkPaint skPaint;
     skPaint.setAntiAlias(true);
     skPaint.setColor(m_fillColor);
+
+    SkFont font;
     if (m_pTypeFace) {  // exclude placeholder test fonts
       sk_sp<SkTypeface> typeface(SkSafeRef(m_pTypeFace.Get()));
-      skPaint.setTypeface(typeface);
+      font.setTypeface(typeface);
     }
-    skPaint.setTextEncoding(kGlyphID_SkTextEncoding);
-    skPaint.setHinting(kNo_SkFontHinting);
-    skPaint.setTextScaleX(m_scaleX);
-    skPaint.setTextSize(SkTAbs(m_fontSize));
-    skPaint.setSubpixelText(true);
+    font.setHinting(kNo_SkFontHinting);
+    font.setScaleX(m_scaleX);
+    font.setSize(SkTAbs(m_fontSize));
+    font.setSubpixel(true);
+
     SkCanvas* skCanvas = m_pDriver->SkiaCanvas();
     skCanvas->save();
     SkScalar flip = m_fontSize < 0 ? -1 : 1;
@@ -925,13 +928,19 @@
       printf("%lc", m_glyphs[i]);
     printf("\n");
 #endif
+
+    sk_sp<SkTextBlob> blob;
     if (m_rsxform.count()) {
-      skCanvas->drawTextRSXform(m_glyphs.begin(), m_glyphs.bytes(),
-                                m_rsxform.begin(), nullptr, skPaint);
+      blob = SkTextBlob::MakeFromRSXform(m_glyphs.begin(), m_glyphs.bytes(),
+                                         m_rsxform.begin(), font,
+                                         kGlyphID_SkTextEncoding);
     } else {
-      skCanvas->drawPosText(m_glyphs.begin(), m_glyphs.bytes(),
-                            m_positions.begin(), skPaint);
+      blob = SkTextBlob::MakeFromPosText(m_glyphs.begin(), m_glyphs.bytes(),
+                                         m_positions.begin(), font,
+                                         kGlyphID_SkTextEncoding);
     }
+    skCanvas->drawTextBlob(blob, 0, 0, skPaint);
+
     skCanvas->restore();
     m_drawIndex = INT_MAX;
     m_type = Accumulator::kNone;
@@ -1553,11 +1562,13 @@
   SkPaint paint;
   paint.setAntiAlias(true);
   paint.setColor(color);
-  paint.setTypeface(typeface);
-  paint.setTextEncoding(kGlyphID_SkTextEncoding);
-  paint.setHinting(kNo_SkFontHinting);
-  paint.setTextSize(SkTAbs(font_size));
-  paint.setSubpixelText(true);
+
+  SkFont font;
+  font.setTypeface(typeface);
+  font.setHinting(kNo_SkFontHinting);
+  font.setSize(SkTAbs(font_size));
+  font.setSubpixel(true);
+
   m_pCanvas->save();
   SkScalar flip = font_size < 0 ? -1 : 1;
   SkScalar vFlip = flip;
@@ -1618,18 +1629,22 @@
         rsxform->fTy = positions[index].fY;
       }
     }
-    m_pCanvas->drawTextRSXform(glyphs.begin(), nChars * 2, xforms.begin(),
-                               nullptr, paint);
+    m_pCanvas->drawTextBlob(
+        SkTextBlob::MakeFromRSXform(glyphs.begin(), nChars * 2, xforms.begin(),
+                                    font, kGlyphID_SkTextEncoding),
+        0, 0, paint);
   } else if (oneAtATime) {
     for (int index = 0; index < nChars; ++index) {
       const TextCharPos& cp = pCharPos[index];
       if (cp.m_bGlyphAdjust) {
         if (0 == cp.m_AdjustMatrix[1] && 0 == cp.m_AdjustMatrix[2] &&
             1 == cp.m_AdjustMatrix[3]) {
-          paint.setTextScaleX(cp.m_AdjustMatrix[0]);
-          m_pCanvas->drawText(&glyphs[index], 1, positions[index].fX,
-                              positions[index].fY, paint);
-          paint.setTextScaleX(1);
+          font.setScaleX(cp.m_AdjustMatrix[0]);
+          auto blob = SkTextBlob::MakeFromText(&glyphs[index], 1, font,
+                                               kGlyphID_SkTextEncoding);
+          m_pCanvas->drawTextBlob(blob, positions[index].fX,
+                                  positions[index].fY, paint);
+          font.setScaleX(1);
         } else {
           m_pCanvas->save();
           SkMatrix adjust;
@@ -1640,17 +1655,23 @@
           adjust.setScaleY(cp.m_AdjustMatrix[3]);
           adjust.preTranslate(positions[index].fX, positions[index].fY);
           m_pCanvas->concat(adjust);
-          m_pCanvas->drawText(&glyphs[index], 1, 0, 0, paint);
+          auto blob = SkTextBlob::MakeFromText(&glyphs[index], 1, font,
+                                               kGlyphID_SkTextEncoding);
+          m_pCanvas->drawTextBlob(blob, 0, 0, paint);
           m_pCanvas->restore();
         }
       } else {
-        m_pCanvas->drawText(&glyphs[index], 1, positions[index].fX,
-                            positions[index].fY, paint);
+        auto blob = SkTextBlob::MakeFromText(&glyphs[index], 1, font,
+                                             kGlyphID_SkTextEncoding);
+        m_pCanvas->drawTextBlob(blob, positions[index].fX, positions[index].fY,
+                                paint);
       }
     }
   } else {
-    m_pCanvas->drawPosText(glyphs.begin(), nChars * 2, positions.begin(),
-                           paint);
+    m_pCanvas->drawTextBlob(SkTextBlob::MakeFromPosText(
+                                glyphs.begin(), nChars * 2, positions.begin(),
+                                font, kGlyphID_SkTextEncoding),
+                            0, 0, paint);
   }
   m_pCanvas->restore();