Skip to content

Commit 34534c7

Browse files
committed
Script
1 parent b700588 commit 34534c7

File tree

5 files changed

+26
-7
lines changed

5 files changed

+26
-7
lines changed

dotnet/src/webdriver/BiDi/Communication/Json/BiDiJsonSerializerContext.cs

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -166,12 +166,15 @@ namespace OpenQA.Selenium.BiDi.Communication.Json;
166166
[JsonSerializable(typeof(Script.AddPreloadScriptCommand))]
167167
[JsonSerializable(typeof(Script.AddPreloadScriptResult))]
168168
[JsonSerializable(typeof(Script.DisownCommand))]
169+
[JsonSerializable(typeof(Script.DisownResult))]
169170
[JsonSerializable(typeof(Script.CallFunctionCommand))]
171+
[JsonSerializable(typeof(Script.CallFunctionResult))]
170172
[JsonSerializable(typeof(Script.EvaluateCommand))]
171173
[JsonSerializable(typeof(Script.EvaluateResult))]
172174
[JsonSerializable(typeof(Script.GetRealmsCommand))]
173175
[JsonSerializable(typeof(Script.GetRealmsResult))]
174176
[JsonSerializable(typeof(Script.RemovePreloadScriptCommand))]
177+
[JsonSerializable(typeof(Script.RemovePreloadScriptResult))]
175178

176179
[JsonSerializable(typeof(Script.MessageEventArgs))]
177180
[JsonSerializable(typeof(Script.RealmDestroyedEventArgs))]

dotnet/src/webdriver/BiDi/Script/CallFunctionCommand.cs

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@
2323
namespace OpenQA.Selenium.BiDi.Script;
2424

2525
internal sealed class CallFunctionCommand(CallFunctionParameters @params)
26-
: Command<CallFunctionParameters, EvaluateResult>(@params, "script.callFunction");
26+
: Command<CallFunctionParameters, CallFunctionResult>(@params, "script.callFunction");
2727

2828
internal sealed record CallFunctionParameters(string FunctionDeclaration, bool AwaitPromise, Target Target, IEnumerable<LocalValue>? Arguments, ResultOwnership? ResultOwnership, SerializationOptions? SerializationOptions, LocalValue? This, bool? UserActivation) : Parameters;
2929

@@ -39,3 +39,5 @@ public sealed class CallFunctionOptions : CommandOptions
3939

4040
public bool? UserActivation { get; set; }
4141
}
42+
43+
public sealed record CallFunctionResult : EvaluateResult;

dotnet/src/webdriver/BiDi/Script/DisownCommand.cs

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,10 @@
2323
namespace OpenQA.Selenium.BiDi.Script;
2424

2525
internal sealed class DisownCommand(DisownParameters @params)
26-
: Command<DisownParameters, EmptyResult>(@params, "script.disown");
26+
: Command<DisownParameters, DisownResult>(@params, "script.disown");
2727

2828
internal sealed record DisownParameters(IEnumerable<Handle> Handles, Target Target) : Parameters;
29+
30+
public sealed class DisownOptions : CommandOptions;
31+
32+
public sealed record DisownResult : EmptyResult;

dotnet/src/webdriver/BiDi/Script/RemovePreloadScriptCommand.cs

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,8 +22,10 @@
2222
namespace OpenQA.Selenium.BiDi.Script;
2323

2424
internal sealed class RemovePreloadScriptCommand(RemovePreloadScriptParameters @params)
25-
: Command<RemovePreloadScriptParameters, EmptyResult>(@params, "script.removePreloadScript");
25+
: Command<RemovePreloadScriptParameters, RemovePreloadScriptResult>(@params, "script.removePreloadScript");
2626

2727
internal sealed record RemovePreloadScriptParameters(PreloadScript Script) : Parameters;
2828

2929
public sealed class RemovePreloadScriptOptions : CommandOptions;
30+
31+
public sealed record RemovePreloadScriptResult : EmptyResult;

dotnet/src/webdriver/BiDi/Script/ScriptModule.cs

Lines changed: 12 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@
1919

2020
using OpenQA.Selenium.BiDi.Communication;
2121
using System;
22+
using System.Collections.Generic;
2223
using System.Threading.Tasks;
2324

2425
namespace OpenQA.Selenium.BiDi.Script;
@@ -39,11 +40,11 @@ public async Task<EvaluateResult> EvaluateAsync(string expression, bool awaitPro
3940
return result.AsSuccessResult().ConvertTo<TResult>();
4041
}
4142

42-
public async Task<EvaluateResult> CallFunctionAsync(string functionDeclaration, bool awaitPromise, Target target, CallFunctionOptions? options = null)
43+
public async Task<CallFunctionResult> CallFunctionAsync(string functionDeclaration, bool awaitPromise, Target target, CallFunctionOptions? options = null)
4344
{
4445
var @params = new CallFunctionParameters(functionDeclaration, awaitPromise, target, options?.Arguments, options?.ResultOwnership, options?.SerializationOptions, options?.This, options?.UserActivation);
4546

46-
return await Broker.ExecuteCommandAsync(new CallFunctionCommand(@params), options, JsonContext.CallFunctionCommand, JsonContext.EvaluateResult).ConfigureAwait(false);
47+
return await Broker.ExecuteCommandAsync(new CallFunctionCommand(@params), options, JsonContext.CallFunctionCommand, JsonContext.CallFunctionResult).ConfigureAwait(false);
4748
}
4849

4950
public async Task<TResult?> CallFunctionAsync<TResult>(string functionDeclaration, bool awaitPromise, Target target, CallFunctionOptions? options = null)
@@ -53,6 +54,13 @@ public async Task<EvaluateResult> CallFunctionAsync(string functionDeclaration,
5354
return result.AsSuccessResult().ConvertTo<TResult>();
5455
}
5556

57+
public async Task<DisownResult> DisownAsync(IEnumerable<Handle> handles, Target target, DisownOptions? options = null)
58+
{
59+
var @params = new DisownParameters(handles, target);
60+
61+
return await Broker.ExecuteCommandAsync(new DisownCommand(@params), options, JsonContext.DisownCommand, JsonContext.DisownResult).ConfigureAwait(false);
62+
}
63+
5664
public async Task<GetRealmsResult> GetRealmsAsync(GetRealmsOptions? options = null)
5765
{
5866
var @params = new GetRealmsParameters(options?.Context, options?.Type);
@@ -69,11 +77,11 @@ public async Task<PreloadScript> AddPreloadScriptAsync(string functionDeclaratio
6977
return result.Script;
7078
}
7179

72-
public async Task<EmptyResult> RemovePreloadScriptAsync(PreloadScript script, RemovePreloadScriptOptions? options = null)
80+
public async Task<RemovePreloadScriptResult> RemovePreloadScriptAsync(PreloadScript script, RemovePreloadScriptOptions? options = null)
7381
{
7482
var @params = new RemovePreloadScriptParameters(script);
7583

76-
return await Broker.ExecuteCommandAsync(new RemovePreloadScriptCommand(@params), options, JsonContext.RemovePreloadScriptCommand, JsonContext.EmptyResult).ConfigureAwait(false);
84+
return await Broker.ExecuteCommandAsync(new RemovePreloadScriptCommand(@params), options, JsonContext.RemovePreloadScriptCommand, JsonContext.RemovePreloadScriptResult).ConfigureAwait(false);
7785
}
7886

7987
public async Task<Subscription> OnMessageAsync(Func<MessageEventArgs, Task> handler, SubscriptionOptions? options = null)

0 commit comments

Comments
 (0)