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
browsingContext
events:contextCreated
andcontextDestroyed
.
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