Skip to content

Latest commit

 

History

History

devtools

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/<LATEST_VERSION_NUMBER>/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/<LATEST_VERSION_NUMBER>/DEPS#:~:text=the%20commit%20queue%20can%20handle%20cls%20rolling%20v8)
  • Head over to the v8 source 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/<V8_REVISION_NUMBER>/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