Feature and motivation
https://www.w3.org/TR/permissions/
The implementation should not rely on internal
members. The goal is to expose minimal required to make it possible to implement new extendable by the third-partied modules.
Usage example
var bidi = await driver.AsBiDiAsync(); // selenium responsibility
// straightforward API (not yet approved)
var permissionsModule = new PermissionsModule(bidi);
// or as extension to emphasize this is extension
var permissionsModule = bidi.AsPermissions();
await permissionsModule.QueryAsync();