)]}'
{
  "log": [
    {
      "commit": "5e5ca5c021e49818a61c830962a2670a814cf4e6",
      "tree": "f585fb4216b7dc2d640771fbda83908ad1e1e901",
      "parents": [
        "d5960c8270a7d06203316c2d6f0ba606547fdb07"
      ],
      "author": {
        "name": "pdfium-autoroll@skia-public.iam.gserviceaccount.com",
        "email": "pdfium-autoroll@skia-public.iam.gserviceaccount.com",
        "time": "Sun May 03 21:41:47 2026 -0700"
      },
      "committer": {
        "name": "pdfium-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "email": "pdfium-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Sun May 03 21:41:47 2026 -0700"
      },
      "message": "Roll goldctl from 308286ffe9c4 to 745819ef1cfa\n\nIf this roll has caused a breakage, revert this CL and stop the roller\nusing the controls here:\nhttps://autoroll.skia.org/r/goldctl-pdfium\nPlease CC andyphan@google.com,thestig@chromium.org on the revert to ensure that a human\nis aware of the problem.\n\nTo file a bug in goldctl: https://issues.skia.org\nTo file a bug in PDFium: https://crbug.com/pdfium\n\nTo report a problem with the AutoRoller itself, please file a bug:\nhttps://issues.skia.org/issues/new?component\u003d1389291\u0026template\u003d1850622\n\nDocumentation for the AutoRoller is here:\nhttps://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md\n\nBug: None\nTbr: andyphan@google.com\nChange-Id: I8d588f1ea15d046a4e76cb1a54d0566769bd18b6\nReviewed-on: https://pdfium-review.googlesource.com/c/pdfium/+/147150\nBot-Commit: pdfium-autoroll@skia-public.iam.gserviceaccount.com \u003cpdfium-autoroll@skia-public.iam.gserviceaccount.com\u003e\nCommit-Queue: pdfium-autoroll@skia-public.iam.gserviceaccount.com \u003cpdfium-autoroll@skia-public.iam.gserviceaccount.com\u003e\n"
    },
    {
      "commit": "d5960c8270a7d06203316c2d6f0ba606547fdb07",
      "tree": "756adfada1d83e997fc6956d1c64baae87a62487",
      "parents": [
        "55d86a5a9564021fcc85d9e8219f4588f80835f0"
      ],
      "author": {
        "name": "Lei Zhang",
        "email": "thestig@chromium.org",
        "time": "Thu Apr 30 10:42:46 2026 -0700"
      },
      "committer": {
        "name": "pdfium-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "email": "pdfium-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Thu Apr 30 10:42:46 2026 -0700"
      },
      "message": "Add experimental FPDFText_SetPositions() API\n\nAdd a new API so embedders can adjust the individual glyph positioning\nin a text object. The API uses absolute positions to avoid precision\nissues with float math that can happen with relative positions.\n\nBug: 491191097\nChange-Id: I7e79df5a60e6f615ec7836ff873f20997886369c\nReviewed-on: https://pdfium-review.googlesource.com/c/pdfium/+/144892\nCommit-Queue: Lei Zhang \u003cthestig@chromium.org\u003e\nReviewed-by: Andy Phan \u003candyphan@chromium.org\u003e\n"
    },
    {
      "commit": "55d86a5a9564021fcc85d9e8219f4588f80835f0",
      "tree": "5dfb1863ed02350e303e5f3590f7d70dba433ce3",
      "parents": [
        "416923ecacf11ef1fc69c5cd8d75ecdb5cbcb6bb"
      ],
      "author": {
        "name": "Lei Zhang",
        "email": "thestig@chromium.org",
        "time": "Thu Apr 30 10:41:01 2026 -0700"
      },
      "committer": {
        "name": "pdfium-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "email": "pdfium-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Thu Apr 30 10:41:01 2026 -0700"
      },
      "message": "Add 2 subsetted versions of NotoSans-Bengali font\n\nAdd subsetted versions of NotoSans-Bengali V2.003 and V3.011 to the\nthird_party directory. These fonts contain the glyphs for:\n\nপরিকল্পনা\n\nand they will be used in FPDFEditEmbedderTest as test data for complex\nscript handling in https://pdfium-review.googlesource.com/144892.\n\nChange-Id: If8c31334b937c18aa08f8f0e89d33f33663efc8f\nReviewed-on: https://pdfium-review.googlesource.com/c/pdfium/+/146950\nReviewed-by: Andy Phan \u003candyphan@chromium.org\u003e\nCommit-Queue: Lei Zhang \u003cthestig@chromium.org\u003e\n"
    },
    {
      "commit": "416923ecacf11ef1fc69c5cd8d75ecdb5cbcb6bb",
      "tree": "584ae1ad0919838b9d86e40b761aedc5fc06bb2f",
      "parents": [
        "e1decb6e4d295a8adf707bd376164fd437e91417"
      ],
      "author": {
        "name": "Aryan Krishnan",
        "email": "aryankrishnan4b@gmail.com",
        "time": "Tue Apr 28 19:23:41 2026 -0700"
      },
      "committer": {
        "name": "pdfium-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "email": "pdfium-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Tue Apr 28 19:23:41 2026 -0700"
      },
      "message": "Add helper functions to verify rectangle coordinates\n\nIntroduce the RectDouble struct and associated verification functions to\ntesting/utils/compare_coordinates.h to simplify bounding box assertions.\nThese helpers reduce boilerplate by grouping coordinate checks into\nsingle function calls, supporting both exact double equality and\nthree-decimal-place precision.\n\nIn addition to the local test helpers, this change adds\nCompareFS_RECTF_Three_Places to the common testing utilities and\ncorrects a logic error in CompareFS_RECTF where the top coordinate was\nbeing compared twice instead of checking the bottom coordinate.\n\nExisting tests are updated to use these new helpers, resulting in\ncleaner and more maintainable test code.\n\nChange-Id: I552c0667efdd1175fcc8ae2dbbb4fc3ed9ed316a\nReviewed-on: https://pdfium-review.googlesource.com/c/pdfium/+/145950\nReviewed-by: Lei Zhang \u003cthestig@chromium.org\u003e\nCommit-Queue: Aryan Krishnan \u003caryankrishnan4b@gmail.com\u003e\nReviewed-by: Andy Phan \u003candyphan@chromium.org\u003e\n"
    },
    {
      "commit": "e1decb6e4d295a8adf707bd376164fd437e91417",
      "tree": "f9501d897d3baf981471814342df4ed86e272ee6",
      "parents": [
        "6d88cd21f4bd645339f185c6bf1975cc3c4276a1"
      ],
      "author": {
        "name": "Lei Zhang",
        "email": "thestig@chromium.org",
        "time": "Mon Apr 27 13:35:35 2026 -0700"
      },
      "committer": {
        "name": "pdfium-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "email": "pdfium-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Mon Apr 27 13:35:35 2026 -0700"
      },
      "message": "Embed a font in vertical_text.pdf\n\nMake the behavior for vertical_text.pdf more consistent. Use a custom\nfont with glyphs from Noto Sans.\n\nChange-Id: Ib7cae6018c720cb0ab8932a6c64d2d77454901df\nReviewed-on: https://pdfium-review.googlesource.com/c/pdfium/+/146870\nReviewed-by: Andy Phan \u003candyphan@chromium.org\u003e\nCommit-Queue: Lei Zhang \u003cthestig@chromium.org\u003e\n"
    },
    {
      "commit": "6d88cd21f4bd645339f185c6bf1975cc3c4276a1",
      "tree": "eabb61a4e8d5f038e2175246d04ce0123c03f373",
      "parents": [
        "7a847da65882df2aa4fad40b94c33dc1f1a4fb8b"
      ],
      "author": {
        "name": "Lei Zhang",
        "email": "thestig@chromium.org",
        "time": "Mon Apr 27 13:04:51 2026 -0700"
      },
      "committer": {
        "name": "pdfium-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "email": "pdfium-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Mon Apr 27 13:04:51 2026 -0700"
      },
      "message": "Fix crashes in FPDFText_SetText() and FPDFText_SetCharcodes()\n\nBoth of these APIs will crash if the text / charcodes passed in is\nempty. Add/update embedder tests to trigger these crashes and\nimmediately fix them.\n\nChange-Id: If6efdf1a1987db93e9567caf4de5b573d6ab2450\nReviewed-on: https://pdfium-review.googlesource.com/c/pdfium/+/146851\nReviewed-by: Andy Phan \u003candyphan@chromium.org\u003e\nCommit-Queue: Lei Zhang \u003cthestig@chromium.org\u003e\n"
    },
    {
      "commit": "7a847da65882df2aa4fad40b94c33dc1f1a4fb8b",
      "tree": "7b4ebf6b50d80fd115fcb7773002ea393d4746bb",
      "parents": [
        "8f9c566f2bc723e7750f849ca1afcc236e40a8d6"
      ],
      "author": {
        "name": "Lei Zhang",
        "email": "thestig@chromium.org",
        "time": "Mon Apr 27 12:21:50 2026 -0700"
      },
      "committer": {
        "name": "pdfium-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "email": "pdfium-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Mon Apr 27 12:21:50 2026 -0700"
      },
      "message": "Do more testing in FPDFTextEmbedderTest.TextVertical\n\nCurrently, testing/resources/vertical_text.pdf, only uses Tj operators.\nDraw more text using the TJ operator to add some more variety. Then test\nthe loose char bounds for the new text in\nFPDFTextEmbedderTest.TextVertical.\n\nChange-Id: I0ef3ee5d86dfd24f3a8eb59a4d33299fe0f7597e\nReviewed-on: https://pdfium-review.googlesource.com/c/pdfium/+/146850\nReviewed-by: Andy Phan \u003candyphan@chromium.org\u003e\nCommit-Queue: Lei Zhang \u003cthestig@chromium.org\u003e\n"
    },
    {
      "commit": "8f9c566f2bc723e7750f849ca1afcc236e40a8d6",
      "tree": "6edbe31d6442698a8867594850edba11b0405607",
      "parents": [
        "e54ae3a36b536a3dfcd401782ae9d30d4673e5c1"
      ],
      "author": {
        "name": "pdfium-autoroll@skia-public.iam.gserviceaccount.com",
        "email": "pdfium-autoroll@skia-public.iam.gserviceaccount.com",
        "time": "Sun Apr 26 21:30:57 2026 -0700"
      },
      "committer": {
        "name": "pdfium-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "email": "pdfium-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Sun Apr 26 21:30:57 2026 -0700"
      },
      "message": "Roll Depot Tools from f5c816648d94 to 64b2927117d0 (57 revisions)\n\nhttps://chromium.googlesource.com/chromium/tools/depot_tools.git/+log/f5c816648d94..64b2927117d0\n\nIf this roll has caused a breakage, revert this CL and stop the roller\nusing the controls here:\nhttps://autoroll.skia.org/r/depot-tools-pdfium\nPlease CC thestig@chromium.org,thestig@google.com on the revert to ensure that a human\nis aware of the problem.\n\nTo report a problem with the AutoRoller itself, please file a bug:\nhttps://issues.skia.org/issues/new?component\u003d1389291\u0026template\u003d1850622\n\nDocumentation for the AutoRoller is here:\nhttps://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md\n\nBug: None\nTbr: thestig@google.com\nChange-Id: I3edbea85bd96d3b074a61d8eed546c09fdd881f4\nReviewed-on: https://pdfium-review.googlesource.com/c/pdfium/+/146890\nBot-Commit: pdfium-autoroll@skia-public.iam.gserviceaccount.com \u003cpdfium-autoroll@skia-public.iam.gserviceaccount.com\u003e\nCommit-Queue: pdfium-autoroll@skia-public.iam.gserviceaccount.com \u003cpdfium-autoroll@skia-public.iam.gserviceaccount.com\u003e\n"
    },
    {
      "commit": "e54ae3a36b536a3dfcd401782ae9d30d4673e5c1",
      "tree": "c32745512b92ea638ad6e8e5461ec2342601b241",
      "parents": [
        "e14569d5800ff6728c21a48c87271fb69dce8278"
      ],
      "author": {
        "name": "Aryan Krishnan",
        "email": "aryankrishnan4b@gmail.com",
        "time": "Fri Apr 24 14:48:54 2026 -0700"
      },
      "committer": {
        "name": "pdfium-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "email": "pdfium-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Fri Apr 24 14:48:54 2026 -0700"
      },
      "message": "Remove UNSAFE_BUFFERS in fx_crypt_sha.cpp\n\nUpdate the SHA implementation in fx_crypt_sha.cpp to remove the\nUNSAFE_BUFFERS macro.\n\nThe following macros were modified to remove UNSAFE_BUFFERS from:\n- SHA_GET_UINT32 and SHA_PUT_UINT32\n- SHA_GET_UINT64 and SHA_PUT_UINT64\n- R(t)\n\nBug: 503171645\nChange-Id: I5535976e1b3bbc5566208038b16d55bf593bbc27\nReviewed-on: https://pdfium-review.googlesource.com/c/pdfium/+/146310\nReviewed-by: Lei Zhang \u003cthestig@chromium.org\u003e\nReviewed-by: Andy Phan \u003candyphan@chromium.org\u003e\nCommit-Queue: Lei Zhang \u003cthestig@chromium.org\u003e\n"
    },
    {
      "commit": "e14569d5800ff6728c21a48c87271fb69dce8278",
      "tree": "a10f2795eefc8d77a077479dd12b44b0c36b9121",
      "parents": [
        "363134af38bc4305a53add2b73a4f829cdab8813"
      ],
      "author": {
        "name": "Tom Sepez",
        "email": "tsepez@google.com",
        "time": "Fri Apr 24 12:01:59 2026 -0700"
      },
      "committer": {
        "name": "pdfium-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "email": "pdfium-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Fri Apr 24 12:01:59 2026 -0700"
      },
      "message": "Fix potential UAF in CFFL_CheckBox::OnChar().\n\nAI suggested fix for AI detected issue.\n\nChrome is not affected, nor it it likely that other embedders are\naffected, either.\n\nTake the patch anyways as it makes the logic more correct.\n\nBug: 504418475\nChange-Id: I3a1936f7965ca128701f55ddff445c063df4d3c7\nReviewed-on: https://pdfium-review.googlesource.com/c/pdfium/+/146650\nReviewed-by: Lei Zhang \u003cthestig@chromium.org\u003e\nCommit-Queue: Tom Sepez \u003ctsepez@chromium.org\u003e\n"
    },
    {
      "commit": "363134af38bc4305a53add2b73a4f829cdab8813",
      "tree": "647c79c00e5eba48ef435c4ed373cf6264efc2bf",
      "parents": [
        "9e5d491ff73630b6a423689698290650050e7b3f"
      ],
      "author": {
        "name": "Aryan Krishnan",
        "email": "aryankrishnan4b@gmail.com",
        "time": "Fri Apr 24 10:19:21 2026 -0700"
      },
      "committer": {
        "name": "pdfium-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "email": "pdfium-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Fri Apr 24 10:19:21 2026 -0700"
      },
      "message": "Replace form filler style defines with Styles enum\n\nReplace the legacy bitmask-based window styles (PWS, PES, PLBS, and\nPCBS) with a dedicated PStyles enum and fxcrt::Mask. This refactoring\nimproves type safety and readability by eliminating manual bitwise\noperations on raw integers and providing a structured way to manage\ncomponent styles.\n\nKey modifications include:\n- Defined the PStyles enum in cpwl_wnd.h to replace the old macro\n  definitions with typed constants.\n- Updated CPWL_Wnd::CreateParams to use fxcrt::Mask\u003cStyles\u003e for the\n  dwFlags member instead of a uint32_t.\n- Adjusted CPWL_Wnd flag helper methods to accept and return the new\n  Mask type.\n- Updated all call sites across fpdfsdk to initialize and check style\n  settings using the new enum members.\n- Refined sub-style clearing logic in CPWL_Wnd::Create to use a mask\n  of relevant window styles.\n- Along the way also replace a few local hungarian variables viz.\n  dwFieldFlag, dwCreateFlags and the inputs of HasFlag() and\n  RemoveFlag() to use snake_case.\n\nBug: 42270078\nChange-Id: Ie2dfde5cd2227a95982d86094ac552bc5f4cf32b\nReviewed-on: https://pdfium-review.googlesource.com/c/pdfium/+/145410\nCommit-Queue: Lei Zhang \u003cthestig@chromium.org\u003e\nReviewed-by: Andy Phan \u003candyphan@chromium.org\u003e\nReviewed-by: Lei Zhang \u003cthestig@chromium.org\u003e\n"
    },
    {
      "commit": "9e5d491ff73630b6a423689698290650050e7b3f",
      "tree": "3721a7c2dab365c1c34b694c937f6ff191ca3849",
      "parents": [
        "cbc803d99ac3f36c05b46cd9546a42ccdef1824f"
      ],
      "author": {
        "name": "Tom Sepez",
        "email": "tsepez@google.com",
        "time": "Thu Apr 23 14:53:32 2026 -0700"
      },
      "committer": {
        "name": "pdfium-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "email": "pdfium-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Thu Apr 23 14:53:32 2026 -0700"
      },
      "message": "Add second form of GetForegroundTaskRunner() override.\n\nTechnically, not providing the override is not good because destructors\nare deferred. However, on GC finalization via the regular GC paths that\nalso run without stack, CPPGC always finishes sweeping and thus invokes\nthe destructors.\n\nNonetheless, this makes the XFA code more closely match what other\nembedders of CPPGC are doing.\n\n-- Gemini-suggested patch.\n\nFixed: 504548949\nChange-Id: I97719180c016b1fcf138190388e4f66b900dfa07\nReviewed-on: https://pdfium-review.googlesource.com/c/pdfium/+/146810\nCommit-Queue: Tom Sepez \u003ctsepez@chromium.org\u003e\nAuto-Submit: Tom Sepez \u003ctsepez@chromium.org\u003e\nReviewed-by: Lei Zhang \u003cthestig@chromium.org\u003e\n"
    },
    {
      "commit": "cbc803d99ac3f36c05b46cd9546a42ccdef1824f",
      "tree": "997a03168589a5d94fe9ddf0087259e881c415a5",
      "parents": [
        "df3e2a600e0d961f15f9b01d479550ff74f7124f"
      ],
      "author": {
        "name": "Lei Zhang",
        "email": "thestig@chromium.org",
        "time": "Thu Apr 23 13:39:07 2026 -0700"
      },
      "committer": {
        "name": "pdfium-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "email": "pdfium-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Thu Apr 23 13:39:07 2026 -0700"
      },
      "message": "Add CFXFontMapperSystemFontInfoTest for external font substitution\n\nAdd a test case to show CFX_FontMapper can request \"Helvetica-Oblique\"\nwith weight\u003d700. This can confuse the embedder and result in a\nsans-serif bold+italic substitute font.\n\nAlong the way, remove unnecessary gmock Times(1) calls, chain WillOnce()\ncalls, and simplify a buffer size check.\n\nBug: 500640684\nChange-Id: Iac6f1d85b08f914ea831e5fda35910462980206b\nReviewed-on: https://pdfium-review.googlesource.com/c/pdfium/+/145990\nReviewed-by: Andy Phan \u003candyphan@chromium.org\u003e\nCommit-Queue: Lei Zhang \u003cthestig@chromium.org\u003e\n"
    },
    {
      "commit": "df3e2a600e0d961f15f9b01d479550ff74f7124f",
      "tree": "b615fd691a0da1bbc614d4f3218c1258989ab7e4",
      "parents": [
        "346ee6bbdc5694697807f8de05be3d9c18ab3a7b"
      ],
      "author": {
        "name": "Tom Sepez",
        "email": "tsepez@google.com",
        "time": "Thu Apr 23 12:22:48 2026 -0700"
      },
      "committer": {
        "name": "pdfium-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "email": "pdfium-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Thu Apr 23 12:22:48 2026 -0700"
      },
      "message": "Do not truncate /Limits array for lookup-only operations\n\nClose a theoretical object invalidation while traversing links.\nIn Chrome\u0027s PDF viewer this primitive is not exploitable.\n\n-- Update test to account for different possible lengths.\n-- Gemini-generated patch, minus some verbosity, then cleaned up\n   significantly by the human.\n\nBug: 504555886\nChange-Id: Iaaad6d8cd9aecba07ab056cca638ad930bdc36f3\nReviewed-on: https://pdfium-review.googlesource.com/c/pdfium/+/146590\nCommit-Queue: Lei Zhang \u003cthestig@chromium.org\u003e\nCommit-Queue: Tom Sepez \u003ctsepez@chromium.org\u003e\nReviewed-by: Lei Zhang \u003cthestig@chromium.org\u003e\n"
    },
    {
      "commit": "346ee6bbdc5694697807f8de05be3d9c18ab3a7b",
      "tree": "f9bf9c8049a258aaf446d57917f4f77187c2cb60",
      "parents": [
        "d39027e3b83eba57d4e4431f5b6dbf3b1cae1075"
      ],
      "author": {
        "name": "Lei Zhang",
        "email": "thestig@chromium.org",
        "time": "Thu Apr 23 11:57:24 2026 -0700"
      },
      "committer": {
        "name": "pdfium-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "email": "pdfium-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Thu Apr 23 11:57:24 2026 -0700"
      },
      "message": "Mention FPDFPage_GetRotation() returns -1 on error\n\nUpdate the API documentation to mention the error case.\n\nChange-Id: I7d42d036c341145b33f94a6d3368ca44c405ce8e\nReviewed-on: https://pdfium-review.googlesource.com/c/pdfium/+/146791\nCommit-Queue: Lei Zhang \u003cthestig@chromium.org\u003e\nReviewed-by: Andy Phan \u003candyphan@chromium.org\u003e\n"
    },
    {
      "commit": "d39027e3b83eba57d4e4431f5b6dbf3b1cae1075",
      "tree": "acc8dd2a772e13b3d889e32234148830b7052d8d",
      "parents": [
        "dcc3dc6e7519a01e456e75e4ddf976c26e2f0799"
      ],
      "author": {
        "name": "Lei Zhang",
        "email": "thestig@chromium.org",
        "time": "Thu Apr 23 11:32:28 2026 -0700"
      },
      "committer": {
        "name": "pdfium-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "email": "pdfium-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Thu Apr 23 11:32:28 2026 -0700"
      },
      "message": "Refactor CPDF_Page::IsValidPageDictLoose()\n\nRemove a CPDF_Dictionary::KeyExist() call and check the\nCPDF_Dictionary::GetObjectFor() return value instead. This avoids an\nextra lookup.\n\nChange-Id: Ic0bf9edf5a17e4910502448615c0b32876bc5392\nReviewed-on: https://pdfium-review.googlesource.com/c/pdfium/+/146790\nCommit-Queue: Lei Zhang \u003cthestig@chromium.org\u003e\nReviewed-by: Andy Phan \u003candyphan@chromium.org\u003e\n"
    },
    {
      "commit": "dcc3dc6e7519a01e456e75e4ddf976c26e2f0799",
      "tree": "fe930be019175d2770e67a8e4b82a36a986a8d01",
      "parents": [
        "3fe931553d7c602f4f89644d5973000cf9f01be3"
      ],
      "author": {
        "name": "Lei Zhang",
        "email": "thestig@chromium.org",
        "time": "Thu Apr 23 10:39:35 2026 -0700"
      },
      "committer": {
        "name": "pdfium-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "email": "pdfium-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Thu Apr 23 10:39:35 2026 -0700"
      },
      "message": "Validate CPDF_Page\u0027s page dictionary input\n\nCPDF_Page currently does not validate the page dictionary it receives is\nvalid. This leads to inconsistent behavior when code in\nfpdf_editpage.cpp validates the page dictionary later. Fix this by\ncalling CPDF_Page::IsValidPageDictLoose() before creating CPDF_Page. Use\nIsValidPageDictLoose() to be tolerant of mildly out-of-spec PDFs.\n\nWithin CPDF_Page\u0027s constructor, make IsValidPageDictLoose() a\npre-condition. Then fix up the dictionary and add the /Type if it\nmissing. This ensures the rest of PDFium sees a spec-compliant page\ndictionary.\n\nBug: 504516117\nChange-Id: I6666ebd82c2dda6b5fd4a869677790c85b3752d3\nReviewed-on: https://pdfium-review.googlesource.com/c/pdfium/+/146712\nReviewed-by: Andy Phan \u003candyphan@chromium.org\u003e\nCommit-Queue: Lei Zhang \u003cthestig@chromium.org\u003e\n"
    },
    {
      "commit": "3fe931553d7c602f4f89644d5973000cf9f01be3",
      "tree": "f2799d9d6b4248249593a0145b7e1dd3a1587b87",
      "parents": [
        "c342bfb35a63f9899203867a5fc9375e4560b95c"
      ],
      "author": {
        "name": "Lei Zhang",
        "email": "thestig@chromium.org",
        "time": "Thu Apr 23 09:56:15 2026 -0700"
      },
      "committer": {
        "name": "pdfium-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "email": "pdfium-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Thu Apr 23 09:56:15 2026 -0700"
      },
      "message": "Fix page/pages dictionary confusion in CPDF_Document::TraversePDFPages()\n\nTraversePDFPages() checks for the lack of /Kids in a dictionary and\nassumes that dictionary is a page dictionary. Instead of blindly making\nthis assumption, call GetNodeType() and reject the dictionary if it is a\npages dictionary.\n\nWith this check in place, update testing/resources/redirect.pdf to have\na valid page so the associate embedder test passes. For this test, the\nprimary purpose is to test PDF redirection, not PDF parsing.\n\nFor CXFASimpleParserEmbedderTest.Bug216, update the test expectation, as\nthe purpose of this test is to make sure the input does not cause a\ncrash, not to make sure whether the PDF loads successfully or not.\n\nFor DocumentTest.PagesWithoutKids, the existing test expectations\nmatched the existing incorrect TraversePDFPages() behavior. Update it to\nmatch the new behavior and explain why that is correct.\n\nBug: 504516117\nChange-Id: I76722d0d1aff21b167af85a0c72a226380bec17c\nReviewed-on: https://pdfium-review.googlesource.com/c/pdfium/+/146770\nReviewed-by: Andy Phan \u003candyphan@chromium.org\u003e\nCommit-Queue: Lei Zhang \u003cthestig@chromium.org\u003e\n"
    },
    {
      "commit": "c342bfb35a63f9899203867a5fc9375e4560b95c",
      "tree": "6a625ea1ddcb79545693aaecc0b33a207d0e85f3",
      "parents": [
        "390975894a0ef4cceb6c508eaa86ec8411f78d19"
      ],
      "author": {
        "name": "Lei Zhang",
        "email": "thestig@chromium.org",
        "time": "Thu Apr 23 09:53:37 2026 -0700"
      },
      "committer": {
        "name": "pdfium-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "email": "pdfium-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Thu Apr 23 09:53:37 2026 -0700"
      },
      "message": "Add CPDF_Page::IsValidPageDictLoose()\n\nAdd a variation of CPDF_Page::IsValidPageDict() that allows /Type to be\nmissing. This will be used by CPDF_Page in [1] to ensure it received a\nvalid page dictionary, but not so too strict such that it rejects mildly\nout-of-spec PDFs.\n\n[1] https://pdfium-review.googlesource.com/146712\n\nBug: 504516117\nChange-Id: Ia89a69d2e1a018033650e9e8b81621fb20f57149\nReviewed-on: https://pdfium-review.googlesource.com/c/pdfium/+/146711\nReviewed-by: Andy Phan \u003candyphan@chromium.org\u003e\nCommit-Queue: Lei Zhang \u003cthestig@chromium.org\u003e\n"
    },
    {
      "commit": "390975894a0ef4cceb6c508eaa86ec8411f78d19",
      "tree": "320825985745379c260f5b8d278233fc95cf6725",
      "parents": [
        "af723b98f2da2d10e96f273fc673e0cedfa9b595"
      ],
      "author": {
        "name": "Lei Zhang",
        "email": "thestig@chromium.org",
        "time": "Thu Apr 23 09:51:48 2026 -0700"
      },
      "committer": {
        "name": "pdfium-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "email": "pdfium-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Thu Apr 23 09:51:48 2026 -0700"
      },
      "message": "Move page dict validation code to cpdf_page.cpp\n\nMove part of IsPageObject() from an anonymous namespace inside\nfpdf_editpage.cpp to cpdf_page.cpp as CPDF_Page::IsValidPageDict(). A\nvariation of this will be used in the near future in [1] to validate the\ninput to CPDF_Page\u0027s constructor. Add some unit tests, now that the code\nis more accessible.\n\n[1] https://pdfium-review.googlesource.com/146712\n\nBug: 504516117\nChange-Id: Ib678cb3f3a288882efceb6cd82f423dd9c551128\nReviewed-on: https://pdfium-review.googlesource.com/c/pdfium/+/146710\nReviewed-by: Andy Phan \u003candyphan@chromium.org\u003e\nCommit-Queue: Lei Zhang \u003cthestig@chromium.org\u003e\n"
    },
    {
      "commit": "af723b98f2da2d10e96f273fc673e0cedfa9b595",
      "tree": "f6469782104e0687ac7c779b0b04a530e6a196da",
      "parents": [
        "4421fc646e869d7e9f3f8ab267ab82ee1aa89b0f"
      ],
      "author": {
        "name": "Lei Zhang",
        "email": "thestig@chromium.org",
        "time": "Wed Apr 22 16:00:53 2026 -0700"
      },
      "committer": {
        "name": "pdfium-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "email": "pdfium-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Wed Apr 22 16:00:53 2026 -0700"
      },
      "message": "Make FPDFPage_InsertObject() return a bool\n\nLet embedders know if FPDFPage_InsertObject() failed. This makes it\nconsistent with FPDFPage_InsertObjectAtIndex(). Update all callers in\nfpdf_edit_embeddertest.cpp to check the return value.\n\nBug: 505063235\nChange-Id: I0ede6f56857fef7ed2c8f0e875f592a8c9c01492\nReviewed-on: https://pdfium-review.googlesource.com/c/pdfium/+/146692\nReviewed-by: Tom Sepez \u003ctsepez@chromium.org\u003e\nCommit-Queue: Lei Zhang \u003cthestig@chromium.org\u003e\n"
    },
    {
      "commit": "4421fc646e869d7e9f3f8ab267ab82ee1aa89b0f",
      "tree": "c8f2c75808fb648f62b8e01713806d2de7c48308",
      "parents": [
        "72c48203af29bb517fbe48556a6fef67c51ee2a4"
      ],
      "author": {
        "name": "Tom Sepez",
        "email": "tsepez@google.com",
        "time": "Wed Apr 22 11:27:15 2026 -0700"
      },
      "committer": {
        "name": "pdfium-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "email": "pdfium-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Wed Apr 22 11:27:15 2026 -0700"
      },
      "message": "Build example skrifa_cxx bridge in PDFium.\n\nGemini-integrated build of a example fontations patch taken from\n  https://github.com/googlefonts/fontations/pull/1820\n\n-- Include a simple test to parse one font file.\n\nChange-Id: I4e616cbd150f6aa2a3e7d1169148d3bf2a7d8468\nReviewed-on: https://pdfium-review.googlesource.com/c/pdfium/+/146410\nReviewed-by: Lei Zhang \u003cthestig@chromium.org\u003e\nCommit-Queue: Tom Sepez \u003ctsepez@chromium.org\u003e\n"
    },
    {
      "commit": "72c48203af29bb517fbe48556a6fef67c51ee2a4",
      "tree": "030cfba2548e29e429eddfcb0f19cdd4db53f49a",
      "parents": [
        "8161cecbee0237d5208be352bcfd2b6f75171434"
      ],
      "author": {
        "name": "Tom Sepez",
        "email": "tsepez@google.com",
        "time": "Wed Apr 22 11:09:39 2026 -0700"
      },
      "committer": {
        "name": "pdfium-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "email": "pdfium-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Wed Apr 22 11:09:39 2026 -0700"
      },
      "message": "Take .rustfmt.toml from Chrome repository\n\nOtherwise, `git cl format` will hit an error and stop formatting\nanything once we put more rust code in PDFium.\n\nChange-Id: I6bc1a8c8f6701495814c80632b1ea852c44d7dce\nReviewed-on: https://pdfium-review.googlesource.com/c/pdfium/+/146750\nAuto-Submit: Tom Sepez \u003ctsepez@chromium.org\u003e\nReviewed-by: Lei Zhang \u003cthestig@chromium.org\u003e\nCommit-Queue: Tom Sepez \u003ctsepez@chromium.org\u003e\n"
    },
    {
      "commit": "8161cecbee0237d5208be352bcfd2b6f75171434",
      "tree": "c21ba906090f3a018c8b5865f228f8b59ded5afa",
      "parents": [
        "5fb91098a894eaef1078b02e71eb1465363b3b89"
      ],
      "author": {
        "name": "Lei Zhang",
        "email": "thestig@chromium.org",
        "time": "Wed Apr 22 10:27:09 2026 -0700"
      },
      "committer": {
        "name": "pdfium-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "email": "pdfium-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Wed Apr 22 10:27:09 2026 -0700"
      },
      "message": "Improve CID TrueType font detection\n\nIn CPDF_CIDFont::Load(), ensure the font data matches the font\ndescriptor before calling CFX_Font::SetFontType().\n\nBug: 504420562\nChange-Id: Ic2895d2f32705d581b480b394478f2a81367f0c9\nReviewed-on: https://pdfium-review.googlesource.com/c/pdfium/+/146691\nReviewed-by: Tom Sepez \u003ctsepez@chromium.org\u003e\nCommit-Queue: Lei Zhang \u003cthestig@chromium.org\u003e\n"
    },
    {
      "commit": "5fb91098a894eaef1078b02e71eb1465363b3b89",
      "tree": "ef8a046f24f3600b858a7c7c8bb605bdf0bbbd8e",
      "parents": [
        "86997ba89a2a1da469a09e643a01f8e02290e201"
      ],
      "author": {
        "name": "Tom Sepez",
        "email": "tsepez@google.com",
        "time": "Wed Apr 22 09:44:44 2026 -0700"
      },
      "committer": {
        "name": "pdfium-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "email": "pdfium-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Wed Apr 22 09:44:44 2026 -0700"
      },
      "message": "Roll third_party/rust/ 847ac6aa3..d403e286a (17 commits)\n\nManual roll to pick up skrifa support from d403e286a47d\n\nhttps://chromium.googlesource.com/chromium/src/third_party/rust/+log/847ac6aa398f..d403e286a47d\n\nCreated with:\n  roll-dep third_party/rust\n\nChange-Id: Ic5698e5189988fa36b6227f55dac2aa1b7969793\nReviewed-on: https://pdfium-review.googlesource.com/c/pdfium/+/146670\nReviewed-by: Lei Zhang \u003cthestig@chromium.org\u003e\nCommit-Queue: Tom Sepez \u003ctsepez@chromium.org\u003e\n"
    },
    {
      "commit": "86997ba89a2a1da469a09e643a01f8e02290e201",
      "tree": "aeece6a77e4e186869852372133de5de4f8c86c5",
      "parents": [
        "5553c74255c2d41c5d68d8bed33925c0c73ae827"
      ],
      "author": {
        "name": "Tom Sepez",
        "email": "tsepez@google.com",
        "time": "Tue Apr 21 16:14:42 2026 -0700"
      },
      "committer": {
        "name": "pdfium-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "email": "pdfium-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Tue Apr 21 16:14:42 2026 -0700"
      },
      "message": "Make CFX_Face::GetPixelSize() and GetCharMapEncodingIdByIndex() private\n\nThese are now only called inside CFX_Face.\n\nChange-Id: I89b9ac196aa7426e32b561f3276f197472753abc\nReviewed-on: https://pdfium-review.googlesource.com/c/pdfium/+/146671\nCommit-Queue: Lei Zhang \u003cthestig@chromium.org\u003e\nAuto-Submit: Tom Sepez \u003ctsepez@chromium.org\u003e\nReviewed-by: Lei Zhang \u003cthestig@chromium.org\u003e\n"
    },
    {
      "commit": "5553c74255c2d41c5d68d8bed33925c0c73ae827",
      "tree": "b0acb41d1dc7588e6d5d0d5dfb3599961947e4e7",
      "parents": [
        "43d7e7335473060ea993d1029ee81e6b2b5d6f07"
      ],
      "author": {
        "name": "Tom Sepez",
        "email": "tsepez@google.com",
        "time": "Tue Apr 21 13:49:20 2026 -0700"
      },
      "committer": {
        "name": "pdfium-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "email": "pdfium-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Tue Apr 21 13:49:20 2026 -0700"
      },
      "message": "Keep persistent mapping in CFXJSE_Engine::NewNormalXFAObject().\n\n-- Update embedder test framework for both timers and CPPGC.\n\nBug: 504416752\nChange-Id: Iac5c0ca57fdf3cca8ea9a3703180bed847abe1c5\nReviewed-on: https://pdfium-review.googlesource.com/c/pdfium/+/146630\nCommit-Queue: Tom Sepez \u003ctsepez@chromium.org\u003e\nReviewed-by: Lei Zhang \u003cthestig@chromium.org\u003e\n"
    },
    {
      "commit": "43d7e7335473060ea993d1029ee81e6b2b5d6f07",
      "tree": "5c7d1631c40bc0919912ed3cb7003745a62d7c19",
      "parents": [
        "c7dec2a900e0684ce1e500eb9835c21d503eb640"
      ],
      "author": {
        "name": "Tom Sepez",
        "email": "tsepez@google.com",
        "time": "Mon Apr 20 16:47:07 2026 -0700"
      },
      "committer": {
        "name": "pdfium-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "email": "pdfium-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Mon Apr 20 16:47:07 2026 -0700"
      },
      "message": "Observe CPDFSDK_Annot across RenderWidget() call.\n\nTheoretical issue noted by Fortify.\n\nA Chrome-level POC is not feasible here but may be reachable\nnonetheless.\n\n-- Gemini-generated patch vetted by human.\n\nBug: 504551617\nChange-Id: I54b4ccb96abbe0c0a2c91341c97107402bf85113\nReviewed-on: https://pdfium-review.googlesource.com/c/pdfium/+/146610\nCommit-Queue: Tom Sepez \u003ctsepez@chromium.org\u003e\nReviewed-by: Lei Zhang \u003cthestig@chromium.org\u003e\n"
    },
    {
      "commit": "c7dec2a900e0684ce1e500eb9835c21d503eb640",
      "tree": "b84100bcf9d3a5fee0560f0e99fd0c86db7723a6",
      "parents": [
        "c98f828d9fb7cfe00554200d9310237c0f34e04b"
      ],
      "author": {
        "name": "Tom Sepez",
        "email": "tsepez@google.com",
        "time": "Mon Apr 20 12:14:41 2026 -0700"
      },
      "committer": {
        "name": "pdfium-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "email": "pdfium-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Mon Apr 20 12:14:41 2026 -0700"
      },
      "message": "Reset CFWL_Caret timer at mark time, not sweep time.\n\nCloses a theoretical window discovered by Fortify.\n\nGemini-generated fix, minus some verbosity.\n\n-- Chrome-level reproduction was found to be infeasible.\n-- Do the same for CFWL_ScrollBar.\n\nBug: 504545544\nChange-Id: I83611854d9851b25c874352215e05493dc3f610b\nReviewed-on: https://pdfium-review.googlesource.com/c/pdfium/+/146570\nCommit-Queue: Tom Sepez \u003ctsepez@chromium.org\u003e\nReviewed-by: Lei Zhang \u003cthestig@chromium.org\u003e\n"
    },
    {
      "commit": "c98f828d9fb7cfe00554200d9310237c0f34e04b",
      "tree": "e91502a2503864356d7f6e6ebfab40306a0bc873",
      "parents": [
        "2558d5d970fb3bf6c45e8580c20df91fb9c23ddd"
      ],
      "author": {
        "name": "pdfium-autoroll@skia-public.iam.gserviceaccount.com",
        "email": "pdfium-autoroll@skia-public.iam.gserviceaccount.com",
        "time": "Sun Apr 19 22:00:43 2026 -0700"
      },
      "committer": {
        "name": "pdfium-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "email": "pdfium-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Sun Apr 19 22:00:43 2026 -0700"
      },
      "message": "Roll Zlib from b80f1d1e5256 to 89921383f1f5 (2 revisions)\n\nhttps://chromium.googlesource.com/chromium/src/third_party/zlib.git/+log/b80f1d1e5256..89921383f1f5\n\nIf this roll has caused a breakage, revert this CL and stop the roller\nusing the controls here:\nhttps://autoroll.skia.org/r/zlib-pdfium\nPlease CC thestig@chromium.org,thestig@google.com on the revert to ensure that a human\nis aware of the problem.\n\nTo report a problem with the AutoRoller itself, please file a bug:\nhttps://issues.skia.org/issues/new?component\u003d1389291\u0026template\u003d1850622\n\nDocumentation for the AutoRoller is here:\nhttps://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md\n\nBug: None\nTbr: thestig@google.com\nChange-Id: I6269b29f8e1f50548ba9286f53ab49c6e715564e\nReviewed-on: https://pdfium-review.googlesource.com/c/pdfium/+/146530\nBot-Commit: pdfium-autoroll@skia-public.iam.gserviceaccount.com \u003cpdfium-autoroll@skia-public.iam.gserviceaccount.com\u003e\nCommit-Queue: pdfium-autoroll@skia-public.iam.gserviceaccount.com \u003cpdfium-autoroll@skia-public.iam.gserviceaccount.com\u003e\n"
    },
    {
      "commit": "2558d5d970fb3bf6c45e8580c20df91fb9c23ddd",
      "tree": "8d4d958b549b8a62e9a360c11cc8473ddef3d6c9",
      "parents": [
        "02318a973819211662afc834126a8961c4b946b0"
      ],
      "author": {
        "name": "Lei Zhang",
        "email": "thestig@chromium.org",
        "time": "Fri Apr 17 11:15:49 2026 -0700"
      },
      "committer": {
        "name": "pdfium-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "email": "pdfium-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Fri Apr 17 11:15:49 2026 -0700"
      },
      "message": "Bound FPDFText_GetLooseCharBox() top/bottom by /FontBBox\n\nValidate a font\u0027s /Ascent and /Descent values against the /FontBBox.\nCode is AI-generated.\n\nBug: 502757960\nChange-Id: I2f022a44e03cd24731f62626ec062f02508f4d5c\nReviewed-on: https://pdfium-review.googlesource.com/c/pdfium/+/146371\nReviewed-by: Tom Sepez \u003ctsepez@chromium.org\u003e\nCommit-Queue: Lei Zhang \u003cthestig@chromium.org\u003e\n"
    },
    {
      "commit": "02318a973819211662afc834126a8961c4b946b0",
      "tree": "6412b497e6702b04f688796ff6fdca3c9b15dc09",
      "parents": [
        "237fcde8016d61f801c00ebcf3ab111425b9c567"
      ],
      "author": {
        "name": "Lei Zhang",
        "email": "thestig@chromium.org",
        "time": "Thu Apr 16 16:09:29 2026 -0700"
      },
      "committer": {
        "name": "pdfium-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "email": "pdfium-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Thu Apr 16 16:09:29 2026 -0700"
      },
      "message": "Add test for FPDFText_GetLooseCharBox() behavior with bad ascent value\n\nDemonstrate what happens with FPDFText_GetLooseCharBox() when a\n/FontDescriptor has bad ascent (and descent) values.\n\nWhen https://pdfium-review.googlesource.com/c/144110 switched back to\nusing ascent/descent values for FPDFText_GetLooseCharBox(), bad\nascent/descent values cause the API to return extremely large character\nboxes.\n\nBug: 502757960\nChange-Id: I149dbabcb1b1417d4c2c86bd0689c92482352186\nReviewed-on: https://pdfium-review.googlesource.com/c/pdfium/+/146390\nReviewed-by: Tom Sepez \u003ctsepez@chromium.org\u003e\nCommit-Queue: Lei Zhang \u003cthestig@chromium.org\u003e\n"
    },
    {
      "commit": "237fcde8016d61f801c00ebcf3ab111425b9c567",
      "tree": "20769e47d5e3ae09cf0686788e28ee0ecebd38a4",
      "parents": [
        "b28cdcbd7e698b53c47c00fd68a5f38399c0d028"
      ],
      "author": {
        "name": "April Kallmeyer",
        "email": "ask@chromium.org",
        "time": "Thu Apr 16 14:11:37 2026 -0700"
      },
      "committer": {
        "name": "pdfium-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "email": "pdfium-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Thu Apr 16 14:11:37 2026 -0700"
      },
      "message": "Add a test to demonstrate a PDF flattening bug\n\nThis test is showing incorrect behavior and still needs a fix. The\nAcroForm should be removed from the document after flattening.\n\nBug: 498010830\nChange-Id: I26a79ce441aca58087345eff2823b05d43f2530b\nReviewed-on: https://pdfium-review.googlesource.com/c/pdfium/+/145690\nReviewed-by: Lei Zhang \u003cthestig@chromium.org\u003e\nAuto-Submit: April Kallmeyer \u003cask@chromium.org\u003e\nCommit-Queue: April Kallmeyer \u003cask@chromium.org\u003e\nReviewed-by: Tom Sepez \u003ctsepez@chromium.org\u003e\n"
    },
    {
      "commit": "b28cdcbd7e698b53c47c00fd68a5f38399c0d028",
      "tree": "0024beec8a7199ae3460d03e93f493e219f0271e",
      "parents": [
        "4e99d154287e077c0d286f114c5ed85987c88bad"
      ],
      "author": {
        "name": "Aryan Krishnan",
        "email": "aryankrishnan4b@gmail.com",
        "time": "Tue Apr 14 13:43:00 2026 -0700"
      },
      "committer": {
        "name": "pdfium-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "email": "pdfium-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Tue Apr 14 13:43:00 2026 -0700"
      },
      "message": "Replace CHARSET_FLAG macros with CharsetFlag enum\n\nUpdate the charset handling in CFX_FolderFontInfo by replacing legacy\npreprocessor macros with a scoped CharsetFlag enum class. This\nmodernization leverages fxcrt::Mask for type-safe bitwise operations on\nfont face information.\n\nKey modifications:\n- Define CharsetFlag as a scoped enum within FontFaceInfo to\n  provide better type safety and namespace isolation.\n- Transition the charsets_ member and IsEligibleForFindFont()\n  parameter from raw uint32_t to CharsetFlag types.\n- Relocate GetCharset() from the anonymous namespace into\n  FontFaceInfo as a private static method for better encapsulation.\n- Update unit tests to utilize the new named constants instead of\n  the deprecated integer flags.\n\nBug: 42270078\nChange-Id: Iad4046d423162bdbf60f42f8c1528e53bee76238\nReviewed-on: https://pdfium-review.googlesource.com/c/pdfium/+/145670\nReviewed-by: Lei Zhang \u003cthestig@chromium.org\u003e\nCommit-Queue: Tom Sepez \u003ctsepez@chromium.org\u003e\nReviewed-by: Tom Sepez \u003ctsepez@chromium.org\u003e\n"
    },
    {
      "commit": "4e99d154287e077c0d286f114c5ed85987c88bad",
      "tree": "494580a08b34d0b0b132d243bbb1d9bcfcd6cfed",
      "parents": [
        "bd186405786cc515bec35e5584e764803d5446e4"
      ],
      "author": {
        "name": "Lei Zhang",
        "email": "thestig@chromium.org",
        "time": "Tue Apr 14 13:00:09 2026 -0700"
      },
      "committer": {
        "name": "pdfium-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "email": "pdfium-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Tue Apr 14 13:00:09 2026 -0700"
      },
      "message": "Roll third_party/harfbuzz/src/ fa2908bf1..4fc961392 (694 commits)\n\nhttps://chromium.googlesource.com/external/github.com/harfbuzz/harfbuzz.git/+log/fa2908bf16d2..4fc96139259e\n\nCreated with:\n  roll-dep third_party/harfbuzz/src\n\nChange-Id: Ic666507fd81251e40bb50cf4a114ea794b8a43c3\nReviewed-on: https://pdfium-review.googlesource.com/c/pdfium/+/146270\nReviewed-by: Tom Sepez \u003ctsepez@chromium.org\u003e\nCommit-Queue: Lei Zhang \u003cthestig@chromium.org\u003e\n"
    },
    {
      "commit": "bd186405786cc515bec35e5584e764803d5446e4",
      "tree": "f3d351c24982a80d104cf828655006b9b8efe208",
      "parents": [
        "a05c20f2f600701f4ae8e1a5a9893b8a7ecd7b7c"
      ],
      "author": {
        "name": "Aryan Krishnan",
        "email": "aryankrishnan4b@gmail.com",
        "time": "Tue Apr 14 10:58:50 2026 -0700"
      },
      "committer": {
        "name": "pdfium-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "email": "pdfium-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Tue Apr 14 10:58:50 2026 -0700"
      },
      "message": "Remove XFA_ELEMENT_SUBMIT_ENABLED code\n\nRemove the code guarded by the PDF_XFA_ELEMENT_SUBMIT_ENABLED\npreprocessor definition in fpdfxfa/ and xfa/fxfa/. This code is\ncurrently not included in the build and has suffered from bitrot.\n\nThe removal includes several submission-related helper functions,\ndefinitions for XFA configuration flags, and the main Submit and\nSubmitInternal logic. Cleaning up these unused portions reduces\ntechnical debt and clarifies the active codebase.\n\nBug: 41403860\nChange-Id: I97f68b0e19250476aea5745bee34b97bb6406b2c\nReviewed-on: https://pdfium-review.googlesource.com/c/pdfium/+/145270\nReviewed-by: Tom Sepez \u003ctsepez@chromium.org\u003e\nReviewed-by: Lei Zhang \u003cthestig@chromium.org\u003e\nCommit-Queue: Tom Sepez \u003ctsepez@chromium.org\u003e\n"
    },
    {
      "commit": "a05c20f2f600701f4ae8e1a5a9893b8a7ecd7b7c",
      "tree": "7b66efcd97fff04d57042f2facc8bd3bcce11001",
      "parents": [
        "a7a57805f375e5f6b69a2142c81442c26e9ff83f"
      ],
      "author": {
        "name": "Tom Sepez",
        "email": "tsepez@google.com",
        "time": "Mon Apr 13 13:59:43 2026 -0700"
      },
      "committer": {
        "name": "pdfium-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "email": "pdfium-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Mon Apr 13 13:59:43 2026 -0700"
      },
      "message": "Avoid check in CPDF_SecurityHandler::GetUserPassword().\n\nA malformed PDF with an overlong /O entry can trigger the check.\nInstead, discard the overlong portion. Might have been an OOB,\nexcept for spans.\n\nBug: 502027876\nChange-Id: I29ade1a72d7252b3b22ed8cae7e6a3377fc99330\nReviewed-on: https://pdfium-review.googlesource.com/c/pdfium/+/146230\nCommit-Queue: Tom Sepez \u003ctsepez@chromium.org\u003e\nReviewed-by: Lei Zhang \u003cthestig@chromium.org\u003e\n"
    },
    {
      "commit": "a7a57805f375e5f6b69a2142c81442c26e9ff83f",
      "tree": "1685bfddc71b62e89bddcbe9de792fc994281208",
      "parents": [
        "f1993648adffcc4d576ba3ce93b05dc00136b87a"
      ],
      "author": {
        "name": "Aryan Krishnan",
        "email": "aryankrishnan4b@gmail.com",
        "time": "Mon Apr 13 13:03:49 2026 -0700"
      },
      "committer": {
        "name": "pdfium-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "email": "pdfium-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Mon Apr 13 13:03:49 2026 -0700"
      },
      "message": "Replace macro-based modifiers with WSTRModifiers enum\n\nIntroduce a WSTRModifiers enum to replace the legacy FORCE_ANSI,\nFORCE_UNICODE, and FORCE_INT64 macros in WideString. Using a structured\ntype instead of bitwise OR operations on integer flags improves type\nsafety and code readability.\n\nThe string formatting logic is refactored to use these boolean flags.\nSpecifically, the handling of character and string types (\u0027c\u0027, \u0027C\u0027, \u0027s\u0027,\n\u0027S\u0027) is consolidated. By determining the width of the expected argument\n(wide vs. narrow) based on the format character and the modifiers\nupfront, the code eliminates redundant switch cases and reduces\nduplication when calculating item lengths.\n\nChange-Id: I7e11eeea797590fca3c59260bf5c98f10567ff8d\nReviewed-on: https://pdfium-review.googlesource.com/c/pdfium/+/145311\nReviewed-by: Tom Sepez \u003ctsepez@chromium.org\u003e\nReviewed-by: Lei Zhang \u003cthestig@chromium.org\u003e\nCommit-Queue: Tom Sepez \u003ctsepez@chromium.org\u003e\n"
    },
    {
      "commit": "f1993648adffcc4d576ba3ce93b05dc00136b87a",
      "tree": "57839ad44c0bf7543b5b7703bf43b0f68e7b6776",
      "parents": [
        "1cc96739ef9631f5cdc37edd6d817127a437e32d"
      ],
      "author": {
        "name": "Tom Sepez",
        "email": "tsepez@google.com",
        "time": "Mon Apr 13 12:47:58 2026 -0700"
      },
      "committer": {
        "name": "pdfium-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "email": "pdfium-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Mon Apr 13 12:47:58 2026 -0700"
      },
      "message": "Use a result struct in CBC_TwoDimWriter classes.\n\nAvoid out-parameters and failure to properly initialize them in all\nfailure cases.\n\n-- Declare a common result struct in the parent class.\n\nBug: 501339417\nChange-Id: I6c614f27a1a27db82cc1b3c4ab065f8d85984ab6\nReviewed-on: https://pdfium-review.googlesource.com/c/pdfium/+/146050\nReviewed-by: Lei Zhang \u003cthestig@chromium.org\u003e\nCommit-Queue: Tom Sepez \u003ctsepez@chromium.org\u003e\n"
    },
    {
      "commit": "1cc96739ef9631f5cdc37edd6d817127a437e32d",
      "tree": "ace86e4b659f854fc8f90bf5fef29451f4e13ce5",
      "parents": [
        "1cd0c70c461d36408f90cb00cc3110e0cc1df5dd"
      ],
      "author": {
        "name": "Tom Sepez",
        "email": "tsepez@google.com",
        "time": "Mon Apr 13 12:13:19 2026 -0700"
      },
      "committer": {
        "name": "pdfium-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "email": "pdfium-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Mon Apr 13 12:13:19 2026 -0700"
      },
      "message": "Remove CPDFSDK_FormFillEnvironment::GetFormFillInfo()\n\nEncapsulate FPDF_FORMFILLINFO usage within CPDFSDK_FormFillEnvironment.\n\nChange-Id: I3b36353312695fc8ceefe2025aa81d013d65805a\nReviewed-on: https://pdfium-review.googlesource.com/c/pdfium/+/146112\nCommit-Queue: Tom Sepez \u003ctsepez@chromium.org\u003e\nReviewed-by: Lei Zhang \u003cthestig@chromium.org\u003e\n"
    },
    {
      "commit": "1cd0c70c461d36408f90cb00cc3110e0cc1df5dd",
      "tree": "2e4380e55822f54a758cd6366ae536039c671071",
      "parents": [
        "a2a7ceb05b002d33d8576cff44a19783884a4138"
      ],
      "author": {
        "name": "Lei Zhang",
        "email": "thestig@chromium.org",
        "time": "Mon Apr 13 11:16:38 2026 -0700"
      },
      "committer": {
        "name": "pdfium-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "email": "pdfium-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Mon Apr 13 11:16:38 2026 -0700"
      },
      "message": "Update siso_version to 7bcc56206d234b3024df08ffd4ee6d40eea32623\n\nChange-Id: I65ea1cfa2acbd8b0257bddc5f2ce6da4562898ab\nReviewed-on: https://pdfium-review.googlesource.com/c/pdfium/+/146190\nCommit-Queue: Lei Zhang \u003cthestig@chromium.org\u003e\nReviewed-by: Tom Sepez \u003ctsepez@chromium.org\u003e\n"
    },
    {
      "commit": "a2a7ceb05b002d33d8576cff44a19783884a4138",
      "tree": "8549e3aff37502241f49af33119fc8ba5c7625c6",
      "parents": [
        "ee9b1a4794b44ee06129c5f1d3c83485970c1edb"
      ],
      "author": {
        "name": "Tom Sepez",
        "email": "tsepez@google.com",
        "time": "Mon Apr 13 11:06:08 2026 -0700"
      },
      "committer": {
        "name": "pdfium-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "email": "pdfium-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Mon Apr 13 11:06:08 2026 -0700"
      },
      "message": "Fix NULL-deref in CXFA_ViewLayoutProcessor::BreakOverflow()\n\nAvoids a NULL deref noticed while investigating the linked issue,\nbut not the issue itself.\n\n-- rename pointers per style guide.\n\nBug: 501057562\nChange-Id: I78fe378eca541598d7608bc5a5e46cb0cd7c1f9a\nReviewed-on: https://pdfium-review.googlesource.com/c/pdfium/+/146070\nReviewed-by: Lei Zhang \u003cthestig@chromium.org\u003e\nCommit-Queue: Tom Sepez \u003ctsepez@chromium.org\u003e\n"
    },
    {
      "commit": "ee9b1a4794b44ee06129c5f1d3c83485970c1edb",
      "tree": "8aefbe8b7116a72791783ea8593db0d82a21dd62",
      "parents": [
        "50905070d1cd46f642dbfe62726931149c779a40"
      ],
      "author": {
        "name": "Tom Sepez",
        "email": "tsepez@google.com",
        "time": "Mon Apr 13 10:31:56 2026 -0700"
      },
      "committer": {
        "name": "pdfium-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "email": "pdfium-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Mon Apr 13 10:31:56 2026 -0700"
      },
      "message": "Remove FFI_ from CPDFSK_FormFileEnvironment::FFI_GetAppName().\n\nIt does not call back into the embedder via the FPDF_FORMFILLINFO API,\nand makes auditing that API more difficult.\n\n-- Add \u0027Xfa\u0027 to name to distinguish from existing GetAppName().\n\nChange-Id: I7730434585bee12ddaccfccb8469e28960ef413f\nReviewed-on: https://pdfium-review.googlesource.com/c/pdfium/+/146111\nReviewed-by: Lei Zhang \u003cthestig@chromium.org\u003e\nCommit-Queue: Tom Sepez \u003ctsepez@chromium.org\u003e\n"
    },
    {
      "commit": "50905070d1cd46f642dbfe62726931149c779a40",
      "tree": "07543d5a127356050c571ff90dc0c89eda8dc7a3",
      "parents": [
        "0dd0a31f918faa6c901e864b1fb1ee60ec163ed7"
      ],
      "author": {
        "name": "Lei Zhang",
        "email": "thestig@chromium.org",
        "time": "Mon Apr 13 09:40:49 2026 -0700"
      },
      "committer": {
        "name": "pdfium-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "email": "pdfium-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Mon Apr 13 09:40:49 2026 -0700"
      },
      "message": "Patch another overflow in libtiff\n\nApply fix [1] from upstream, which is not in the most recent versioned\nrelease.\n\n[1] https://gitlab.com/libtiff/libtiff/-/commit/782a11d\n\nBug: 501144544\nChange-Id: Ie84fcac6b9145ac135a275c0f3aa28d731147e57\nReviewed-on: https://pdfium-review.googlesource.com/c/pdfium/+/146010\nCommit-Queue: Lei Zhang \u003cthestig@chromium.org\u003e\nReviewed-by: Tom Sepez \u003ctsepez@chromium.org\u003e\n"
    },
    {
      "commit": "0dd0a31f918faa6c901e864b1fb1ee60ec163ed7",
      "tree": "c65a9b07c0bc68edd8ef559759f7f0f4cda21d18",
      "parents": [
        "200b8881c04d93551276b81d7d908ddb53e0b5ba"
      ],
      "author": {
        "name": "pdfium-autoroll",
        "email": "pdfium-autoroll@skia-public.iam.gserviceaccount.com",
        "time": "Sun Apr 12 21:52:06 2026 -0700"
      },
      "committer": {
        "name": "Pdfium LUCI CQ",
        "email": "pdfium-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Sun Apr 12 21:52:06 2026 -0700"
      },
      "message": "Roll Code Coverage from 839c826036d4 to f9e72c2a3ad1 (7 revisions)\n\nhttps://chromium.googlesource.com/chromium/src/tools/code_coverage.git/+log/839c826036d4..f9e72c2a3ad1\n\nIf this roll has caused a breakage, revert this CL and stop the roller\nusing the controls here:\nhttps://autoroll.skia.org/r/code-coverage-pdfium\nPlease CC dhoss@chromium.org,thestig@chromium.org,thestig@google.com on the revert to ensure that a human\nis aware of the problem.\n\nTo report a problem with the AutoRoller itself, please file a bug:\nhttps://issues.skia.org/issues/new?component\u003d1389291\u0026template\u003d1850622\n\nDocumentation for the AutoRoller is here:\nhttps://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md\n\nBug: None\nTbr: thestig@google.com\nChange-Id: Ifd226d25ad1507e2de01dd89568b88fdf8411930\nReviewed-on: https://pdfium-review.googlesource.com/c/pdfium/+/146171\nBot-Commit: pdfium-autoroll \u003cpdfium-autoroll@skia-public.iam.gserviceaccount.com\u003e\nCommit-Queue: pdfium-autoroll \u003cpdfium-autoroll@skia-public.iam.gserviceaccount.com\u003e\n"
    },
    {
      "commit": "200b8881c04d93551276b81d7d908ddb53e0b5ba",
      "tree": "eae9c13bcfc0f9b8bde9635b874b2d0cb47d4f1a",
      "parents": [
        "f1ce6ba0dfe45ffcc0e38a7f9fa18888654887f3"
      ],
      "author": {
        "name": "pdfium-autoroll",
        "email": "pdfium-autoroll@skia-public.iam.gserviceaccount.com",
        "time": "Sun Apr 12 21:36:54 2026 -0700"
      },
      "committer": {
        "name": "Pdfium LUCI CQ",
        "email": "pdfium-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Sun Apr 12 21:36:54 2026 -0700"
      },
      "message": "Roll Catapult from 6ea42cfd29b4 to 7343182d94b7 (50 revisions)\n\nhttps://chromium.googlesource.com/catapult.git/+log/6ea42cfd29b4..7343182d94b7\n\nIf this roll has caused a breakage, revert this CL and stop the roller\nusing the controls here:\nhttps://autoroll.skia.org/r/catapult-pdfium\nPlease CC dhoss@chromium.org,thestig@chromium.org,thestig@google.com on the revert to ensure that a human\nis aware of the problem.\n\nTo report a problem with the AutoRoller itself, please file a bug:\nhttps://issues.skia.org/issues/new?component\u003d1389291\u0026template\u003d1850622\n\nDocumentation for the AutoRoller is here:\nhttps://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md\n\nBug: None\nTbr: thestig@google.com\nChange-Id: Ia7ceacd9d23510209bb581629ec69c5c7ae4140d\nReviewed-on: https://pdfium-review.googlesource.com/c/pdfium/+/146170\nCommit-Queue: pdfium-autoroll \u003cpdfium-autoroll@skia-public.iam.gserviceaccount.com\u003e\nBot-Commit: pdfium-autoroll \u003cpdfium-autoroll@skia-public.iam.gserviceaccount.com\u003e\n"
    },
    {
      "commit": "f1ce6ba0dfe45ffcc0e38a7f9fa18888654887f3",
      "tree": "18ff69ad568f757e5a0b408fd72c3d0a94a65330",
      "parents": [
        "f1d868b949125a970a3f67cf57a3793e84e077ff"
      ],
      "author": {
        "name": "Lei Zhang",
        "email": "thestig@chromium.org",
        "time": "Thu Apr 09 11:49:41 2026 -0700"
      },
      "committer": {
        "name": "Pdfium LUCI CQ",
        "email": "pdfium-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Thu Apr 09 11:49:41 2026 -0700"
      },
      "message": "Change CXFA_TextProvider::GetEmbeddedObj() to take a string view\n\nTake a string view instead of a string, since that is what\nGetEmbeddedObj() needs internally. In turn, change its only caller to\ncreate a string view and operate on the view instead of modifying the\nactual string.\n\nChange-Id: Ie8d2de2ca6e7291d0ade2abcd9d8b9ed7ce1084e\nReviewed-on: https://pdfium-review.googlesource.com/c/pdfium/+/145974\nReviewed-by: Tom Sepez \u003ctsepez@chromium.org\u003e\nCommit-Queue: Lei Zhang \u003cthestig@chromium.org\u003e\n"
    },
    {
      "commit": "f1d868b949125a970a3f67cf57a3793e84e077ff",
      "tree": "2b08d0842db0578f2a49078b38612b9ccdea7de1",
      "parents": [
        "4e18cc00ccc0eaaaa0ae91f07dd3cf4ef50bfcc2"
      ],
      "author": {
        "name": "Lei Zhang",
        "email": "thestig@chromium.org",
        "time": "Thu Apr 09 11:26:16 2026 -0700"
      },
      "committer": {
        "name": "Pdfium LUCI CQ",
        "email": "pdfium-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Thu Apr 09 11:26:16 2026 -0700"
      },
      "message": "Roll abseil, build, buildtools, clang and rust\n\nRoll third_party/abseil-cpp/ 2a7d49fc3..dd4432fb0 (1 commit)\n\nhttps://chromium.googlesource.com/chromium/src/third_party/abseil-cpp.git/+log/2a7d49fc392c..dd4432fb0258\n\nCreated with:\n  roll-dep third_party/abseil-cpp\n\nRoll build/ d1cac3b4c..08cae1166 (30 commits)\n\nhttps://chromium.googlesource.com/chromium/src/build.git/+log/d1cac3b4c4cf..08cae1166f77\n\nCreated with:\n  roll-dep build\n\nRoll buildtools/ fef8d6947..11cc2bd83 (3 commits)\n\nhttps://chromium.googlesource.com/chromium/src/buildtools.git/+log/fef8d6947fa5..11cc2bd83053\n\nCreated with:\n  roll-dep buildtools\n\nRoll tools/clang/ c5563f5d6..772ec0f7d (14 commits)\n\nhttps://chromium.googlesource.com/chromium/src/tools/clang/+log/c5563f5d6802..772ec0f7db79\n\nRoll clang+rust llvmorg-23-init-5669-g8a0be0bc-1 : llvmorg-23-init-5669-g8a0be0bc-4\n\nCreated with:\n  roll-dep tools/clang\n\nRoll third_party/rust/ 99af94d26..847ac6aa3 (62 commits)\n\nhttps://chromium.googlesource.com/chromium/src/third_party/rust/+log/99af94d26d9b..847ac6aa398f\n\nCreated with:\n  roll-dep third_party/rust\n\nRoll tools/rust/ 86b5fd79d..69bb79a13 (1 commit)\n\nhttps://chromium.googlesource.com/chromium/src/tools/rust/+log/86b5fd79d4b8..69bb79a132d3\n\nCreated with:\n  roll-dep tools/rust\n\nChange-Id: I970a437a473c6a5d8f972331c5c663824fe22d96\nReviewed-on: https://pdfium-review.googlesource.com/c/pdfium/+/145970\nCommit-Queue: Lei Zhang \u003cthestig@chromium.org\u003e\nReviewed-by: Tom Sepez \u003ctsepez@chromium.org\u003e\n"
    },
    {
      "commit": "4e18cc00ccc0eaaaa0ae91f07dd3cf4ef50bfcc2",
      "tree": "9b795713dce9648424109f339657a3d57778ab76",
      "parents": [
        "a3c2448b07d513ee4df0c6d47d8555ae615bc4e3"
      ],
      "author": {
        "name": "Lei Zhang",
        "email": "thestig@chromium.org",
        "time": "Thu Apr 09 10:59:37 2026 -0700"
      },
      "committer": {
        "name": "Pdfium LUCI CQ",
        "email": "pdfium-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Thu Apr 09 10:59:37 2026 -0700"
      },
      "message": "Update gn_version to 6e8dcdebbadf4f8aa75e6a4b6e0bdf89dce1513a\n\nChange-Id: I6ffcee5d585824bb34ca01e196c7eadc171914b5\nReviewed-on: https://pdfium-review.googlesource.com/c/pdfium/+/145973\nReviewed-by: Tom Sepez \u003ctsepez@chromium.org\u003e\nCommit-Queue: Lei Zhang \u003cthestig@chromium.org\u003e\n"
    },
    {
      "commit": "a3c2448b07d513ee4df0c6d47d8555ae615bc4e3",
      "tree": "c1f6a0617c891b7ce75cea23a5c78632ec1d8029",
      "parents": [
        "f0fde613687121ec9ce273edb4b6140cd888b658"
      ],
      "author": {
        "name": "Tom Sepez",
        "email": "tsepez@google.com",
        "time": "Thu Apr 09 10:55:31 2026 -0700"
      },
      "committer": {
        "name": "Pdfium LUCI CQ",
        "email": "pdfium-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Thu Apr 09 10:55:31 2026 -0700"
      },
      "message": "Convert some PDFium string indexing by [0] to Front()\n\nIndexing {Byte,Wide}Strings (as opposed to {Byte,Wide}StringViews)\nusually indicates an iteration pattern that can restrict the optimizer.\n\nTo avoid looking at instances while reading the code where there isn\u0027t\nany iteration, remove indexing by the constant 0. This theoretically\navoids some CHECKS() while not requiring new branches that can\u0027t be\noptimized away.\n\nChange-Id: Ie01b387fd5b6b460b58245cf89ec14630a5c0e28\nReviewed-on: https://pdfium-review.googlesource.com/c/pdfium/+/145790\nCommit-Queue: Tom Sepez \u003ctsepez@chromium.org\u003e\nReviewed-by: Lei Zhang \u003cthestig@chromium.org\u003e\n"
    },
    {
      "commit": "f0fde613687121ec9ce273edb4b6140cd888b658",
      "tree": "a6aa5d19a2ce03278fd61bb427ac2665466895ca",
      "parents": [
        "83c48205341cdd769acaecfec200b14145c18277"
      ],
      "author": {
        "name": "Tom Sepez",
        "email": "tsepez@google.com",
        "time": "Wed Apr 08 16:15:57 2026 -0700"
      },
      "committer": {
        "name": "Pdfium LUCI CQ",
        "email": "pdfium-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Wed Apr 08 16:15:57 2026 -0700"
      },
      "message": "Use fxcrt::Zip() in PDF_RenderStatus::LoadSMask().\n\nAvoid some bounds checking during iteration.\n\n-- Avoid some else-clauses while at it.\n\nChange-Id: Id48e4af24ae7d8abad5d18be438c24fd872df92f\nReviewed-on: https://pdfium-review.googlesource.com/c/pdfium/+/145930\nReviewed-by: Lei Zhang \u003cthestig@chromium.org\u003e\nCommit-Queue: Tom Sepez \u003ctsepez@chromium.org\u003e\n"
    },
    {
      "commit": "83c48205341cdd769acaecfec200b14145c18277",
      "tree": "964066ef7d21515e7c3380258e8cbd86ca3ccd79",
      "parents": [
        "f1e179a5b58a741e909a679f39f01c3be38eacda"
      ],
      "author": {
        "name": "Lei Zhang",
        "email": "thestig@chromium.org",
        "time": "Wed Apr 08 14:49:40 2026 -0700"
      },
      "committer": {
        "name": "Pdfium LUCI CQ",
        "email": "pdfium-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Wed Apr 08 14:49:40 2026 -0700"
      },
      "message": "Limit the maximum destination image size in CStretchEngine\n\nPick a sufficiently large, though arbitrary limit for CStretchEngine\u0027s\ndestination image width/height. This avoids undefined behavior if a\ndimension is INT_MIN. Make this check publicly available as\nCStretchEngine::IsValidDestinationDimension() and use it in\nCFX_SkiaDeviceDriver::StartDIBitsSkia() as well.\n\nBug: 499330946\nChange-Id: Id468fb2b7a6185a9b26745966da1caf641ce249f\nReviewed-on: https://pdfium-review.googlesource.com/c/pdfium/+/145931\nCommit-Queue: Lei Zhang \u003cthestig@chromium.org\u003e\nReviewed-by: Tom Sepez \u003ctsepez@chromium.org\u003e\n"
    },
    {
      "commit": "f1e179a5b58a741e909a679f39f01c3be38eacda",
      "tree": "7d44cc1e8a0ebd6cb8b05dd95a9a49e20188d744",
      "parents": [
        "bd341b2459430530bacd52a6bb2aa37308b78300"
      ],
      "author": {
        "name": "Lei Zhang",
        "email": "thestig@chromium.org",
        "time": "Wed Apr 08 12:41:25 2026 -0700"
      },
      "committer": {
        "name": "Pdfium LUCI CQ",
        "email": "pdfium-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Wed Apr 08 12:41:25 2026 -0700"
      },
      "message": "Roll base/allocator/partition_allocator/ 2157c84d9..8013b1e0c (18 commits)\n\nhttps://chromium.googlesource.com/chromium/src/base/allocator/partition_allocator.git/+log/2157c84d9a0d..8013b1e0ce43\n\nCreated with:\n  roll-dep base/allocator/partition_allocator\n\nChange-Id: I512121f5b090466ff821b8bfb9557538bf70b2d4\nReviewed-on: https://pdfium-review.googlesource.com/c/pdfium/+/145910\nReviewed-by: Tom Sepez \u003ctsepez@chromium.org\u003e\nCommit-Queue: Lei Zhang \u003cthestig@chromium.org\u003e\n"
    },
    {
      "commit": "bd341b2459430530bacd52a6bb2aa37308b78300",
      "tree": "6b5c7e71da0a639be32c936bbf45250bf03be0a1",
      "parents": [
        "3ac598f53f45473f9aa189e9154c5882c8c46f34"
      ],
      "author": {
        "name": "Lei Zhang",
        "email": "thestig@chromium.org",
        "time": "Wed Apr 08 11:49:00 2026 -0700"
      },
      "committer": {
        "name": "Pdfium LUCI CQ",
        "email": "pdfium-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Wed Apr 08 11:49:00 2026 -0700"
      },
      "message": "Roll third_party/llvm-libc/src/ 044963a25..2a826f2fd (129 commits)\n\nhttps://chromium.googlesource.com/external/github.com/llvm/llvm-project/libc.git/+log/044963a253be..2a826f2fda3c\n\nCreated with:\n  roll-dep third_party/llvm-libc/src\n\nChange-Id: I728c1a47b9571a283ea6839eec7b4e3a9f3ddad2\nReviewed-on: https://pdfium-review.googlesource.com/c/pdfium/+/145871\nReviewed-by: Tom Sepez \u003ctsepez@chromium.org\u003e\nCommit-Queue: Lei Zhang \u003cthestig@chromium.org\u003e\n"
    },
    {
      "commit": "3ac598f53f45473f9aa189e9154c5882c8c46f34",
      "tree": "9294faef59a55f12f989c1a46bc1e44d3023c21d",
      "parents": [
        "fec55db6075b703578f561f7f52a3b1925ae65af"
      ],
      "author": {
        "name": "Lei Zhang",
        "email": "thestig@chromium.org",
        "time": "Wed Apr 08 11:41:49 2026 -0700"
      },
      "committer": {
        "name": "Pdfium LUCI CQ",
        "email": "pdfium-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Wed Apr 08 11:41:49 2026 -0700"
      },
      "message": "Roll third_party/libunwind/src/ db838d918..6ca46ff28 (5 commits)\n\nhttps://chromium.googlesource.com/external/github.com/llvm/llvm-project/libunwind.git/+log/db838d918570..6ca46ff28e35\n\nCreated with:\n  roll-dep third_party/libunwind/src\n\nChange-Id: I971c2051db1649d74d3da46a886f6208cd6ce873\nReviewed-on: https://pdfium-review.googlesource.com/c/pdfium/+/145890\nReviewed-by: Tom Sepez \u003ctsepez@chromium.org\u003e\nCommit-Queue: Lei Zhang \u003cthestig@chromium.org\u003e\n"
    },
    {
      "commit": "fec55db6075b703578f561f7f52a3b1925ae65af",
      "tree": "3c8159b2032dec3a7ebc645764284741285dc487",
      "parents": [
        "f5142fa981f4042c718187d32a2c225756c0bd76"
      ],
      "author": {
        "name": "Lei Zhang",
        "email": "thestig@chromium.org",
        "time": "Wed Apr 08 11:41:22 2026 -0700"
      },
      "committer": {
        "name": "Pdfium LUCI CQ",
        "email": "pdfium-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Wed Apr 08 11:41:22 2026 -0700"
      },
      "message": "Roll third_party/icu/ a86a32e67..ff7995a70 (9 commits)\n\nhttps://chromium.googlesource.com/chromium/deps/icu.git/+log/a86a32e67b8d..ff7995a708a1\n\nCreated with:\n  roll-dep third_party/icu\n\nChange-Id: I186056756ab230e03daaeaabe2f795f7c68e570e\nReviewed-on: https://pdfium-review.googlesource.com/c/pdfium/+/145870\nReviewed-by: Tom Sepez \u003ctsepez@chromium.org\u003e\nCommit-Queue: Lei Zhang \u003cthestig@chromium.org\u003e\n"
    },
    {
      "commit": "f5142fa981f4042c718187d32a2c225756c0bd76",
      "tree": "be98ffc905a433c7efb665d23165ba18ef182d1c",
      "parents": [
        "8536b4348e8b959fb62a3781f6dd8a0809a28278"
      ],
      "author": {
        "name": "Tom Sepez",
        "email": "tsepez@google.com",
        "time": "Wed Apr 08 09:48:32 2026 -0700"
      },
      "committer": {
        "name": "Pdfium LUCI CQ",
        "email": "pdfium-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Wed Apr 08 09:48:32 2026 -0700"
      },
      "message": "Fix length botch in  CPDF_StreamContentParser::FindColorSpace()\n\n`name` starts with the 6-character prefix \"Device\" per if-statement, but\n`Substr(7)` skips the first 7 characters. For \"DeviceCMYK\" it results in\n\"DefaultMYK\". The intent here was clearly to look up \"DefaultCMYK\".\n\nFlaw detected by Gemini review of previous patch.\n\nChange-Id: I103bbfad65cf6262f64b2df94cf0f3a4110b7b7a\nReviewed-on: https://pdfium-review.googlesource.com/c/pdfium/+/145850\nCommit-Queue: Tom Sepez \u003ctsepez@chromium.org\u003e\nReviewed-by: Lei Zhang \u003cthestig@chromium.org\u003e\n"
    },
    {
      "commit": "8536b4348e8b959fb62a3781f6dd8a0809a28278",
      "tree": "c75c57030139c5804d125ae62188dcfa3dbaab75",
      "parents": [
        "6f48a06aceada17cd1f03b7f31cd05dc07e2a946"
      ],
      "author": {
        "name": "Tom Sepez",
        "email": "tsepez@google.com",
        "time": "Tue Apr 07 18:16:24 2026 -0700"
      },
      "committer": {
        "name": "Pdfium LUCI CQ",
        "email": "pdfium-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Tue Apr 07 18:16:24 2026 -0700"
      },
      "message": "Convert some {Byte,Wide}String::Last() calls to Substr().\n\nGemini generated patch once human realized that many of these\nless-readable expressions abound.\n\nChange-Id: Id0baf48847395be56b15f0e4187bdeecd91b3fd4\nReviewed-on: https://pdfium-review.googlesource.com/c/pdfium/+/145830\nReviewed-by: Lei Zhang \u003cthestig@chromium.org\u003e\nCommit-Queue: Tom Sepez \u003ctsepez@chromium.org\u003e\n"
    },
    {
      "commit": "6f48a06aceada17cd1f03b7f31cd05dc07e2a946",
      "tree": "51f63801d669e31f1d1c71949f7e7e82933000fe",
      "parents": [
        "bce2e672827992dcd7289e2872ca10c5c20bf056"
      ],
      "author": {
        "name": "Lei Zhang",
        "email": "thestig@chromium.org",
        "time": "Tue Apr 07 17:37:24 2026 -0700"
      },
      "committer": {
        "name": "Pdfium LUCI CQ",
        "email": "pdfium-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Tue Apr 07 17:37:24 2026 -0700"
      },
      "message": "Roll third_party/skia/ 90b1d0b22..163dfdf50 (278 commits; 42 trivial rolls)\n\nhttps://skia.googlesource.com/skia.git/+log/90b1d0b22a61..163dfdf500c7\n\nCreated with:\n  roll-dep third_party/skia\n\nChange-Id: I949150729f9f6b31026be33b5fd2a45cd3bc5e65\nReviewed-on: https://pdfium-review.googlesource.com/c/pdfium/+/145810\nReviewed-by: Tom Sepez \u003ctsepez@chromium.org\u003e\nAuto-Submit: Lei Zhang \u003cthestig@chromium.org\u003e\nCommit-Queue: Lei Zhang \u003cthestig@chromium.org\u003e\n"
    },
    {
      "commit": "bce2e672827992dcd7289e2872ca10c5c20bf056",
      "tree": "3059031c93b8019572e261f3eefa0f9d5fce5253",
      "parents": [
        "7302d52cb80e404d18578b058443b1cb6eb44b96"
      ],
      "author": {
        "name": "Tom Sepez",
        "email": "tsepez@google.com",
        "time": "Tue Apr 07 15:50:30 2026 -0700"
      },
      "committer": {
        "name": "Pdfium LUCI CQ",
        "email": "pdfium-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Tue Apr 07 15:50:30 2026 -0700"
      },
      "message": "Use safe arithmetic in CFX_PSRenderer::DrawDIBits()\n\nHardening suggestion from the AI bot.\n\nBug: 500036290\nChange-Id: Ie521629d06ba944f610b941a8c9e9505fa29aea7\nReviewed-on: https://pdfium-review.googlesource.com/c/pdfium/+/145731\nReviewed-by: Lei Zhang \u003cthestig@chromium.org\u003e\nCommit-Queue: Tom Sepez \u003ctsepez@chromium.org\u003e\n"
    },
    {
      "commit": "7302d52cb80e404d18578b058443b1cb6eb44b96",
      "tree": "32de76de3c35a470d11aa9d8ee0a42e490aa2770",
      "parents": [
        "d499e4dfc769cb9afedd40b82e3898ee1b3a30ed"
      ],
      "author": {
        "name": "Tom Sepez",
        "email": "tsepez@google.com",
        "time": "Tue Apr 07 10:24:45 2026 -0700"
      },
      "committer": {
        "name": "Pdfium LUCI CQ",
        "email": "pdfium-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Tue Apr 07 10:24:45 2026 -0700"
      },
      "message": "Return fixed-size spans from CPDF_TransferFunc.\n\nThen use fixed-sized spans in CPDF_TransferFuncDIB. The downside\nis that we need to give up raw_span since it isn\u0027t a fixed size\nspan.\n\nChange-Id: Ia3afec6bbe5b799a3d279dc60b66c62889f5b94f\nReviewed-on: https://pdfium-review.googlesource.com/c/pdfium/+/145751\nReviewed-by: Lei Zhang \u003cthestig@chromium.org\u003e\nCommit-Queue: Tom Sepez \u003ctsepez@chromium.org\u003e\n"
    },
    {
      "commit": "d499e4dfc769cb9afedd40b82e3898ee1b3a30ed",
      "tree": "752006f9979b188630cf14fa928214de0461f4cb",
      "parents": [
        "b76a7ae42872f98520dc1e299938ebdf9f57d1bb"
      ],
      "author": {
        "name": "Lei Zhang",
        "email": "thestig@chromium.org",
        "time": "Mon Apr 06 20:55:12 2026 -0700"
      },
      "committer": {
        "name": "Pdfium LUCI CQ",
        "email": "pdfium-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Mon Apr 06 20:55:12 2026 -0700"
      },
      "message": "Roll third_party/nasm/ af5eeeb05..452528587 (2 commits)\n\nhttps://chromium.googlesource.com/chromium/deps/nasm.git/+log/af5eeeb054be..45252858722a\n\nCreated with:\n  roll-dep third_party/nasm\n\nChange-Id: I7548b4895f609acd8c9b1c9cdf754f2f53cb8808\nReviewed-on: https://pdfium-review.googlesource.com/c/pdfium/+/145772\nCommit-Queue: Tom Sepez \u003ctsepez@chromium.org\u003e\nCommit-Queue: Lei Zhang \u003cthestig@chromium.org\u003e\nReviewed-by: Tom Sepez \u003ctsepez@chromium.org\u003e\nAuto-Submit: Lei Zhang \u003cthestig@chromium.org\u003e\n"
    },
    {
      "commit": "b76a7ae42872f98520dc1e299938ebdf9f57d1bb",
      "tree": "1d2fb6198691cac8f78b7b71f30a1e8cab01385a",
      "parents": [
        "22ac3a9d0e7430ef1255cb4aa4df6ec152553e94"
      ],
      "author": {
        "name": "Lei Zhang",
        "email": "thestig@chromium.org",
        "time": "Mon Apr 06 19:18:16 2026 -0700"
      },
      "committer": {
        "name": "Pdfium LUCI CQ",
        "email": "pdfium-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Mon Apr 06 19:18:16 2026 -0700"
      },
      "message": "Roll v8/ b210c794d..f9659283a (531 commits; 1 trivial rolls)\n\nhttps://chromium.googlesource.com/v8/v8.git/+log/b210c794d22b..f9659283a5f8\n\nVersion 14.8.178\n\nCreated with:\n  roll-dep v8\n\nChange-Id: Iffcbfadc82127c898e0ee5daad2488ef2ef30d9e\nReviewed-on: https://pdfium-review.googlesource.com/c/pdfium/+/145750\nReviewed-by: Tom Sepez \u003ctsepez@chromium.org\u003e\nCommit-Queue: Lei Zhang \u003cthestig@chromium.org\u003e\nAuto-Submit: Lei Zhang \u003cthestig@chromium.org\u003e\n"
    },
    {
      "commit": "22ac3a9d0e7430ef1255cb4aa4df6ec152553e94",
      "tree": "53e4583ec9c7028f9f30f81c61cc1a20e07894a3",
      "parents": [
        "29ce50207921bf2e551860f50787de9cbaac1b68"
      ],
      "author": {
        "name": "Tom Sepez",
        "email": "tsepez@google.com",
        "time": "Mon Apr 06 13:32:36 2026 -0700"
      },
      "committer": {
        "name": "Pdfium LUCI CQ",
        "email": "pdfium-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Mon Apr 06 13:32:36 2026 -0700"
      },
      "message": "Pass fixed-size span to GetBoundary().\n\nCHECK() once in caller that it is suitably sized.\n\nChange-Id: I682e90e29f1452dc402ef027a346078941671115\nReviewed-on: https://pdfium-review.googlesource.com/c/pdfium/+/145370\nCommit-Queue: Tom Sepez \u003ctsepez@chromium.org\u003e\nReviewed-by: Lei Zhang \u003cthestig@chromium.org\u003e\n"
    },
    {
      "commit": "29ce50207921bf2e551860f50787de9cbaac1b68",
      "tree": "091ef6a9d7043b8670b3211954849cc6620bafbb",
      "parents": [
        "ac42296ca9b06d1f25e58c91f65ec0fa37e64ab2"
      ],
      "author": {
        "name": "Tom Sepez",
        "email": "tsepez@google.com",
        "time": "Mon Apr 06 13:12:23 2026 -0700"
      },
      "committer": {
        "name": "Pdfium LUCI CQ",
        "email": "pdfium-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Mon Apr 06 13:12:23 2026 -0700"
      },
      "message": "Avoid interleaved load/stores during pixel processing.\n\nSomehow we didn\u0027t do this a long time ago ...\n\nChange-Id: I0050bd25497f15d987525e4a43f0ec9b51bb42fb\nReviewed-on: https://pdfium-review.googlesource.com/c/pdfium/+/145610\nReviewed-by: Lei Zhang \u003cthestig@chromium.org\u003e\nCommit-Queue: Tom Sepez \u003ctsepez@chromium.org\u003e\n"
    },
    {
      "commit": "ac42296ca9b06d1f25e58c91f65ec0fa37e64ab2",
      "tree": "97a400db1c16f21638288529ad6cb5cbbab8466a",
      "parents": [
        "07b7d6c49886f2f4d60ec03b16a8cc0f8e42085d"
      ],
      "author": {
        "name": "Tom Sepez",
        "email": "tsepez@google.com",
        "time": "Mon Apr 06 12:09:10 2026 -0700"
      },
      "committer": {
        "name": "Pdfium LUCI CQ",
        "email": "pdfium-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Mon Apr 06 12:09:10 2026 -0700"
      },
      "message": "Implement fxcodec::ReverseRGB() using Zip().\n\nAvoid a bounds check per iteration in .front()\n\nChange-Id: I7e6861563956a5c05ddd444d3618ffb979c5d910\nReviewed-on: https://pdfium-review.googlesource.com/c/pdfium/+/145590\nReviewed-by: Lei Zhang \u003cthestig@chromium.org\u003e\nCommit-Queue: Tom Sepez \u003ctsepez@chromium.org\u003e\n"
    },
    {
      "commit": "07b7d6c49886f2f4d60ec03b16a8cc0f8e42085d",
      "tree": "361c36cffb546678d40f2513eb65dcec9246cf7e",
      "parents": [
        "79d84a59fb337f5ae4c1c9fee60677c29a310f46"
      ],
      "author": {
        "name": "pdfium-autoroll",
        "email": "pdfium-autoroll@skia-public.iam.gserviceaccount.com",
        "time": "Sun Apr 05 21:35:13 2026 -0700"
      },
      "committer": {
        "name": "Pdfium LUCI CQ",
        "email": "pdfium-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Sun Apr 05 21:35:13 2026 -0700"
      },
      "message": "Roll goldctl from 4a1223e49952 to a34d51fda106\n\nIf this roll has caused a breakage, revert this CL and stop the roller\nusing the controls here:\nhttps://autoroll.skia.org/r/goldctl-pdfium\nPlease CC thestig@chromium.org,thestig@google.com on the revert to ensure that a human\nis aware of the problem.\n\nTo file a bug in goldctl: https://issues.skia.org\nTo file a bug in PDFium: https://crbug.com/pdfium\n\nTo report a problem with the AutoRoller itself, please file a bug:\nhttps://issues.skia.org/issues/new?component\u003d1389291\u0026template\u003d1850622\n\nDocumentation for the AutoRoller is here:\nhttps://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md\n\nBug: None\nTbr: thestig@google.com\nChange-Id: Idb237dee3fac04e8feb2e69bffbe916b7f51f40b\nReviewed-on: https://pdfium-review.googlesource.com/c/pdfium/+/145710\nBot-Commit: pdfium-autoroll \u003cpdfium-autoroll@skia-public.iam.gserviceaccount.com\u003e\nCommit-Queue: pdfium-autoroll \u003cpdfium-autoroll@skia-public.iam.gserviceaccount.com\u003e\n"
    },
    {
      "commit": "79d84a59fb337f5ae4c1c9fee60677c29a310f46",
      "tree": "295c1ecffd97fd52fc4422100ce99ac6f3410cbc",
      "parents": [
        "fefe0007f317666a7b2732a31e9f27617a8aa0c4"
      ],
      "author": {
        "name": "Tom Sepez",
        "email": "tsepez@google.com",
        "time": "Wed Apr 01 12:10:23 2026 -0700"
      },
      "committer": {
        "name": "Pdfium LUCI CQ",
        "email": "pdfium-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Wed Apr 01 12:10:23 2026 -0700"
      },
      "message": "Add additional overflow checks to LCMS.\n\nFix instance in linked bug, plus several variants noticed by\ninspection.\n\nBug: 498284498\nChange-Id: Ica659b2c484e4b25f2201e57a8ceeb6403ed85cd\nReviewed-on: https://pdfium-review.googlesource.com/c/pdfium/+/145650\nCommit-Queue: Tom Sepez \u003ctsepez@chromium.org\u003e\nReviewed-by: Nicolás Peña \u003cnpm@chromium.org\u003e\n"
    },
    {
      "commit": "fefe0007f317666a7b2732a31e9f27617a8aa0c4",
      "tree": "ac34d6c8f8f77c2d613cad9e9e740954ce06e1a0",
      "parents": [
        "e9cd157725c374c3eb86680258a9c9a1c0d95687"
      ],
      "author": {
        "name": "Tom Sepez",
        "email": "tsepez@google.com",
        "time": "Mon Mar 30 11:16:15 2026 -0700"
      },
      "committer": {
        "name": "Pdfium LUCI CQ",
        "email": "pdfium-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Mon Mar 30 11:16:15 2026 -0700"
      },
      "message": "Elide some indexing checks in ProgressiveDecoder::GifReadScanline()\n\nIterate across an entire subspan created at top, as this does one\nCHECK() instead of a CHECK() per pixel the optimizer left in place.\n\nChange-Id: I42e715a27f2e96e0914d38613f9b4325d01a5fdc\nReviewed-on: https://pdfium-review.googlesource.com/c/pdfium/+/145372\nReviewed-by: Lei Zhang \u003cthestig@chromium.org\u003e\nCommit-Queue: Tom Sepez \u003ctsepez@chromium.org\u003e\n"
    },
    {
      "commit": "e9cd157725c374c3eb86680258a9c9a1c0d95687",
      "tree": "f81e3ebd14188630fed229e0172c0fda140a2ea4",
      "parents": [
        "ca8a943c247c208fd7a9cd21b4de049f22b93070"
      ],
      "author": {
        "name": "pdfium-autoroll",
        "email": "pdfium-autoroll@skia-public.iam.gserviceaccount.com",
        "time": "Sun Mar 29 21:29:25 2026 -0700"
      },
      "committer": {
        "name": "Pdfium LUCI CQ",
        "email": "pdfium-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Sun Mar 29 21:29:25 2026 -0700"
      },
      "message": "Roll Depot Tools from 55659c2bf434 to f5c816648d94 (45 revisions)\n\nhttps://chromium.googlesource.com/chromium/tools/depot_tools.git/+log/55659c2bf434..f5c816648d94\n\nIf this roll has caused a breakage, revert this CL and stop the roller\nusing the controls here:\nhttps://autoroll.skia.org/r/depot-tools-pdfium\nPlease CC thestig@chromium.org,thestig@google.com on the revert to ensure that a human\nis aware of the problem.\n\nTo report a problem with the AutoRoller itself, please file a bug:\nhttps://issues.skia.org/issues/new?component\u003d1389291\u0026template\u003d1850622\n\nDocumentation for the AutoRoller is here:\nhttps://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md\n\nBug: None\nTbr: thestig@google.com\nChange-Id: Ia0a818b0763653edcc15cb59b7246acd42991cd4\nReviewed-on: https://pdfium-review.googlesource.com/c/pdfium/+/145570\nBot-Commit: pdfium-autoroll \u003cpdfium-autoroll@skia-public.iam.gserviceaccount.com\u003e\nCommit-Queue: pdfium-autoroll \u003cpdfium-autoroll@skia-public.iam.gserviceaccount.com\u003e\n"
    },
    {
      "commit": "ca8a943c247c208fd7a9cd21b4de049f22b93070",
      "tree": "8563e1ba6046c57731e0de0f19f3c17db0ebbcf3",
      "parents": [
        "a697e197f3a729db2a65b02d46b636644491293a"
      ],
      "author": {
        "name": "Lei Zhang",
        "email": "thestig@chromium.org",
        "time": "Fri Mar 27 14:52:16 2026 -0700"
      },
      "committer": {
        "name": "Pdfium LUCI CQ",
        "email": "pdfium-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Fri Mar 27 14:52:16 2026 -0700"
      },
      "message": "Patch an overflow in libtiff\n\nApply fix [1] from upstream, which is not in the most recent versioned\nrelease.\n\n[1] https://gitlab.com/libtiff/libtiff/-/commit/0f726d9\n\nBug: 496907110\nChange-Id: Ic8665879ebdd4445f473e9a1e156cfc42c294d51\nReviewed-on: https://pdfium-review.googlesource.com/c/pdfium/+/145550\nReviewed-by: Andy Phan \u003candyphan@chromium.org\u003e\nCommit-Queue: Lei Zhang \u003cthestig@chromium.org\u003e\n"
    },
    {
      "commit": "a697e197f3a729db2a65b02d46b636644491293a",
      "tree": "2fd83f79257cc9519fcc68f2354411a58487bc93",
      "parents": [
        "b067c3092ba7c2b415d6dbfa66a80fa54c39cdd2"
      ],
      "author": {
        "name": "Aryan Krishnan",
        "email": "aryankrishnan4b@gmail.com",
        "time": "Fri Mar 27 12:43:06 2026 -0700"
      },
      "committer": {
        "name": "Pdfium LUCI CQ",
        "email": "pdfium-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Fri Mar 27 12:43:06 2026 -0700"
      },
      "message": "Replace render caps with individual boolean functions\n\nReplace the C-style bitwise defines for render capabilities with\nexplicit boolean functions in CFX_RenderDevice and\nRenderDeviceDriverIface. This change removes the need for the\nFXDC_RENDER_CAPS identifier and the associated bitmasks.\n\nBy shifting to individual functions, the code improves type safety and\nreadability, allowing for direct capability checks rather than\nperforming bitwise operations. The various device drivers, including\nAgg, Skia, and GDI, are updated to implement these new functions\ndirectly.\n\nChange-Id: I36b1465309ad7571b103d35e8e116210a5b37663\nReviewed-on: https://pdfium-review.googlesource.com/c/pdfium/+/145250\nReviewed-by: Lei Zhang \u003cthestig@chromium.org\u003e\nCommit-Queue: Andy Phan \u003candyphan@chromium.org\u003e\nReviewed-by: Andy Phan \u003candyphan@chromium.org\u003e\n"
    },
    {
      "commit": "b067c3092ba7c2b415d6dbfa66a80fa54c39cdd2",
      "tree": "c35cb193b80ae9f488e68b8f97689643dae999ac",
      "parents": [
        "fc346b1d18704a78171bcbf786f68105658fb22f"
      ],
      "author": {
        "name": "Lei Zhang",
        "email": "thestig@chromium.org",
        "time": "Fri Mar 27 11:29:30 2026 -0700"
      },
      "committer": {
        "name": "Pdfium LUCI CQ",
        "email": "pdfium-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Fri Mar 27 11:29:30 2026 -0700"
      },
      "message": "Add CPDF_Dictionary::IsEmpty()\n\nAdd this getter to mirror CPDF_Array::IsEmpty(). Convert\nCPDF_Dictionary::size() callers when appropriate. Also use\nCPDF_Array::IsEmpty() more when appropriate.\n\nChange-Id: I001e23ca8db1c58a6701f960a4dc049eefd4a26b\nReviewed-on: https://pdfium-review.googlesource.com/c/pdfium/+/145352\nReviewed-by: Andy Phan \u003candyphan@chromium.org\u003e\nCommit-Queue: Lei Zhang \u003cthestig@chromium.org\u003e\n"
    },
    {
      "commit": "fc346b1d18704a78171bcbf786f68105658fb22f",
      "tree": "061d14e2a88e90ff4814732c4dce2f06ae1934b9",
      "parents": [
        "367407e926f490853322732d1ef635f1e4769e52"
      ],
      "author": {
        "name": "Lei Zhang",
        "email": "thestig@chromium.org",
        "time": "Fri Mar 27 11:02:02 2026 -0700"
      },
      "committer": {
        "name": "Pdfium LUCI CQ",
        "email": "pdfium-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Fri Mar 27 11:02:02 2026 -0700"
      },
      "message": "Move HarfBuzz from harfbuzz-ng to harfbuzz\n\nUse the preferred project name. See https://crrev.com/1606296.\n\nBug: 496700729\nChange-Id: Id7b201b3798c82ecf37030d7bd3f8b5e06e780ed\nReviewed-on: https://pdfium-review.googlesource.com/c/pdfium/+/145510\nReviewed-by: Andy Phan \u003candyphan@chromium.org\u003e\nCommit-Queue: Lei Zhang \u003cthestig@chromium.org\u003e\n"
    },
    {
      "commit": "367407e926f490853322732d1ef635f1e4769e52",
      "tree": "065028b9df3ceb2e4a769bfe45f0b2abcf534d71",
      "parents": [
        "68436e8e325e49380ea0af4dfe18c04beca2eb12"
      ],
      "author": {
        "name": "Lei Zhang",
        "email": "thestig@chromium.org",
        "time": "Fri Mar 27 10:38:39 2026 -0700"
      },
      "committer": {
        "name": "Pdfium LUCI CQ",
        "email": "pdfium-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Fri Mar 27 10:38:39 2026 -0700"
      },
      "message": "Clang-format code\n\nConsistently wrap at 80 columns.\n\nChange-Id: I71b787ee8c651898d5ea0874adfcb3883fede9b0\nReviewed-on: https://pdfium-review.googlesource.com/c/pdfium/+/145511\nCommit-Queue: Lei Zhang \u003cthestig@chromium.org\u003e\nReviewed-by: Andy Phan \u003candyphan@chromium.org\u003e\n"
    },
    {
      "commit": "68436e8e325e49380ea0af4dfe18c04beca2eb12",
      "tree": "82d99659d42c843cfc360d2f282f54dc26f165c5",
      "parents": [
        "c8dde654439c6357143ffc0e196af13659ea181c"
      ],
      "author": {
        "name": "Lei Zhang",
        "email": "thestig@chromium.org",
        "time": "Thu Mar 26 17:00:08 2026 -0700"
      },
      "committer": {
        "name": "Pdfium LUCI CQ",
        "email": "pdfium-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Thu Mar 26 17:00:08 2026 -0700"
      },
      "message": "Enable is_wexit_time_destructors_default\n\nMake sure PDFium compiles with -Wexit-time-destructors, just like PDFium\nin Chromium.\n\nChange-Id: I805cc2cb68ced31e480221bac6c3f26d2ab78644\nReviewed-on: https://pdfium-review.googlesource.com/c/pdfium/+/145490\nCommit-Queue: Lei Zhang \u003cthestig@chromium.org\u003e\nReviewed-by: Tom Sepez \u003ctsepez@chromium.org\u003e\nAuto-Submit: Lei Zhang \u003cthestig@chromium.org\u003e\n"
    },
    {
      "commit": "c8dde654439c6357143ffc0e196af13659ea181c",
      "tree": "857f3b35518e1b5ec310a5c7461d58e3b4fd9ff1",
      "parents": [
        "237bc015b08696881bf0a2007bec95d0aecf8e67"
      ],
      "author": {
        "name": "Lei Zhang",
        "email": "thestig@chromium.org",
        "time": "Thu Mar 26 16:53:20 2026 -0700"
      },
      "committer": {
        "name": "Pdfium LUCI CQ",
        "email": "pdfium-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Thu Mar 26 16:53:20 2026 -0700"
      },
      "message": "Roll build/ c9202dd8c..d1cac3b4c (44 commits)\n\nhttps://chromium.googlesource.com/chromium/src/build.git/+log/c9202dd8ca1d..d1cac3b4c4cf\n\nCreated with:\n  roll-dep build\n\nChange-Id: I60bf04430743f3554fa153e69262c3b7fe1e21ae\nReviewed-on: https://pdfium-review.googlesource.com/c/pdfium/+/145470\nCommit-Queue: Lei Zhang \u003cthestig@chromium.org\u003e\nReviewed-by: Tom Sepez \u003ctsepez@chromium.org\u003e\nAuto-Submit: Lei Zhang \u003cthestig@chromium.org\u003e\n"
    },
    {
      "commit": "237bc015b08696881bf0a2007bec95d0aecf8e67",
      "tree": "5f0d28d0dc9c7a9fbe89269ae472dfe6739a915a",
      "parents": [
        "bd0e14defb6213a83fbe8e59b83a508102999cee"
      ],
      "author": {
        "name": "Lei Zhang",
        "email": "thestig@chromium.org",
        "time": "Thu Mar 26 15:09:23 2026 -0700"
      },
      "committer": {
        "name": "Pdfium LUCI CQ",
        "email": "pdfium-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Thu Mar 26 15:09:23 2026 -0700"
      },
      "message": "Patch an overflow in Little CMS\n\nApply fix [1] from upstream, which is not in the most recent versioned\nrelease.\n\n[1] https://github.com/mm2/Little-CMS/commit/e0641b1828d0a1af5ecb1b11fe22f24fceefd4bc\n\nBug: 496618639\nChange-Id: I89309d9cddf15c053cdffed341e50e5616e68b74\nReviewed-on: https://pdfium-review.googlesource.com/c/pdfium/+/145450\nReviewed-by: Tom Sepez \u003ctsepez@chromium.org\u003e\nCommit-Queue: Lei Zhang \u003cthestig@chromium.org\u003e\n"
    },
    {
      "commit": "bd0e14defb6213a83fbe8e59b83a508102999cee",
      "tree": "9c3e7b6608ca947a8061117ff2f20d87a9a3bd96",
      "parents": [
        "eced332c93d1e9bcb8e3684352342e55eb2676b3"
      ],
      "author": {
        "name": "Tom Sepez",
        "email": "tsepez@google.com",
        "time": "Wed Mar 25 13:02:10 2026 -0700"
      },
      "committer": {
        "name": "Pdfium LUCI CQ",
        "email": "pdfium-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Wed Mar 25 13:02:10 2026 -0700"
      },
      "message": "Remove CPDF_Annot::DrawBorder().\n\nIt is no longer being called. It is likely that the last caller\nwas removed in 70e774a94f096cd8330396a106b674fb1c257159.\n\nChange-Id: I30ae4aeee6df6ffd886742f1e6b406a5d9e95c0f\nReviewed-on: https://pdfium-review.googlesource.com/c/pdfium/+/145351\nCommit-Queue: Tom Sepez \u003ctsepez@chromium.org\u003e\nReviewed-by: Lei Zhang \u003cthestig@chromium.org\u003e\n"
    },
    {
      "commit": "eced332c93d1e9bcb8e3684352342e55eb2676b3",
      "tree": "32623e14a2264bccb9b9c3f1c4b3e639d5f9ab6b",
      "parents": [
        "4079776dd28da31d49895f13b3c8d596559bb60f"
      ],
      "author": {
        "name": "Tom Sepez",
        "email": "tsepez@google.com",
        "time": "Tue Mar 24 14:09:11 2026 -0700"
      },
      "committer": {
        "name": "Pdfium LUCI CQ",
        "email": "pdfium-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Tue Mar 24 14:09:11 2026 -0700"
      },
      "message": "Return fixed-sized spans from CPDF_TextState::GetMatrix() and GetCTM().\n\nAvoids possible run-time bounds checking.  Then do the same for the\nmutable versions of these methods.\n\nChange-Id: Ib85261337a8bc60e8747c792625c96569d219516\nReviewed-on: https://pdfium-review.googlesource.com/c/pdfium/+/145330\nReviewed-by: Lei Zhang \u003cthestig@chromium.org\u003e\nCommit-Queue: Tom Sepez \u003ctsepez@chromium.org\u003e\n"
    },
    {
      "commit": "4079776dd28da31d49895f13b3c8d596559bb60f",
      "tree": "b0e89f7986f583cdc713b764a383e5ba6234b574",
      "parents": [
        "6ce50e4d2b4c7e2df935a207d193818e7339893c"
      ],
      "author": {
        "name": "Tom Sepez",
        "email": "tsepez@google.com",
        "time": "Tue Mar 24 12:52:14 2026 -0700"
      },
      "committer": {
        "name": "Pdfium LUCI CQ",
        "email": "pdfium-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Tue Mar 24 12:52:14 2026 -0700"
      },
      "message": "Pass fixed spans to CPDF_Type3Char::InitializeFromStreamData()\n\nAllow compile-time bounds elision. In turn, return fixed span\nfrom CPDF_StreamContentParser::GetType3Data().\n\nChange-Id: I111f5fd194bfeb3a653a10b59d882834a6a361c9\nReviewed-on: https://pdfium-review.googlesource.com/c/pdfium/+/145312\nReviewed-by: Lei Zhang \u003cthestig@chromium.org\u003e\nCommit-Queue: Tom Sepez \u003ctsepez@chromium.org\u003e\n"
    },
    {
      "commit": "6ce50e4d2b4c7e2df935a207d193818e7339893c",
      "tree": "eb087afb0601601ccb393bcaecd347ad72d394e5",
      "parents": [
        "2dddd2261cb786841f03fdb881f55d6ea8a01701"
      ],
      "author": {
        "name": "Tom Sepez",
        "email": "tsepez@google.com",
        "time": "Tue Mar 24 11:39:38 2026 -0700"
      },
      "committer": {
        "name": "Pdfium LUCI CQ",
        "email": "pdfium-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Tue Mar 24 11:39:38 2026 -0700"
      },
      "message": "Convert to fixed-size span in  CPDF_IccProfile::Translate()\n\nAllows compile-time bounds checking elision. Note that the caller\nin shipping code is already passing a container convertible to\nspan\u003cfloat, 3\u003e, but the fuzzer needed correction.\n\nChange-Id: Ie918db807f4c6565f4c21eecd517625742d93fdb\nReviewed-on: https://pdfium-review.googlesource.com/c/pdfium/+/145310\nCommit-Queue: Tom Sepez \u003ctsepez@chromium.org\u003e\nReviewed-by: Lei Zhang \u003cthestig@chromium.org\u003e\n"
    },
    {
      "commit": "2dddd2261cb786841f03fdb881f55d6ea8a01701",
      "tree": "743c2847c1fabd765c183cc386d3184e458d2acc",
      "parents": [
        "673e86511b28987fd3b1e3df46fe0de9d9cb58a9"
      ],
      "author": {
        "name": "Tom Sepez",
        "email": "tsepez@google.com",
        "time": "Tue Mar 24 11:13:40 2026 -0700"
      },
      "committer": {
        "name": "Pdfium LUCI CQ",
        "email": "pdfium-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Tue Mar 24 11:13:40 2026 -0700"
      },
      "message": "Fix bounds checks in CBC_CommonBitMatrix::Get() and Set().\n\nValid indices are less than size().\n\nChange-Id: I7f1567fed4a62de667781796c80ed72ec505b5e1\nReviewed-on: https://pdfium-review.googlesource.com/c/pdfium/+/145290\nCommit-Queue: Tom Sepez \u003ctsepez@chromium.org\u003e\nReviewed-by: Lei Zhang \u003cthestig@chromium.org\u003e\n"
    },
    {
      "commit": "673e86511b28987fd3b1e3df46fe0de9d9cb58a9",
      "tree": "acc942b9306ea6ed8102a4e0e9524f93ec77cb12",
      "parents": [
        "5ee52dc9cede873a800675b6faba773773c75c29"
      ],
      "author": {
        "name": "Aryan",
        "email": "aryankrishnan4b@gmail.com",
        "time": "Tue Mar 24 10:18:05 2026 -0700"
      },
      "committer": {
        "name": "Pdfium LUCI CQ",
        "email": "pdfium-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Tue Mar 24 10:18:05 2026 -0700"
      },
      "message": "Replace GetDeviceCaps with specific getter methods\n\nThis CL replaces GetDeviceCaps() with explicit virtual getter methods\nfor retrieving specific device properties. This change introduces\nGetPixelWidth(), GetPixelHeight(), GetBitsPerPixel(), GetHorzSize(), and\nGetVertSize() to RenderDeviceDriverIface and its implementations.\n\nPreviously, `GetDeviceCaps()` relied on integer constants to fetch\nvarious properties. This CL removes the `FXDC_*` defines in favour of\ndirect accessors, making the interface is now more expressive and\nconsistent with modern C++ practices.\n\nNote that `FXDC_RENDER_CAPS` is intentionally left unchanged and will be\nhandled separately in a follow-up CL.\n\nChange-Id: I033ac3b0e0111c6587f43b3f1a14a624d6fe96f7\nReviewed-on: https://pdfium-review.googlesource.com/c/pdfium/+/144090\nReviewed-by: Lei Zhang \u003cthestig@chromium.org\u003e\nCommit-Queue: Lei Zhang \u003cthestig@chromium.org\u003e\nReviewed-by: Andy Phan \u003candyphan@chromium.org\u003e\n"
    },
    {
      "commit": "5ee52dc9cede873a800675b6faba773773c75c29",
      "tree": "06ad875586ead6bba780771d2abdcdfc7cd2dba4",
      "parents": [
        "88ea47c04ad77a6da720cc6d13360a43838ab88c"
      ],
      "author": {
        "name": "Lei Zhang",
        "email": "thestig@chromium.org",
        "time": "Mon Mar 23 17:12:30 2026 -0700"
      },
      "committer": {
        "name": "Pdfium LUCI CQ",
        "email": "pdfium-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Mon Mar 23 17:12:30 2026 -0700"
      },
      "message": "Add test for importing page with OCGs into new document\n\nAdd FPDFPPOEmbedderTest.Bug40162073 to show FPDF_ImportPagesByIndex()\nfrom a source document with OCGs does not work as expected. The test\ninput file is a cleaned up version of a close-to-minimal test case\nattached to the bug report.\n\nBug: 40162073\nChange-Id: I306c5687dac8cff0631bdca4ba8e581cacd24562\nReviewed-on: https://pdfium-review.googlesource.com/c/pdfium/+/145230\nCommit-Queue: Lei Zhang \u003cthestig@chromium.org\u003e\nReviewed-by: Andy Phan \u003candyphan@chromium.org\u003e\n"
    },
    {
      "commit": "88ea47c04ad77a6da720cc6d13360a43838ab88c",
      "tree": "3868f0861b04721008f5970e3608ecafb7996c60",
      "parents": [
        "2d97de48a6b66c56990e6a3848b1bd442e42e2de"
      ],
      "author": {
        "name": "Lei Zhang",
        "email": "thestig@chromium.org",
        "time": "Mon Mar 23 12:55:18 2026 -0700"
      },
      "committer": {
        "name": "Pdfium LUCI CQ",
        "email": "pdfium-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Mon Mar 23 12:55:18 2026 -0700"
      },
      "message": "Remove remaining direct FPDFPageObj_Destroy() calls\n\nChange remaining callers to use ScopedFPDFPageObject instead.\n\nChange-Id: Ie784cc839bf34307d0c11162556d50755c1c1790\nReviewed-on: https://pdfium-review.googlesource.com/c/pdfium/+/145210\nReviewed-by: Andy Phan \u003candyphan@chromium.org\u003e\nCommit-Queue: Lei Zhang \u003cthestig@chromium.org\u003e\n"
    },
    {
      "commit": "2d97de48a6b66c56990e6a3848b1bd442e42e2de",
      "tree": "280f13c31eda9f36f1767416c9ee5bbf158dd623",
      "parents": [
        "ed07065f4475e1ba2417ede367b90721aa132498"
      ],
      "author": {
        "name": "Lei Zhang",
        "email": "thestig@chromium.org",
        "time": "Mon Mar 23 12:06:27 2026 -0700"
      },
      "committer": {
        "name": "Pdfium LUCI CQ",
        "email": "pdfium-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Mon Mar 23 12:06:27 2026 -0700"
      },
      "message": "Tidy testing/resources/pixel/bug_491_*.in\n\nRemove unused objects and fix some style nits.\n\nChange-Id: I108d1ee65ebe949f32e24c9e10432763b8f86030\nReviewed-on: https://pdfium-review.googlesource.com/c/pdfium/+/145190\nReviewed-by: Andy Phan \u003candyphan@chromium.org\u003e\nCommit-Queue: Lei Zhang \u003cthestig@chromium.org\u003e\n"
    },
    {
      "commit": "ed07065f4475e1ba2417ede367b90721aa132498",
      "tree": "7d76ed4921a9bd0d8d7585dcd23fae82132f525f",
      "parents": [
        "9ae6cb74027c97932b4e313739af873afce361c3"
      ],
      "author": {
        "name": "pdfium-autoroll",
        "email": "pdfium-autoroll@skia-public.iam.gserviceaccount.com",
        "time": "Sun Mar 22 21:46:45 2026 -0700"
      },
      "committer": {
        "name": "Pdfium LUCI CQ",
        "email": "pdfium-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Sun Mar 22 21:46:45 2026 -0700"
      },
      "message": "Roll Zlib from 7eda07b1e067 to b80f1d1e5256 (7 revisions)\n\nhttps://chromium.googlesource.com/chromium/src/third_party/zlib.git/+log/7eda07b1e067..b80f1d1e5256\n\nIf this roll has caused a breakage, revert this CL and stop the roller\nusing the controls here:\nhttps://autoroll.skia.org/r/zlib-pdfium\nPlease CC akall@google.com,thestig@chromium.org on the revert to ensure that a human\nis aware of the problem.\n\nTo report a problem with the AutoRoller itself, please file a bug:\nhttps://issues.skia.org/issues/new?component\u003d1389291\u0026template\u003d1850622\n\nDocumentation for the AutoRoller is here:\nhttps://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md\n\nBug: None\nTbr: akall@google.com\nChange-Id: I885cce547ab52eacda55719ee4028cfc9fc9113c\nReviewed-on: https://pdfium-review.googlesource.com/c/pdfium/+/145170\nBot-Commit: pdfium-autoroll \u003cpdfium-autoroll@skia-public.iam.gserviceaccount.com\u003e\nCommit-Queue: pdfium-autoroll \u003cpdfium-autoroll@skia-public.iam.gserviceaccount.com\u003e\n"
    },
    {
      "commit": "9ae6cb74027c97932b4e313739af873afce361c3",
      "tree": "3bdc93cb0908468e4f0e2246628f19db63443766",
      "parents": [
        "09166ad552d71fe536e1c500c208c65b2c136fe8"
      ],
      "author": {
        "name": "April Kallmeyer",
        "email": "ask@chromium.org",
        "time": "Thu Mar 19 11:55:26 2026 -0700"
      },
      "committer": {
        "name": "Pdfium LUCI CQ",
        "email": "pdfium-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Thu Mar 19 11:55:26 2026 -0700"
      },
      "message": "Roll third_party/freetype/src/ e3a0652b6..99b479dc3 (30 commits)\n\nhttps://chromium.googlesource.com/chromium/src/third_party/freetype2.git/+log/e3a0652b6d70..99b479dc3472\n\nCreated with:\n  roll-dep third_party/freetype/src\nR\u003dbungeman@chromium.org,drott@chromium.org,thestig@chromium.org\n\nBug: 490727238\nChange-Id: Iaab95936a0a457d0b391aa3e95547995c0a073ec\nReviewed-on: https://pdfium-review.googlesource.com/c/pdfium/+/144750\nReviewed-by: Lei Zhang \u003cthestig@chromium.org\u003e\nAuto-Submit: April Kallmeyer \u003cask@chromium.org\u003e\nReviewed-by: Andy Phan \u003candyphan@chromium.org\u003e\nCommit-Queue: April Kallmeyer \u003cask@chromium.org\u003e\n"
    },
    {
      "commit": "09166ad552d71fe536e1c500c208c65b2c136fe8",
      "tree": "afc555dcd6d58d9cbb20f14b00b12463005798d4",
      "parents": [
        "b68f6ed42ae977c178357383cbacd17c0616f4be"
      ],
      "author": {
        "name": "Lei Zhang",
        "email": "thestig@chromium.org",
        "time": "Thu Mar 19 11:20:36 2026 -0700"
      },
      "committer": {
        "name": "Pdfium LUCI CQ",
        "email": "pdfium-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Thu Mar 19 11:20:36 2026 -0700"
      },
      "message": "Reland \"Stop trying to destroy PartitionAlloc\"\n\nThis is a reland of commit f8e0f053178d9030b9e3878d780bc75f70518e1c\nAvoid exit-time destructors this time.\n\nOriginal change\u0027s description:\n\u003e Stop trying to destroy PartitionAlloc\n\u003e\n\u003e Attempting to destroy and reinitialize PartitionAlloc results in\n\u003e PartitionAlloc leaking address space. So destroying PartitionAlloc to\n\u003e \"fix a memory leak\" actually makes the situation worse in PA-enabled\n\u003e builds where PDFium gets repeatedly destroyed and reinitialized.\n\u003e\n\u003e Delete FX_InitializeMemoryAllocators() and FX_DestroyMemoryAllocators()\n\u003e and update their callers. Then make the PartitionAllocator instances\n\u003e initialized on first use again. This approximately reverts\n\u003e https://pdfium-review.googlesource.com/116751 without re-introducing\n\u003e NoDestructor usage.\n\u003e\n\u003e Change FPDFViewEmbedderTest.RepeatedInitDestroy to loop more than 4096\n\u003e times to show this works. While only changing the test, as seen in\n\u003e https://pdfium-review.googlesource.com/144731, results in\n\u003e pdfium_embeddertests crashes.\n\u003e\n\u003e Bug: 42270890\n\u003e Change-Id: I79f9c2fa5adf0e0f9c8b8bf30332c96966ed2c96\n\u003e Reviewed-on: https://pdfium-review.googlesource.com/c/pdfium/+/145070\n\u003e Commit-Queue: Lei Zhang \u003cthestig@chromium.org\u003e\n\u003e Reviewed-by: Tom Sepez \u003ctsepez@chromium.org\u003e\n\nBug: 42270890\nChange-Id: I53b91f6957783b33c1074b839d22b7922e4cfd5e\nReviewed-on: https://pdfium-review.googlesource.com/c/pdfium/+/145111\nCommit-Queue: Lei Zhang \u003cthestig@chromium.org\u003e\nReviewed-by: Tom Sepez \u003ctsepez@chromium.org\u003e\n"
    },
    {
      "commit": "b68f6ed42ae977c178357383cbacd17c0616f4be",
      "tree": "5312fffac8793c1558ae454aa46d66a7642e4f2f",
      "parents": [
        "80066750f4707c39fb9d14b0a48a249bb04d13d8"
      ],
      "author": {
        "name": "Lei Zhang",
        "email": "thestig@chromium.org",
        "time": "Thu Mar 19 11:19:54 2026 -0700"
      },
      "committer": {
        "name": "Pdfium LUCI CQ",
        "email": "pdfium-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Thu Mar 19 11:19:54 2026 -0700"
      },
      "message": "Add no_exit_time_destructors config to googletest\n\nAdd the no_exit_time_destructors config to\nthird_party/googletest/BUILD.gn, as parts of googletest will trigger\n-Wexit-time-destructors warnings if enabled.\n\nThis is effectively the same CL as https://crrev.com/c/7682299 in\nChromium. Standalone PDFium does not have -Wexit-time-destructors\nenabled right now, but may in the near future. This prepares for that.\n\nChange-Id: I5d688af1963fdcea49fdbcd3e4a78036afbb1635\nReviewed-on: https://pdfium-review.googlesource.com/c/pdfium/+/145110\nCommit-Queue: Lei Zhang \u003cthestig@chromium.org\u003e\nReviewed-by: Tom Sepez \u003ctsepez@chromium.org\u003e\n"
    },
    {
      "commit": "80066750f4707c39fb9d14b0a48a249bb04d13d8",
      "tree": "f42d9e59f6dc1dd5d93677adfe1b4169c9f6e7e7",
      "parents": [
        "4c1474eefde4431c23f67ae5e47b34c3d7c3f7e5"
      ],
      "author": {
        "name": "Aryan Krishnan",
        "email": "aryankrishnan4b@gmail.com",
        "time": "Wed Mar 18 22:02:03 2026 -0700"
      },
      "committer": {
        "name": "Pdfium LUCI CQ",
        "email": "pdfium-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Wed Mar 18 22:02:03 2026 -0700"
      },
      "message": "Improve bitmap comparison failure reporting in embedder tests\n\nThis CL Refactors the bitmap comparison logic to provide error messages\nthat are more consistent to pdf_unittests when expectations are missing\nor mismatched.\n\nA new ReportMissingExpectation helper function now handles cases where\nthe expected PNG file cannot be found, to act as a common function for\ncases where the image can\u0027t be found or read.\n\nThe comparison logic is updated to transition from raw data comparisons\nto file-path-based comparisons through CompareBitmapToPngFile(). This\nconsolidation reduces code duplication across CompareBitmap and\nCompareBitmapWithExpectationSuffix, while also improving the clarity of\nthe failure output when pixel differences are detected.\n\nChange-Id: Id463d8825bbb7e10e84519bbaaf5286af6b31691\nReviewed-on: https://pdfium-review.googlesource.com/c/pdfium/+/144490\nReviewed-by: Lei Zhang \u003cthestig@chromium.org\u003e\nCommit-Queue: Aryan Krishnan \u003caryankrishnan4b@gmail.com\u003e\nReviewed-by: Tom Sepez \u003ctsepez@chromium.org\u003e\n"
    },
    {
      "commit": "4c1474eefde4431c23f67ae5e47b34c3d7c3f7e5",
      "tree": "33d5ececbbd7b29dfe010477113267d87562114e",
      "parents": [
        "eafe37dac6e7b388ead01611e67705a98e24113d"
      ],
      "author": {
        "name": "Lei Zhang",
        "email": "thestig@chromium.org",
        "time": "Wed Mar 18 13:50:09 2026 -0700"
      },
      "committer": {
        "name": "Pdfium LUCI CQ",
        "email": "pdfium-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Wed Mar 18 13:50:09 2026 -0700"
      },
      "message": "Revert \"Stop trying to destroy PartitionAlloc\"\n\nThis reverts commit f8e0f053178d9030b9e3878d780bc75f70518e1c.\n\nReason for revert: Causes Wexit-time-destructors error in Chromium.\n\nOriginal change\u0027s description:\n\u003e Stop trying to destroy PartitionAlloc\n\u003e\n\u003e Attempting to destroy and reinitialize PartitionAlloc results in\n\u003e PartitionAlloc leaking address space. So destroying PartitionAlloc to\n\u003e \"fix a memory leak\" actually makes the situation worse in PA-enabled\n\u003e builds where PDFium gets repeatedly destroyed and reinitialized.\n\u003e\n\u003e Delete FX_InitializeMemoryAllocators() and FX_DestroyMemoryAllocators()\n\u003e and update their callers. Then make the PartitionAllocator instances\n\u003e initialized on first use again. This approximately reverts\n\u003e https://pdfium-review.googlesource.com/116751 without re-introducing\n\u003e NoDestructor usage.\n\u003e\n\u003e Change FPDFViewEmbedderTest.RepeatedInitDestroy to loop more than 4096\n\u003e times to show this works. While only changing the test, as seen in\n\u003e https://pdfium-review.googlesource.com/144731, results in\n\u003e pdfium_embeddertests crashes.\n\u003e\n\u003e Bug: 42270890\n\u003e Change-Id: I79f9c2fa5adf0e0f9c8b8bf30332c96966ed2c96\n\u003e Reviewed-on: https://pdfium-review.googlesource.com/c/pdfium/+/145070\n\u003e Commit-Queue: Lei Zhang \u003cthestig@chromium.org\u003e\n\u003e Reviewed-by: Tom Sepez \u003ctsepez@chromium.org\u003e\n\nTBR\u003dthestig@chromium.org,tsepez@chromium.org,pdfium-scoped@luci-project-accounts.iam.gserviceaccount.com\n\nNo-Presubmit: true\nNo-Tree-Checks: true\nNo-Try: true\nBug: 42270890\nChange-Id: I20dbe853bdef20420fed58b6013bbaf0a1e105f3\nReviewed-on: https://pdfium-review.googlesource.com/c/pdfium/+/145090\nAuto-Submit: Lei Zhang \u003cthestig@chromium.org\u003e\nReviewed-by: Tom Sepez \u003ctsepez@chromium.org\u003e\nCommit-Queue: rubber-stamper@appspot.gserviceaccount.com \u003crubber-stamper@appspot.gserviceaccount.com\u003e\nReviewed-by: Lei Zhang \u003cthestig@chromium.org\u003e\nCommit-Queue: Tom Sepez \u003ctsepez@chromium.org\u003e\nBot-Commit: rubber-stamper@appspot.gserviceaccount.com \u003crubber-stamper@appspot.gserviceaccount.com\u003e\n"
    },
    {
      "commit": "eafe37dac6e7b388ead01611e67705a98e24113d",
      "tree": "d6d280545ba8b8b75e3345cdcde26768d4168d1c",
      "parents": [
        "f8e0f053178d9030b9e3878d780bc75f70518e1c"
      ],
      "author": {
        "name": "Aryan",
        "email": "aryankrishnan4b@gmail.com",
        "time": "Wed Mar 18 12:16:07 2026 -0700"
      },
      "committer": {
        "name": "Pdfium LUCI CQ",
        "email": "pdfium-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Wed Mar 18 12:16:07 2026 -0700"
      },
      "message": "Introduce helper macros for floating point comparisons in tests\n\nThis CL adds the EXPECT_NEAR_THREE_PLACES macro to\ntesting/embedder_test.h to simplify common floating-point equality\nassertions.\n\nThese macros wrap the standard EXPECT_NEAR call with a fixed tolerance\nof 0.001. This change reduces boilerplate code and improves the\nreadability of coordinate and dimension validations throughout the text\nembedder test suite.\n\nChange-Id: Ia5c713a21228516a760bc5ba8a0c25c0ce10db52\nReviewed-on: https://pdfium-review.googlesource.com/c/pdfium/+/144290\nReviewed-by: Andy Phan \u003candyphan@chromium.org\u003e\nCommit-Queue: Lei Zhang \u003cthestig@chromium.org\u003e\nReviewed-by: Lei Zhang \u003cthestig@chromium.org\u003e\n"
    },
    {
      "commit": "f8e0f053178d9030b9e3878d780bc75f70518e1c",
      "tree": "c8c205655ac4f12c2987b900337eeff882bb6512",
      "parents": [
        "a3d2c050f3bac56b6d8037f9d57ba6f6c737f39b"
      ],
      "author": {
        "name": "Lei Zhang",
        "email": "thestig@chromium.org",
        "time": "Wed Mar 18 09:42:26 2026 -0700"
      },
      "committer": {
        "name": "Pdfium LUCI CQ",
        "email": "pdfium-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Wed Mar 18 09:42:26 2026 -0700"
      },
      "message": "Stop trying to destroy PartitionAlloc\n\nAttempting to destroy and reinitialize PartitionAlloc results in\nPartitionAlloc leaking address space. So destroying PartitionAlloc to\n\"fix a memory leak\" actually makes the situation worse in PA-enabled\nbuilds where PDFium gets repeatedly destroyed and reinitialized.\n\nDelete FX_InitializeMemoryAllocators() and FX_DestroyMemoryAllocators()\nand update their callers. Then make the PartitionAllocator instances\ninitialized on first use again. This approximately reverts\nhttps://pdfium-review.googlesource.com/116751 without re-introducing\nNoDestructor usage.\n\nChange FPDFViewEmbedderTest.RepeatedInitDestroy to loop more than 4096\ntimes to show this works. While only changing the test, as seen in\nhttps://pdfium-review.googlesource.com/144731, results in\npdfium_embeddertests crashes.\n\nBug: 42270890\nChange-Id: I79f9c2fa5adf0e0f9c8b8bf30332c96966ed2c96\nReviewed-on: https://pdfium-review.googlesource.com/c/pdfium/+/145070\nCommit-Queue: Lei Zhang \u003cthestig@chromium.org\u003e\nReviewed-by: Tom Sepez \u003ctsepez@chromium.org\u003e\n"
    },
    {
      "commit": "a3d2c050f3bac56b6d8037f9d57ba6f6c737f39b",
      "tree": "502623c987cfb5c21c766bd32488f2e11353e575",
      "parents": [
        "c62192d9579261f6e47ef1c4bb04ca0e28db0a94"
      ],
      "author": {
        "name": "Lei Zhang",
        "email": "thestig@chromium.org",
        "time": "Wed Mar 18 09:40:05 2026 -0700"
      },
      "committer": {
        "name": "Pdfium LUCI CQ",
        "email": "pdfium-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Wed Mar 18 09:40:05 2026 -0700"
      },
      "message": "Get rid of nullptr checks in fx_memory_pa.cpp StringDealloc()\n\nCallers never pass in nullptr.\n\nChange-Id: I1b0d86bc358283e59a733b6c490338218fad2de3\nReviewed-on: https://pdfium-review.googlesource.com/c/pdfium/+/145050\nReviewed-by: Tom Sepez \u003ctsepez@chromium.org\u003e\nCommit-Queue: Lei Zhang \u003cthestig@chromium.org\u003e\n"
    },
    {
      "commit": "c62192d9579261f6e47ef1c4bb04ca0e28db0a94",
      "tree": "4b92736051e55b23ccc5ab46035e590f5ec472d3",
      "parents": [
        "5b5a36f463cd65b1715c1b9e5cf51645c228a964"
      ],
      "author": {
        "name": "Lei Zhang",
        "email": "thestig@chromium.org",
        "time": "Tue Mar 17 17:20:37 2026 -0700"
      },
      "committer": {
        "name": "Pdfium LUCI CQ",
        "email": "pdfium-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Tue Mar 17 17:20:37 2026 -0700"
      },
      "message": "Refactor CPDF_TextObject::CalcPositionDataInternal()\n\n- Avoid repeated calls to CPDF_TextState::GetCharSpace() and\n  CPDF_TextState::GetWordSpace() in a loop. Only call them once and\n  save the results.\n- Add GetWordSpaceIfNeeded() helper.\n\nChange-Id: I44b09671d3e4a8548adac2190e47bffeb59fce16\nReviewed-on: https://pdfium-review.googlesource.com/c/pdfium/+/144891\nReviewed-by: Andy Phan \u003candyphan@chromium.org\u003e\nCommit-Queue: Lei Zhang \u003cthestig@chromium.org\u003e\n"
    },
    {
      "commit": "5b5a36f463cd65b1715c1b9e5cf51645c228a964",
      "tree": "113f3eea97c1fc213d3f7c40cca199c9bbd6f2d9",
      "parents": [
        "b06eb5e934deb66d3b31c75b13bad96823314928"
      ],
      "author": {
        "name": "Tom Sepez",
        "email": "tsepez@google.com",
        "time": "Tue Mar 17 15:58:15 2026 -0700"
      },
      "committer": {
        "name": "Pdfium LUCI CQ",
        "email": "pdfium-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Tue Mar 17 15:58:15 2026 -0700"
      },
      "message": "Make CFX_Face::GetData() take data directly from CFX_Face member.\n\nTo ease FreeType separation, do not go through the FT_FaceRec.\n\n-- fix const correctness cascade.\n\nBug: 42271123\nChange-Id: I2b5f0b36d504a3f687777432e953b5d176848362\nReviewed-on: https://pdfium-review.googlesource.com/c/pdfium/+/145032\nCommit-Queue: Tom Sepez \u003ctsepez@chromium.org\u003e\nReviewed-by: Lei Zhang \u003cthestig@chromium.org\u003e\n"
    },
    {
      "commit": "b06eb5e934deb66d3b31c75b13bad96823314928",
      "tree": "2ce0724c93b7a7ae0240956f8e62d5849c1cf3d8",
      "parents": [
        "b441ec9f023767a14e3821fa6628f61172063241"
      ],
      "author": {
        "name": "Lei Zhang",
        "email": "thestig@chromium.org",
        "time": "Tue Mar 17 13:32:24 2026 -0700"
      },
      "committer": {
        "name": "Pdfium LUCI CQ",
        "email": "pdfium-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Tue Mar 17 13:32:24 2026 -0700"
      },
      "message": "Rename CPDF_TextObject::CountChars() to CharCount()\n\nPreviously, CountChars() had to actually count the characters and skip\nthe invalid ones. Now it just returns char_codes_.size(), so rename it\nto more accurately reflect what it does. Also get rid of some internal\nusage in CPDF_TextObject and use range-based for-loops instead.\n\nChange-Id: Id115d7917212f242076c8faf6824cf30468ba2c2\nReviewed-on: https://pdfium-review.googlesource.com/c/pdfium/+/145030\nReviewed-by: Andy Phan \u003candyphan@chromium.org\u003e\nCommit-Queue: Lei Zhang \u003cthestig@chromium.org\u003e\n"
    },
    {
      "commit": "b441ec9f023767a14e3821fa6628f61172063241",
      "tree": "c123fce6b7de5c439e0cb95f5e0bf6d61dfba635",
      "parents": [
        "599979cb413d5f5f0fa2b9c2afff33b5af27f5d6"
      ],
      "author": {
        "name": "Lei Zhang",
        "email": "thestig@chromium.org",
        "time": "Tue Mar 17 12:14:54 2026 -0700"
      },
      "committer": {
        "name": "Pdfium LUCI CQ",
        "email": "pdfium-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Tue Mar 17 12:14:54 2026 -0700"
      },
      "message": "Rename CPDF_TextObject variables\n\n- Stop using Hungarian notation.\n- Consistently write foobar as foo_bar. e.g. font_size\n- Use fewer abbreviations.\n\nChange-Id: Idd36881b98106b97fc9bb2450e19b829906abc99\nReviewed-on: https://pdfium-review.googlesource.com/c/pdfium/+/144890\nReviewed-by: Andy Phan \u003candyphan@chromium.org\u003e\nCommit-Queue: Lei Zhang \u003cthestig@chromium.org\u003e\n"
    }
  ],
  "next": "599979cb413d5f5f0fa2b9c2afff33b5af27f5d6"
}
