)]}'
{
  "commit": "f710cc30eb9086375d2eadbff4dbf1ffb7d9f9de",
  "tree": "b270f24a9533b002cbf42146157cb742d4acc5ab",
  "parents": [
    "0e6580e3ca3b66c7a39a017eaf4e25aa6feb0fa5"
  ],
  "author": {
    "name": "Loko Kung",
    "email": "lokokung@google.com",
    "time": "Thu Apr 02 13:33:30 2026 -0700"
  },
  "committer": {
    "name": "Dawn LUCI CQ",
    "email": "dawn-scoped@luci-project-accounts.iam.gserviceaccount.com",
    "time": "Thu Apr 02 13:33:30 2026 -0700"
  },
  "message": "Revert \"[dawn][native] Some cleanup of DeviceLostEvent code.\"\n\nThis reverts commit a2bc4fa3d9a37ff02bef22ab81a42d7cd7c34bc2.\n\nReason for revert: Potentially causing memory leak in Dawn-\u003eChrome roll.\n\nOriginal change\u0027s description:\n\u003e [dawn][native] Some cleanup of DeviceLostEvent code.\n\u003e\n\u003e - Uses the refcount payload in RefCountedWithExternalCount to track\n\u003e   whether an external ref count exists. Note that we are using a\n\u003e   \"ForTesting\" function to implement the check of the count even\n\u003e   though this is not for testing. We are special casing this because\n\u003e   it is a valid check for the external ref count. This is needed to\n\u003e   explicitly handle the spec behavior that the device lost event\n\u003e   should pass nullptr for the device when the last external\n\u003e   reference has been dropped.\n\u003e - Makes APIGetLostFuture use cached future id when possible.\n\u003e - Moves the device lost related members in Device to private since\n\u003e   the mock isn\u0027t actually using the alternative constructor anymore.\n\u003e   Also removes said constructor.\n\u003e - Finally, defer cleanup of the callback infos to the completion of\n\u003e   the device lost callback instead of having it called in two\n\u003e   different places, the callback and in\n\u003e   DeviceBase::WillDropLastExternalRef.\n\u003e\n\u003e Change-Id: I31b57391438c0782ba223884a72991ca77426bec\n\u003e Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/299539\n\u003e Commit-Queue: Loko Kung \u003clokokung@google.com\u003e\n\u003e Reviewed-by: Kai Ninomiya \u003ckainino@chromium.org\u003e\n\n# Not skipping CQ checks because original CL landed \u003e 1 day ago.\n\nChange-Id: I4b42d4042c8f847baf193c20aa74c2356fde6841\nReviewed-on: https://dawn-review.googlesource.com/c/dawn/+/300955\nCommit-Queue: Loko Kung \u003clokokung@google.com\u003e\nBot-Commit: rubber-stamper@appspot.gserviceaccount.com \u003crubber-stamper@appspot.gserviceaccount.com\u003e\nAuto-Submit: Loko Kung \u003clokokung@google.com\u003e\nReviewed-by: David Neto \u003cdneto@google.com\u003e\nCommit-Queue: rubber-stamper@appspot.gserviceaccount.com \u003crubber-stamper@appspot.gserviceaccount.com\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "b88b2cae4c1aa134cc67c53b0d59e2040d98b3e0",
      "old_mode": 33188,
      "old_path": "src/dawn/common/RefCountedWithExternalCount.h",
      "new_id": "86bd70ba9d1f52e0184e531af6492859d451ba7a",
      "new_mode": 33188,
      "new_path": "src/dawn/common/RefCountedWithExternalCount.h"
    },
    {
      "type": "modify",
      "old_id": "196120196170bb0aaa169c29ff1605ae0838282b",
      "old_mode": 33188,
      "old_path": "src/dawn/native/Adapter.cpp",
      "new_id": "2d86d05bb4f044f2394d9ee52888bfdfdce7c9fe",
      "new_mode": 33188,
      "new_path": "src/dawn/native/Adapter.cpp"
    },
    {
      "type": "modify",
      "old_id": "44910a927623f14e5cca375bda8ecdd706ad559f",
      "old_mode": 33188,
      "old_path": "src/dawn/native/Device.cpp",
      "new_id": "e9be296cebf058df921f0daa942acac7d3fbc94f",
      "new_mode": 33188,
      "new_path": "src/dawn/native/Device.cpp"
    },
    {
      "type": "modify",
      "old_id": "85a257d170b16cd8bc8dce362c3c2aba6c1b4e32",
      "old_mode": 33188,
      "old_path": "src/dawn/native/Device.h",
      "new_id": "0f7cc6f891c40b11aafe611ed2756598f077e5b1",
      "new_mode": 33188,
      "new_path": "src/dawn/native/Device.h"
    },
    {
      "type": "modify",
      "old_id": "c6fb74d8a6aa093c39e7faf07c9961e1d87fae8c",
      "old_mode": 33188,
      "old_path": "src/dawn/tests/unittests/native/mocks/DawnMockTest.cpp",
      "new_id": "cad3ac52ced6eadf583d49c4a96446e26ed42c0a",
      "new_mode": 33188,
      "new_path": "src/dawn/tests/unittests/native/mocks/DawnMockTest.cpp"
    },
    {
      "type": "modify",
      "old_id": "15d19b53cd0beb9731d0e45d66bef7ad917dfaed",
      "old_mode": 33188,
      "old_path": "src/dawn/tests/unittests/native/mocks/DeviceMock.cpp",
      "new_id": "52052167b36835c685f6354e1d911b4f60ef76a3",
      "new_mode": 33188,
      "new_path": "src/dawn/tests/unittests/native/mocks/DeviceMock.cpp"
    }
  ]
}
