)]}'
{
  "commit": "d5f31e03599577e2ad58c5d0c25fedf09a30bc66",
  "tree": "970cbabb022f2f4e5d5554208731673a345eaa7a",
  "parents": [
    "37d35582c97bf3017430fb6e93e167911e64316e"
  ],
  "author": {
    "name": "Nancy Li",
    "email": "nancyly@chromium.org",
    "time": "Thu Dec 22 13:34:35 2022"
  },
  "committer": {
    "name": "Devtools-frontend LUCI CQ",
    "email": "devtools-frontend-scoped@luci-project-accounts.iam.gserviceaccount.com",
    "time": "Thu Dec 22 16:19:04 2022"
  },
  "message": "[Perf Panel Node] (Part 2/2) Don\u0027t skip the system nodes when build the callFrames\n\nCurrently, when we build the fake jsFrame events for cpuProfile, the system nodes ( idle node, garbage collector node \u0026 program node) are skipped. This CL just let them be handled like normal, so they will be displayed. The special case is garbage collector node, which has no parent, so we use the precious system node as its parent, which is same as JS profiler and other cpuProfile viewer.\n\nThis also solve the time calculation wrong problem, because in Perf panel frontend, it will auto fill the empty gap, so for example when there is no \u0027(idle)\u0027 node, the previous function will fill the time period of \u0027(idle)\u0027, and Perf panel also will also add this time to the previous event, so the previous function\u0027s time is amplified.\n\nScreenshot: https://imgur.com/a/QMFyWUr\nFixed: 1382733, 1080918\nChange-Id: I2f741aed7a32ab3971213605168a81857e27ede8\nReviewed-on: https://chromium-review.googlesource.com/c/devtools/devtools-frontend/+/4118545\nReviewed-by: Jack Franklin \u003cjacktfranklin@chromium.org\u003e\nCommit-Queue: Nancy Li \u003cnancyly@chromium.org\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "d8d750bea8c43d06e97fb5f60aef57d5cf1ed01e",
      "old_mode": 33188,
      "old_path": "front_end/models/timeline_model/TimelineJSProfile.ts",
      "new_id": "cadce298d296dccaa67bb4abdaa3613ad2b70ced",
      "new_mode": 33188,
      "new_path": "front_end/models/timeline_model/TimelineJSProfile.ts"
    }
  ]
}
