)]}'
{
  "commit": "86578e2fc035b73a2853b6a0639b1ef347ee9bad",
  "tree": "7644b4aef94fc8751d1fba9a915fd7183c0a179b",
  "parents": [
    "e29ba44bbe548aa521f5235eeb8871f32d9b290b"
  ],
  "author": {
    "name": "Zhaoming Jiang",
    "email": "zhaoming.jiang@microsoft.com",
    "time": "Tue Aug 05 01:45:49 2025 -0700"
  },
  "committer": {
    "name": "Dawn LUCI CQ",
    "email": "dawn-scoped@luci-project-accounts.iam.gserviceaccount.com",
    "time": "Tue Aug 05 01:45:49 2025 -0700"
  },
  "message": "Dawn: Add integrity check for BlobCache under toggle\n\nThis CL add integrity check in StoreInternal/LoadInternal of BlobCache\nusing SHA3 to transparently verify the payload read from cache, if the\nhash result doesn\u0027t match it would be treated as cache miss and record\nin the histogram.\n\nThe validation is controlled by a new added toggle\nBlobCacheHashValidation, which toggle is enabled by default for now.\n\nBug: 427397692, 429938352\nChange-Id: I890158f1121d347c548cc5d0e5a3e223f9b55c5d\nReviewed-on: https://dawn-review.googlesource.com/c/dawn/+/249414\nCommit-Queue: Zhaoming Jiang \u003czhaoming.jiang@microsoft.com\u003e\nReviewed-by: Loko Kung \u003clokokung@google.com\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "9f97211ae8763b75a5aea9472bb5440e50865bc9",
      "old_mode": 33188,
      "old_path": "src/dawn/native/Adapter.cpp",
      "new_id": "bed358df77571dbe02cc983b7e15b542df7868cc",
      "new_mode": 33188,
      "new_path": "src/dawn/native/Adapter.cpp"
    },
    {
      "type": "modify",
      "old_id": "3b953f0ab5923516ff27b068d61fe2c49063b93c",
      "old_mode": 33188,
      "old_path": "src/dawn/native/BlobCache.cpp",
      "new_id": "1359a01a89b6b9f25eb66efb3df9ce9ffce97e17",
      "new_mode": 33188,
      "new_path": "src/dawn/native/BlobCache.cpp"
    },
    {
      "type": "modify",
      "old_id": "3da564566f09e199c369c17e73815e1f698c7724",
      "old_mode": 33188,
      "old_path": "src/dawn/native/BlobCache.h",
      "new_id": "bd26587da5b90b923c971b0bbad1f8f0563221eb",
      "new_mode": 33188,
      "new_path": "src/dawn/native/BlobCache.h"
    },
    {
      "type": "modify",
      "old_id": "adf39f699968de10697c85256e9a93b1ff0de0ca",
      "old_mode": 33188,
      "old_path": "src/dawn/native/CacheRequest.cpp",
      "new_id": "008df53f82b31eaef693f264e6abafbf8c201c9b",
      "new_mode": 33188,
      "new_path": "src/dawn/native/CacheRequest.cpp"
    },
    {
      "type": "modify",
      "old_id": "925f5429e193a79bcd859c6137140678b251cfe0",
      "old_mode": 33188,
      "old_path": "src/dawn/native/CacheRequest.h",
      "new_id": "4423f658ff7f3e74228c664848370ace57bde3f7",
      "new_mode": 33188,
      "new_path": "src/dawn/native/CacheRequest.h"
    },
    {
      "type": "modify",
      "old_id": "17e0929f0ce8f26f609783830e1052a81b732d26",
      "old_mode": 33188,
      "old_path": "src/dawn/native/Device.cpp",
      "new_id": "a30c055f3de8db5cd0522d5bbe5e98748c41398c",
      "new_mode": 33188,
      "new_path": "src/dawn/native/Device.cpp"
    },
    {
      "type": "modify",
      "old_id": "ac6e5b8e96829944f6d4d39ad6a63faf1eb2b8da",
      "old_mode": 33188,
      "old_path": "src/dawn/native/PipelineCache.cpp",
      "new_id": "82484ec90a51ca439d0d8d62a0ef9463156236e4",
      "new_mode": 33188,
      "new_path": "src/dawn/native/PipelineCache.cpp"
    },
    {
      "type": "modify",
      "old_id": "52df799199f94dd584123b0c5e10ee958604d11f",
      "old_mode": 33188,
      "old_path": "src/dawn/native/Toggles.cpp",
      "new_id": "6daaad410fbf1156d7697eb52a355dbfbbf1b7a2",
      "new_mode": 33188,
      "new_path": "src/dawn/native/Toggles.cpp"
    },
    {
      "type": "modify",
      "old_id": "980aeadc989bca5fcf119adbdb8f32ea5da1fed5",
      "old_mode": 33188,
      "old_path": "src/dawn/native/Toggles.h",
      "new_id": "98b26ec62ea5548641562a435ced99ce483b90e0",
      "new_mode": 33188,
      "new_path": "src/dawn/native/Toggles.h"
    },
    {
      "type": "modify",
      "old_id": "517b481a6deff27e0ba9502a035f63d4341bc230",
      "old_mode": 33188,
      "old_path": "src/dawn/tests/DawnNativeTest.cpp",
      "new_id": "0d8dbbf5d254d95324488f62b1a498e3579ba0d3",
      "new_mode": 33188,
      "new_path": "src/dawn/tests/DawnNativeTest.cpp"
    },
    {
      "type": "modify",
      "old_id": "3d4840e7a7f0cd0b5f3bd8d90b7909debbda7c13",
      "old_mode": 33188,
      "old_path": "src/dawn/tests/DawnNativeTest.h",
      "new_id": "9009f82c2dae868a5242a236da4aee0c9325b917",
      "new_mode": 33188,
      "new_path": "src/dawn/tests/DawnNativeTest.h"
    },
    {
      "type": "modify",
      "old_id": "f5382a00d22800cb16bc4e7088165c4818467c5f",
      "old_mode": 33188,
      "old_path": "src/dawn/tests/end2end/ShaderModuleCachingTests.cpp",
      "new_id": "5e99e650766559b8506d47f97b130fc866469336",
      "new_mode": 33188,
      "new_path": "src/dawn/tests/end2end/ShaderModuleCachingTests.cpp"
    },
    {
      "type": "modify",
      "old_id": "e144a1a20e2e4df58234800f59eb7db1acc4e67f",
      "old_mode": 33188,
      "old_path": "src/dawn/tests/unittests/native/CacheRequestTests.cpp",
      "new_id": "d09a3bd522aadd0a3332bf6ed765117ed8103204",
      "new_mode": 33188,
      "new_path": "src/dawn/tests/unittests/native/CacheRequestTests.cpp"
    }
  ]
}
