use pos text

Use SkCanvas::drawPosText() to render the whole string
rather than drawing glyphs one at a time.

R=dsinclair@chromium.org

Review-Url: https://codereview.chromium.org/2057343002
diff --git a/core/fxge/skia/fx_skia_device.cpp b/core/fxge/skia/fx_skia_device.cpp
index 86a8269..6b2e2a2 100644
--- a/core/fxge/skia/fx_skia_device.cpp
+++ b/core/fxge/skia/fx_skia_device.cpp
@@ -605,11 +605,16 @@
   m_pCanvas->save();
   SkMatrix skMatrix = ToFlippedSkMatrix(*pObject2Device);
   m_pCanvas->concat(skMatrix);
+  SkTDArray<SkPoint> positions;
+  positions.setCount(nChars);
+  SkTDArray<uint16_t> glyphs;
+  glyphs.setCount(nChars);
   for (int index = 0; index < nChars; ++index) {
     const FXTEXT_CHARPOS& cp = pCharPos[index];
-    uint16_t glyph = (uint16_t)cp.m_GlyphIndex;
-    m_pCanvas->drawText(&glyph, 2, cp.m_OriginX, cp.m_OriginY, paint);
+    positions[index] = {cp.m_OriginX, cp.m_OriginY};
+    glyphs[index] = (uint16_t)cp.m_GlyphIndex;
   }
+  m_pCanvas->drawPosText(glyphs.begin(), nChars * 2, positions.begin(), paint);
   m_pCanvas->restore();
   return TRUE;
 }