)]}'
{
  "commit": "40af037cb23e7fd601cf91af0c5e62574fbb1aa4",
  "tree": "7242f180346bb27f01d2585d6054b7d86b8dcddb",
  "parents": [
    "08113ea280e4522aceb8e8a67af521ee4cb1c313"
  ],
  "author": {
    "name": "Zhaoming Jiang",
    "email": "zhaoming.jiang@microsoft.com",
    "time": "Tue Jun 17 01:19:17 2025 -0700"
  },
  "committer": {
    "name": "Dawn LUCI CQ",
    "email": "dawn-scoped@luci-project-accounts.iam.gserviceaccount.com",
    "time": "Tue Jun 17 01:19:17 2025 -0700"
  },
  "message": "Dawn: Add abs class LogEmitter and make DeviceBase impl it\n\nThis CL add a new abstract class, namely LogEmitter, to expose the\nlogging ability, and make DeviceBase implement it. This can help\nexplicitly restrict the accessing to devices\u0027 ability and prevent using\nor changing a device unexpectedly where we only suppose to emit log.\n\nBug: 402772740\nChange-Id: Idbcd5cda49544b10836dfe20397d43bfecf69ebe\nReviewed-on: https://dawn-review.googlesource.com/c/dawn/+/247014\nReviewed-by: Loko Kung \u003clokokung@google.com\u003e\nCommit-Queue: Zhaoming Jiang \u003czhaoming.jiang@microsoft.com\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "6b7226d7d000aa2f7614fcda3c0555aca461ecd7",
      "old_mode": 33188,
      "old_path": "src/dawn/native/BUILD.gn",
      "new_id": "9d04c28291df689dac6796538e483ce60630a354",
      "new_mode": 33188,
      "new_path": "src/dawn/native/BUILD.gn"
    },
    {
      "type": "modify",
      "old_id": "1b6919496fe8317704dfb8d5e4a5864ff13f3c1e",
      "old_mode": 33188,
      "old_path": "src/dawn/native/CMakeLists.txt",
      "new_id": "ee38f41bd746395a1289bb61577261e6ec79c48e",
      "new_mode": 33188,
      "new_path": "src/dawn/native/CMakeLists.txt"
    },
    {
      "type": "modify",
      "old_id": "43634f3a76def7ed7bc038f24bbbc84fcbbe82d6",
      "old_mode": 33188,
      "old_path": "src/dawn/native/Device.cpp",
      "new_id": "11cd5d9b4848c3d363149988b862da2e1668c074",
      "new_mode": 33188,
      "new_path": "src/dawn/native/Device.cpp"
    },
    {
      "type": "modify",
      "old_id": "5e09a965be22617c43bcf52365d721b761361273",
      "old_mode": 33188,
      "old_path": "src/dawn/native/Device.h",
      "new_id": "9fbdef6615873468da7a33f02525b9021799d8fd",
      "new_mode": 33188,
      "new_path": "src/dawn/native/Device.h"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "95e39a603a4b29d5d878327f6eedfd54c2e48861",
      "new_mode": 33188,
      "new_path": "src/dawn/native/LogEmitter.h"
    },
    {
      "type": "modify",
      "old_id": "164d4cce68694e0d2619c39485a79ddec91777ac",
      "old_mode": 33188,
      "old_path": "src/dawn/native/ShaderModule.cpp",
      "new_id": "da1ffe6946288141e1df5f8e52732c389f8ae85e",
      "new_mode": 33188,
      "new_path": "src/dawn/native/ShaderModule.cpp"
    },
    {
      "type": "modify",
      "old_id": "a4543caad3ba6793570d1eec7af4bbe51d4de54c",
      "old_mode": 33188,
      "old_path": "src/dawn/native/SpirvValidation.cpp",
      "new_id": "f12cee6efa6ee57edecfa46c2c5c721abfe48de8",
      "new_mode": 33188,
      "new_path": "src/dawn/native/SpirvValidation.cpp"
    },
    {
      "type": "modify",
      "old_id": "1feee64ac863fd9aa4799de6e97c10e484f1abb9",
      "old_mode": 33188,
      "old_path": "src/dawn/native/SpirvValidation.h",
      "new_id": "a4c3595e0d5335f9afecf42bc836cda55f59c7ad",
      "new_mode": 33188,
      "new_path": "src/dawn/native/SpirvValidation.h"
    },
    {
      "type": "modify",
      "old_id": "93ad32a0fff870bcd48f9054ef810e54cde034eb",
      "old_mode": 33188,
      "old_path": "src/dawn/native/d3d/ShaderUtils.cpp",
      "new_id": "10ad37bad1059687f4b97d2bade6f869705eabdb",
      "new_mode": 33188,
      "new_path": "src/dawn/native/d3d/ShaderUtils.cpp"
    },
    {
      "type": "modify",
      "old_id": "a49c6a8dc43f5a828396ecce130d0bb4054187c6",
      "old_mode": 33188,
      "old_path": "src/dawn/native/d3d12/ShaderModuleD3D12.cpp",
      "new_id": "ac26afc51714524405e53e5d1fbfa93e09d3b1d0",
      "new_mode": 33188,
      "new_path": "src/dawn/native/d3d12/ShaderModuleD3D12.cpp"
    },
    {
      "type": "modify",
      "old_id": "e930b7f1bbe92e7327c8e1322eb5ca3b24314a62",
      "old_mode": 33188,
      "old_path": "src/dawn/native/metal/ShaderModuleMTL.mm",
      "new_id": "7c46a13a4d8ea8f0d274bf3d5860bf2b0e2f983f",
      "new_mode": 33188,
      "new_path": "src/dawn/native/metal/ShaderModuleMTL.mm"
    },
    {
      "type": "modify",
      "old_id": "7446b6d10c5aa1a9d48f3dd99b7a9dff25bc233d",
      "old_mode": 33188,
      "old_path": "src/dawn/native/opengl/ShaderModuleGL.cpp",
      "new_id": "e7b2dcfa03a9165f8f6e0e46fe3477c1f8756c54",
      "new_mode": 33188,
      "new_path": "src/dawn/native/opengl/ShaderModuleGL.cpp"
    },
    {
      "type": "modify",
      "old_id": "ca8429435bb2bf8dd64189602f7e01c57f4db53d",
      "old_mode": 33188,
      "old_path": "src/dawn/native/vulkan/DeviceVk.cpp",
      "new_id": "d7f5026b6b1b98e09436311ecad4f623c8cdf332",
      "new_mode": 33188,
      "new_path": "src/dawn/native/vulkan/DeviceVk.cpp"
    },
    {
      "type": "modify",
      "old_id": "da69502315a40275907602c202ce2b41e2bf410d",
      "old_mode": 33188,
      "old_path": "src/dawn/native/vulkan/PipelineCacheVk.cpp",
      "new_id": "95ca718bce36df7b53a8f3ad3e14a6d63879518e",
      "new_mode": 33188,
      "new_path": "src/dawn/native/vulkan/PipelineCacheVk.cpp"
    }
  ]
}
