import { getPolyfillManager } from './polyfill.js' import { getShadowRootManager } from './shadowRoot.js' import { getNetworkManager } from './networkManager.js' import { getDialogManager } from './dialog.js' import { getContextManager } from './context.js' /** * register all session relevant singletons on the instance */ export function registerSessionManager(instance: WebdriverIO.Browser) { /** * only register session manager for sessions that appear to support * WebDriver Bidi */ if (typeof instance.capabilities.webSocketUrl !== 'string') { return } return Promise.all([ getPolyfillManager(instance).initialize(), getShadowRootManager(instance).initialize(), getNetworkManager(instance).initialize(), getDialogManager(instance).initialize(), getContextManager(instance).initialize() ]) }