)]}'
{
  "commit": "5c8ffedbb63a75553f2eb6a49c2bebd941e4b21f",
  "tree": "ad1f0c8b0683884b3211446c8043574384ae24d8",
  "parents": [
    "9ca3ca629333bdd116c7d31ccef990732940c113"
  ],
  "author": {
    "name": "Tom Sepez",
    "email": "tsepez@google.com",
    "time": "Tue Jul 28 15:05:42 2026 -0700"
  },
  "committer": {
    "name": "pdfium-scoped@luci-project-accounts.iam.gserviceaccount.com",
    "email": "pdfium-scoped@luci-project-accounts.iam.gserviceaccount.com",
    "time": "Tue Jul 28 15:05:42 2026 -0700"
  },
  "message": "Virtualize DecodeImage in ProgressiveDecoderContext\n\nAdd virtual DecodeImage(size_t frame_index) method to\nProgressiveDecoderContext. Override DecodeImage in CFX_BmpContext,\nSkiaBmpContext, and CFX_GifContext. Update BmpContinueDecode and\nGifContinueDecode in ProgressiveDecoder to call DecodeImage directly\non context_ instead of via static wrapper classes.\n\nTAG\u003dagy\nCONV\u003d7a82d35c-037e-4042-8882-448367a075e7\n\nChange-Id: Iea8f46fd873bed74013664ca91dcd8a87df2a6ab\nReviewed-on: https://pdfium-review.googlesource.com/c/pdfium/+/153290\nCommit-Queue: Tom Sepez \u003ctsepez@chromium.org\u003e\nReviewed-by: Lei Zhang \u003cthestig@chromium.org\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "3cf66cba620554bbd840fd25cd47e9c1ee0b3cc3",
      "old_mode": 33188,
      "old_path": "core/fxcodec/bmp/bmp_decoder.cpp",
      "new_id": "87f65d4bd8e719277d3755bed0e67579eb027903",
      "new_mode": 33188,
      "new_path": "core/fxcodec/bmp/bmp_decoder.cpp"
    },
    {
      "type": "modify",
      "old_id": "a54685a105cd7ae409c3123572fef7ddc9f5cdd1",
      "old_mode": 33188,
      "old_path": "core/fxcodec/bmp/bmp_decoder.h",
      "new_id": "8b68f077c303dc4bd9fa3553f7eebef69b189334",
      "new_mode": 33188,
      "new_path": "core/fxcodec/bmp/bmp_decoder.h"
    },
    {
      "type": "modify",
      "old_id": "a0d10d02fcb596bf63407a568ad58b149791c91c",
      "old_mode": 33188,
      "old_path": "core/fxcodec/bmp/cfx_bmpcontext.cpp",
      "new_id": "782be9c847bcc02612cae59e5a9dbb153e9e1ea2",
      "new_mode": 33188,
      "new_path": "core/fxcodec/bmp/cfx_bmpcontext.cpp"
    },
    {
      "type": "modify",
      "old_id": "177221ba3f0852faace438e14b808658081cb043",
      "old_mode": 33188,
      "old_path": "core/fxcodec/bmp/cfx_bmpcontext.h",
      "new_id": "7e81b7f672ad9c3bb4cbcf9a321ce4368b31b78b",
      "new_mode": 33188,
      "new_path": "core/fxcodec/bmp/cfx_bmpcontext.h"
    },
    {
      "type": "modify",
      "old_id": "bf91b364a858cd624332af6d17b38df85c0e305f",
      "old_mode": 33188,
      "old_path": "core/fxcodec/bmp/skia_bmp_decoder.cpp",
      "new_id": "2700e3b513892e59eb2f574d99df80f1557c19b9",
      "new_mode": 33188,
      "new_path": "core/fxcodec/bmp/skia_bmp_decoder.cpp"
    },
    {
      "type": "modify",
      "old_id": "8c3ffbe822c9d81f89b97e762d8189c4c74b7835",
      "old_mode": 33188,
      "old_path": "core/fxcodec/bmp/skia_bmp_decoder.h",
      "new_id": "3e55b45d4018bb8bc84a897633f6782ede0b1aef",
      "new_mode": 33188,
      "new_path": "core/fxcodec/bmp/skia_bmp_decoder.h"
    },
    {
      "type": "modify",
      "old_id": "4443348bb2fc9187a5fa85a297f83f12f880de6e",
      "old_mode": 33188,
      "old_path": "core/fxcodec/gif/cfx_gifcontext.cpp",
      "new_id": "f388379308473799228eedead35b9e1e1dbd439b",
      "new_mode": 33188,
      "new_path": "core/fxcodec/gif/cfx_gifcontext.cpp"
    },
    {
      "type": "modify",
      "old_id": "1f3acc4c2bbbe170d427d79b584cb592dbb1d6c8",
      "old_mode": 33188,
      "old_path": "core/fxcodec/gif/cfx_gifcontext.h",
      "new_id": "841394d246541918adcfd0a9cd247c1f939cc965",
      "new_mode": 33188,
      "new_path": "core/fxcodec/gif/cfx_gifcontext.h"
    },
    {
      "type": "modify",
      "old_id": "8b8038cecb910feeaad6a3b6c52b01b1bb939d28",
      "old_mode": 33188,
      "old_path": "core/fxcodec/gif/gif_decoder.cpp",
      "new_id": "7276766d9f5166ca4db0a23c7c560c8e55d17da4",
      "new_mode": 33188,
      "new_path": "core/fxcodec/gif/gif_decoder.cpp"
    },
    {
      "type": "modify",
      "old_id": "a88475237a8b0a08147b01b795bd0c8afeb432ac",
      "old_mode": 33188,
      "old_path": "core/fxcodec/gif/gif_decoder.h",
      "new_id": "f70451172647306bffd2ffcdec59b7f8840bf682",
      "new_mode": 33188,
      "new_path": "core/fxcodec/gif/gif_decoder.h"
    },
    {
      "type": "modify",
      "old_id": "e0e29cafa4899a2eea62fdd1e2b69303df7bb489",
      "old_mode": 33188,
      "old_path": "core/fxcodec/progressive_decoder.cpp",
      "new_id": "679c737e602bff2de63a5d8b24974a2e70486088",
      "new_mode": 33188,
      "new_path": "core/fxcodec/progressive_decoder.cpp"
    },
    {
      "type": "modify",
      "old_id": "c349990abd3c09bd86bfe990e32e619e5b4303b9",
      "old_mode": 33188,
      "old_path": "core/fxcodec/progressive_decoder_context.cpp",
      "new_id": "03a53f1757bb337a25e9adfd7f80cd239b57e42a",
      "new_mode": 33188,
      "new_path": "core/fxcodec/progressive_decoder_context.cpp"
    },
    {
      "type": "modify",
      "old_id": "fa6e86a567cb1e2f875d6894640765d672ed6c6a",
      "old_mode": 33188,
      "old_path": "core/fxcodec/progressive_decoder_context.h",
      "new_id": "785ffe36f5487c12ac017eb1d9c7e90bb17893f4",
      "new_mode": 33188,
      "new_path": "core/fxcodec/progressive_decoder_context.h"
    }
  ]
}
