[adr] Install browser extensions from the driver directly - #17817
[adr] Install browser extensions from the driver directly#17817titusfortner wants to merge 4 commits into
Conversation
Code Review by Qodo
1.
|
PR Summary by QodoPropose ADR: install/uninstall extensions via driver API (BiDi pipe on Chromium)
AI Description
Diagram
High-Level Assessment
Files changed (1)
|
|
Code review by qodo was updated up to the latest commit 551bc46 |
|
Code review by qodo was updated up to the latest commit d047e73 |
There was a problem hiding this comment.
Pull request overview
This PR adds a proposed Architecture Decision Record (ADR) documenting a cross-binding design decision to support mid-session browser extension installation directly from the driver, using BiDi as the implementation mechanism and adjusting Chromium transport/CDP behavior to make this work without extra user flags.
Changes:
- Adds ADR 17817 describing a new driver-level
installExtension/uninstallExtensionsurface across bindings. - Documents the rationale for using BiDi + pipe transport in Chromium and the resulting CDP API limitations.
- Captures alternatives considered (API placement, naming, transport default, unsigned extension posture) and their tradeoffs.
|
Code review by qodo was updated up to the latest commit cfdf561 |
📄 The decision, its rationale, considered options, and consequences are in the record file this PR adds; read it there. The sections below are proposal notes and review logistics.
🔗 Related
--load-extensionswitch on Chrome builds #15788 — Chrome removed the--load-extensionswitch in branded builds, which is what makes post-session install a requirement rather than a convenience.📝 Proposal notes
moz:permanent(permanent install) andmoz:allowPrivateBrowsinghave no cross-browser equivalent, but the new method must support them regardless of how it is called, not only preserve them for the classic methods that route through it. They fall outside what the CDDL generation covers today — closing that gap is in progress upstream: w3c/webdriver-bidi#1140 adds a CDDL vendor-extension mechanism forwebExtension.install, and Mozilla bug 2057588 asks Firefox to publish a machine-readable schema for those params. Generation isn't required to send them either way, so implementing them is tracking-issue work, not a blocker on this proposal.🗣 Discussion
📌 Tracking
Tracking issue: (linked on acceptance)