)]}'
{
  "commit": "0a0f53f2ac57504aa2f0e4a774cd922dddb38359",
  "tree": "0df0d744f90e006b0832c32786c746101028035d",
  "parents": [
    "91920dbf1d48bafad61fb5ee89253d7c22af1823"
  ],
  "author": {
    "name": "Alexander Denisov",
    "email": "stonespb@yandex-team.ru",
    "time": "Fri Jul 24 08:41:38 2026"
  },
  "committer": {
    "name": "Chromium LUCI CQ",
    "email": "chromium-scoped@luci-project-accounts.iam.gserviceaccount.com",
    "time": "Fri Jul 24 08:41:38 2026"
  },
  "message": "Optimized tab model restoration.\n\nWhen restoring tabs state, every tab model used to observe tab strip\nmodel changes, and handler fired with N^2 frequency. With large number\nof tabs this has a noticeable overhead even though there may be no real\ndone in event handlers - you just pay for numerous calls of\nbase::ObserverList.\n\nThe changeset replaces observing to direct calls which removes excessive\nwork while restoring tabs state.\n\nChange-Id: I21cf252ca059d951d5674ca0d665dd9b4ffd1a9e\nReviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/8098227\nCommit-Queue: Alexander Yashkin \u003ca-v-y@yandex-team.ru\u003e\nReviewed-by: Alison Gale \u003cagale@chromium.org\u003e\nReviewed-by: Darryl James \u003cdljames@chromium.org\u003e\nCr-Commit-Position: refs/heads/main@{#1667714}\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "cc4bc16ff02486ecf7f141fcdf48c97effdaaeae",
      "old_mode": 33188,
      "old_path": "chrome/browser/ui/tabs/tab_model.cc",
      "new_id": "6a938d6824884dfe3a8e1d25ac48d19d054dc5d3",
      "new_mode": 33188,
      "new_path": "chrome/browser/ui/tabs/tab_model.cc"
    },
    {
      "type": "modify",
      "old_id": "65fcc9ca4055d7a3e062399f2a85a8b1f9e6338b",
      "old_mode": 33188,
      "old_path": "chrome/browser/ui/tabs/tab_model.h",
      "new_id": "c4b55d9d37c4b2dfddb227abe34f5ccbad85614b",
      "new_mode": 33188,
      "new_path": "chrome/browser/ui/tabs/tab_model.h"
    },
    {
      "type": "modify",
      "old_id": "6a0920dc591a0ba0d95214004d57a4bda57df8fd",
      "old_mode": 33188,
      "old_path": "chrome/browser/ui/tabs/tab_model_unittest.cc",
      "new_id": "32df130c757d0edf1429de6d8ebdbc42522af1b2",
      "new_mode": 33188,
      "new_path": "chrome/browser/ui/tabs/tab_model_unittest.cc"
    },
    {
      "type": "modify",
      "old_id": "4aa05793780b4cc3f05707e3c37ee4497af7ec6d",
      "old_mode": 33188,
      "old_path": "chrome/browser/ui/tabs/tab_strip_model.cc",
      "new_id": "3bd0141bb60b701cd071719f4a63c97f039388ed",
      "new_mode": 33188,
      "new_path": "chrome/browser/ui/tabs/tab_strip_model.cc"
    },
    {
      "type": "modify",
      "old_id": "e6dab65d580e2b48d6e2d0f9d1af9de75d5fae25",
      "old_mode": 33188,
      "old_path": "chrome/browser/ui/tabs/tab_strip_model.h",
      "new_id": "e03061123a864894781e72578e686385ab23c593",
      "new_mode": 33188,
      "new_path": "chrome/browser/ui/tabs/tab_strip_model.h"
    }
  ]
}
