Replace remaining SkTDArray usage in fx_skia_device.cpp.
Use DataVector instead.
Bug: pdfium:1974
Change-Id: I0b8e291b04cdd76e408839c9a7ee6fd49492263b
Reviewed-on: https://pdfium-review.googlesource.com/c/pdfium/+/103492
Reviewed-by: Nigi <nigi@chromium.org>
Commit-Queue: Lei Zhang <thestig@chromium.org>
diff --git a/core/fxge/skia/fx_skia_device.cpp b/core/fxge/skia/fx_skia_device.cpp
index c1581e9..c64c0a0 100644
--- a/core/fxge/skia/fx_skia_device.cpp
+++ b/core/fxge/skia/fx_skia_device.cpp
@@ -1512,10 +1512,8 @@
const SkScalar vFlip = pFont->IsVertical() ? -1 : 1;
SkMatrix skMatrix = ToFlippedSkMatrix(mtObject2Device, flip);
m_pCanvas->concat(skMatrix);
- SkTDArray<SkPoint> positions;
- positions.resize(nChars);
- SkTDArray<uint16_t> glyphs;
- glyphs.resize(nChars);
+ DataVector<SkPoint> positions(pCharPos.size());
+ DataVector<uint16_t> glyphs(pCharPos.size());
bool useRSXform = false;
bool oneAtATime = false;
for (int index = 0; index < nChars; ++index) {
@@ -1537,8 +1535,7 @@
if (oneAtATime)
useRSXform = false;
if (useRSXform) {
- SkTDArray<SkRSXform> xforms;
- xforms.resize(nChars);
+ DataVector<SkRSXform> xforms(pCharPos.size());
for (int index = 0; index < nChars; ++index) {
const TextCharPos& cp = pCharPos[index];
SkRSXform& rsxform = xforms[index];
@@ -1554,10 +1551,10 @@
rsxform.fTy = positions[index].fY;
}
}
- m_pCanvas->drawTextBlob(
- SkTextBlob::MakeFromRSXform(glyphs.begin(), nChars * 2, xforms.begin(),
- font, SkTextEncoding::kGlyphID),
- 0, 0, paint);
+ m_pCanvas->drawTextBlob(SkTextBlob::MakeFromRSXform(
+ glyphs.data(), glyphs.size() * sizeof(uint16_t),
+ xforms.data(), font, SkTextEncoding::kGlyphID),
+ 0, 0, paint);
} else if (oneAtATime) {
for (int index = 0; index < nChars; ++index) {
const TextCharPos& cp = pCharPos[index];