Closed Bug 1745823 Opened 4 years ago Closed 2 months ago

Implement negative permissions

Categories

(WebExtensions :: General, enhancement, P3)

enhancement
Points:
8

Tracking

(firefox152 fixed)

RESOLVED FIXED
152 Branch
Tracking Status
firefox152 --- fixed

People

(Reporter: zombie, Assigned: zombie)

References

(Blocks 3 open bugs)

Details

(Whiteboard: [addons-jira])

Attachments

(3 files, 1 obsolete file)

  • ⬜ Introduce and maintain a second list of “negative permissions” that an extension might be blocked from accessing, despite having a containing (<all_urls>) permission granted.
  • ⬜ Check the URI against the list wherever we test host permissions.
  • ⬜ Allow users to revoke a permission for a specific host (through the toolbar button or about:addons) even after granting <all_urls>.
  • ⬜ Introduce a new browser.pemirssions.canAccess() API method, using a similar “target” object as the new scripting API.
  • ⬜ Ask feedback through the WECG on the API design.
Points: --- → 8
Severity: -- → N/A
Priority: -- → P2
Blocks: 1749434

I really like the idea of having an extension with <all_urls> host permission while giving the user the control about which specific websites (or match patterns) he/she actually wants to allow.

I also like the idea of providing browser.pemirssions.canAccess() method.
I'm even in favor of adding 2 more methods (request and remove), in order to give extensions the power to (re-)request and to give up a "host permission". This way extension could basically use the permission API as a blacklist/blocklist and do not need to maintain a separate list of blocked domains/URLs. This is not only easier for an extension author but it is also easier to understand for the user, because otherwise there are two places that control if the add-on works on a certain website or not.

Just want to throw out an idea: Maybe it would be more feasible to use the already existing permissions API methods like contains, removeand request by extending the Permissions object by another property.

Duplicate of this bug: 1810929
Depends on: 1832791
Depends on: 1833209
Depends on: 1833438
Assignee: nobody → tomica
Status: NEW → ASSIGNED
Depends on: 1834825
Attachment #9335136 - Attachment description: Bug 1745823 - Implement Quarantined Domains list, r?rpl → Bug 1745823 - Implement Quarantined Domains list, r?willdurand,rpl
No longer depends on: 1832791
No longer depends on: 1833209
No longer depends on: 1833438
Whiteboard: [mv3-m2] → [addons-jira]
Attachment #9335136 - Attachment is obsolete: true
No longer depends on: 1834825
Priority: P2 → P3
Blocks: 1805205
Attachment #9582839 - Attachment description: Bug 1745823 - Add ExtensionGuardSet WebIDL type r?rpl → Bug 1745823 - Add ExtensionGuardSet WebIDL type r?robwu
Attachment #9582840 - Attachment description: Bug 1745823 - Implement support for negative permissions with GuardSets r?rpl → Bug 1745823 - Implement support for negative permissions with GuardSets r?robwu
Attachment #9582841 - Attachment description: Bug 1745823 - Add support for setting enterprise policy GuardSets r?rpl → Bug 1745823 - Add support for setting enterprise policy GuardSets r?robwu
Status: ASSIGNED → RESOLVED
Closed: 2 months ago
Resolution: --- → FIXED
Target Milestone: --- → 152 Branch
See Also: → 2041393
No longer blocks: 2042599
Blocks: 2045795
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: