Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
30 changes: 15 additions & 15 deletions dotnet/src/webdriver/BiDi/BiDi.cs
Original file line number Diff line number Diff line change
Expand Up @@ -31,25 +31,11 @@ public sealed class BiDi : IAsyncDisposable
{
private readonly ConcurrentDictionary<Type, Module> _modules = new();

private readonly JsonSerializerOptions _jsonOptions;

private BiDi(string url)
{
var uri = new Uri(url);

Broker = new Broker(this, uri);

_jsonOptions = new JsonSerializerOptions
{
PropertyNameCaseInsensitive = true,
PropertyNamingPolicy = JsonNamingPolicy.CamelCase,
DefaultIgnoreCondition = JsonIgnoreCondition.WhenWritingNull,

Converters =
{
new DateTimeOffsetConverter(),
}
};
}

private Broker Broker { get; }
Expand Down Expand Up @@ -101,6 +87,20 @@ public async ValueTask DisposeAsync()

public T AsModule<T>() where T : Module, new()
{
return (T)_modules.GetOrAdd(typeof(T), _ => Module.Create<T>(this, Broker, _jsonOptions));
return (T)_modules.GetOrAdd(typeof(T), _ => Module.Create<T>(this, Broker, CreateDefaultJsonOptions()));
}

private static JsonSerializerOptions CreateDefaultJsonOptions()
{
return new JsonSerializerOptions
{
PropertyNameCaseInsensitive = true,
PropertyNamingPolicy = JsonNamingPolicy.CamelCase,
DefaultIgnoreCondition = JsonIgnoreCondition.WhenWritingNull,
Converters =
{
new DateTimeOffsetConverter(),
}
};
}
}
12 changes: 3 additions & 9 deletions dotnet/src/webdriver/BiDi/Browser/BrowserModule.cs
Original file line number Diff line number Diff line change
Expand Up @@ -81,15 +81,9 @@ public async Task<SetDownloadBehaviorResult> SetDownloadBehaviorDeniedAsync(SetD

protected override void Initialize(JsonSerializerOptions jsonSerializerOptions)
{
var browserOptions = new JsonSerializerOptions(jsonSerializerOptions)
{
Converters =
{
new BrowserUserContextConverter(BiDi),
}
};

_jsonContext = new BrowserJsonSerializerContext(browserOptions);
jsonSerializerOptions.Converters.Add(new BrowserUserContextConverter(BiDi));

_jsonContext = new BrowserJsonSerializerContext(jsonSerializerOptions);
}
}

Expand Down
18 changes: 6 additions & 12 deletions dotnet/src/webdriver/BiDi/BrowsingContext/BrowsingContextModule.cs
Original file line number Diff line number Diff line change
Expand Up @@ -255,18 +255,12 @@ public async Task<Subscription> OnUserPromptClosedAsync(Action<UserPromptClosedE

protected override void Initialize(JsonSerializerOptions jsonSerializerOptions)
{
var browsingContextOptions = new JsonSerializerOptions(jsonSerializerOptions)
{
Converters =
{
new BrowsingContextConverter(BiDi),
new InternalIdConverter(BiDi),
new HandleConverter(BiDi),
new BrowserUserContextConverter(BiDi),
}
};

_jsonContext = new BrowsingContextJsonSerializerContext(browsingContextOptions);
jsonSerializerOptions.Converters.Add(new BrowsingContextConverter(BiDi));
jsonSerializerOptions.Converters.Add(new InternalIdConverter(BiDi));
jsonSerializerOptions.Converters.Add(new HandleConverter(BiDi));
jsonSerializerOptions.Converters.Add(new BrowserUserContextConverter(BiDi));

_jsonContext = new BrowsingContextJsonSerializerContext(jsonSerializerOptions);
}
}

Expand Down
14 changes: 4 additions & 10 deletions dotnet/src/webdriver/BiDi/Emulation/EmulationModule.cs
Original file line number Diff line number Diff line change
Expand Up @@ -95,16 +95,10 @@ public async Task<SetGeolocationOverrideResult> SetGeolocationPositionErrorOverr

protected override void Initialize(JsonSerializerOptions jsonSerializerOptions)
{
var emulationOptions = new JsonSerializerOptions(jsonSerializerOptions)
{
Converters =
{
new BrowsingContextConverter(BiDi),
new BrowserUserContextConverter(BiDi),
}
};

_jsonContext = new EmulationJsonSerializerContext(emulationOptions);
jsonSerializerOptions.Converters.Add(new BrowsingContextConverter(BiDi));
jsonSerializerOptions.Converters.Add(new BrowserUserContextConverter(BiDi));

_jsonContext = new EmulationJsonSerializerContext(jsonSerializerOptions);
}
}

Expand Down
12 changes: 3 additions & 9 deletions dotnet/src/webdriver/BiDi/Input/InputModule.cs
Original file line number Diff line number Diff line change
Expand Up @@ -52,16 +52,10 @@ public async Task<SetFilesResult> SetFilesAsync(BrowsingContext.BrowsingContext

protected override void Initialize(JsonSerializerOptions jsonSerializerOptions)
{
var inputOptions = new JsonSerializerOptions(jsonSerializerOptions)
{
Converters =
{
new BrowsingContextConverter(BiDi),
new HandleConverter(BiDi),
}
};
jsonSerializerOptions.Converters.Add(new BrowsingContextConverter(BiDi));
jsonSerializerOptions.Converters.Add(new HandleConverter(BiDi));

_jsonContext = new InputJsonSerializerContext(inputOptions);
_jsonContext = new InputJsonSerializerContext(jsonSerializerOptions);
}
}

Expand Down
16 changes: 5 additions & 11 deletions dotnet/src/webdriver/BiDi/Log/LogModule.cs
Original file line number Diff line number Diff line change
Expand Up @@ -41,18 +41,12 @@ public async Task<Subscription> OnEntryAddedAsync(Action<LogEntry> handler, Subs

protected override void Initialize(JsonSerializerOptions jsonSerializerOptions)
{
var logOptions = new JsonSerializerOptions(jsonSerializerOptions)
{
Converters =
{
new BrowsingContextConverter(BiDi),
new RealmConverter(BiDi),
new InternalIdConverter(BiDi),
new HandleConverter(BiDi),
}
};
jsonSerializerOptions.Converters.Add(new BrowsingContextConverter(BiDi));
jsonSerializerOptions.Converters.Add(new RealmConverter(BiDi));
jsonSerializerOptions.Converters.Add(new InternalIdConverter(BiDi));
jsonSerializerOptions.Converters.Add(new HandleConverter(BiDi));

_jsonContext = new LogJsonSerializerContext(logOptions);
_jsonContext = new LogJsonSerializerContext(jsonSerializerOptions);
}
}

Expand Down
18 changes: 6 additions & 12 deletions dotnet/src/webdriver/BiDi/Network/NetworkModule.cs
Original file line number Diff line number Diff line change
Expand Up @@ -178,18 +178,12 @@ public async Task<Subscription> OnAuthRequiredAsync(Action<AuthRequiredEventArgs

protected override void Initialize(JsonSerializerOptions jsonSerializerOptions)
{
var networkOptions = new JsonSerializerOptions(jsonSerializerOptions)
{
Converters =
{
new BrowsingContextConverter(BiDi),
new CollectorConverter(BiDi),
new InterceptConverter(BiDi),
new BrowserUserContextConverter(BiDi),
}
};

_jsonContext = new NetworkJsonSerializerContext(networkOptions);
jsonSerializerOptions.Converters.Add(new BrowsingContextConverter(BiDi));
jsonSerializerOptions.Converters.Add(new CollectorConverter(BiDi));
jsonSerializerOptions.Converters.Add(new InterceptConverter(BiDi));
jsonSerializerOptions.Converters.Add(new BrowserUserContextConverter(BiDi));

_jsonContext = new NetworkJsonSerializerContext(jsonSerializerOptions);
}
}

Expand Down
12 changes: 3 additions & 9 deletions dotnet/src/webdriver/BiDi/Permissions/PermissionsModule.cs
Original file line number Diff line number Diff line change
Expand Up @@ -38,15 +38,9 @@ public async Task<SetPermissionResult> SetPermissionAsync(PermissionDescriptor d

protected override void Initialize(JsonSerializerOptions jsonSerializerOptions)
{
var permissionsOptions = new JsonSerializerOptions(jsonSerializerOptions)
{
Converters =
{
new BrowserUserContextConverter(BiDi),
}
};

_jsonContext = new PermissionsJsonSerializerContext(permissionsOptions);
jsonSerializerOptions.Converters.Add(new BrowserUserContextConverter(BiDi));

_jsonContext = new PermissionsJsonSerializerContext(jsonSerializerOptions);
}
}

Expand Down
20 changes: 7 additions & 13 deletions dotnet/src/webdriver/BiDi/Script/ScriptModule.cs
Original file line number Diff line number Diff line change
Expand Up @@ -119,19 +119,13 @@ public async Task<Subscription> OnRealmDestroyedAsync(Action<RealmDestroyedEvent

protected override void Initialize(JsonSerializerOptions jsonSerializerOptions)
{
var scriptOptions = new JsonSerializerOptions(jsonSerializerOptions)
{
Converters =
{
new BrowsingContextConverter(BiDi),
new PreloadScriptConverter(BiDi),
new RealmConverter(BiDi),
new InternalIdConverter(BiDi),
new HandleConverter(BiDi),
}
};

_jsonContext = new ScriptJsonSerializerContext(scriptOptions);
jsonSerializerOptions.Converters.Add(new BrowsingContextConverter(BiDi));
jsonSerializerOptions.Converters.Add(new PreloadScriptConverter(BiDi));
jsonSerializerOptions.Converters.Add(new RealmConverter(BiDi));
jsonSerializerOptions.Converters.Add(new InternalIdConverter(BiDi));
jsonSerializerOptions.Converters.Add(new HandleConverter(BiDi));

_jsonContext = new ScriptJsonSerializerContext(jsonSerializerOptions);
}
}

Expand Down
12 changes: 3 additions & 9 deletions dotnet/src/webdriver/BiDi/Session/SessionModule.cs
Original file line number Diff line number Diff line change
Expand Up @@ -62,16 +62,10 @@ public async Task<EndResult> EndAsync(EndOptions? options = null)

protected override void Initialize(JsonSerializerOptions jsonSerializerOptions)
{
var sessionOptions = new JsonSerializerOptions(jsonSerializerOptions)
{
Converters =
{
new BrowsingContextConverter(BiDi),
new BrowserUserContextConverter(BiDi),
}
};
jsonSerializerOptions.Converters.Add(new BrowsingContextConverter(BiDi));
jsonSerializerOptions.Converters.Add(new BrowserUserContextConverter(BiDi));

_jsonContext = new SessionJsonSerializerContext(sessionOptions);
_jsonContext = new SessionJsonSerializerContext(jsonSerializerOptions);
}
}

Expand Down
12 changes: 3 additions & 9 deletions dotnet/src/webdriver/BiDi/Storage/StorageModule.cs
Original file line number Diff line number Diff line change
Expand Up @@ -51,16 +51,10 @@ public async Task<SetCookieResult> SetCookieAsync(PartialCookie cookie, SetCooki

protected override void Initialize(JsonSerializerOptions jsonSerializerOptions)
{
var storageOptions = new JsonSerializerOptions(jsonSerializerOptions)
{
Converters =
{
new BrowsingContextConverter(BiDi),
new BrowserUserContextConverter(BiDi),
}
};
jsonSerializerOptions.Converters.Add(new BrowsingContextConverter(BiDi));
jsonSerializerOptions.Converters.Add(new BrowserUserContextConverter(BiDi));

_jsonContext = new StorageJsonSerializerContext(storageOptions);
_jsonContext = new StorageJsonSerializerContext(jsonSerializerOptions);
}
}

Expand Down
10 changes: 2 additions & 8 deletions dotnet/src/webdriver/BiDi/WebExtension/WebExtensionModule.cs
Original file line number Diff line number Diff line change
Expand Up @@ -44,15 +44,9 @@ public async Task<UninstallResult> UninstallAsync(Extension extension, Uninstall

protected override void Initialize(JsonSerializerOptions jsonSerializerOptions)
{
var webExtensionOptions = new JsonSerializerOptions(jsonSerializerOptions)
{
Converters =
{
new WebExtensionConverter(BiDi)
}
};
jsonSerializerOptions.Converters.Add(new WebExtensionConverter(BiDi));

_jsonContext = new WebExtensionJsonSerializerContext(webExtensionOptions);
_jsonContext = new WebExtensionJsonSerializerContext(jsonSerializerOptions);
}
}

Expand Down