)]}'
{
  "commit": "53ca445136797a5bb38555ef3816a5eb2f3d73d8",
  "tree": "d1b329f02cdd89bcd2072ea93891f0c46a81679c",
  "parents": [
    "cc14a14dfeceaca0a594cd7a49242f22e5a2dafe"
  ],
  "author": {
    "name": "Le Hoang Quyen",
    "email": "lehoangquyen@chromium.org",
    "time": "Thu Mar 19 06:50:37 2026 -0700"
  },
  "committer": {
    "name": "Dawn LUCI CQ",
    "email": "dawn-scoped@luci-project-accounts.iam.gserviceaccount.com",
    "time": "Thu Mar 19 06:50:37 2026 -0700"
  },
  "message": "[dawn] Refactor ApiObject label to be thread-safe.\n\nThis change replaces the raw std::string label in ApiObjectBase with a\nlazily-initialized ObjectLabel that holds a mutex-protected string. This\nensures that SetLabel() and GetLabel() can be called safely from multiple\nthreads without a device-wide lock.\n\nApiObjectBase stores an atomic pointer to ObjectLabel (initialized once\nvia std::once_flag on the first non-empty SetLabel call). GetLabel()\nreturns std::string by value.\n\nBug: 479457809\nChange-Id: Ib9d14414d012bb984307fd391ba86bcff78bf820\nReviewed-on: https://dawn-review.googlesource.com/c/dawn/+/297395\nReviewed-by: Corentin Wallez \u003ccwallez@chromium.org\u003e\nCommit-Queue: Quyen Le \u003clehoangquyen@chromium.org\u003e\nReviewed-by: Kyle Charbonneau \u003ckylechar@google.com\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "b2360d65e9d5a12bbbb024b8a54573b671c0505a",
      "old_mode": 33188,
      "old_path": "include/dawn/native/DawnNative.h",
      "new_id": "4ddbfd52ea8e62b15af92245c55bc7bca62b57c5",
      "new_mode": 33188,
      "new_path": "include/dawn/native/DawnNative.h"
    },
    {
      "type": "modify",
      "old_id": "933b41ee706b7bac73ea930a58e5c49c01d44582",
      "old_mode": 33188,
      "old_path": "src/dawn/native/BUILD.gn",
      "new_id": "5a2f61cafdd4a1cfa2cec448151541e13341ae37",
      "new_mode": 33188,
      "new_path": "src/dawn/native/BUILD.gn"
    },
    {
      "type": "modify",
      "old_id": "7db472486166223a49e4be8d6c83f03bb141e814",
      "old_mode": 33188,
      "old_path": "src/dawn/native/CMakeLists.txt",
      "new_id": "0ec901e01a76b07c361576c677cdd6b6b2577a60",
      "new_mode": 33188,
      "new_path": "src/dawn/native/CMakeLists.txt"
    },
    {
      "type": "modify",
      "old_id": "3fdc988dde7ea18e23d2983b9aeb4bcfd0039c12",
      "old_mode": 33188,
      "old_path": "src/dawn/native/CreatePipelineAsyncEvent.cpp",
      "new_id": "5d1e69fd6f296fa30bbd6e7ce6a59000ec010fc7",
      "new_mode": 33188,
      "new_path": "src/dawn/native/CreatePipelineAsyncEvent.cpp"
    },
    {
      "type": "modify",
      "old_id": "216e7c1d70ed2553271d1f178d97bcb17bc2a2bd",
      "old_mode": 33188,
      "old_path": "src/dawn/native/DawnNative.cpp",
      "new_id": "f4406f0ced65c6e8812720ae2bd617c18312a285",
      "new_mode": 33188,
      "new_path": "src/dawn/native/DawnNative.cpp"
    },
    {
      "type": "modify",
      "old_id": "c2504c713167e32a66f55617e4ec63d879fac447",
      "old_mode": 33188,
      "old_path": "src/dawn/native/ObjectBase.cpp",
      "new_id": "66d6c72e84fef15bcf911b6cea056cb8a540b085",
      "new_mode": 33188,
      "new_path": "src/dawn/native/ObjectBase.cpp"
    },
    {
      "type": "modify",
      "old_id": "3e3365c108be489846403781bd535c4d63b0d656",
      "old_mode": 33188,
      "old_path": "src/dawn/native/ObjectBase.h",
      "new_id": "f19054fc9f1c8c9344aad294972c3e6326752130",
      "new_mode": 33188,
      "new_path": "src/dawn/native/ObjectBase.h"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "9ae00e95c1a916df52a2c25308d5e14b6664f3b4",
      "new_mode": 33188,
      "new_path": "src/dawn/native/ObjectLabel.h"
    },
    {
      "type": "modify",
      "old_id": "70593ba8ec035d13c90269e013fa47e8b4a051be",
      "old_mode": 33188,
      "old_path": "src/dawn/native/webgpu/ComputePipelineWGPU.cpp",
      "new_id": "2404a792320acf6dd5710aec36b26c604f854e8c",
      "new_mode": 33188,
      "new_path": "src/dawn/native/webgpu/ComputePipelineWGPU.cpp"
    },
    {
      "type": "modify",
      "old_id": "93696fa585ffc16ebb0edc09a01058f17daa9b11",
      "old_mode": 33188,
      "old_path": "src/dawn/native/webgpu/ExternalTextureWGPU.cpp",
      "new_id": "83a77fa47c371aabc52b36ee8fe9dc245d761b5a",
      "new_mode": 33188,
      "new_path": "src/dawn/native/webgpu/ExternalTextureWGPU.cpp"
    },
    {
      "type": "modify",
      "old_id": "bdd7735b1f92adee2cde93bfe6edc3ffe0080aa6",
      "old_mode": 33188,
      "old_path": "src/dawn/native/webgpu/PipelineLayoutWGPU.cpp",
      "new_id": "11b1f2a76e986b294ab3eab106500710d7ab53ca",
      "new_mode": 33188,
      "new_path": "src/dawn/native/webgpu/PipelineLayoutWGPU.cpp"
    },
    {
      "type": "modify",
      "old_id": "4482f64e5749e0409c61ea8fc39bcb3b6dc27d96",
      "old_mode": 33188,
      "old_path": "src/dawn/native/webgpu/RenderPipelineWGPU.cpp",
      "new_id": "a113fc6227d464ee18fadf810a63f329ce914c27",
      "new_mode": 33188,
      "new_path": "src/dawn/native/webgpu/RenderPipelineWGPU.cpp"
    },
    {
      "type": "modify",
      "old_id": "5353a89e2245548ebf4e03eb01ab9ae040425018",
      "old_mode": 33188,
      "old_path": "src/dawn/native/webgpu/TextureWGPU.cpp",
      "new_id": "501568cc9fee9a5f0fca295dbf540b5d95052c62",
      "new_mode": 33188,
      "new_path": "src/dawn/native/webgpu/TextureWGPU.cpp"
    }
  ]
}
