AngleSharp / AngleSharp/AngleSharp.Io
Implement Permissions API Baseline
Nobody has claimed this yet.
- Dominant language
- C#
- Stars
- 37
- Forks
- 13
- PR merge metrics
- No merged PRs in 30d
Description
Proposal
Add navigator.permissions with query support to unify permission checks across features.
Scope:
- Expose navigator.permissions query method.
- Support baseline permission names used by implemented APIs, such as geolocation, notifications, clipboard-read, clipboard-write, and file-system.
- Return PermissionStatus-like objects and change events.
Technical Notes: - Permission decisions must come from an injected platform policy provider.
- Other APIs should consult this service rather than duplicating logic.
Acceptance Criteria: - query returns deterministic state objects.
- Permission states update observable status objects.
- Integrated tests verify gating behavior in dependent APIs.
Out of Scope: - Full browser permission UX prompts.
- Vendor-specific permission naming differences in first pass.
Description
Implement a Permissions API baseline via navigator.permissions.query with stable permission-state objects and change signaling for core permission names.
Background
Permissions become the common control plane for Geolocation, Notifications, Clipboard, and File System Access. Centralizing checks avoids duplicated, inconsistent gating logic.
Specification
- Permissions specification: https://w3c.github.io/permissions/
- Initial names to support: geolocation, notifications, clipboard-read, clipboard-write, and file-system-related entries where applicable
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start with the Permissions specification and the navigator.permissions.query entry point. Review the existing Geolocation, Notifications, Clipboard, and File System Access implementations to identify their permission checks, then define the injected platform policy provider and shared status behavior. Done means deterministic states, observable changes, and integrated gating tests for the dependent APIs.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- csharp
- Domain
- api, security
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Quiet
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100