)]}'
{
  "commit": "fc08db6a73d199eb1653e4fe9bdab2def7fc26f2",
  "tree": "22914d0608f6c08f15cbea2b8d30c9e4075ee9ed",
  "parents": [
    "a6d26535798a2db4b31e180590b990f45d12ae03"
  ],
  "author": {
    "name": "Tom Sepez",
    "email": "tsepez@google.com",
    "time": "Mon Nov 09 14:50:21 2026 -0800"
  },
  "committer": {
    "name": "pdfium-scoped@luci-project-accounts.iam.gserviceaccount.com",
    "email": "pdfium-scoped@luci-project-accounts.iam.gserviceaccount.com",
    "time": "Mon Nov 09 14:50:21 2026 -0800"
  },
  "message": "Use GCedVector for resolve processor candidate collections\n\nHold candidate collections in\n`CFXJSE_Engine::ResolveObjectsWithBindNode()` and\n`CFXJSE_ResolveProcessor::DoPredicateFilter()` via\n`cppgc::Persistent\u003cGCedVector\u003cCXFA_Object\u003e\u003e` instead of untraced\nstack-local vectors of `cppgc::Member\u003c\u003e`.\n\nThis keeps candidate nodes alive across arbitrary script execution\nduring predicate evaluation and nested resolution loops in face of\nsynchronous garbage collection.\n\nBug: 575092240\nChange-Id: I9d02e9d0c83fcdf5be611d616190065ad231590e\nReviewed-on: https://pdfium-review.googlesource.com/c/pdfium/+/163490\nReviewed-by: Lei Zhang \u003cthestig@chromium.org\u003e\nCommit-Queue: Tom Sepez \u003ctsepez@chromium.org\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "15f4bc94b9a52825ce3d9b07fc510c62a390ad5c",
      "old_mode": 33188,
      "old_path": "fxjs/xfa/cfxjse_engine.cpp",
      "new_id": "fd2d605be1ba18ba165c6a01bd04b4e49fe179da",
      "new_mode": 33188,
      "new_path": "fxjs/xfa/cfxjse_engine.cpp"
    },
    {
      "type": "modify",
      "old_id": "b74733d6e4690681c7962fa2641cc079e9ca0209",
      "old_mode": 33188,
      "old_path": "fxjs/xfa/cfxjse_resolveprocessor.cpp",
      "new_id": "96cec1b38e842602b440ee864b2efdbacaf5bc8c",
      "new_mode": 33188,
      "new_path": "fxjs/xfa/cfxjse_resolveprocessor.cpp"
    }
  ]
}
