)]}'
{
  "commit": "c0a4c5ada97df01db1ef4a79f3cdd47fb34420ec",
  "tree": "2cb98a2d6014735d22030d6b234a610c742dc67e",
  "parents": [
    "235683e8c00b558fd4ab484b577233ccfeca6a63"
  ],
  "author": {
    "name": "Tom Sepez",
    "email": "tsepez@chromium.org",
    "time": "Wed Apr 14 16:58:28 2021 +0000"
  },
  "committer": {
    "name": "Chromium commit bot",
    "email": "commit-bot@chromium.org",
    "time": "Wed Apr 14 16:58:28 2021 +0000"
  },
  "message": "Avoid holding raw pointer to GCed sub-class through virtual interface.\n\nMake the interface a gc-mixin, and trace it like any other member. This\nis strictly more correct, though it shouldn\u0027t matter because of other\ntraced pointers back to the widget thru the widget mgr.\n\nChange-Id: Ia496102534c5141a5be33091f6804f48ffa4dc5d\nReviewed-on: https://pdfium-review.googlesource.com/c/pdfium/+/79370\nCommit-Queue: Tom Sepez \u003ctsepez@chromium.org\u003e\nReviewed-by: Lei Zhang \u003cthestig@chromium.org\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "63ad532e386fc3b933de72840df35f0b484d2ecd",
      "old_mode": 33188,
      "old_path": "xfa/fwl/cfwl_widget.cpp",
      "new_id": "ff783ae365e34a44a837d177550a14d162c4a6c7",
      "new_mode": 33188,
      "new_path": "xfa/fwl/cfwl_widget.cpp"
    },
    {
      "type": "modify",
      "old_id": "60939a0471f354e479d58378730c11ac332ba30b",
      "old_mode": 33188,
      "old_path": "xfa/fwl/cfwl_widget.h",
      "new_id": "28ff8e7704ceb817c3a80cea2ed6ca07adbbb53d",
      "new_mode": 33188,
      "new_path": "xfa/fwl/cfwl_widget.h"
    },
    {
      "type": "modify",
      "old_id": "ddf29fb6c8eccef7f8b136862026979e3cfd1c4a",
      "old_mode": 33188,
      "old_path": "xfa/fxfa/cxfa_ffwidget.h",
      "new_id": "04afd14e323021ff5ab0a1da055409be83cff25b",
      "new_mode": 33188,
      "new_path": "xfa/fxfa/cxfa_ffwidget.h"
    }
  ]
}
