)]}'
{
  "commit": "8964d1018a8412e2cabc1d8c3d41a01c62870cf9",
  "tree": "e3874db43b95a7538ab4baa083a5ee1a2d6bde6f",
  "parents": [
    "f8c67a228196c37af17e68d47195421e064b1cb5"
  ],
  "author": {
    "name": "Tom Sepez",
    "email": "tsepez@chromium.org",
    "time": "Mon May 06 17:57:59 2019 +0000"
  },
  "committer": {
    "name": "Chromium commit bot",
    "email": "commit-bot@chromium.org",
    "time": "Mon May 06 17:57:59 2019 +0000"
  },
  "message": "Replace some CPDF_Array::Add() calls with AddNew\u003c\u003e().\n\nDitto for InsertAt() and SetAt().\n\nAddNew\u003c\u003e() is safer because it can not introduce a direct\ncycle of objects into the array since it creates a new object\nthat can not have references to any old objects [cycles through\nindirect objects are always possible, but do not affect memory\nmanagement when using RetainPtr\u003c\u003e].\n\nThis reduces the number of Add() calls that might need auditing\nshould a cycle be discovered in arrays again someday.\n\nChange-Id: Ic423fcd4baefed0c692bd60961b360f6bb506e43\nReviewed-on: https://pdfium-review.googlesource.com/c/pdfium/+/53870\nCommit-Queue: Tom Sepez \u003ctsepez@chromium.org\u003e\nReviewed-by: Lei Zhang \u003cthestig@chromium.org\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "0191f47ea05e951feae72eeb67938877865bbe90",
      "old_mode": 33188,
      "old_path": "core/fpdfapi/edit/cpdf_pagecontentmanager.cpp",
      "new_id": "f4d51c6dec8a1ee3df940c169669a64be3fb89a0",
      "new_mode": 33188,
      "new_path": "core/fpdfapi/edit/cpdf_pagecontentmanager.cpp"
    },
    {
      "type": "modify",
      "old_id": "2a442156ddb6ddbbaa8b622684869dcff4e42246",
      "old_mode": 33188,
      "old_path": "core/fpdfapi/page/cpdf_image.cpp",
      "new_id": "1d01edb0e0052378d35b6a0dbe814075bc50c23e",
      "new_mode": 33188,
      "new_path": "core/fpdfapi/page/cpdf_image.cpp"
    },
    {
      "type": "modify",
      "old_id": "55d4cd66a55664b9668a379df1d192a91886cd0e",
      "old_mode": 33188,
      "old_path": "core/fpdfapi/parser/cpdf_array.h",
      "new_id": "7922e83773044acd4e638ef7bce5b581f759ee26",
      "new_mode": 33188,
      "new_path": "core/fpdfapi/parser/cpdf_array.h"
    },
    {
      "type": "modify",
      "old_id": "835b086bc7a3e3453c4bfd976821cfe36ac42bd4",
      "old_mode": 33188,
      "old_path": "core/fpdfapi/parser/cpdf_document.cpp",
      "new_id": "be04432c8b8807406995eb769f8e21602f4b35d0",
      "new_mode": 33188,
      "new_path": "core/fpdfapi/parser/cpdf_document.cpp"
    },
    {
      "type": "modify",
      "old_id": "e39da48ba7d8ba900a832e9dcdb434d86e87d89a",
      "old_mode": 33188,
      "old_path": "fpdfsdk/fpdf_edittext.cpp",
      "new_id": "ddb0ee78749e9c67f12907a4c76436de3ed9b1ab",
      "new_mode": 33188,
      "new_path": "fpdfsdk/fpdf_edittext.cpp"
    },
    {
      "type": "modify",
      "old_id": "94cc2887b4355dc185be72cde770558b992f43de",
      "old_mode": 33188,
      "old_path": "fpdfsdk/fpdf_flatten.cpp",
      "new_id": "d6dbe9a679651ea659191cf99f63be000e600be0",
      "new_mode": 33188,
      "new_path": "fpdfsdk/fpdf_flatten.cpp"
    },
    {
      "type": "modify",
      "old_id": "76a434dcf3f41004d49afe9d6cb79248906114e6",
      "old_mode": 33188,
      "old_path": "fpdfsdk/fpdf_save.cpp",
      "new_id": "22af561a17ba4ceedfec802be2efb05e5783cc9b",
      "new_mode": 33188,
      "new_path": "fpdfsdk/fpdf_save.cpp"
    },
    {
      "type": "modify",
      "old_id": "3ffbb3bacd5e3d9484fb9602f5de2a145ac968c4",
      "old_mode": 33188,
      "old_path": "fpdfsdk/fpdf_transformpage.cpp",
      "new_id": "80101ae6de8df1d68c960c821d0267d29661c0df",
      "new_mode": 33188,
      "new_path": "fpdfsdk/fpdf_transformpage.cpp"
    }
  ]
}
