)]}'
{
  "commit": "b79f4d5187ebe92acb89a521b2a6000afa1e565a",
  "tree": "8ccee6405679a753c3fc0691dc2d488ec42afdc9",
  "parents": [
    "bb1f9f71e7b15afdd5937adf8cfe5807522b882f"
  ],
  "author": {
    "name": "Tom Sepez",
    "email": "tsepez@google.com",
    "time": "Fri Sep 18 10:10:39 2026 -0700"
  },
  "committer": {
    "name": "pdfium-scoped@luci-project-accounts.iam.gserviceaccount.com",
    "email": "pdfium-scoped@luci-project-accounts.iam.gserviceaccount.com",
    "time": "Fri Sep 18 10:10:39 2026 -0700"
  },
  "message": "Add --metrics mode to pdfium_diff and shadow-validate in pngdiffer\n\nIntroduce a --metrics flag that prints a machine-readable line of\nmeasurements for a comparison.\n\nUnder --metrics, that verdict is reported in the output rather than\nthrough the exit code, which then indicates only whether the\ncomparison could be performed at all.\n\nHave pngdiffer.py request --metrics, and assert that its decision\nagrees with the one from a --fuzzy run.\n\nSuppress two GDI cases that were silently ignored by the old code\nsince the new test harness is stricter about missing actual files.\n\n-- Return values for --histogram now on parity with --metrics.\n-- Replace the single sscanf() parsing.\n-- Unlink any stale diff image before --subtract.\n-- Images from --diff and --subtract now span the union of the two\n   image sizes, with the region outside the overlap filled red.\n\nTAG\u003dagy\nCONV\u003dcb006656-4ac4-4ff7-9705-478ba4c6a291\n\nChange-Id: Ib38e411f6306c519f380c040f285da128512109a\nReviewed-on: https://pdfium-review.googlesource.com/c/pdfium/+/158190\nReviewed-by: Andy Phan \u003candyphan@chromium.org\u003e\nCommit-Queue: Tom Sepez \u003ctsepez@chromium.org\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "8b04637e906f55f868f2e17890921437ba9a6dbb",
      "old_mode": 33188,
      "old_path": "testing/SUPPRESSIONS",
      "new_id": "3e9baf83fbfafc72526ae4d0d05e03fd7c7c4435",
      "new_mode": 33188,
      "new_path": "testing/SUPPRESSIONS"
    },
    {
      "type": "modify",
      "old_id": "1d6a7619bf4fde6b894da0d4e0cf87b417305932",
      "old_mode": 33188,
      "old_path": "testing/image_diff.cpp",
      "new_id": "b63f427423422d83557d3c9cc42d25842ca341e6",
      "new_mode": 33188,
      "new_path": "testing/image_diff.cpp"
    },
    {
      "type": "modify",
      "old_id": "7797b68a31eba46c63b8daa31d1434378eb335f0",
      "old_mode": 33261,
      "old_path": "testing/tools/pngdiffer.py",
      "new_id": "1a418782799f2a87534b1193104ed803cf059075",
      "new_mode": 33261,
      "new_path": "testing/tools/pngdiffer.py"
    },
    {
      "type": "modify",
      "old_id": "a998bc6f205596ff4ec026c043e1bd5bff0a0dc8",
      "old_mode": 33188,
      "old_path": "testing/tools/test_runner.py",
      "new_id": "21dfa8e447d5a02e0530de401b5b5afa540f0549",
      "new_mode": 33188,
      "new_path": "testing/tools/test_runner.py"
    },
    {
      "type": "modify",
      "old_id": "91b1ebfe9a13aab21215b4b4ec03d0c115d6f9b5",
      "old_mode": 33188,
      "old_path": "testing/utils/pixel_diff_util.h",
      "new_id": "6be6b8cbbd916c675209741e100b2edc5ac090be",
      "new_mode": 33188,
      "new_path": "testing/utils/pixel_diff_util.h"
    }
  ]
}
