chromium-bidi
chromium-bidi copied to clipboard
Implement `session.new` command
https://w3c.github.io/webdriver-bidi/#command-session-new
This is blocking #110: the Firefox implementation strictly follows the spec, and requires a session to be created before accepting any non-static commands.
Also likely blocking #121.
As the session
should be implemented by the embedder, our NodeJS server simply accepts all the session commands: https://github.com/GoogleChromeLabs/chromium-bidi/blob/ca2e4ba66e94b5250f86c544ecfe3e5911aab6f4/src/bidiServerRunner.ts#L48
We need this for Puppeteer. Firefox impl supports it and it's part of the spec.
The best the mapper
can do is to send a error "500 | session not created", as the session is already exists at the point mapper is created. And the transport implementation (bidiServerRunner
) should implement the proper request handling.
Closing, as session handling cannot be handled by the Mapper.
Re-opening this based on the latest understanding that mapper should support multiple sessions and that it should provide handling for capabilities implementable via CDP such as ignoreHTTPSErrors
. This capability requires calling Security.setIgnoreCertificateErrors
on every target as there is no other way to implement it in Chrome.
This has been implemented now.