[w3c/permissions] Specify how request and revoke work on push and midi permissions. (#90)

The ["push"](https://w3c.github.io/permissions/#push) and ["midi"](https://w3c.github.io/permissions/#midi) permissions have a simple ordering in their descriptors, which we haven't fleshed out into their storage or their request and revoke algorithms. Specifically, `{name:"push", userVisibleOnly:false}` is strictly stronger (allows more page behaviors) than `{name:"push", userVisibleOnly:true}`, and `{name:"midi", sysex:true}` is strictly stronger than `{name:"midi", sysex:false}`.

So, if the page calls `navigator.permissions.request({name:"push", userVisibleOnly:false})` and the user accepts, should `navigator.permissions.query({name:"push", userVisibleOnly:true})` return `{state:"granted"}`? Probably so.

If `navigator.permissions.query({name:"push", userVisibleOnly:false})` returns `{state:"granted"}` and the site calls `navigator.permissions.revoke({name:"push", userVisibleOnly:true})`, should `navigator.permissions.query({name:"push", userVisibleOnly:false})` then return `{state:"prompt"}`? Probably so, also.

On the other hand, if `navigator.permissions.query({name:"push", userVisibleOnly:false})` returns `{state:"granted"}` and the site calls `navigator.permissions.revoke({name:"push", userVisibleOnly:false})`, should `navigator.permissions.query({name:"push", userVisibleOnly:true})` then return `{state:"prompt"}`? Probably not, since the site only asked to revoke the stronger grant.

---
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/w3c/permissions/issues/90

Received on Saturday, 23 April 2016 04:14:53 UTC