diff --git a/dotnet/src/webdriver/BiDi/Communication/Json/BiDiJsonSerializerContext.cs b/dotnet/src/webdriver/BiDi/Communication/Json/BiDiJsonSerializerContext.cs index 814b4d35053ec..2749caf266f0a 100644 --- a/dotnet/src/webdriver/BiDi/Communication/Json/BiDiJsonSerializerContext.cs +++ b/dotnet/src/webdriver/BiDi/Communication/Json/BiDiJsonSerializerContext.cs @@ -57,14 +57,14 @@ namespace OpenQA.Selenium.BiDi.Communication.Json; [JsonSerializable(typeof(Modules.Script.NodeRemoteValue))] [JsonSerializable(typeof(Modules.Script.WindowProxyRemoteValue))] -[JsonSerializable(typeof(Modules.Script.RealmInfo.Window))] -[JsonSerializable(typeof(Modules.Script.RealmInfo.DedicatedWorker))] -[JsonSerializable(typeof(Modules.Script.RealmInfo.SharedWorker))] -[JsonSerializable(typeof(Modules.Script.RealmInfo.ServiceWorker))] -[JsonSerializable(typeof(Modules.Script.RealmInfo.Worker))] -[JsonSerializable(typeof(Modules.Script.RealmInfo.PaintWorklet))] -[JsonSerializable(typeof(Modules.Script.RealmInfo.AudioWorklet))] -[JsonSerializable(typeof(Modules.Script.RealmInfo.Worklet))] +[JsonSerializable(typeof(Modules.Script.WindowRealmInfo))] +[JsonSerializable(typeof(Modules.Script.DedicatedWorkerRealmInfo))] +[JsonSerializable(typeof(Modules.Script.SharedWorkerRealmInfo))] +[JsonSerializable(typeof(Modules.Script.ServiceWorkerRealmInfo))] +[JsonSerializable(typeof(Modules.Script.WorkerRealmInfo))] +[JsonSerializable(typeof(Modules.Script.PaintWorkletRealmInfo))] +[JsonSerializable(typeof(Modules.Script.AudioWorkletRealmInfo))] +[JsonSerializable(typeof(Modules.Script.WorkletRealmInfo))] [JsonSerializable(typeof(Modules.Log.ConsoleLogEntry))] [JsonSerializable(typeof(Modules.Log.JavascriptLogEntry))] diff --git a/dotnet/src/webdriver/BiDi/Communication/Json/Converters/Polymorphic/RealmInfoConverter.cs b/dotnet/src/webdriver/BiDi/Communication/Json/Converters/Polymorphic/RealmInfoConverter.cs index a916fd3734d5a..650c3c8919cad 100644 --- a/dotnet/src/webdriver/BiDi/Communication/Json/Converters/Polymorphic/RealmInfoConverter.cs +++ b/dotnet/src/webdriver/BiDi/Communication/Json/Converters/Polymorphic/RealmInfoConverter.cs @@ -33,14 +33,14 @@ internal class RealmInfoConverter : JsonConverter return jsonDocument.RootElement.GetProperty("type").ToString() switch { - "window" => jsonDocument.Deserialize(options), - "dedicated-worker" => jsonDocument.Deserialize(options), - "shared-worker" => jsonDocument.Deserialize(options), - "service-worker" => jsonDocument.Deserialize(options), - "worker" => jsonDocument.Deserialize(options), - "paint-worklet" => jsonDocument.Deserialize(options), - "audio-worklet" => jsonDocument.Deserialize(options), - "worklet" => jsonDocument.Deserialize(options), + "window" => jsonDocument.Deserialize(options), + "dedicated-worker" => jsonDocument.Deserialize(options), + "shared-worker" => jsonDocument.Deserialize(options), + "service-worker" => jsonDocument.Deserialize(options), + "worker" => jsonDocument.Deserialize(options), + "paint-worklet" => jsonDocument.Deserialize(options), + "audio-worklet" => jsonDocument.Deserialize(options), + "worklet" => jsonDocument.Deserialize(options), _ => null, }; } diff --git a/dotnet/src/webdriver/BiDi/Modules/Script/RealmInfo.cs b/dotnet/src/webdriver/BiDi/Modules/Script/RealmInfo.cs index 81a3024e8473c..ada89d999091c 100644 --- a/dotnet/src/webdriver/BiDi/Modules/Script/RealmInfo.cs +++ b/dotnet/src/webdriver/BiDi/Modules/Script/RealmInfo.cs @@ -23,32 +23,31 @@ namespace OpenQA.Selenium.BiDi.Modules.Script; // https://github.com/dotnet/runtime/issues/72604 //[JsonPolymorphic(TypeDiscriminatorPropertyName = "type")] -//[JsonDerivedType(typeof(Window), "window")] -//[JsonDerivedType(typeof(DedicatedWorker), "dedicated-worker")] -//[JsonDerivedType(typeof(SharedWorker), "shared-worker")] -//[JsonDerivedType(typeof(ServiceWorker), "service-worker")] -//[JsonDerivedType(typeof(Worker), "worker")] -//[JsonDerivedType(typeof(PaintWorklet), "paint-worklet")] -//[JsonDerivedType(typeof(AudioWorklet), "audio-worklet")] -//[JsonDerivedType(typeof(Worklet), "worklet")] -public abstract record RealmInfo(BiDi BiDi, Realm Realm, string Origin) : EventArgs(BiDi) +//[JsonDerivedType(typeof(WindowRealmInfo), "window")] +//[JsonDerivedType(typeof(DedicatedWorkerRealmInfo), "dedicated-worker")] +//[JsonDerivedType(typeof(SharedWorkerRealmInfo), "shared-worker")] +//[JsonDerivedType(typeof(ServiceWorkerRealmInfo), "service-worker")] +//[JsonDerivedType(typeof(WorkerRealmInfo), "worker")] +//[JsonDerivedType(typeof(PaintWorkletRealmInfo), "paint-worklet")] +//[JsonDerivedType(typeof(AudioWorkletRealmInfo), "audio-worklet")] +//[JsonDerivedType(typeof(WorkletRealmInfo), "worklet")] +public abstract record RealmInfo(BiDi BiDi, Realm Realm, string Origin) : EventArgs(BiDi); + +public record WindowRealmInfo(BiDi BiDi, Realm Realm, string Origin, BrowsingContext.BrowsingContext Context) : RealmInfo(BiDi, Realm, Origin) { - public record Window(BiDi BiDi, Realm Realm, string Origin, BrowsingContext.BrowsingContext Context) : RealmInfo(BiDi, Realm, Origin) - { - public string? Sandbox { get; set; } - } + public string? Sandbox { get; set; } +} - public record DedicatedWorker(BiDi BiDi, Realm Realm, string Origin, IReadOnlyList Owners) : RealmInfo(BiDi, Realm, Origin); +public record DedicatedWorkerRealmInfo(BiDi BiDi, Realm Realm, string Origin, IReadOnlyList Owners) : RealmInfo(BiDi, Realm, Origin); - public record SharedWorker(BiDi BiDi, Realm Realm, string Origin) : RealmInfo(BiDi, Realm, Origin); +public record SharedWorkerRealmInfo(BiDi BiDi, Realm Realm, string Origin) : RealmInfo(BiDi, Realm, Origin); - public record ServiceWorker(BiDi BiDi, Realm Realm, string Origin) : RealmInfo(BiDi, Realm, Origin); +public record ServiceWorkerRealmInfo(BiDi BiDi, Realm Realm, string Origin) : RealmInfo(BiDi, Realm, Origin); - public record Worker(BiDi BiDi, Realm Realm, string Origin) : RealmInfo(BiDi, Realm, Origin); +public record WorkerRealmInfo(BiDi BiDi, Realm Realm, string Origin) : RealmInfo(BiDi, Realm, Origin); - public record PaintWorklet(BiDi BiDi, Realm Realm, string Origin) : RealmInfo(BiDi, Realm, Origin); +public record PaintWorkletRealmInfo(BiDi BiDi, Realm Realm, string Origin) : RealmInfo(BiDi, Realm, Origin); - public record AudioWorklet(BiDi BiDi, Realm Realm, string Origin) : RealmInfo(BiDi, Realm, Origin); +public record AudioWorkletRealmInfo(BiDi BiDi, Realm Realm, string Origin) : RealmInfo(BiDi, Realm, Origin); - public record Worklet(BiDi BiDi, Realm Realm, string Origin) : RealmInfo(BiDi, Realm, Origin); -} +public record WorkletRealmInfo(BiDi BiDi, Realm Realm, string Origin) : RealmInfo(BiDi, Realm, Origin); diff --git a/dotnet/test/common/BiDi/Script/ScriptCommandsTest.cs b/dotnet/test/common/BiDi/Script/ScriptCommandsTest.cs index e5448fcaefd6a..7bb43889b4182 100644 --- a/dotnet/test/common/BiDi/Script/ScriptCommandsTest.cs +++ b/dotnet/test/common/BiDi/Script/ScriptCommandsTest.cs @@ -36,10 +36,10 @@ public async Task CanGetAllRealms() Assert.That(realms, Is.Not.Null); Assert.That(realms, Has.Count.EqualTo(2)); - Assert.That(realms[0], Is.AssignableFrom()); + Assert.That(realms[0], Is.AssignableFrom()); Assert.That(realms[0].Realm, Is.Not.Null); - Assert.That(realms[1], Is.AssignableFrom()); + Assert.That(realms[1], Is.AssignableFrom()); Assert.That(realms[1].Realm, Is.Not.Null); } @@ -53,10 +53,10 @@ public async Task CanGetAllRealmsByType() Assert.That(realms, Is.Not.Null); Assert.That(realms, Has.Count.EqualTo(2)); - Assert.That(realms[0], Is.AssignableFrom()); + Assert.That(realms[0], Is.AssignableFrom()); Assert.That(realms[0].Realm, Is.Not.Null); - Assert.That(realms[1], Is.AssignableFrom()); + Assert.That(realms[1], Is.AssignableFrom()); Assert.That(realms[1].Realm, Is.Not.Null); } @@ -67,7 +67,7 @@ public async Task CanGetRealmInBrowsingContext() var realms = await tab.Script.GetRealmsAsync(); - var tabRealm = realms[0] as RealmInfo.Window; + var tabRealm = realms[0] as WindowRealmInfo; Assert.That(tabRealm, Is.Not.Null); Assert.That(tabRealm.Context, Is.EqualTo(tab)); @@ -80,7 +80,7 @@ public async Task CanGetRealmInBrowsingContextByType() var realms = await tab.Script.GetRealmsAsync(new() { Type = RealmType.Window }); - var tabRealm = realms[0] as RealmInfo.Window; + var tabRealm = realms[0] as WindowRealmInfo; Assert.That(tabRealm, Is.Not.Null); Assert.That(tabRealm.Context, Is.EqualTo(tab)); diff --git a/dotnet/test/common/BiDi/Script/ScriptEventsTest.cs b/dotnet/test/common/BiDi/Script/ScriptEventsTest.cs index e9bc8d7b48298..98a6c12229216 100644 --- a/dotnet/test/common/BiDi/Script/ScriptEventsTest.cs +++ b/dotnet/test/common/BiDi/Script/ScriptEventsTest.cs @@ -60,7 +60,7 @@ public async Task CanListenToRealmCreatedEvent() var realmInfo = await tcs.Task.WaitAsync(TimeSpan.FromSeconds(5)); Assert.That(realmInfo, Is.Not.Null); - Assert.That(realmInfo, Is.AssignableFrom()); + Assert.That(realmInfo, Is.AssignableFrom()); Assert.That(realmInfo.Realm, Is.Not.Null); }