Advancing WebDriver BiDi support in WebKit
summary
WebKit adds WebDriver BiDi by running a libsoup websocket server in the browser, sharing most BiDi parsing/handlers across ports and using a new declarative JSON scheme to avoid handwritten parsing. Prototype supports session creation (still limited to one session), basic log events, and cuts polling from heavy JavaScript round trips to 3 round trips vs 54 polling queries in a demo. Testing uses Selenium Python and WPT on post‑commit CI; 190 web driver bugs exist (roughly one third BiDi‑related). Next: implement browsing‑context tree, navigation and eval, and move event handling into the browser.
AI-written summary · about
chapters (11)
- 0:00Introduction
- 1:52WebKit architecture
- 10:28WebDriver classic support
- 19:50WebDriver BiDi benefits
- 21:15Current BiDi implementation
- 25:09Demo: polling vs BiDi
- 29:24BiDi support challenges
- 31:51Next steps for BiDi
- 34:23Contributing to WebKit
- 35:50Recap and outlook
- 37:17Q&A
related talks
24mWebDriver BiDi: work in progress.
31mRevolutionising Browser Automation: A Deep Dive into the WebDriver BiDi Project and...
31mRevolutionising Browser Automation: A Deep Dive into the WebDriver BiDi Project and its Integration with Selenium
11mThe Future of Cross-Browser Automation: WebDriver BiDi
33mBeyond WebDriver!
33mAutomated Testing for Web-based Systems on Embedded Devices
15mBrowser automation/testing with BiDi and minimal dependencies
01h 26mWorkshop: Reactive Browser Testing with WebDriver BiDi
