)]}'
{
  "commit": "012fe571c9fe430da68dbcd2f5ba21758db0ae15",
  "tree": "fcdb532e22827e19e83d878bc53dfdefa4a7c8ab",
  "parents": [
    "3c2bfd785f0f0c8a721241a37e1f2c6e6d85fec2"
  ],
  "author": {
    "name": "Andy Phan",
    "email": "andyphan@chromium.org",
    "time": "Thu Jan 30 15:35:41 2025 -0800"
  },
  "committer": {
    "name": "Pdfium LUCI CQ",
    "email": "pdfium-scoped@luci-project-accounts.iam.gserviceaccount.com",
    "time": "Thu Jan 30 15:35:41 2025 -0800"
  },
  "message": "Fix unnecessary tree traversal in SearchNameNodeByNameInternal()\n\nWhen SearchNameNodeByNameInternal() is searching the name tree for\n`csName`, it encounters nodes with limits, designating a range of what\npossible values can be found in its subtree. Logically, when one is\nsearching for `csName`, and encounters a node where `csName` is greater\nthan the node\u0027s greatest limit, that subtree should be skipped, and the\nnext sibling node (if it exists) should be processed instead. This was\nthe behavior prior to https://pdfium-review.googlesource.com/8271, but\nthat CL introduced a regression where the subtree still gets traversed\nanyway. This behavior might make sense when trying to add to the name\ntree, where there needs to be some tree balancing, but it is unnecessary\nwhen only searching the tree, leading to slow performance for PDFs with\nlarge name trees.\n\nFix this behavior by skipping the subtree when only trying to search for\n`csName`.\n\nBug: 372523840\nChange-Id: I805e0a32fbd6ffdbece6f831f1be6d3a977587fc\nReviewed-on: https://pdfium-review.googlesource.com/c/pdfium/+/128231\nReviewed-by: Lei Zhang \u003cthestig@chromium.org\u003e\nCommit-Queue: Andy Phan \u003candyphan@chromium.org\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "adfb8901c21ad34daadabd81a2b04a3d30f1c70d",
      "old_mode": 33188,
      "old_path": "core/fpdfdoc/cpdf_nametree.cpp",
      "new_id": "48157a9961b92a2e5b095ab70d1ee19b91f88625",
      "new_mode": 33188,
      "new_path": "core/fpdfdoc/cpdf_nametree.cpp"
    }
  ]
}
