)]}'
{
  "commit": "ce5df36c9c276f262fa893cd8894296f9df7ddff",
  "tree": "28bae8b0cf1acd61c6e28d7a78ad30966f0eb3d6",
  "parents": [
    "99e3ffb3fe928acb50245f80b155bcd5dbf7f142"
  ],
  "author": {
    "name": "Lei Zhang",
    "email": "thestig@chromium.org",
    "time": "Sat Aug 20 17:48:16 2022 +0000"
  },
  "committer": {
    "name": "Pdfium LUCI CQ",
    "email": "pdfium-scoped@luci-project-accounts.iam.gserviceaccount.com",
    "time": "Sat Aug 20 17:48:16 2022 +0000"
  },
  "message": "Introduce CFX_ReadOnlyByteStringStream.\n\nIntroduce a class that can take ownership of a ByteString and expose the\ndata as a read-only stream. Use this new class where possible. This\nfurther simplifies object lifetime management in cxfa_node.cpp.\n\nChange-Id: Ib7c9b709eebeacd90f6f5f5bd9043233d000960f\nReviewed-on: https://pdfium-review.googlesource.com/c/pdfium/+/96758\nReviewed-by: Tom Sepez \u003ctsepez@chromium.org\u003e\nCommit-Queue: Lei Zhang \u003cthestig@chromium.org\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "f4603a2177e201295039d6eb52a197b7e813d0af",
      "old_mode": 33188,
      "old_path": "core/fpdfapi/parser/cpdf_hint_tables_unittest.cpp",
      "new_id": "2e900854be974f81687357647d8e1c54fad1dc8a",
      "new_mode": 33188,
      "new_path": "core/fpdfapi/parser/cpdf_hint_tables_unittest.cpp"
    },
    {
      "type": "modify",
      "old_id": "aaa235353acde32e8d97295f48822d13587005a8",
      "old_mode": 33188,
      "old_path": "core/fxcrt/BUILD.gn",
      "new_id": "f17adc3f5f57737a81c564803ca1a144fe77f134",
      "new_mode": 33188,
      "new_path": "core/fxcrt/BUILD.gn"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "b596e6d91f28d3bfe7d43a6715b7642e6f9ff62d",
      "new_mode": 33188,
      "new_path": "core/fxcrt/cfx_read_only_string_stream.cpp"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "e5738f955ce3476416dac86cc843edd3d252100c",
      "new_mode": 33188,
      "new_path": "core/fxcrt/cfx_read_only_string_stream.h"
    },
    {
      "type": "modify",
      "old_id": "7c1bd8cd6e78c5690cc0813c1b8ae44b4f156650",
      "old_mode": 33188,
      "old_path": "fxjs/xfa/cjx_node.cpp",
      "new_id": "d5c4f6501b718ed1ed0230dbf2f85040d12e6524",
      "new_mode": 33188,
      "new_path": "fxjs/xfa/cjx_node.cpp"
    },
    {
      "type": "modify",
      "old_id": "c190b1ba1ea7fb15b08f42c57db563e30612bcfa",
      "old_mode": 33188,
      "old_path": "xfa/fxfa/parser/cxfa_node.cpp",
      "new_id": "b5ef817a966c328e1becbc5491151f375455a042",
      "new_mode": 33188,
      "new_path": "xfa/fxfa/parser/cxfa_node.cpp"
    }
  ]
}
