# Chrome Debugging Protocol We keep multiple versions of the protocol in the tree in order to allow us to generate bindings as needed. They are typically downloaded from the [devtools source][] Fortunately both Chrome and Edge are based off Chromium releases and those are OSS. In order to get the versions of the protocol spoken by particular releases of Chrome: * Find out the latest version of [Stable Channel Update for Desktop][] (e.g., `96.0.4664.45`). * Create a `vXX` directory under `//common/devtools/chromium` (e.g. `v96` for `96.0.4664.45`) * Copy the `BUILD.bazel` file from the `vXX-1` directory. * Navigate to the [Chromium source][] and open the tag matching the release number. * Find `//third_party/blink/public/devtools_protocol/browser_protocol.pdl` and download the file to `//common/devtools/chromium/vXX`. * (Quick link: `https://raw.githubusercontent.com/chromium/chromium//third_party/blink/public/devtools_protocol/browser_protocol.pdl`) * Now figure out the version of v8 used by the version of Chromium. In Chromium's source, navigate to `//:DEPS` and search for `v8_revision` * (Quick link: `https://github.com/chromium/chromium/blob//DEPS#:~:text=the%20commit%20queue%20can%20handle%20cls%20rolling%20v8`) * Head over to the [v8 source](https://github.com/v8/v8) and switch to the indicated revision * (e.g., `451d38b60be0a0f692b11815289cf8cbc9b1dc98`) * Find `//include/js_protocol.pdl` and download the file to `//common/devtools/chromium/vXX`. (Quick link: `https://github.com/v8/v8/raw//include/js_protocol.pdl`) You may also find the same information at the [OmahaProxy CSV Viewer][] We have a modified form of the scripts used by Chromium to generate the protocol files. The originals were in: https://github.com/chromium/chromium/blob/master/third_party/inspector_protocol/convert_protocol_to_json.py [devtools source]: https://github.com/ChromeDevTools/devtools-protocol/tree/master/json [Stable Channel Update for Desktop]: https://chromereleases.googleblog.com/search/label/Stable%20updates [Chromium source]: https://github.com/chromium/chromium/ [OmahaProxy CSV Viewer]: https://omahaproxy.appspot.com