)]}'
{
  "commit": "25661d1e1dc69283fad42f5ac39502fd08270432",
  "tree": "a43d39bf9deb727d96a5ebb3450fa5c5ca8e2ada",
  "parents": [
    "6c62e0e932b1b689d243aabb8467540547635f44"
  ],
  "author": {
    "name": "Lei Zhang",
    "email": "thestig@chromium.org",
    "time": "Thu Aug 01 21:57:23 2019 +0000"
  },
  "committer": {
    "name": "Chromium commit bot",
    "email": "commit-bot@chromium.org",
    "time": "Thu Aug 01 21:57:23 2019 +0000"
  },
  "message": "Add experimental JavaScript retrieval APIs.\n\nAdd the following set of APIs to retrieve the JavaScript code from\nactions in a document\u0027s name tree:\n\n- FPDFDoc_GetJavaScriptActionCount()\n- FPDFDoc_GetJavaScriptAction()\n- FPDFDoc_CloseJavaScriptAction()\n- FPDFJavaScriptAction_GetName()\n- FPDFJavaScriptAction_GetScript()\n\nThis also adds the FPDF_JAVASCRIPT_ACTION type and\nScopedFPDFJavaScriptAction to help manage the lifetime of\nFPDF_JAVASCRIPT_ACTION.\n\nThis is implemented on top of CPDF_Action, and improves validation in\nCPDF_Action to better follow the spec.\n\nBug: pdfium:1253\nChange-Id: I2b3ba83bb4f661e6c996c9d057fbf7d3a0c20e70\nReviewed-on: https://pdfium-review.googlesource.com/c/pdfium/+/55750\nCommit-Queue: Lei Zhang \u003cthestig@chromium.org\u003e\nReviewed-by: Tom Sepez \u003ctsepez@chromium.org\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "bf20f6e4aeeb6c028156b61acf2e6b6e87b9f233",
      "old_mode": 33188,
      "old_path": "BUILD.gn",
      "new_id": "3ce1e0863483f23a54d05403b2b5fc4880961389",
      "new_mode": 33188,
      "new_path": "BUILD.gn"
    },
    {
      "type": "modify",
      "old_id": "18e49277924124c2596a286c3fbae1db530ae1c3",
      "old_mode": 33188,
      "old_path": "core/fpdfdoc/cpdf_action.cpp",
      "new_id": "74a7c6f61b8f8d75da33c7d1964a387f91e5d6d0",
      "new_mode": 33188,
      "new_path": "core/fpdfdoc/cpdf_action.cpp"
    },
    {
      "type": "modify",
      "old_id": "ccc40aa716e0d05defd3b6812b2ad931dd7ace89",
      "old_mode": 33188,
      "old_path": "core/fpdfdoc/cpdf_action.h",
      "new_id": "391f175272fd43ce200a86eae47ddd79ffcf993f",
      "new_mode": 33188,
      "new_path": "core/fpdfdoc/cpdf_action.h"
    },
    {
      "type": "modify",
      "old_id": "62df18b8d5eaeaf1ca195d7e229d9de3b9675ebb",
      "old_mode": 33188,
      "old_path": "fpdfsdk/BUILD.gn",
      "new_id": "463d5ca408fed5c7d84ea0f30ff98f376999737b",
      "new_mode": 33188,
      "new_path": "fpdfsdk/BUILD.gn"
    },
    {
      "type": "modify",
      "old_id": "8eca854b8c4ee2c88ac612939ecb8c042f335b1c",
      "old_mode": 33188,
      "old_path": "fpdfsdk/cpdfsdk_helpers.h",
      "new_id": "a06cc39fab3b3555cd8e7093c0c05ce2fe7d8b15",
      "new_mode": 33188,
      "new_path": "fpdfsdk/cpdfsdk_helpers.h"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "c2d119bb242f13cc86df08449512dd10a1eb822c",
      "new_mode": 33188,
      "new_path": "fpdfsdk/fpdf_javascript.cpp"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "35deb69799bcf2672b6723e5a9472879da3bdbaf",
      "new_mode": 33188,
      "new_path": "fpdfsdk/fpdf_javascript_embeddertest.cpp"
    },
    {
      "type": "modify",
      "old_id": "cf1c14fbb99b6a35fbdcbf78beedb58e4e52baff",
      "old_mode": 33188,
      "old_path": "fpdfsdk/fpdf_view_c_api_test.c",
      "new_id": "396b6d99631e938d4dabfd22d18b5d29a4430212",
      "new_mode": 33188,
      "new_path": "fpdfsdk/fpdf_view_c_api_test.c"
    },
    {
      "type": "modify",
      "old_id": "9a700e3b349b6938745951c507bb4f72f12f83f0",
      "old_mode": 33188,
      "old_path": "public/cpp/fpdf_deleters.h",
      "new_id": "633ddf5e34e5d4fba0005fdef2c2b1066bc7f255",
      "new_mode": 33188,
      "new_path": "public/cpp/fpdf_deleters.h"
    },
    {
      "type": "modify",
      "old_id": "ebae1073f14c74359b97c87dac9f55d7aa6872dd",
      "old_mode": 33188,
      "old_path": "public/cpp/fpdf_scopers.h",
      "new_id": "ff57c1b48913540445160e4e07bfd056a7576166",
      "new_mode": 33188,
      "new_path": "public/cpp/fpdf_scopers.h"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "19f38106ceadb55eacb7c089408d1148e3666915",
      "new_mode": 33188,
      "new_path": "public/fpdf_javascript.h"
    },
    {
      "type": "modify",
      "old_id": "6bbc2bfcd9ace729c61d2123664c42bf5dc36985",
      "old_mode": 33188,
      "old_path": "public/fpdfview.h",
      "new_id": "55ab33cfda5d78596dd87f052ae7d142a765b2aa",
      "new_mode": 33188,
      "new_path": "public/fpdfview.h"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "7d351393eee03a04b295fe7a1cef8fd4325e2aa3",
      "new_mode": 33188,
      "new_path": "testing/resources/js.in"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "07e9b75297c065e56b24f78f4321bd9c5ea04345",
      "new_mode": 33188,
      "new_path": "testing/resources/js.pdf"
    }
  ]
}
