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:
96.0.4664.45).vXX directory under //common/devtools/chromium (e.g. v96 for 96.0.4664.45)BUILD.bazel file from the vXX-1 directory.//third_party/blink/public/devtools_protocol/browser_protocol.pdl and download the file to //common/devtools/chromium/vXX.https://raw.githubusercontent.com/chromium/chromium/<LATEST_VERSION_NUMBER>/third_party/blink/public/devtools_protocol/browser_protocol.pdl)//:DEPS and search for v8_revisionhttps://github.com/chromium/chromium/blob/<LATEST_VERSION_NUMBER>/DEPS#:~:text=the%20commit%20queue%20can%20handle%20cls%20rolling%20v8)451d38b60be0a0f692b11815289cf8cbc9b1dc98)//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: