)]}'
{
  "commit": "7e4877f634e4e4db77ec1a26974cd314a2f004db",
  "tree": "041e375149e69bc9f052002d4562ff24a25d2530",
  "parents": [
    "f0a4e6c86f19dde65b7a2c203df9831ed7b18c93"
  ],
  "author": {
    "name": "Tom Sepez",
    "email": "tsepez@chromium.org",
    "time": "Fri Apr 05 21:32:36 2019 +0000"
  },
  "committer": {
    "name": "Chromium commit bot",
    "email": "commit-bot@chromium.org",
    "time": "Fri Apr 05 21:32:36 2019 +0000"
  },
  "message": "Clear v8 object binding in CXFA_Object destructor.\n\nNoticed this possibility while looking at another issue,\nthis is a best practice to ensure validity.\n\n- Rename some functions for clarity.\n- Insist on a non-null return for GetOrCreate...()\n- Handle dependence in CFXA_Object destruction on the object\n  that owns it (and may be cleaning it up in its own destructor).\n\nChange-Id: I129817f636455f630d9d911f6fff5022faa72e7b\nReviewed-on: https://pdfium-review.googlesource.com/c/pdfium/+/52850\nCommit-Queue: Tom Sepez \u003ctsepez@chromium.org\u003e\nReviewed-by: Lei Zhang \u003cthestig@chromium.org\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "5dec89c38f9980901875fb81dfa0216d1bea86c0",
      "old_mode": 33188,
      "old_path": "fxjs/xfa/cfxjse_context.cpp",
      "new_id": "7a3b593af0c2bbfc723da5e3db4d5f497c5bc24a",
      "new_mode": 33188,
      "new_path": "fxjs/xfa/cfxjse_context.cpp"
    },
    {
      "type": "modify",
      "old_id": "347a69dc404db6caa8bf7b9b4c912bfb76f4ac81",
      "old_mode": 33188,
      "old_path": "fxjs/xfa/cfxjse_context.h",
      "new_id": "b519e77b8f5945d52db7f044c683df76ed4f9ad5",
      "new_mode": 33188,
      "new_path": "fxjs/xfa/cfxjse_context.h"
    },
    {
      "type": "modify",
      "old_id": "8c20211ceb6f8d21f5b7d4693c6aeba01f12e355",
      "old_mode": 33188,
      "old_path": "fxjs/xfa/cfxjse_engine.cpp",
      "new_id": "e4675fd3d6684b14069b263c3091557613420f09",
      "new_mode": 33188,
      "new_path": "fxjs/xfa/cfxjse_engine.cpp"
    },
    {
      "type": "modify",
      "old_id": "d96eaeec4636eca6a6fb428fa29aa1b5eca2c77f",
      "old_mode": 33188,
      "old_path": "fxjs/xfa/cfxjse_engine.h",
      "new_id": "addf0cc585aacf0b3d47674f8aca66838e481c7f",
      "new_mode": 33188,
      "new_path": "fxjs/xfa/cfxjse_engine.h"
    },
    {
      "type": "modify",
      "old_id": "47b52a9b0b7ccd852335d411b864919e6b1107c4",
      "old_mode": 33188,
      "old_path": "fxjs/xfa/cfxjse_formcalc_context.cpp",
      "new_id": "6782fb6fa0b39c27825507206803c112e9ce4c83",
      "new_mode": 33188,
      "new_path": "fxjs/xfa/cfxjse_formcalc_context.cpp"
    },
    {
      "type": "modify",
      "old_id": "194e77da17457009f25c2273f0834c7340000e6a",
      "old_mode": 33188,
      "old_path": "fxjs/xfa/cfxjse_value.cpp",
      "new_id": "eff447770e30d438eaf91ef09393a6c46fec9520",
      "new_mode": 33188,
      "new_path": "fxjs/xfa/cfxjse_value.cpp"
    },
    {
      "type": "modify",
      "old_id": "5a81a80f658127279cf06b0e701540527ecedf93",
      "old_mode": 33188,
      "old_path": "fxjs/xfa/cfxjse_value.h",
      "new_id": "aea43fddbb3ec831e796af9cce3960752691b27c",
      "new_mode": 33188,
      "new_path": "fxjs/xfa/cfxjse_value.h"
    },
    {
      "type": "modify",
      "old_id": "f24b7e64496a6fe0c8b43abf2b96a90ca90333ad",
      "old_mode": 33188,
      "old_path": "fxjs/xfa/cjx_exclgroup.cpp",
      "new_id": "ae20485dc9d59b1d2127cd7f681008965ad202e7",
      "new_mode": 33188,
      "new_path": "fxjs/xfa/cjx_exclgroup.cpp"
    },
    {
      "type": "modify",
      "old_id": "41f7e4591d191b6c06b03c02113237979afaf72b",
      "old_mode": 33188,
      "old_path": "fxjs/xfa/cjx_form.cpp",
      "new_id": "32c884b8262192297a64edd105c91122a1941a66",
      "new_mode": 33188,
      "new_path": "fxjs/xfa/cjx_form.cpp"
    },
    {
      "type": "modify",
      "old_id": "678b052bbd3acc42f7e0e39915175da54ba27bd4",
      "old_mode": 33188,
      "old_path": "fxjs/xfa/cjx_hostpseudomodel.cpp",
      "new_id": "c5d36b341e54031f009574f8675c088ba3b777c0",
      "new_mode": 33188,
      "new_path": "fxjs/xfa/cjx_hostpseudomodel.cpp"
    },
    {
      "type": "modify",
      "old_id": "6d6de91ed2c8729673967cbac105373c4f112e3f",
      "old_mode": 33188,
      "old_path": "fxjs/xfa/cjx_instancemanager.cpp",
      "new_id": "f3881e4072ad2a386070ef42825042162c85d7cf",
      "new_mode": 33188,
      "new_path": "fxjs/xfa/cjx_instancemanager.cpp"
    },
    {
      "type": "modify",
      "old_id": "66ae1ea435436bfe27eb8aa57f8e7b7bda03f3e9",
      "old_mode": 33188,
      "old_path": "fxjs/xfa/cjx_model.cpp",
      "new_id": "4fa0a2e286dac16a1e8e09b69cdd3c74c1c97564",
      "new_mode": 33188,
      "new_path": "fxjs/xfa/cjx_model.cpp"
    },
    {
      "type": "modify",
      "old_id": "59c364adc3c1ba93856deee4c731a71f0858b0a5",
      "old_mode": 33188,
      "old_path": "fxjs/xfa/cjx_node.cpp",
      "new_id": "bf10c0fad2a76f6e917748e4b670a618b035638f",
      "new_mode": 33188,
      "new_path": "fxjs/xfa/cjx_node.cpp"
    },
    {
      "type": "modify",
      "old_id": "7a5e0828712e184e26388637e0e5b56195999a35",
      "old_mode": 33188,
      "old_path": "fxjs/xfa/cjx_object.cpp",
      "new_id": "63eb003ce47752d2806d00e5351c32daa0ba75e5",
      "new_mode": 33188,
      "new_path": "fxjs/xfa/cjx_object.cpp"
    },
    {
      "type": "modify",
      "old_id": "17739a16ee645de65aab1892a899be48073b329a",
      "old_mode": 33188,
      "old_path": "fxjs/xfa/cjx_subform.cpp",
      "new_id": "18e1508e34bd021add8221a359ed04c913633361",
      "new_mode": 33188,
      "new_path": "fxjs/xfa/cjx_subform.cpp"
    },
    {
      "type": "modify",
      "old_id": "c036ab98ded175de235b04948e2738c202fd423d",
      "old_mode": 33188,
      "old_path": "fxjs/xfa/cjx_tree.cpp",
      "new_id": "cc13b7aad958ab4d146a31f148125f925f612eb1",
      "new_mode": 33188,
      "new_path": "fxjs/xfa/cjx_tree.cpp"
    },
    {
      "type": "modify",
      "old_id": "04a27e7a90ec32c44c5bf549670e9f182b424493",
      "old_mode": 33188,
      "old_path": "fxjs/xfa/cjx_treelist.cpp",
      "new_id": "51bbb0ac5e2f8b8c3481722cae7990d64a1bd65d",
      "new_mode": 33188,
      "new_path": "fxjs/xfa/cjx_treelist.cpp"
    },
    {
      "type": "modify",
      "old_id": "2d943bd356d934ceff638115e2e3f95764a7d8cf",
      "old_mode": 33188,
      "old_path": "fxjs/xfa/cjx_xfa.cpp",
      "new_id": "08c6a80638dd9aae166f800907c3cb557cebd649",
      "new_mode": 33188,
      "new_path": "fxjs/xfa/cjx_xfa.cpp"
    },
    {
      "type": "modify",
      "old_id": "9200ec2d2e49cd8f9046d76ee6e95bcbcda45d17",
      "old_mode": 33188,
      "old_path": "xfa/fxfa/parser/cxfa_document.cpp",
      "new_id": "a30cb54ff2b6c6dcd89771ad6b680885630dc0fb",
      "new_mode": 33188,
      "new_path": "xfa/fxfa/parser/cxfa_document.cpp"
    },
    {
      "type": "modify",
      "old_id": "4a57a177c313d3ac5aa3293f0269344c89c46906",
      "old_mode": 33188,
      "old_path": "xfa/fxfa/parser/cxfa_document.h",
      "new_id": "f8fec25d6f0fd82831dd7cfe08a272ecc2275266",
      "new_mode": 33188,
      "new_path": "xfa/fxfa/parser/cxfa_document.h"
    },
    {
      "type": "modify",
      "old_id": "13c969c10be954e7b59cd50bf5197ef31a4c1b7e",
      "old_mode": 33188,
      "old_path": "xfa/fxfa/parser/cxfa_nodeowner.cpp",
      "new_id": "6ee9fd8722e1ccb120e403a206404ae48769e2da",
      "new_mode": 33188,
      "new_path": "xfa/fxfa/parser/cxfa_nodeowner.cpp"
    },
    {
      "type": "modify",
      "old_id": "2aaabe41187c221059e30888f80b81bc78b6d819",
      "old_mode": 33188,
      "old_path": "xfa/fxfa/parser/cxfa_nodeowner.h",
      "new_id": "e7247cd3fa0f07535000ee12ec67be1c4305b99f",
      "new_mode": 33188,
      "new_path": "xfa/fxfa/parser/cxfa_nodeowner.h"
    },
    {
      "type": "modify",
      "old_id": "a5419914578b47a8ac1bbdaaf18942e7c7e4b534",
      "old_mode": 33188,
      "old_path": "xfa/fxfa/parser/cxfa_object.cpp",
      "new_id": "6d730bf10e7dac310cb597ec7049aba6f924b521",
      "new_mode": 33188,
      "new_path": "xfa/fxfa/parser/cxfa_object.cpp"
    }
  ]
}
