)]}'
{
  "commit": "ce0337c0880cb6c3d7bf213b828aee57a3020530",
  "tree": "4f1c8fae54d86c092c1b87055712b200a336c62e",
  "parents": [
    "c4e67dc2953895ca8b91fb7e6f02f4b1fc67edbe"
  ],
  "author": {
    "name": "K. Moon",
    "email": "kmoon@chromium.org",
    "time": "Thu Mar 09 21:28:41 2023 +0000"
  },
  "committer": {
    "name": "Pdfium LUCI CQ",
    "email": "pdfium-scoped@luci-project-accounts.iam.gserviceaccount.com",
    "time": "Thu Mar 09 21:28:41 2023 +0000"
  },
  "message": "[Skia] Remove redundant DrawDeviceText() branches\n\nRemoves redundant branches in CFX_SkiaDeviceDriver::DrawDeviceText(). It\nturns out that most of the logic in DrawDeviceText() is unreachable,\nbecause TryDrawText() already handles those cases.\n\nWe can draw runs of text in Skia in one of three ways:\n\n1. Translating (positioning) glyphs.\n2. Rotating, scaling, and translating (RSX form) glyphs.\n3. Painting each glyph separately with a full transformation matrix.\n\nThese get progressively less efficient, so we try to use the faster\nmethods first. It turns out that TryDrawText() covers the first two\ncases, so DrawDeviceText() should not be handling them, too.\n\nNote that the condition in DrawDeviceText() for one-at-a-time mode was\nstrictly a superset of the condition in TryDrawText(), so any case\ntreated as one-at-a-time by TryDrawText() also was treated the same way\nby DrawDeviceText().\n\nFixed: pdfium:1963\nChange-Id: Ie9e1fdc7567aa7d983fd41d16fd9c067a8d7c622\nReviewed-on: https://pdfium-review.googlesource.com/c/pdfium/+/104651\nCommit-Queue: K. Moon \u003ckmoon@chromium.org\u003e\nReviewed-by: Nigi \u003cnigi@chromium.org\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "9d0ebf9c383ee0461476cb0260175117a9880f5d",
      "old_mode": 33188,
      "old_path": "core/fxge/skia/fx_skia_device.cpp",
      "new_id": "f7f2d392ab447d38e503e2167a27420372d2ca92",
      "new_mode": 33188,
      "new_path": "core/fxge/skia/fx_skia_device.cpp"
    }
  ]
}
