)]}'
{
  "commit": "c6089368720cef5e064dbeb41874f95f02d51aa8",
  "tree": "91134f3eae155d482cb9cdeffe03dfad80b11c83",
  "parents": [
    "82b2abf343e6fdc7bf4750e74a705886a07cc6e2"
  ],
  "author": {
    "name": "Kai Ninomiya",
    "email": "kainino@chromium.org",
    "time": "Tue Jul 01 13:34:54 2025 -0700"
  },
  "committer": {
    "name": "Dawn LUCI CQ",
    "email": "dawn-scoped@luci-project-accounts.iam.gserviceaccount.com",
    "time": "Tue Jul 01 13:34:54 2025 -0700"
  },
  "message": "[dawn] Add nullable support to return types\n\nChange return types to be more like RecordMember (type, annotation,\noptional) rather than a raw Type. This requires a bunch of refactoring,\nbut now allows attaching that info to return types.\n\n- Introduce a base class of RecordMember called AnnotatedTypedMember\n  that only has type, annotation, optional, and json_data.\n- Change the representation of function/method return types from a Type\n  `.return_type` to an AnnotatedTypedMember `.returns`.\n- Change the representation of void return to `None` instead of\n  `types[\u0027void\u0027]`.\n- Change the return type of CreateBuffer from \"buffer\" to\n  {\"type\": \"buffer\", \"optional\": true}.\n\nBug: 427657664\nChange-Id: Ifc3197139cdb3de5914c6bb33dd1b1c2dd20f1ce\nReviewed-on: https://dawn-review.googlesource.com/c/dawn/+/249394\nReviewed-by: Corentin Wallez \u003ccwallez@chromium.org\u003e\nCommit-Queue: Kai Ninomiya \u003ckainino@chromium.org\u003e\nReviewed-by: Loko Kung \u003clokokung@google.com\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "48e2ef3f90d8d9e7d02efece0bc15766859f6825",
      "old_mode": 33188,
      "old_path": "generator/dawn_json_generator.py",
      "new_id": "ce1d16b3484faebe7a19d33b69b1e445907985a8",
      "new_mode": 33188,
      "new_path": "generator/dawn_json_generator.py"
    },
    {
      "type": "modify",
      "old_id": "a4e8b2b42badcfdbc3bcc68cc0f81084ceb53c6b",
      "old_mode": 33188,
      "old_path": "generator/templates/api.h",
      "new_id": "1b337bfe11521eb0341be218e6186cc137627769",
      "new_mode": 33188,
      "new_path": "generator/templates/api.h"
    },
    {
      "type": "modify",
      "old_id": "d5ad2bc4f2234152632818b8a04d6644f23594c9",
      "old_mode": 33188,
      "old_path": "generator/templates/api_cpp.h",
      "new_id": "2db58d207b04e4d033aca94154aec88a1a5b0789",
      "new_mode": 33188,
      "new_path": "generator/templates/api_cpp.h"
    },
    {
      "type": "modify",
      "old_id": "806f214c46be16ca0f5a0bff17981da4453adb10",
      "old_mode": 33188,
      "old_path": "generator/templates/art/api_jni_types.cpp",
      "new_id": "b8f42ea60ea0bf664396c345a6869a5eb69b5416",
      "new_mode": 33188,
      "new_path": "generator/templates/art/api_jni_types.cpp"
    },
    {
      "type": "modify",
      "old_id": "9df4de23b6f0a300d2ea0e8c1a5cb4599db962ce",
      "old_mode": 33188,
      "old_path": "generator/templates/art/api_kotlin_types.kt",
      "new_id": "4b124d14bf83ff0c47551b08064850fbcc6a99ae",
      "new_mode": 33188,
      "new_path": "generator/templates/art/api_kotlin_types.kt"
    },
    {
      "type": "modify",
      "old_id": "e8fe10b376ea50e5a4b9c2c90402a134160f4afb",
      "old_mode": 33188,
      "old_path": "generator/templates/art/methods.cpp",
      "new_id": "ed449a202781cb2fa576570a6f6fd94d06da19fe",
      "new_mode": 33188,
      "new_path": "generator/templates/art/methods.cpp"
    },
    {
      "type": "modify",
      "old_id": "d7c27ed7001d023c6dea5cb67cfa21b3bb6cbc1c",
      "old_mode": 33188,
      "old_path": "generator/templates/dawn/native/ProcTable.cpp",
      "new_id": "259e076142ecd0400edc941b32194ddd22e25762",
      "new_mode": 33188,
      "new_path": "generator/templates/dawn/native/ProcTable.cpp"
    },
    {
      "type": "modify",
      "old_id": "9ce12ddcc2ea57b54657b7e90a5aeda6fe861bbd",
      "old_mode": 33188,
      "old_path": "generator/templates/dawn/native/api_dawn_native_proc.cpp",
      "new_id": "bb9b6197553954b50e36f49e7acee61f96453f6b",
      "new_mode": 33188,
      "new_path": "generator/templates/dawn/native/api_dawn_native_proc.cpp"
    },
    {
      "type": "modify",
      "old_id": "080376542453e8e744b968414f02bc3ab94a4328",
      "old_mode": 33188,
      "old_path": "generator/templates/dawn/wire/client/ApiProcs.cpp",
      "new_id": "3532af1ffef4fb6fe087f6f772c44ac209478978",
      "new_mode": 33188,
      "new_path": "generator/templates/dawn/wire/client/ApiProcs.cpp"
    },
    {
      "type": "modify",
      "old_id": "99037c3f31376328712bbea5b5288b6d8c229fdc",
      "old_mode": 33188,
      "old_path": "generator/templates/dawn/wire/client/api.h",
      "new_id": "6aae89cb78cbf6d08539bc78de052943f2a2f4e6",
      "new_mode": 33188,
      "new_path": "generator/templates/dawn/wire/client/api.h"
    },
    {
      "type": "modify",
      "old_id": "0b788f7a59577b7a04dbd77a7ab4db8c6f58ce19",
      "old_mode": 33188,
      "old_path": "generator/templates/dawn/wire/server/ServerHandlers.cpp",
      "new_id": "5b946817a243d05fea4b0b0aa411bc6b7e9c5c15",
      "new_mode": 33188,
      "new_path": "generator/templates/dawn/wire/server/ServerHandlers.cpp"
    },
    {
      "type": "modify",
      "old_id": "dadd0c29d06286d43aeaf149665ed7b466de926c",
      "old_mode": 33188,
      "old_path": "generator/templates/dawn_proc.cpp",
      "new_id": "417400c818406addb3863beecf606f1c2726ea95",
      "new_mode": 33188,
      "new_path": "generator/templates/dawn_proc.cpp"
    },
    {
      "type": "modify",
      "old_id": "dfa3e6331ab0e2a44590b0b98fa085b9c06a7be4",
      "old_mode": 33188,
      "old_path": "generator/templates/dawn_thread_dispatch_proc.cpp",
      "new_id": "2d00081a2c993a3b646a0be6f8579a36c7a12754",
      "new_mode": 33188,
      "new_path": "generator/templates/dawn_thread_dispatch_proc.cpp"
    },
    {
      "type": "modify",
      "old_id": "98abf085ce22cb3d4d1c08383f30d9f387fdb542",
      "old_mode": 33188,
      "old_path": "generator/templates/emdawnwebgpu/library_webgpu_generated_sig_info.js",
      "new_id": "ec24756410f330eb0e7fd31cc4a322795ebe629a",
      "new_mode": 33188,
      "new_path": "generator/templates/emdawnwebgpu/library_webgpu_generated_sig_info.js"
    },
    {
      "type": "modify",
      "old_id": "1c30f3caf881dc2df1907007ea7bb7af5d50af03",
      "old_mode": 33188,
      "old_path": "generator/templates/mock_api.cpp",
      "new_id": "37e4527af6e9e26a21110559dabe6ce878f931fd",
      "new_mode": 33188,
      "new_path": "generator/templates/mock_api.cpp"
    },
    {
      "type": "modify",
      "old_id": "9e6a9739949fe7120ce8f714144081925417a0fc",
      "old_mode": 33188,
      "old_path": "generator/templates/mock_api.h",
      "new_id": "d286dbfd2a070d7899038f04dabe93cbcd4088bb",
      "new_mode": 33188,
      "new_path": "generator/templates/mock_api.h"
    },
    {
      "type": "modify",
      "old_id": "ffe1d05058de21e410f200abc82035e2beabf431",
      "old_mode": 33188,
      "old_path": "src/dawn/dawn.json",
      "new_id": "173305ccbbd907358ded37bb195920d47a943560",
      "new_mode": 33188,
      "new_path": "src/dawn/dawn.json"
    },
    {
      "type": "modify",
      "old_id": "138fe9841c4ffb2238e8c6bb70caf6fb6ad2c3f7",
      "old_mode": 33188,
      "old_path": "third_party/webgpu-headers/webgpu.h.diff",
      "new_id": "76c676038dacdc239b378376a771f3133938dc1a",
      "new_mode": 33188,
      "new_path": "third_party/webgpu-headers/webgpu.h.diff"
    },
    {
      "type": "modify",
      "old_id": "74668737028ecb5bb17fb6ff9b98d64186b2cd8a",
      "old_mode": 33188,
      "old_path": "tools/android/webgpu/src/androidTest/java/android/dawn/BufferTest.kt",
      "new_id": "342a68195a052be957d8dd3a7512d719b569b6c8",
      "new_mode": 33188,
      "new_path": "tools/android/webgpu/src/androidTest/java/android/dawn/BufferTest.kt"
    },
    {
      "type": "modify",
      "old_id": "8b7f38ab1085c1d4e865b9e90dc5307ff9170828",
      "old_mode": 33188,
      "old_path": "tools/android/webgpu/src/main/java/android/dawn/helper/Textures.kt",
      "new_id": "b28bf3d5a49ea64c455460042f3cb438c1c921d5",
      "new_mode": 33188,
      "new_path": "tools/android/webgpu/src/main/java/android/dawn/helper/Textures.kt"
    }
  ]
}
