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

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant