Use SkStrikeSpec to consolidate SkDescriptor, Effects and Typeface.

Introduce SkStrikeSpec. Allow an SkStrikeInterface to return on
that represents the strike. Have GrTextBlob::Run::setFont() use
SkStrikeSpecs.

Misc Cleanups
* In SkStrikeCache::Node - rename fCache -> fStrike
* Parameter reformatting

Change-Id: I1b289e2cb4e5252d5c3cb776f3b2a31c6e1948b3
Reviewed-on: https://skia-review.googlesource.com/c/192029
Reviewed-by: Ben Wagner <bungeman@google.com>
Commit-Queue: Herb Derby <herb@google.com>
diff --git a/src/gpu/text/GrTextBlob.cpp b/src/gpu/text/GrTextBlob.cpp
index 0f5b7ea..8feaa1a 100644
--- a/src/gpu/text/GrTextBlob.cpp
+++ b/src/gpu/text/GrTextBlob.cpp
@@ -56,18 +56,15 @@
     return blob;
 }
 
-void GrTextBlob::Run::setupFont(const SkPaint& skPaint,
-                                const SkFont& skFont,
-                                const SkDescriptor& cacheDescriptor) {
-    fTypeface = skFont.refTypefaceOrDefault();
-    SkScalerContextEffects effects{skPaint};
-    fPathEffect = sk_ref_sp(effects.fPathEffect);
-    fMaskFilter = sk_ref_sp(effects.fMaskFilter);
+void GrTextBlob::Run::setupFont(const SkStrikeSpec& strikeSpec) {
+    fTypeface = sk_ref_sp(&strikeSpec.typeface());
+    fPathEffect = sk_ref_sp(strikeSpec.effects().fPathEffect);
+    fMaskFilter = sk_ref_sp(strikeSpec.effects().fMaskFilter);
     // if we have an override descriptor for the run, then we should use that
     SkAutoDescriptor* desc =
             fARGBFallbackDescriptor.get() ? fARGBFallbackDescriptor.get() : &fDescriptor;
     // Set up the descriptor for possible cache lookups during regen.
-    desc->reset(cacheDescriptor);
+    desc->reset(strikeSpec.desc());
 }
 
 void GrTextBlob::Run::appendPathGlyph(const SkPath& path, SkPoint position,