)]}'
{
  "commit": "82eadb32af6827abc1bda78e5f9ebcce5979bfea",
  "tree": "c2e1f292d1ecf5478cb67d2896c5d7daa8ed07af",
  "parents": [
    "efbfce34b440b2de0208e59f30cd918622c33fc0"
  ],
  "author": {
    "name": "Lokbondo Kung",
    "email": "lokokung@google.com",
    "time": "Thu May 01 16:46:15 2025 -0700"
  },
  "committer": {
    "name": "Dawn LUCI CQ",
    "email": "dawn-scoped@luci-project-accounts.iam.gserviceaccount.com",
    "time": "Thu May 01 16:46:15 2025 -0700"
  },
  "message": "[dawn][native] Adds task tracking in ExecutionQueueBase.\n\n- Implements the necessary tools in ExecutionQueueBase as described\n  in the [design doc](https://docs.google.com/document/d/1o_1SvkpnWq0ysOxU5jJLkWKjBrLG5eUHqmWQSjQiu2s/edit?usp\u003dsharing).\n- Uses WeakRefs for Queue based events to avoid ref-cycle of\n  QueueBase            -[implements]-\u003e\n    ExecutionQueueBase -[owns]-\u003e\n      Task             -[refs]-\u003e\n        TrackedEvent   -[refs]-\u003e\n\t  QueueBase\n- Much of the task tracking is based on the CallbackTaskManager\n  which we can hopefully remove once more refactoring is done.\n- Introduces a mechanism for the backend to proactively\n  update the completed serial while also tracking queue event\n  futures. This way, when the backend notifies that a particular\n  serial is passed, we can flush all future callbacks up to that\n  serial.\n- Ensure that once the instance is dropped, all non-spontaneous\n  event callbacks are called.\n- Disables some Spontaneous tests since they won\u0027t work anymore\n  now that we are in the middle of implementing the infra to\n  enable AllowSpontaneous.\n\nBug: 412761228\nChange-Id: I1650ab2ef1fa60837553d7bd3a5f6e0b4e7ad3b7\nReviewed-on: https://dawn-review.googlesource.com/c/dawn/+/239115\nReviewed-by: Corentin Wallez \u003ccwallez@chromium.org\u003e\nReviewed-by: Kai Ninomiya \u003ckainino@chromium.org\u003e\nCommit-Queue: Loko Kung \u003clokokung@google.com\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "092ab2e32380af0aecbb5540b04a97addf327e84",
      "old_mode": 33188,
      "old_path": "src/dawn/native/Buffer.cpp",
      "new_id": "946e5a8ea1aadcb6cbb610d2be41f2469d095149",
      "new_mode": 33188,
      "new_path": "src/dawn/native/Buffer.cpp"
    },
    {
      "type": "modify",
      "old_id": "2780fe269f59644276a98cfad4829018a02936bf",
      "old_mode": 33188,
      "old_path": "src/dawn/native/EventManager.cpp",
      "new_id": "62ff456523760ef236ce9cee337791c44813e8a0",
      "new_mode": 33188,
      "new_path": "src/dawn/native/EventManager.cpp"
    },
    {
      "type": "modify",
      "old_id": "a6a4ec025821ea705ecda32b366d511419a0ea02",
      "old_mode": 33188,
      "old_path": "src/dawn/native/EventManager.h",
      "new_id": "90ac91959fa676fac260ddb5f979343365a4f0b1",
      "new_mode": 33188,
      "new_path": "src/dawn/native/EventManager.h"
    },
    {
      "type": "modify",
      "old_id": "75e98228cba65375c305f5453235659aebe1e487",
      "old_mode": 33188,
      "old_path": "src/dawn/native/ExecutionQueue.cpp",
      "new_id": "6fbb56a4ede4c0bc3c14261235872e153d8704db",
      "new_mode": 33188,
      "new_path": "src/dawn/native/ExecutionQueue.cpp"
    },
    {
      "type": "modify",
      "old_id": "5bd86ff23261d17701d90efda3d53cccbae93784",
      "old_mode": 33188,
      "old_path": "src/dawn/native/ExecutionQueue.h",
      "new_id": "c52908ced247b9c538671a54bb0c40355ca0ed79",
      "new_mode": 33188,
      "new_path": "src/dawn/native/ExecutionQueue.h"
    },
    {
      "type": "modify",
      "old_id": "ef30378c5b74f6b3f4c5626932dd9ccd0dc763f1",
      "old_mode": 33188,
      "old_path": "src/dawn/native/Queue.cpp",
      "new_id": "393154a9fe715f73c549692bb34c98cf7a5ae720",
      "new_mode": 33188,
      "new_path": "src/dawn/native/Queue.cpp"
    },
    {
      "type": "modify",
      "old_id": "1e166a84982975b055e1576dc16ab2a498a3308c",
      "old_mode": 33188,
      "old_path": "src/dawn/native/Queue.h",
      "new_id": "8371e6525d2651bea37cf577d1bfc2dabb7b5693",
      "new_mode": 33188,
      "new_path": "src/dawn/native/Queue.h"
    },
    {
      "type": "modify",
      "old_id": "3d00661d302ab9095b2e1a1e91d6ea11728e59e8",
      "old_mode": 33188,
      "old_path": "src/dawn/tests/end2end/EventTests.cpp",
      "new_id": "b065371af0593f2f224626c220cd995748d27c1e",
      "new_mode": 33188,
      "new_path": "src/dawn/tests/end2end/EventTests.cpp"
    }
  ]
}
