)]}'
{
  "commit": "e9fc01804a0c5224ea780ad782abb8cfede628ef",
  "tree": "ae8a2137b175bacfc746fc4dd89a4160d15239f4",
  "parents": [
    "f13ead9925f52eb6151a3860ec678f51f23b0380"
  ],
  "author": {
    "name": "Tom Sepez",
    "email": "tsepez@google.com",
    "time": "Fri Aug 07 17:32:38 2026 -0700"
  },
  "committer": {
    "name": "pdfium-scoped@luci-project-accounts.iam.gserviceaccount.com",
    "email": "pdfium-scoped@luci-project-accounts.iam.gserviceaccount.com",
    "time": "Fri Aug 07 17:32:38 2026 -0700"
  },
  "message": "Migrate GIF decoder to ProgressiveDecoderDelegate and evacuate state\n\nUpdate CFX_GifContext to depend on ProgressiveDecoderDelegate instead of\nthe nested CFX_GifContext::Delegate. Remove the nested Delegate class\ndeclaration.\n\nEvacuate GIF palette state, frame bounds, and scanline buffer from\nProgressiveDecoder into CFX_GifContext so that record position parsing\nand scanline resampling are self-contained within CFX_GifContext.\n\nUpdate ProgressiveDecoder so it no longer inherits from\nCFX_GifContext::Delegate.\n\nTAG\u003dagy\nCONV\u003dbbac8eab-d30e-43b6-895a-e5b8381bbaf9\n\nChange-Id: I0834b3480ccf102015bd7cb28b62f1b2ad3ddd64\nReviewed-on: https://pdfium-review.googlesource.com/c/pdfium/+/154151\nReviewed-by: Lei Zhang \u003cthestig@chromium.org\u003e\nCommit-Queue: Tom Sepez \u003ctsepez@chromium.org\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "c783fa8bf4eaf3089570b1896adfc6a655b35dd9",
      "old_mode": 33188,
      "old_path": "core/fxcodec/gif/cfx_gifcontext.cpp",
      "new_id": "435b8b243c035404450ff2bf1b4ea2b93c9a6b5d",
      "new_mode": 33188,
      "new_path": "core/fxcodec/gif/cfx_gifcontext.cpp"
    },
    {
      "type": "modify",
      "old_id": "9a62100aaef0870c0d22cc938629ecf936676274",
      "old_mode": 33188,
      "old_path": "core/fxcodec/gif/cfx_gifcontext.h",
      "new_id": "818aeaf43661fac166375d0ebf6193ad571ce86f",
      "new_mode": 33188,
      "new_path": "core/fxcodec/gif/cfx_gifcontext.h"
    },
    {
      "type": "modify",
      "old_id": "a760049637cee85118cb0c0cf426775f759ce2fb",
      "old_mode": 33188,
      "old_path": "core/fxcodec/progressive_decoder.cpp",
      "new_id": "d7a862a2789cdd776d577c1850acb10954c54c87",
      "new_mode": 33188,
      "new_path": "core/fxcodec/progressive_decoder.cpp"
    },
    {
      "type": "modify",
      "old_id": "9313da986a1433c0412ac0fb8378afea583ea001",
      "old_mode": 33188,
      "old_path": "core/fxcodec/progressive_decoder.h",
      "new_id": "28dc969deebb64fba08c4256bc2bf84cfe79b6a4",
      "new_mode": 33188,
      "new_path": "core/fxcodec/progressive_decoder.h"
    }
  ]
}
