)]}'
{
  "commit": "3cd6c8ff34bec582eb5a3075be3ceec11ea16c3d",
  "tree": "e7cd88e74dccb5d56241bd4cf809777dc86b42c6",
  "parents": [
    "600248a4998a1154898bf9f800714c8c2bc48ee3"
  ],
  "author": {
    "name": "Nico Weber",
    "email": "thakis@chromium.org",
    "time": "Tue Feb 11 11:30:26 2025 -0800"
  },
  "committer": {
    "name": "Pdfium LUCI CQ",
    "email": "pdfium-scoped@luci-project-accounts.iam.gserviceaccount.com",
    "time": "Tue Feb 11 11:30:26 2025 -0800"
  },
  "message": "fixup_pdf_template: Don\u0027t count final newline in {{streamlen}}\n\nExpansion of `{{streamlen}}` used to include the newline in front of\n`endstream`.\n\nmacOS\u0027s Preview.app cannot load JPEG2000 files if they have an\nadditional `\\n` byte at the end of the data, so don\u0027t count this\nfinal newline.\n\nWith this, macOS\u0027s Preview.app now displays the PDF files generated\nby fixup_pdf_template.py much better for\ntesting/resources/pixel/jpxdecode*.in\n\nThis requires adding newlines in a couple of tests that depend on\nstream contents actually ending in a newline:\n\n* bug_1236805: Apparently the type3 charprocs parser doesn\u0027t treat\n               EOF as a token separator (?)\n* bug_1395648: Added in https://pdfium-review.googlesource.com/102930\n               as a regression test with a missing `/Filter` line.\n               In the previous image in the text, the `ASCIIHexDecode`\n               decode filter stripped newlines, but here it doesn\u0027t and\n               the test needs the newline.\n\nBug: 394805680\nChange-Id: I91610fe7d85080e5d4e0b3c52e2d5d10ff4b985d\nReviewed-on: https://pdfium-review.googlesource.com/c/pdfium/+/128570\nReviewed-by: Nico Weber \u003cthakis@google.com\u003e\nCommit-Queue: Nico Weber \u003cthakis@google.com\u003e\nReviewed-by: Lei Zhang \u003cthestig@chromium.org\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "564f0487eaa3b4c75e9a9dd33a94be1d85677a37",
      "old_mode": 33188,
      "old_path": "testing/resources/pixel/bug_1236805.in",
      "new_id": "ea2fc48aa525980399c91c42f9bb923c8d6d7eed",
      "new_mode": 33188,
      "new_path": "testing/resources/pixel/bug_1236805.in"
    },
    {
      "type": "modify",
      "old_id": "6c38fb1ee5cc1b5751fb7ed8d81f6ef9266e5bbf",
      "old_mode": 33188,
      "old_path": "testing/resources/pixel/bug_1395648.in",
      "new_id": "828e84c5f4c9b0d9ebec81524935633eb2e0d3fd",
      "new_mode": 33188,
      "new_path": "testing/resources/pixel/bug_1395648.in"
    },
    {
      "type": "modify",
      "old_id": "1d3811784fa4f722e0d5fec770414cc6f4dced64",
      "old_mode": 33261,
      "old_path": "testing/tools/fixup_pdf_template.py",
      "new_id": "06ed3c1f7f9f95a25a205cd69b55b55006db8016",
      "new_mode": 33261,
      "new_path": "testing/tools/fixup_pdf_template.py"
    }
  ]
}
