Firefox WebDriver Newsletter 140
WebDriver is a remote control interface that enables introspection and control of user agents. As such it can help developers to verify that their websites are working and performing well with all major browsers. The protocol is standardized by the W3C and consists of two separate specifications: WebDriver classic (HTTP) and the new WebDriver BiDi (Bi-Directional).
This newsletter gives an overview of the work we’ve done as part of the Firefox 140 release cycle.
Contributions
Firefox is an open source project, and we are always happy to receive external code contributions to our WebDriver implementation. We want to give special thanks to everyone who filed issues, bugs and submitted patches.
In Firefox 140, several contributors managed to land fixes and improvements in our codebase:
- Martin Pitt fixed a bug which could prevent action commands to resolve, and also helped with some related refactoring.
- Liam (ldebeasi) improved two
browsingContextevents:contextCreatedandcontextDestroyed.
WebDriver code is written in JavaScript, Python, and Rust so any web developer can contribute! Read how to setup the work environment and check the list of mentored issues for Marionette, or the list of mentored JavaScript bugs for WebDriver BiDi. Join our chatroom if you need any help to get started!
General
Bug fixes:
- Fixed a bug where WebDriver Classic and BiDi commands – particularly Action commands – could time out while waiting for a
RequestAnimationFrame. - Improved the Actions implementation in both Marionette and WebDriver BiDi to prevent microtasks from being blocked while individual events are dispatched. For more information about microtasks, head over to the MDN guide for microtasks.
WebDriver BiDi
New: browsingContext.navigationCommitted event
Implemented a new browsingContext event, browsingContext.navigationCommitted, which should be emitted as soon as a new document has been created for a navigation.
New: acceptInsecureCerts parameter for browser.createUserContext
Added support for the acceptInsecureCerts argument to the browser.createUserContext command. This argument allows clients to disable or enable certificate related security settings for a specific user context (aka Firefox container) and override the settings specified for a session.
Updated: NoSuchWebExtensionError for webExtension.uninstall
Updated the webExtension.uninstall command to throw a NoSuchWebExtensionError when an empty string is provided as the extension ID.
Updated: clientWindow property for browsingContext events
Updated browsingContext.contextCreated and browsingContext.contextDestroyed events to return the clientWindow property in all the remaining cases (including Firefox for Android). This property corresponds to the ID of the window owning the Browsing Context.
Bug fixes:
Fixed a bug for various browsingContext events which were unexpectedly emitted for webextension Browsing Contexts.
Leave a Reply