)]}'
{
  "commit": "9708a7d8f867a13aab9a5d47ae785fce5df0310d",
  "tree": "f1ef5cd6aef4f9fc85e2255a1b8c522044e26d12",
  "parents": [
    "aa133ed0962407c6ea731db3e83e2fc13b1013c6"
  ],
  "author": {
    "name": "e52a82bdfb5106bd658c2c5ea465e200",
    "email": "vidorteg@microsoft.com",
    "time": "Thu Nov 07 18:14:33 2019"
  },
  "committer": {
    "name": "Commit Bot",
    "email": "commit-bot@chromium.org",
    "time": "Mon Nov 18 22:59:46 2019"
  },
  "message": "Verifying that the tab exists in TabbedEditorcontainer tab map before consuming it.\n\nRoot cause:\nTo set the error icon code passes tab_id to the setTabIcon function on this._tabbedPane but never verified that the tab_id exists in the tab Map structure and then proceed to modify its property which causes an error.\n\ne.g\nhttps://imgur.com/a/4Nb0Chu\nIn the attached image code wants to consume tab: \"tab_43\" but it does not exist in the current map of tabs\nthen it tries to modify the properties of an undefined object triggering the error:\n\nUncaught (in promise) TypeError: Cannot read property \u0027_setIcon\u0027 of undefined\n    at TabbedPane.setTabIcon (TabbedPane.js:formatted)\n    at Sources.TabbedEditorContainer._addLoadErrorIcon (sources_module.js:formatted)\n    at eval (sources_module.js:formatted)\n\nFix:\nVerify that the tab_id exists on the map before modifying the object.\nChange-Id: I51b704597d0b1b68eee2e099d747d97339e9f59d\nReviewed-on: https://chromium-review.googlesource.com/c/devtools/devtools-frontend/+/1904287\nReviewed-by: Robert Paveza \u003cRob.Paveza@microsoft.com\u003e\nReviewed-by: Mandy Chen \u003cmandy.chen@microsoft.com\u003e\nCommit-Queue: Vidal Diazleal \u003cvidorteg@microsoft.com\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "4e00fb5fc70df15f09e8b236b1ac3cab20ba7a82",
      "old_mode": 33188,
      "old_path": "front_end/sources/TabbedEditorContainer.js",
      "new_id": "2985ce728fc448d81911824f875d856513376afd",
      "new_mode": 33188,
      "new_path": "front_end/sources/TabbedEditorContainer.js"
    }
  ]
}
