GoogleChromeLabs / chromium-bidi

Implementation of WebDriver BiDi for Chromium
https://googlechromelabs.github.io/chromium-bidi/
Apache License 2.0
86 stars 30 forks source link

Implement `session.new` command #118

Closed mathiasbynens closed 4 weeks ago

mathiasbynens commented 2 years ago

https://w3c.github.io/webdriver-bidi/#command-session-new

mathiasbynens commented 2 years ago

This is blocking #110: the Firefox implementation strictly follows the spec, and requires a session to be created before accepting any non-static commands.

mathiasbynens commented 2 years ago

Also likely blocking #121.

sadym-chromium commented 2 years ago

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

OrKoN commented 1 year ago

We need this for Puppeteer. Firefox impl supports it and it's part of the spec.

sadym-chromium commented 1 year ago

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.

sadym-chromium commented 1 year ago

Closing, as session handling cannot be handled by the Mapper.

OrKoN commented 11 months ago

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.

OrKoN commented 4 weeks ago

This has been implemented now.