[dotnet] [bidi] Decouple EvaluateResult in Script module #15493
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
User description
Following spec https://w3c.github.io/webdriver-bidi/#type-script-EvaluateResult
I chose
EvaluateResultSuccessinstead of commonly usedSuccessEvaluateResult, preferred the same in spec.Motivation and Context
Contributes to #15407
Types of changes
Checklist
PR Type
Enhancement
Description
Replaced nested DTO types with standalone types for better extensibility.
Updated
EvaluateResultstructure to useEvaluateResultSuccessandEvaluateResultException.Adjusted serialization and deserialization logic to align with new DTO structure.
Refactored related methods and exception handling to use updated DTO types.
Changes walkthrough 📝
BiDiJsonSerializerContext.cs
Updated JSON serialization for new DTO typesdotnet/src/webdriver/BiDi/Communication/Json/BiDiJsonSerializerContext.cs
EvaluateResultSuccessandEvaluateResultException.EvaluateResultConverter.cs
Updated deserialization logic for new DTO typesdotnet/src/webdriver/BiDi/Communication/Json/Converters/Polymorphic/EvaluateResultConverter.cs
EvaluateResultSuccessandEvaluateResultException.BrowsingContextScriptModule.cs
Refactored methods to use new DTO typesdotnet/src/webdriver/BiDi/Modules/BrowsingContext/BrowsingContextScriptModule.cs
EvaluateResultSuccess.EvaluateCommand.cs
Refactored EvaluateCommand to use standalone DTOsdotnet/src/webdriver/BiDi/Modules/Script/EvaluateCommand.cs
EvaluateResulttypes with standaloneEvaluateResultSuccessandEvaluateResultException.EvaluateResultSuccess.ScriptEvaluateException.cs
Updated exception handling for new DTO structuredotnet/src/webdriver/BiDi/Modules/Script/ScriptEvaluateException.cs
EvaluateResultException.ScriptModule.cs
Refactored ScriptModule methods for new DTO typesdotnet/src/webdriver/BiDi/Modules/Script/ScriptModule.cs
EvaluateResultSuccessandEvaluateResultException.