)]}'
{
  "commit": "ce768a4ef90c0ab74ea7edc3117bb8858aec02f9",
  "tree": "2e472150add251ebc5ff6086574615bc298a1e39",
  "parents": [
    "bc23de409b2753837bebfa21c6ba513d7db94a48"
  ],
  "author": {
    "name": "Geoff Lang",
    "email": "geofflang@chromium.org",
    "time": "Mon Sep 08 08:56:04 2025 -0700"
  },
  "committer": {
    "name": "Dawn LUCI CQ",
    "email": "dawn-scoped@luci-project-accounts.iam.gserviceaccount.com",
    "time": "Mon Sep 08 08:56:04 2025 -0700"
  },
  "message": "Allow objects to become error objects after initialization.\n\nObjects that may do internal initialization or validation in\nasynchronous tasks can now become error objects instead of needing to be\nrecreated.\n\nAdd another bit to the RefCounted payload to represent initialization\nstate. Checking the error state is only valid if the object has marked\nitself as initialized. The values of error and initialization\nenums allow atomic operations on the payload data to make the allowed\ntransitions.\n\nNo objects currently mark themselves as having delayed initialization.\n\nBug:406522796\n\nChange-Id: Ied2bc6aae1b59f5c7c254a8db5e3ddabc11dfc4f\nReviewed-on: https://dawn-review.googlesource.com/c/dawn/+/252675\nReviewed-by: Loko Kung \u003clokokung@google.com\u003e\nCommit-Queue: Geoff Lang \u003cgeofflang@chromium.org\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "3e019bd8c887458fe47d499fe94d2d4feae24d83",
      "old_mode": 33188,
      "old_path": "src/dawn/common/RefCounted.cpp",
      "new_id": "5d9c15235b7a838a8017a83519f53ef7f0ee91fa",
      "new_mode": 33188,
      "new_path": "src/dawn/common/RefCounted.cpp"
    },
    {
      "type": "modify",
      "old_id": "fa7e5f7c66423b97e994922301b14e33a8e98162",
      "old_mode": 33188,
      "old_path": "src/dawn/common/RefCounted.h",
      "new_id": "dc781b76f5741f3ca03074b7df18c6b29e0f05b7",
      "new_mode": 33188,
      "new_path": "src/dawn/common/RefCounted.h"
    },
    {
      "type": "modify",
      "old_id": "ba08289a808dce114c5d2bbc96f18c53a8dbf414",
      "old_mode": 33188,
      "old_path": "src/dawn/native/ObjectBase.cpp",
      "new_id": "6b7fca21c7399af95044c3bd5f1a102faa741b76",
      "new_mode": 33188,
      "new_path": "src/dawn/native/ObjectBase.cpp"
    },
    {
      "type": "modify",
      "old_id": "034a7d942f2bda18995da3cbd775ecb393378702",
      "old_mode": 33188,
      "old_path": "src/dawn/native/ObjectBase.h",
      "new_id": "b23d9f9d2b7923749f480d1ae7c2bda486710187",
      "new_mode": 33188,
      "new_path": "src/dawn/native/ObjectBase.h"
    },
    {
      "type": "modify",
      "old_id": "9e003188bbd454e8964af6d02a9973ebc268bd35",
      "old_mode": 33188,
      "old_path": "src/dawn/tests/BUILD.gn",
      "new_id": "353174240b8aa48bd6c8d31ec6f4d1eb7e809d84",
      "new_mode": 33188,
      "new_path": "src/dawn/tests/BUILD.gn"
    },
    {
      "type": "modify",
      "old_id": "655beaf521d985adf6fbe62ad895f22dbb83bc4a",
      "old_mode": 33188,
      "old_path": "src/dawn/tests/unittests/RefCountedTests.cpp",
      "new_id": "2e3109fe8f4897fc938c07b931c514a07b9d0a06",
      "new_mode": 33188,
      "new_path": "src/dawn/tests/unittests/RefCountedTests.cpp"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "e7d8db00e71d2236b198d7a7de8b36b18ba9d637",
      "new_mode": 33188,
      "new_path": "src/dawn/tests/unittests/native/ErrorMonadTests.cpp"
    }
  ]
}
