Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Port the usage of the RDP protocol over to WebDriver BiDi #3351

Open
whimboo opened this issue Feb 12, 2025 · 4 comments
Open

Port the usage of the RDP protocol over to WebDriver BiDi #3351

whimboo opened this issue Feb 12, 2025 · 4 comments

Comments

@whimboo
Copy link

whimboo commented Feb 12, 2025

With WebDriver BiDi being adopted by more and more test and automation frameworks due to its cross-browser compatibility it would be great to see the web-ext tool also making use of WebDriver BiDi. Firefox' own RDP protocol via DevTools is not standardized and may surface changes which require clients to update their code. WebDriver BiDi APIs are stable and backward compatible.

It would be good to know which specific APIs for RDP are used by web-ext that are required to be supported by WebDriver BiDi. We may not support all of these yet, so having a list would certainly help us to prioritize / schedule remaining work to unblock a change of the underlying protocol.

CC @zombie, @rpl and @Rob--W

@rpl
Copy link
Member

rpl commented Feb 12, 2025

@whimboo here is a list of the Firefox RDP methods web-ext is using:

@Rob--W
Copy link
Member

Rob--W commented Feb 13, 2025

Install and re-install are currently the only supported operations in webdriver-bidi, added in w3c/webdriver-bidi#778 and rendered at https://w3c.github.io/webdriver-bidi/#module-webExtension

The ability to retrieve the list of extensions and to reload individual extensions (at least to refresh the updated extension sources, without losing web/extension data) are not part of the protocol yet.

@Rob--W
Copy link
Member

Rob--W commented Feb 13, 2025

@rpl provided the following additional context:

Bidi meta bugs being worked on at the moment:

and a comment from Henrik related to reloading the extension

(/end of @rpl comment)

About reloading - I'll discuss with other browser vendors about the appetite for supporting extension reloading as a first class feature. I can imagine a potential implementation to re-use the webExtension.install method.

@whimboo
Copy link
Author

whimboo commented Feb 13, 2025

@rpl provided the following additional context:
and a comment from Henrik related to reloading the extension

* Only reloading might be a problem right now given that we do not yet allow evaluation of scripts in the parent process. But I'm going to start working on it soon via https://bugzilla.mozilla.org/show_bug.cgi?id=1944570

* [Bug 1944570 - Support executing “script.evaluate” and “script.callFunction” for browsing contexts in the parent process](https://bugzilla.mozilla.org/show_bug.cgi?id=1944570)

Actually those two bugs wont be needed when we are ok with having the webExtension.listAddons and webExtension.reloadAddon() (or similar naming) as part of the specification. I think it makes sense to add them. I'll do when I'm back from vacation so that we can discuss it in the next month W3C meeting.

Thanks for all the helpful information!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants