Skip to content

[docs] decision: browser permissions are managed through grant/deny/reset/override helpers#17677

Open
AutomatedTester wants to merge 1 commit into
trunkfrom
adr-bidi-permissions
Open

[docs] decision: browser permissions are managed through grant/deny/reset/override helpers#17677
AutomatedTester wants to merge 1 commit into
trunkfrom
adr-bidi-permissions

Conversation

@AutomatedTester

Copy link
Copy Markdown
Member

💥 What does this PR do?

Proposes a design decision record: browser permissions are managed through grant / deny / reset / override helpers.

BiDi exposes one permissions primitive (permissions.setPermission), already surfaced raw in the bindings. This record makes the high-level convenience layer a recorded cross-binding decision — grant (single or list), deny, reset (one/many/all via client-side tracking), an exception-safe override(...) block, plus the low-level set_permission escape hatch — so Java/Ruby/.NET/JavaScript converge on the same names and semantics. It is intentionally a superset of Playwright (which has only grant_permissions + bulk clear_permissions).

There is a working reference implementation reviewers can see in action: #17631 (the Python high-level permissions API). This ADR links to it from the binding-status table so the exact shape is visible.

🔧 Implementation Notes

🤖 AI assistance

  • AI assisted (complete below)
    • Tool(s): Claude Code
    • What was generated: Initial draft of the decision record, derived from a CDDL-validated review of the Python permissions implementation in [py] Add high-level BiDi permissions API #17631 against the W3C Permissions BiDi extension and Playwright; revised through discussion and review
    • I reviewed all AI output and can explain the change

💡 Additional Considerations

Completes the set of BiDi ergonomics decision records proposed together (#17671#17676). Unlike the others, this one already has a code PR (#17631) to anchor it. Cross-binding convergence is tracked in the binding-status table.

🔄 Types of changes

  • Documentation (design decision record)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

A-needs decision TLC needs to discuss and agree

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant