tree: 443aa32fa0f5360160ae5581b92a4fde2c5e1db5
  1. Json/
  2. v145/
  3. v146/
  4. v147/
  5. AuthRequiredEventArgs.cs
  6. BindingCalledEventArgs.cs
  7. BUILD.bazel
  8. CommandResponseException.cs
  9. CommandResponseExtensions.cs
  10. CommandResponseTypeMap.cs
  11. ConsoleApiArgument.cs
  12. ConsoleApiCalledEventArgs.cs
  13. DevToolsCommandData.cs
  14. DevToolsDomains.cs
  15. DevToolsEventData.cs
  16. DevToolsExtensionMethods.cs
  17. DevToolsOptions.cs
  18. DevToolsSession.cs
  19. DevToolsSessionDomains.cs
  20. DevToolsSessionEventReceivedEventArgs.cs
  21. DevToolsSessionLogMessageEventArgs.cs
  22. DevToolsVersionInfo.cs
  23. EntryAddedEventArgs.cs
  24. ExceptionThrownEventArgs.cs
  25. ICommand.cs
  26. IDevTools.cs
  27. IDevToolsSession.cs
  28. JavaScript.cs
  29. Log.cs
  30. LogEntry.cs
  31. Network.cs
  32. README.md
  33. RequestPausedEventArgs.cs
  34. ResponsePausedEventArgs.cs
  35. Target.cs
  36. TargetAttachedEventArgs.cs
  37. TargetDetachedEventArgs.cs
  38. TargetInfo.cs
  39. WebSocketConnection.cs
  40. WebSocketConnectionDataReceivedEventArgs.cs
dotnet/src/webdriver/DevTools/README.md

Adding support for a new version of Chromium DevTools Protocol to the .NET bindings

To add support for a new version of the Chromium DevTools Protocol to the .NET bindings, perform the following steps, where <N> is the major version of the protocol:

  1. Add the new version string (v<N>) to the SUPPORTED_DEVTOOLS_VERSIONS list in //dotnet:version.bzl.
  2. Create a new directory at //dotnet/src/webdriver/DevTools/v<N>, and copy the contents of the //dotnet/src/webdriver/DevTools/v<N-1> directory into it.
  3. Rename each of the *.cs files in //dotnet/src/webdriver/DevTools/v<N> so that the file names start with V<N> instead of V<N-1>.
  4. In each of the *.cs files in //dotnet/src/webdriver/DevTools/v<N>, update all occurrences of V<N-1> to V<N>. IMPORTANT: Do not change the case of V<N> in each .cs file.
  5. In //dotnet/src/webdriver/DevTools/DevToolsDomains.cs, add an entry for version <N> to the SupportedDevToolsVersions dictionary initialization.
  6. In //dotnet/src/webdriver:WebDriver.csproj.prebuild.cmd, add the following block (substituting the proper value for <N>):
if not exist  "%1..\..\..\bazel-bin\dotnet\src\webdriver\DevTools\v<N>\DevToolsSessionDomains.cs" (
  echo Generating CDP code for version <N>
  pushd "%1..\..\.."
  bazel build //dotnet/src/webdriver/DevTools:generate-v<N>
  popd
)
  1. In //dotnet/src/webdriver:WebDriver.csproj.prebuild.sh, add the following block (substituting the proper value for <N>):
if [[ ! -f "$1../../../bazel-bin/dotnet/src/webdriver/DevTools/v<N>/DevToolsSessionDomains.cs" ]]
then
  echo "Generating CDP code for version <N>"
  bazel build //dotnet/src/webdriver/DevTools:generate-v<N>
fi
  1. In each of the *.cs files in //dotnet/test/common/DevTools/, update all occurrences of V<N-2> to V<N-1>. For now, due to issues with timeliness of CI tool updates, we keep this one version behind the latest.
  2. Commit the changes.

Removing support for a version of Chromium DevTools Protocol from the .NET bindings

To remove support for a version of the Chromium DevTools Protocol from the .NET bindings, perform the following steps, where <N> is the major version of the protocol:

  1. Delete the contents of the //dotnet/src/webdriver/DevTools/v<N> directory.
  2. In //dotnet/src/webdriver/DevTools/DevToolsDomains.cs, remove the entry for version <N> from the SupportedDevToolsVersions dictionary initialization.
  3. Remove the version string (v<N>) from the SUPPORTED_DEVTOOLS_VERSIONS list in //dotnet:version.bzl.
  4. Commit the changes.