Skip to content

[dotnet] [bidi] Simplify modules namespace for end users (breaking change) #15820

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 1 commit into from
May 29, 2025

Conversation

nvborisenko
Copy link
Member

@nvborisenko nvborisenko commented May 29, 2025

User description

🔗 Related Issues

#15791

💥 What does this PR do?

Avoid Modules namespace:

Before:

OpenQA.Selenium.BiDi.Modules.Network

After:

OpenQA.Selenium.BiDi.Network

🔧 Implementation Notes

💡 Additional Considerations

🔄 Types of changes

  • Breaking change (fix or feature that would cause existing functionality to change)

PR Type

Enhancement, Bug fix


Description

  • Flattened BiDi module namespaces for end users

    • Removed Modules namespace from BiDi submodules
    • Updated all references and using statements accordingly
  • Refactored internal and test code to use new namespaces

  • Introduced a new Key.cs file in Input (stub, commented)

  • This is a breaking change for consumers of the BiDi .NET API


Changes walkthrough 📝

Relevant files
Enhancement
152 files
BiDi.cs
Remove `Modules` namespace from BiDi submodules and usages
+26/-26 
BrowserModule.cs
Move BrowserModule to flattened namespace                               
+1/-1     
ClientWindow.cs
Move ClientWindow to flattened namespace                                 
+1/-1     
ClientWindowInfo.cs
Move ClientWindowInfo to flattened namespace                         
+1/-1     
CloseCommand.cs
Move CloseCommand to flattened namespace                                 
+1/-1     
CreateUserContextCommand.cs
Move CreateUserContextCommand to flattened namespace         
+1/-1     
GetClientWindowsCommand.cs
Move GetClientWindowsCommand to flattened namespace           
+1/-1     
GetUserContextsCommand.cs
Move GetUserContextsCommand to flattened namespace             
+1/-1     
RemoveUserContextCommand.cs
Move RemoveUserContextCommand to flattened namespace         
+1/-1     
UserContext.cs
Move UserContext to flattened namespace                                   
+1/-1     
UserContextInfo.cs
Move UserContextInfo to flattened namespace                           
+1/-1     
ActivateCommand.cs
Move ActivateCommand to flattened namespace                           
+1/-1     
BrowsingContext.cs
Move BrowsingContext to flattened namespace                           
+1/-1     
BrowsingContextInfo.cs
Move BrowsingContextInfo to flattened namespace                   
+1/-1     
BrowsingContextInputModule.cs
Move BrowsingContextInputModule to flattened namespace     
+2/-2     
BrowsingContextLogModule.cs
Move BrowsingContextLogModule to flattened namespace         
+2/-2     
BrowsingContextModule.cs
Move BrowsingContextModule to flattened namespace               
+1/-1     
BrowsingContextNetworkModule.cs
Move BrowsingContextNetworkModule to flattened namespace 
+2/-2     
BrowsingContextScriptModule.cs
Move BrowsingContextScriptModule to flattened namespace   
+2/-2     
BrowsingContextStorageModule.cs
Move BrowsingContextStorageModule to flattened namespace 
+2/-2     
CaptureScreenshotCommand.cs
Move CaptureScreenshotCommand to flattened namespace         
+1/-1     
CloseCommand.cs
Move CloseCommand to flattened namespace                                 
+1/-1     
CreateCommand.cs
Move CreateCommand to flattened namespace                               
+1/-1     
GetTreeCommand.cs
Move GetTreeCommand to flattened namespace                             
+1/-1     
HandleUserPromptCommand.cs
Move HandleUserPromptCommand to flattened namespace           
+1/-1     
LocateNodesCommand.cs
Move LocateNodesCommand to flattened namespace                     
+1/-1     
Locator.cs
Move Locator to flattened namespace                                           
+1/-1     
NavigateCommand.cs
Move NavigateCommand to flattened namespace                           
+1/-1     
Navigation.cs
Move Navigation to flattened namespace                                     
+1/-1     
NavigationInfo.cs
Move NavigationInfo to flattened namespace                             
+1/-1     
PrintCommand.cs
Move PrintCommand to flattened namespace                                 
+1/-1     
ReloadCommand.cs
Move ReloadCommand to flattened namespace                               
+1/-1     
SetViewportCommand.cs
Move SetViewportCommand to flattened namespace                     
+1/-1     
TraverseHistoryCommand.cs
Move TraverseHistoryCommand to flattened namespace             
+1/-1     
UserPromptClosedEventArgs.cs
Move UserPromptClosedEventArgs to flattened namespace       
+1/-1     
UserPromptOpenedEventArgs.cs
Move UserPromptOpenedEventArgs to flattened namespace       
+1/-1     
Broker.cs
Update logger and Subscription types for new namespaces   
+2/-2     
EventHandler.cs
Update EventHandler to use flattened BrowsingContext         
+4/-5     
BiDiJsonSerializerContext.cs
Update all JsonSerializable types to flattened namespaces
+135/-135
BrowserClientWindowConverter.cs
Update using to flattened Browser namespace                           
+1/-1     
BrowserUserContextConverter.cs
Update using to flattened Browser namespace                           
+1/-1     
BrowsingContextConverter.cs
Update BrowsingContextConverter to flattened namespace     
+4/-5     
ChannelConverter.cs
Update using to flattened Script namespace                             
+1/-1     
GetClientWindowsResultConverter.cs
Update using to flattened Browser namespace                           
+1/-1     
GetCookiesResultConverter.cs
Update using to flattened Storage and Network namespaces 
+2/-2     
GetRealmsResultConverter.cs
Update using to flattened Script namespace                             
+1/-1     
GetUserContextsResultConverter.cs
Update using to flattened Browser namespace                           
+1/-1     
InputSourceActionsConverter.cs
Update using to flattened Input namespace                               
+1/-1     
LocateNodesResultConverter.cs
Update using to flattened BrowsingContext and Script namespaces
+2/-2     
HandleConverter.cs
Update using to flattened Script namespace                             
+1/-1     
InputOriginConverter.cs
Update using to flattened Input namespace                               
+1/-1     
InterceptConverter.cs
Update using to flattened Network namespace                           
+1/-1     
InternalIdConverter.cs
Update using to flattened Script namespace                             
+1/-1     
NavigationConverter.cs
Update using to flattened BrowsingContext namespace           
+1/-1     
EvaluateResultConverter.cs
Update using to flattened Script namespace                             
+1/-1     
LogEntryConverter.cs
Update LogEntryConverter to flattened Log namespace           
+4/-4     
RealmInfoConverter.cs
Update using to flattened Script namespace                             
+1/-1     
RemoteValueConverter.cs
Update using to flattened Script namespace                             
+1/-1     
PreloadScriptConverter.cs
Update using to flattened Script namespace                             
+1/-1     
PrintPageRangeConverter.cs
Update using to flattened BrowsingContext namespace           
+1/-1     
RealmConverter.cs
Update using to flattened Script namespace                             
+1/-1     
RealmTypeConverter.cs
Update using to flattened Script namespace                             
+1/-1     
RequestConverter.cs
Update using to flattened Network namespace                           
+1/-1     
SubscriptionConverter.cs
Update SubscriptionConverter to flattened Session namespace
+4/-4     
WebSocketTransport.cs
Update logger to use Internal.Logging.Log                               
+1/-1     
EventArgs.cs
Update BrowsingContextEventArgs to flattened namespace     
+1/-2     
InputModule.cs
Move InputModule to flattened namespace                                   
+1/-1     
Origin.cs
Move Origin to flattened namespace                                             
+1/-1     
PerformActionsCommand.cs
Move PerformActionsCommand to flattened namespace               
+1/-1     
ReleaseActionsCommand.cs
Move ReleaseActionsCommand to flattened namespace               
+1/-1     
SetFilesCommand.cs
Move SetFilesCommand to flattened namespace                           
+1/-1     
SourceActions.cs
Move SourceActions to flattened namespace                               
+1/-1     
LogEntry.cs
Move LogEntry to flattened namespace                                         
+1/-1     
LogModule.cs
Move LogModule to flattened namespace                                       
+1/-1     
Module.cs
Move Module base class to flattened namespace                       
+1/-1     
AddInterceptCommand.cs
Move AddInterceptCommand to flattened namespace                   
+1/-1     
AuthChallenge.cs
Move AuthChallenge to flattened namespace                               
+1/-1     
AuthCredentials.cs
Move AuthCredentials to flattened namespace                           
+1/-1     
AuthRequiredEventArgs.cs
Move AuthRequiredEventArgs to flattened namespace               
+1/-1     
BaseParametersEventArgs.cs
Move BaseParametersEventArgs to flattened namespace           
+1/-1     
BeforeRequestSentEventArgs.cs
Move BeforeRequestSentEventArgs to flattened namespace     
+2/-2     
BytesValue.cs
Move BytesValue to flattened namespace                                     
+1/-1     
ContinueRequestCommand.cs
Move ContinueRequestCommand to flattened namespace             
+1/-1     
ContinueResponseCommand.cs
Move ContinueResponseCommand to flattened namespace           
+1/-1     
ContinueWithAuthCommand.cs
Move ContinueWithAuthCommand to flattened namespace           
+1/-1     
Cookie.cs
Move Cookie to flattened namespace                                             
+1/-1     
CookieHeader.cs
Move CookieHeader to flattened namespace                                 
+1/-1     
FailRequestCommand.cs
Move FailRequestCommand to flattened namespace                     
+1/-1     
FetchErrorEventArgs.cs
Move FetchErrorEventArgs to flattened namespace                   
+2/-2     
FetchTimingInfo.cs
Move FetchTimingInfo to flattened namespace                           
+1/-1     
Header.cs
Move Header to flattened namespace                                             
+1/-1     
Initiator.cs
Move Initiator to flattened namespace                                       
+1/-1     
Intercept.cs
Move Intercept to flattened namespace                                       
+1/-1     
NetworkModule.HighLevel.cs
Move NetworkModule.HighLevel to flattened namespace           
+1/-1     
NetworkModule.cs
Move NetworkModule to flattened namespace                               
+1/-1     
ProvideResponseCommand.cs
Move ProvideResponseCommand to flattened namespace             
+1/-1     
RemoveInterceptCommand.cs
Move RemoveInterceptCommand to flattened namespace             
+1/-1     
Request.cs
Move Request to flattened namespace                                           
+1/-1     
RequestData.cs
Move RequestData to flattened namespace                                   
+1/-1     
ResponseCompletedEventArgs.cs
Move ResponseCompletedEventArgs to flattened namespace     
+2/-2     
ResponseContent.cs
Move ResponseContent to flattened namespace                           
+1/-1     
ResponseData.cs
Move ResponseData to flattened namespace                                 
+1/-1     
ResponseStartedEventArgs.cs
Move ResponseStartedEventArgs to flattened namespace         
+2/-2     
SetCacheBehaviorCommand.cs
Move SetCacheBehaviorCommand to flattened namespace           
+1/-1     
SetCookieHeader.cs
Move SetCookieHeader to flattened namespace                           
+1/-1     
UrlPattern.cs
Move UrlPattern to flattened namespace                                     
+1/-1     
AddPreloadScriptCommand.cs
Move AddPreloadScriptCommand to flattened namespace           
+1/-1     
CallFunctionCommand.cs
Move CallFunctionCommand to flattened namespace                   
+1/-1     
Channel.cs
Move Channel to flattened namespace                                           
+1/-1     
ChannelProperties.cs
Move ChannelProperties to flattened namespace                       
+1/-1     
DisownCommand.cs
Move DisownCommand to flattened namespace                               
+1/-1     
EvaluateCommand.cs
Move EvaluateCommand to flattened namespace                           
+1/-1     
GetRealmsCommand.cs
Move GetRealmsCommand to flattened namespace                         
+1/-1     
Handle.cs
Move Handle to flattened namespace                                             
+1/-1     
IRemoteReference.cs
Move IRemoteReference to flattened namespace                         
+1/-1     
InternalId.cs
Move InternalId to flattened namespace                                     
+1/-1     
LocalValue.cs
Move LocalValue to flattened namespace                                     
+1/-1     
MessageEventArgs.cs
Move MessageEventArgs to flattened namespace                         
+1/-1     
NodeProperties.cs
Move NodeProperties to flattened namespace                             
+1/-1     
PreloadScript.cs
Move PreloadScript to flattened namespace                               
+1/-1     
Realm.cs
Move Realm to flattened namespace                                               
+1/-1     
RealmDestroyedEventArgs.cs
Move RealmDestroyedEventArgs to flattened namespace           
+1/-1     
RealmInfo.cs
Move RealmInfo to flattened namespace                                       
+1/-1     
RealmType.cs
Move RealmType to flattened namespace                                       
+1/-1     
RegExpValue.cs
Move RegExpValue to flattened namespace                                   
+1/-1     
RemoteValue.cs
Move RemoteValue to flattened namespace                                   
+1/-1     
RemovePreloadScriptCommand.cs
Move RemovePreloadScriptCommand to flattened namespace     
+1/-1     
ResultOwnership.cs
Move ResultOwnership to flattened namespace                           
+1/-1     
ScriptModule.cs
Move ScriptModule to flattened namespace                                 
+1/-1     
SerializationOptions.cs
Move SerializationOptions to flattened namespace                 
+1/-1     
Source.cs
Move Source to flattened namespace                                             
+1/-1     
StackFrame.cs
Move StackFrame to flattened namespace                                     
+1/-1     
StackTrace.cs
Move StackTrace to flattened namespace                                     
+1/-1     
Target.cs
Move Target to flattened namespace                                             
+1/-1     
WindowProxyProperties.cs
Move WindowProxyProperties to flattened namespace               
+1/-1     
CapabilitiesRequest.cs
Move CapabilitiesRequest to flattened namespace                   
+1/-1     
CapabilityRequest.cs
Move CapabilityRequest to flattened namespace                       
+1/-1     
EndCommand.cs
Move EndCommand to flattened namespace                                     
+1/-1     
NewCommand.cs
Move NewCommand to flattened namespace                                     
+1/-1     
ProxyConfiguration.cs
Move ProxyConfiguration to flattened namespace                     
+1/-1     
SessionModule.cs
Move SessionModule to flattened namespace                               
+1/-1     
StatusCommand.cs
Move StatusCommand to flattened namespace                               
+1/-1     
SubscribeCommand.cs
Move SubscribeCommand to flattened namespace                         
+1/-1     
Subscription.cs
Move Subscription to flattened namespace                                 
+1/-1     
UnsubscribeCommand.cs
Move UnsubscribeCommand to flattened namespace                     
+1/-1     
UserPromptHandler.cs
Move UserPromptHandler to flattened namespace                       
+1/-1     
DeleteCookiesCommand.cs
Move DeleteCookiesCommand to flattened namespace                 
+1/-1     
GetCookiesCommand.cs
Move GetCookiesCommand to flattened namespace                       
+1/-1     
PartitionKey.cs
Move PartitionKey to flattened namespace                                 
+1/-1     
SetCookieCommand.cs
Move SetCookieCommand to flattened namespace                         
+1/-1     
StorageModule.cs
Move StorageModule to flattened namespace                               
+1/-1     
Subscription.cs
Update Subscription to use flattened Session namespace     
+3/-3     
Documentation
2 files
Key.cs
Add new (commented) Key.cs file in Input                                 
[link]   
SequentialSourceActions.cs
Update commented namespace to flattened Input                       
+1/-1     
Tests
15 files
BiDiFixture.cs
Update BiDiFixture to use flattened BrowsingContext           
+1/-1     
BrowsingContextTest.cs
Remove old using, rely on flattened namespace                       
+0/-1     
CombinedInputActionsTest.cs
Update usings to flattened BrowsingContext                             
+1/-2     
SetFilesTest.cs
Update using to flattened BrowsingContext                               
+1/-1     
LogTest.cs
Update LogTest to use flattened Log/Script types                 
+4/-5     
NetworkEventsTest.cs
Update usings to flattened BrowsingContext                             
+1/-2     
NetworkTest.cs
Update usings to flattened BrowsingContext                             
+1/-2     
CallFunctionLocalValueTest.cs
Remove old using, rely on flattened namespace                       
+0/-1     
CallFunctionParameterTest.cs
Update usages to flattened BrowsingContext                             
+1/-2     
CallFunctionRemoteValueTest.cs
Remove old using, rely on flattened namespace                       
+0/-1     
EvaluateParametersTest.cs
Update usages to flattened BrowsingContext                             
+1/-2     
LocalValueConversionTests.cs
Remove old using, rely on flattened namespace                       
+0/-1     
ScriptCommandsTest.cs
Update usages to flattened BrowsingContext/Log types         
+9/-10   
ScriptEventsTest.cs
Update usages to flattened BrowsingContext                             
+2/-3     
StorageTest.cs
Update using to flattened Network namespace                           
+1/-1     

Need help?
  • Type /help how to ... in the comments thread for any questions about Qodo Merge usage.
  • Check out the documentation for more information.
  • @selenium-ci selenium-ci added the C-dotnet .NET Bindings label May 29, 2025
    Copy link
    Contributor

    PR Reviewer Guide 🔍

    Here are some key observations to aid the review process:

    🎫 Ticket compliance analysis ✅

    15791 - Fully compliant

    Compliant requirements:

    • Simplified BiDi namespace structure by removing the Modules namespace
    • Moved BiDi modules up in the namespace hierarchy
    • Made the API more user-friendly with flatter namespace structure
    ⏱️ Estimated effort to review: 3 🔵🔵🔵⚪⚪
    🧪 PR contains tests
    🔒 No security concerns identified
    ⚡ Recommended focus areas for review

    Incomplete Implementation

    The new Key.cs file appears to be a stub with commented code. It's unclear if this is intentional or if the implementation is incomplete.

    //partial record Key
    //{
    //    public const char Shift = '\uE008';
    
    //    public const char Pause = '\uE00B';
    //}
    Namespace Consistency

    Verify that all type references in the serializer context have been updated correctly. This is a critical file that needs careful review to ensure all serialization works properly with the new namespace structure.

    [JsonSerializable(typeof(Script.EvaluateResultSuccess))]
    [JsonSerializable(typeof(Script.EvaluateResultException))]
    
    [JsonSerializable(typeof(Script.NumberRemoteValue))]
    [JsonSerializable(typeof(Script.BooleanRemoteValue))]
    [JsonSerializable(typeof(Script.BigIntRemoteValue))]
    [JsonSerializable(typeof(Script.StringRemoteValue))]
    [JsonSerializable(typeof(Script.NullRemoteValue))]
    [JsonSerializable(typeof(Script.UndefinedRemoteValue))]
    [JsonSerializable(typeof(Script.SymbolRemoteValue))]
    [JsonSerializable(typeof(Script.ArrayRemoteValue))]
    [JsonSerializable(typeof(Script.ObjectRemoteValue))]
    [JsonSerializable(typeof(Script.FunctionRemoteValue))]
    [JsonSerializable(typeof(Script.RegExpRemoteValue))]
    [JsonSerializable(typeof(Script.DateRemoteValue))]
    [JsonSerializable(typeof(Script.MapRemoteValue))]
    [JsonSerializable(typeof(Script.SetRemoteValue))]
    [JsonSerializable(typeof(Script.WeakMapRemoteValue))]
    [JsonSerializable(typeof(Script.WeakSetRemoteValue))]
    [JsonSerializable(typeof(Script.GeneratorRemoteValue))]
    [JsonSerializable(typeof(Script.ErrorRemoteValue))]
    [JsonSerializable(typeof(Script.ProxyRemoteValue))]
    [JsonSerializable(typeof(Script.PromiseRemoteValue))]
    [JsonSerializable(typeof(Script.TypedArrayRemoteValue))]
    [JsonSerializable(typeof(Script.ArrayBufferRemoteValue))]
    [JsonSerializable(typeof(Script.NodeListRemoteValue))]
    [JsonSerializable(typeof(Script.HtmlCollectionRemoteValue))]
    [JsonSerializable(typeof(Script.NodeRemoteValue))]
    [JsonSerializable(typeof(Script.WindowProxyRemoteValue))]
    
    [JsonSerializable(typeof(Script.WindowRealmInfo))]
    [JsonSerializable(typeof(Script.DedicatedWorkerRealmInfo))]
    [JsonSerializable(typeof(Script.SharedWorkerRealmInfo))]
    [JsonSerializable(typeof(Script.ServiceWorkerRealmInfo))]
    [JsonSerializable(typeof(Script.WorkerRealmInfo))]
    [JsonSerializable(typeof(Script.PaintWorkletRealmInfo))]
    [JsonSerializable(typeof(Script.AudioWorkletRealmInfo))]
    [JsonSerializable(typeof(Script.WorkletRealmInfo))]
    
    [JsonSerializable(typeof(Log.GenericLogEntry))]
    [JsonSerializable(typeof(Log.ConsoleLogEntry))]
    [JsonSerializable(typeof(Log.JavascriptLogEntry))]
    #endregion
    
    [JsonSerializable(typeof(Command))]
    [JsonSerializable(typeof(EmptyResult))]
    
    [JsonSerializable(typeof(Session.StatusCommand))]
    [JsonSerializable(typeof(Session.StatusResult))]
    [JsonSerializable(typeof(Session.NewCommand))]
    [JsonSerializable(typeof(Session.NewResult))]
    [JsonSerializable(typeof(Session.EndCommand))]
    [JsonSerializable(typeof(Session.SubscribeCommand))]
    [JsonSerializable(typeof(Session.SubscribeResult))]
    [JsonSerializable(typeof(Session.UnsubscribeByIdCommand))]
    [JsonSerializable(typeof(Session.UnsubscribeByAttributesCommand))]
    
    [JsonSerializable(typeof(Browser.CloseCommand), TypeInfoPropertyName = "Browser_CloseCommand")]
    [JsonSerializable(typeof(Browser.CreateUserContextCommand))]
    [JsonSerializable(typeof(Browser.GetUserContextsCommand))]
    [JsonSerializable(typeof(Browser.GetUserContextsResult))]
    [JsonSerializable(typeof(Browser.RemoveUserContextCommand))]
    [JsonSerializable(typeof(Browser.GetClientWindowsCommand))]
    [JsonSerializable(typeof(Browser.GetClientWindowsResult))]
    [JsonSerializable(typeof(Browser.UserContextInfo))]
    [JsonSerializable(typeof(IReadOnlyList<Browser.UserContextInfo>))]
    [JsonSerializable(typeof(IReadOnlyList<Browser.ClientWindowInfo>))]
    
    
    [JsonSerializable(typeof(BrowsingContext.ActivateCommand))]
    [JsonSerializable(typeof(BrowsingContext.CaptureScreenshotCommand))]
    [JsonSerializable(typeof(BrowsingContext.CaptureScreenshotResult))]
    [JsonSerializable(typeof(BrowsingContext.CloseCommand), TypeInfoPropertyName = "BrowsingContext_CloseCommand")]
    [JsonSerializable(typeof(BrowsingContext.CreateCommand))]
    [JsonSerializable(typeof(BrowsingContext.CreateResult))]
    [JsonSerializable(typeof(BrowsingContext.GetTreeCommand))]
    [JsonSerializable(typeof(BrowsingContext.GetTreeResult))]
    [JsonSerializable(typeof(BrowsingContext.HandleUserPromptCommand))]
    [JsonSerializable(typeof(BrowsingContext.LocateNodesCommand))]
    [JsonSerializable(typeof(BrowsingContext.LocateNodesResult))]
    [JsonSerializable(typeof(BrowsingContext.NavigateCommand))]
    [JsonSerializable(typeof(BrowsingContext.NavigateResult))]
    [JsonSerializable(typeof(BrowsingContext.PrintCommand))]
    [JsonSerializable(typeof(BrowsingContext.PrintResult))]
    [JsonSerializable(typeof(BrowsingContext.ReloadCommand))]
    [JsonSerializable(typeof(BrowsingContext.SetViewportCommand))]
    [JsonSerializable(typeof(BrowsingContext.TraverseHistoryCommand))]
    [JsonSerializable(typeof(BrowsingContext.TraverseHistoryResult))]
    [JsonSerializable(typeof(BrowsingContext.BrowsingContextInfo))]
    [JsonSerializable(typeof(BrowsingContext.NavigationInfo))]
    
    [JsonSerializable(typeof(BrowsingContext.UserPromptOpenedEventArgs))]
    [JsonSerializable(typeof(BrowsingContext.UserPromptClosedEventArgs))]
    
    [JsonSerializable(typeof(Network.AddInterceptCommand))]
    [JsonSerializable(typeof(Network.AddInterceptResult))]
    [JsonSerializable(typeof(Network.ContinueRequestCommand))]
    [JsonSerializable(typeof(Network.ContinueResponseCommand))]
    [JsonSerializable(typeof(Network.ContinueWithAuthCommand))]
    [JsonSerializable(typeof(Network.FailRequestCommand))]
    [JsonSerializable(typeof(Network.ProvideResponseCommand))]
    [JsonSerializable(typeof(Network.RemoveInterceptCommand))]
    [JsonSerializable(typeof(Network.SetCacheBehaviorCommand))]
    
    [JsonSerializable(typeof(Network.BeforeRequestSentEventArgs))]
    [JsonSerializable(typeof(Network.ResponseStartedEventArgs))]
    [JsonSerializable(typeof(Network.ResponseCompletedEventArgs))]
    [JsonSerializable(typeof(Network.FetchErrorEventArgs))]
    [JsonSerializable(typeof(Network.AuthRequiredEventArgs))]
    
    [JsonSerializable(typeof(Script.AddPreloadScriptCommand))]
    [JsonSerializable(typeof(Script.AddPreloadScriptResult))]
    [JsonSerializable(typeof(Script.DisownCommand))]
    [JsonSerializable(typeof(Script.CallFunctionCommand))]
    [JsonSerializable(typeof(Script.EvaluateCommand))]
    [JsonSerializable(typeof(Script.EvaluateResult))]
    [JsonSerializable(typeof(Script.GetRealmsCommand))]
    [JsonSerializable(typeof(Script.GetRealmsResult))]
    [JsonSerializable(typeof(Script.RemovePreloadScriptCommand))]
    
    [JsonSerializable(typeof(Script.MessageEventArgs))]
    [JsonSerializable(typeof(Script.RealmDestroyedEventArgs))]
    [JsonSerializable(typeof(IReadOnlyList<Script.RealmInfo>))]
    
    [JsonSerializable(typeof(Log.LogEntry))]
    
    [JsonSerializable(typeof(Storage.GetCookiesCommand))]
    [JsonSerializable(typeof(Storage.GetCookiesResult))]
    [JsonSerializable(typeof(Storage.SetCookieCommand))]
    [JsonSerializable(typeof(Storage.SetCookieResult))]
    [JsonSerializable(typeof(Storage.DeleteCookiesCommand))]
    [JsonSerializable(typeof(Storage.DeleteCookiesResult))]
    
    [JsonSerializable(typeof(Input.PerformActionsCommand))]
    [JsonSerializable(typeof(Input.ReleaseActionsCommand))]
    [JsonSerializable(typeof(Input.SetFilesCommand))]
    [JsonSerializable(typeof(IEnumerable<Input.IPointerSourceAction>))]
    [JsonSerializable(typeof(IEnumerable<Input.IKeySourceAction>))]
    [JsonSerializable(typeof(IEnumerable<Input.INoneSourceAction>))]
    [JsonSerializable(typeof(IEnumerable<Input.IWheelSourceAction>))]

    Copy link
    Contributor

    PR Code Suggestions ✨

    No code suggestions found for the PR.

    @nvborisenko
    Copy link
    Member Author

    Pretty big, but it really simplifies things. Thanks Nick.

    @nvborisenko nvborisenko merged commit 8a26ef5 into SeleniumHQ:trunk May 29, 2025
    12 checks passed
    Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
    Labels
    Projects
    None yet
    Development

    Successfully merging this pull request may close these issues.

    2 participants