[wpt-sync] Sync PR 48681 - [wpt] Fix testdriver.js portability issues in `digital-credentials/`
Categories
(Testing :: web-platform-tests, task, P4)
Tracking
(firefox133 fixed)
| Tracking | Status | |
|---|---|---|
| firefox133 | --- | fixed |
People
(Reporter: wpt-sync, Unassigned)
References
()
Details
(Whiteboard: [wptsync downstream])
Sync web-platform-tests PR 48681 into mozilla-central (this bug is closed when the sync is complete).
PR: https://github.com/web-platform-tests/wpt/pull/48681
Details from upstream follow.
Jonathan Lee <jonathanjlee@google.com> wrote:
[wpt] Fix testdriver.js portability issues in
digital-credentials/Some testdriver.js implementations use
postMessage()to send
testdriver commands from a cross-origin iframe to the testharness
browsing context. 0 and 1 must be respected for testdriver.js to
work in those environments.This is a no-op change when running the tests with content shell, which
implements testdriver.js with nonstandard JS bindings.The testdriver.js and testdriver-vendor.js must both be included ...
in the top-level test document when using testdriver from a different
contextBug: None
Change-Id: Idacd0b65d03d4feb77883927a5d90e61eb59797b
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/5922668
Reviewed-by: Weizhong Xia \<weizhong@google.com>
Commit-Queue: Jonathan Lee \<jonathanjlee@google.com>
Cr-Commit-Position: refs/heads/main@{#1370211}
| Assignee | ||
Comment 1•1 year ago
|
||
| Assignee | ||
Comment 2•1 year ago
|
||
CI Results
Ran 9 Firefox configurations based on mozilla-central, and Firefox, Chrome, and Safari on GitHub CI
Total 6 tests and 1 subtests
Status Summary
Firefox
OK : 2[Gecko-android-em-7.0-x86_64-lite-qr-opt-geckoview, Gecko-android-em-7.0-x86_64-qr-debug-geckoview, Gecko-android-em-7.0-x86_64-qr-opt-geckoview, Gecko-linux1804-64-qr-debug, Gecko-linux1804-64-qr-opt, Gecko-windows11-32-2009-qr-debug, Gecko-windows11-32-2009-qr-opt, Gecko-windows11-64-2009-qr-debug, Gecko-windows11-64-2009-qr-opt] 6[GitHub]
PASS: 1
FAIL: 11[Gecko-android-em-7.0-x86_64-lite-qr-opt-geckoview, Gecko-android-em-7.0-x86_64-qr-debug-geckoview, Gecko-android-em-7.0-x86_64-qr-opt-geckoview, Gecko-linux1804-64-qr-debug, Gecko-linux1804-64-qr-opt, Gecko-windows11-32-2009-qr-debug, Gecko-windows11-32-2009-qr-opt, Gecko-windows11-64-2009-qr-debug, Gecko-windows11-64-2009-qr-opt] 40[GitHub]
Chrome
OK : 6
PASS: 26
FAIL: 15
Safari
OK : 6
PASS: 8
FAIL: 33
Links
Gecko CI (Treeherder)
GitHub PR Head
GitHub PR Base
Details
Firefox-only Failures
- /digital-credentials/get.tentative.https.html [wpt.fyi]
- navigator.credentials.get() promise is rejected if called with an aborted controller.:
FAIL - navigator.credentials.get() promise is rejected if called with an aborted controller in same-origin iframe.:
FAIL - navigator.credentials.get() promise is rejected if called with an aborted signal in cross-origin iframe.:
FAIL
- navigator.credentials.get() promise is rejected if called with an aborted controller.:
New Tests That Don't Pass
- /digital-credentials/allow-attribute.https.html [wpt.fyi]:
OK[GitHub],SKIP[Gecko-android-em-7.0-x86_64-lite-qr-opt-geckoview,Gecko-android-em-7.0-x86_64-qr-debug-geckoview,Gecko-android-em-7.0-x86_64-qr-opt-geckoview,Gecko-linux1804-64-qr-debug,Gecko-linux1804-64-qr-opt,Gecko-windows11-32-2009-qr-debug,Gecko-windows11-32-2009-qr-opt,Gecko-windows11-64-2009-qr-debug,Gecko-windows11-64-2009-qr-opt] (Chrome:OK, Safari:OK)- Policy to use: null, is cross-origin: false, is allowed by policy: true:
FAIL(Chrome:PASS, Safari:FAIL) - Policy to use: null, is cross-origin: true, is allowed by policy: false:
FAIL(Chrome:PASS, Safari:FAIL) - Policy to use: digital-credentials-get, is cross-origin: false, is allowed by policy: true:
FAIL(Chrome:PASS, Safari:FAIL) - Policy to use: digital-credentials-get, is cross-origin: true, is allowed by policy: true:
FAIL(Chrome:PASS, Safari:FAIL) - Policy to use: digital-credentials-get *, is cross-origin: false, is allowed by policy: true:
FAIL(Chrome:PASS, Safari:FAIL) - Policy to use: digital-credentials-get *, is cross-origin: true, is allowed by policy: true:
FAIL(Chrome:PASS, Safari:FAIL) - Policy to use: digital-credentials-get 'none', is cross-origin: false, is allowed by policy: false:
FAIL(Chrome:PASS, Safari:FAIL) - Policy to use: digital-credentials-get 'none', is cross-origin: true, is allowed by policy: false:
FAIL(Chrome:PASS, Safari:FAIL) - Policy to use: digital-credentials-get 'self', is cross-origin: false, is allowed by policy: true:
FAIL(Chrome:PASS, Safari:FAIL) - Policy to use: digital-credentials-get 'self', is cross-origin: true, is allowed by policy: false:
FAIL(Chrome:PASS, Safari:FAIL) - Policy to use: digital-credentials-get https://www1.web-platform.test:8443, is cross-origin: false, is allowed by policy: false:
FAIL(Chrome:PASS, Safari:FAIL) - Policy to use: digital-credentials-get https://www1.web-platform.test:8443, is cross-origin: true, is allowed by policy: true:
FAIL(Chrome:PASS, Safari:FAIL)
- Policy to use: null, is cross-origin: false, is allowed by policy: true:
- /digital-credentials/disabled-by-permissions-policy.https.sub.html [wpt.fyi]:
OK[GitHub],SKIP[Gecko-android-em-7.0-x86_64-lite-qr-opt-geckoview,Gecko-android-em-7.0-x86_64-qr-debug-geckoview,Gecko-android-em-7.0-x86_64-qr-opt-geckoview,Gecko-linux1804-64-qr-debug,Gecko-linux1804-64-qr-opt,Gecko-windows11-32-2009-qr-debug,Gecko-windows11-32-2009-qr-opt,Gecko-windows11-64-2009-qr-debug,Gecko-windows11-64-2009-qr-opt] (Chrome:OK, Safari:OK)- Permissions-Policy header digital-credentials-get=() disallows the top-level document.:
FAIL(Chrome:PASS, Safari:FAIL) - Permissions-Policy header digital-credentials-get=() disallows same-origin iframes.:
FAIL(Chrome:PASS, Safari:FAIL) - Header-set policy is overridden in cross-origin iframe using allow attribute.:
FAIL(Chrome:FAIL, Safari:FAIL) - Setting digital-credentials-get=(self) disallows the API in same-origin iframes.:
FAIL(Chrome:PASS, Safari:FAIL)
- Permissions-Policy header digital-credentials-get=() disallows the top-level document.:
- /digital-credentials/enabled-on-self-origin-by-permissions-policy.https.sub.html [wpt.fyi]:
OK[GitHub],SKIP[Gecko-android-em-7.0-x86_64-lite-qr-opt-geckoview,Gecko-android-em-7.0-x86_64-qr-debug-geckoview,Gecko-android-em-7.0-x86_64-qr-opt-geckoview,Gecko-linux1804-64-qr-debug,Gecko-linux1804-64-qr-opt,Gecko-windows11-32-2009-qr-debug,Gecko-windows11-32-2009-qr-opt,Gecko-windows11-64-2009-qr-debug,Gecko-windows11-64-2009-qr-opt] (Chrome:OK, Safari:OK)- Permissions-Policy header digital-credentials-get=(self) allows the top-level document.:
FAIL(Chrome:PASS, Safari:FAIL) - Permissions-Policy header digital-credentials-get=(self) allows same-origin iframes.:
FAIL(Chrome:PASS, Safari:FAIL) - Permissions-Policy header digital-credentials-get=(self) disallows cross-origin iframes.:
FAIL(Chrome:PASS, Safari:FAIL) - Permissions-Policy header digital-credentials-get=(self) gets overridden by allow attribute.:
FAIL(Chrome:FAIL, Safari:FAIL)
- Permissions-Policy header digital-credentials-get=(self) allows the top-level document.:
- /digital-credentials/get.tentative.https.html [wpt.fyi]:
OK[GitHub],SKIP[Gecko-android-em-7.0-x86_64-lite-qr-opt-geckoview,Gecko-android-em-7.0-x86_64-qr-debug-geckoview,Gecko-android-em-7.0-x86_64-qr-opt-geckoview,Gecko-linux1804-64-qr-debug,Gecko-linux1804-64-qr-opt,Gecko-windows11-32-2009-qr-debug,Gecko-windows11-32-2009-qr-opt,Gecko-windows11-64-2009-qr-debug,Gecko-windows11-64-2009-qr-opt] (Chrome:OK, Safari:OK)- navigator.credentials.get() API rejects if there are no providers.:
FAIL(Chrome:PASS, Safari:FAIL) - navigator.credentials.get() API rejects if there are no providers for same-origin iframe.:
FAIL(Chrome:PASS, Safari:FAIL) - navigator.credentials.get() API rejects if there are no providers in cross-origin iframe.:
FAIL(Chrome:FAIL, Safari:FAIL) - navigator.credentials.get() promise is rejected if called with an aborted controller.:
FAIL(Chrome:PASS, Safari:PASS) - navigator.credentials.get() promise is rejected if called with an aborted controller in same-origin iframe.:
FAIL(Chrome:PASS, Safari:PASS) - navigator.credentials.get() promise is rejected if called with an aborted signal in cross-origin iframe.:
FAIL(Chrome:PASS, Safari:PASS) - navigator.credentials.get() promise is rejected if abort controller is aborted after call to get().:
FAIL(Chrome:PASS, Safari:FAIL) - navigator.credentials.get() promise is rejected if abort controller is aborted after call to get() in cross-origin iframe.:
FAIL(Chrome:PASS, Safari:FAIL) - Mediation is required to get a DigitalCredential.:
FAIL(Chrome:FAIL, Safari:FAIL)
- navigator.credentials.get() API rejects if there are no providers.:
- /digital-credentials/create.tentative.https.html [wpt.fyi]
- navigator.credentials.create() frame just returns null.:
FAIL(Chrome:FAIL, Safari:FAIL) - navigator.credentials.create() same-origin iframe just returns null.:
FAIL(Chrome:FAIL, Safari:FAIL) - navigator.credentials.create() cross-origin iframe results in null.:
FAIL(Chrome:FAIL, Safari:FAIL) - navigator.credentials.create() ignores mediations.:
FAIL(Chrome:FAIL, Safari:FAIL) - navigator.credentials.create() ignores mediations in same-origin iframe.:
FAIL(Chrome:FAIL, Safari:FAIL) - navigator.credentials.create() ignores mediations in cross-origin iframe.:
FAIL(Chrome:FAIL, Safari:FAIL) - navigator.credentials.create() rejects if called with an aborted controller.:
FAIL(Chrome:FAIL, Safari:PASS) - navigator.credentials.create() rejects if called with an aborted controller in same-origin iframe.:
FAIL(Chrome:FAIL, Safari:PASS) - navigator.credentials.create() rejects if called with an aborted controller in cross-origin iframe.:
FAIL(Chrome:FAIL, Safari:PASS) - Adding mediations together with abort signal respects the abort signal.:
FAIL(Chrome:FAIL, Safari:PASS)
- navigator.credentials.create() frame just returns null.:
- /digital-credentials/default-permissions-policy.https.sub.html [wpt.fyi]
- Permissions-Policy is by default 'self'.:
FAIL(Chrome:PASS, Safari:FAIL)
- Permissions-Policy is by default 'self'.:
Tests Disabled in Gecko Infrastructure
- /digital-credentials/allow-attribute.https.html [wpt.fyi]:
OK[GitHub],SKIP[Gecko-android-em-7.0-x86_64-lite-qr-opt-geckoview,Gecko-android-em-7.0-x86_64-qr-debug-geckoview,Gecko-android-em-7.0-x86_64-qr-opt-geckoview,Gecko-linux1804-64-qr-debug,Gecko-linux1804-64-qr-opt,Gecko-windows11-32-2009-qr-debug,Gecko-windows11-32-2009-qr-opt,Gecko-windows11-64-2009-qr-debug,Gecko-windows11-64-2009-qr-opt] (Chrome:OK, Safari:OK) - /digital-credentials/disabled-by-permissions-policy.https.sub.html [wpt.fyi]:
OK[GitHub],SKIP[Gecko-android-em-7.0-x86_64-lite-qr-opt-geckoview,Gecko-android-em-7.0-x86_64-qr-debug-geckoview,Gecko-android-em-7.0-x86_64-qr-opt-geckoview,Gecko-linux1804-64-qr-debug,Gecko-linux1804-64-qr-opt,Gecko-windows11-32-2009-qr-debug,Gecko-windows11-32-2009-qr-opt,Gecko-windows11-64-2009-qr-debug,Gecko-windows11-64-2009-qr-opt] (Chrome:OK, Safari:OK) - /digital-credentials/enabled-on-self-origin-by-permissions-policy.https.sub.html [wpt.fyi]:
OK[GitHub],SKIP[Gecko-android-em-7.0-x86_64-lite-qr-opt-geckoview,Gecko-android-em-7.0-x86_64-qr-debug-geckoview,Gecko-android-em-7.0-x86_64-qr-opt-geckoview,Gecko-linux1804-64-qr-debug,Gecko-linux1804-64-qr-opt,Gecko-windows11-32-2009-qr-debug,Gecko-windows11-32-2009-qr-opt,Gecko-windows11-64-2009-qr-debug,Gecko-windows11-64-2009-qr-opt] (Chrome:OK, Safari:OK) - /digital-credentials/get.tentative.https.html [wpt.fyi]:
OK[GitHub],SKIP[Gecko-android-em-7.0-x86_64-lite-qr-opt-geckoview,Gecko-android-em-7.0-x86_64-qr-debug-geckoview,Gecko-android-em-7.0-x86_64-qr-opt-geckoview,Gecko-linux1804-64-qr-debug,Gecko-linux1804-64-qr-opt,Gecko-windows11-32-2009-qr-debug,Gecko-windows11-32-2009-qr-opt,Gecko-windows11-64-2009-qr-debug,Gecko-windows11-64-2009-qr-opt] (Chrome:OK, Safari:OK)
Comment 4•1 year ago
|
||
| bugherder | ||
Description
•