Implement Permissions API extension for Marionette
Categories
(Remote Protocol :: Marionette, enhancement, P2)
Tracking
(firefox128 fixed)
Tracking | Status | |
---|---|---|
firefox128 | --- | fixed |
People
(Reporter: ato, Assigned: Sasha)
References
(Blocks 1 open bug)
Details
(Whiteboard: [webdriver:m11], [wptsync upstream][webdriver:relnote])
Attachments
(2 files, 1 obsolete file)
We are currently failing all Permissions API WebDriver extension tests:
https://wpt.fyi/results/webdriver/tests/permissions/set.py?label=master&label=experimental&product=chrome&product=firefox&product=safari
The WebDriver extensions are defined here:
https://w3c.github.io/permissions/#automation
Reporter | ||
Updated•6 years ago
|
Comment 2•5 years ago
|
||
James, what's the importance of that given that we seem to fail a lot of wpt tests. See also the comment from Johann over on bug 1671407.
Comment 3•5 years ago
|
||
Ah, apologies, I didn't realise there was already a bug for this.
The question on priorities is really for the people implementing the permissions features. I'd assume that the ability to test those features, and share the tests with Chrome, WebKit and others would be high priority.
Comment 4•5 years ago
|
||
Which other tests beside the following wdspec tests do we have?
Comment 5•5 years ago
|
||
Based on rg -l test_driver\..*permiss
in testing/web-platform/tests
:
screen_enumeration/screen_enumeration_permission.window.js
screen_enumeration/getScreens.values.https.html
screen_enumeration/isMultiScreen.tentative.https.window.js
screen_enumeration/getScreens.tentative.https.window.js
resources/chromium/generic_sensor_mocks.js
resources/chromium/nfc-mock.js
screen-wake-lock/wakelock-enabled-by-feature-policy.https.sub.html
screen-wake-lock/wakelockpermissiondescriptor.https.html
screen-wake-lock/idlharness.https.window.js
screen-wake-lock/wakelock-enabled-on-self-origin-by-feature-policy.https.sub.html
screen-wake-lock/wakelock-onrelease.https.html
screen-wake-lock/wakelock-request-denied.https.html
screen-wake-lock/wakelock-released.https.html
storage-access-api/requestStorageAccess.sub.window.js
idle-detection/idle-detection-allowed-by-feature-policy.https.sub.html
idle-detection/interceptor.https.html
idle-detection/basics.tentative.https.window.js
idle-detection/idle-detection-default-feature-policy.https.sub.html
idle-detection/idle-permission.tentative.https.window.js
idle-detection/idlharness-worker.https.window.js
idle-detection/idle-detection-allowed-by-feature-policy-attribute-redirect-on-load.https.sub.html
idle-detection/idlharness.https.window.js
idle-detection/idle-detection-allowed-by-feature-policy-attribute.https.sub.html
clipboard-apis/async-write-svg-read-svg.https.html
clipboard-apis/async-write-blobs-read-blobs.https.html
clipboard-apis/async-write-html-read-html.https.html
clipboard-apis/async-html-script-removal.https.html
clipboard-apis/async-write-image-read-image.https.html
clipboard-apis/async-svg-script-removal.https.html
web-nfc/nfc_permission.https.html
web-nfc/NDEFWriter_write.https.html
web-nfc/NDEFReader_scan.https.html
mediacapture-image/MediaStreamTrack-getCapabilities.html
mediacapture-image/MediaStreamTrack-applyConstraints.html
mediacapture-image/MediaStreamTrack-getSettings.html
mediacapture-image/MediaStreamTrack-applyConstraints-reject.html
mediacapture-image/MediaStreamTrack-applyConstraints-getSettings.html
generic-sensor/generic-sensor-permission.https.html
feature-policy/resources/feature-policy-screen-wakelock.html
feature-policy/resources/feature-policy-clipboard-write.html
feature-policy/resources/feature-policy-clipboard-read.html
docs/writing-tests/testdriver.md
font-access/resources/test-expectations.js
native-file-system/resources/native-fs-test-helpers.js
clipboard-apis/detached-iframe/writeText-readText-on-detached-iframe.https.html
clipboard-apis/detached-iframe/write-on-detaching-iframe.https.html
clipboard-apis/detached-iframe/write-read-on-detached-iframe.https.html
clipboard-apis/text-write-read/async-writeText-readText.https.html
clipboard-apis/text-write-read/async-writeText-read.https.html
clipboard-apis/detached-iframe/read-on-detaching-iframe.https.html
clipboard-apis/text-write-read/async-write-read.https.html
clipboard-apis/permissions/readText-granted.https.html
clipboard-apis/permissions/writeText-denied.https.html
clipboard-apis/text-write-read/async-write-readText.https.html
clipboard-apis/permissions/writeText-granted.https.html
clipboard-apis/permissions/readText-denied.https.html
fullscreen/api/element-request-fullscreen-options.tentative.html
infrastructure/testdriver/set_permission.https.html
clipboard-apis/feature-policy/clipboard-write/clipboard-write-enabled-on-self-origin-by-feature-policy.tentative.https.sub.html
clipboard-apis/feature-policy/clipboard-write/clipboard-write-disabled-by-feature-policy.tentative.https.sub.html
clipboard-apis/feature-policy/clipboard-write/clipboard-write-enabled-by-feature-policy.tentative.https.sub.html
clipboard-apis/feature-policy/clipboard-read/clipboard-read-enabled-on-self-origin-by-feature-policy.tentative.https.sub.html
clipboard-apis/feature-policy/clipboard-read/clipboard-read-disabled-by-feature-policy.tentative.https.sub.html
clipboard-apis/feature-policy/clipboard-read/clipboard-read-enabled-by-feature-policy.tentative.https.sub.html
Comment 6•4 years ago
|
||
Is this on the DOM radar? I'm trying to figure out what we need to do to make sure we get wpt coverage for these APIs that have additional WebDriver endpoints. Is this work blocked on something specific? Is there help required from the automation people?
Comment 7•4 years ago
•
|
||
With Andrea working on other things I don't think this has an owner in DOM currently. Maybe Johann can help out? (I initially wrote something about the tests listed above, but I did not see that was a scrollable box. It seems our coverage for quite a few APIs could be improved by this.)
Comment 8•4 years ago
|
||
I don't think anyone on our team can work on this right now, though I will put it on our backlog. :|
Comment 9•4 years ago
|
||
Right now permissions on Android are handled by the individual app, but not by Gecko itself. It means that we won't actually get full support across all platforms.
But that will change with bug 1654832. Once it's done Gecko itself will handle the permission flags.
Comment 10•3 years ago
|
||
Now with bug 1654832 fixed there should be a way for us to handle permissions in GeckoView. I had a look but didn't found the entry point. Agi, maybe you can give a quick hint in how our code in Marionette could utilize the GV permissions? Thanks!
Comment 11•3 years ago
|
||
What permissions are you looking to handle? for most of them now GeckoView uses Gecko's permission store so there shouldn't be anything special that you need to do for mobile specifically (just store the permission using nsIPermissionManager
). Or maybe you need a higher level API than nsIPermissionManager
?
Updated•3 years ago
|
Updated•3 years ago
|
Updated•2 years ago
|
Comment 13•2 years ago
|
||
:whimboo this bug blocks testing Screen Wake Lock, Bug 1589554. I can add a similar workaround using a pref to permissions.sys.mjs but what is preventing us from implementing this? I poked around a bit but my knowledge of marionette seems to not be enough to implement this.
Comment 14•2 years ago
|
||
We currently do not have the man power to get this feature implemented. As such it's in the backlog. So yes, you could update the code and do it similar as for other permissions if that works. We are happy to accept patches. Otherwise please let us know.
Updated•2 years ago
|
Updated•2 years ago
|
Updated•2 years ago
|
Comment 15•1 year ago
|
||
We are going to implement this API for WebDriver BiDi first (bug 1875065). So it should then be easier to get it added for Marionette as well.
Comment 16•1 year ago
|
||
Updated•1 year ago
|
Comment 17•1 year ago
|
||
Kagami, thank you for the patch but could you please move it to a different bug, which will block this one? There is more work to do to have a full implementation for Permissions in Marionette and that we want to do on this bug. Thanks!
Comment 19•1 year ago
|
||
Comment on attachment 9373310 [details]
Bug 1524074 - Generalize permission handling of storage-access to all permissions r=whimboo
Revision D198836 was moved to bug 1875257. Setting attachment 9373310 [details] to obsolete.
Updated•1 year ago
|
Comment 20•1 year ago
|
||
On bug 1875724 the marionette.setpermission.enabled
pref will be set for all web-platform tests. We should wait for that until we do the full implementation for Marionette.
Updated•1 year ago
|
Assignee | ||
Updated•1 year ago
|
Assignee | ||
Comment 21•1 year ago
|
||
Assignee | ||
Comment 22•1 year ago
|
||
Comment 23•11 months ago
|
||
Comment 25•11 months ago
|
||
bugherder |
https://hg.mozilla.org/mozilla-central/rev/041acf255585
https://hg.mozilla.org/mozilla-central/rev/7d9f74554923
Comment 30•11 months ago
|
||
Comment 31•11 months ago
|
||
bugherder |
Updated•10 months ago
|
Description
•