clipboard-apis

edit

WPT coverage of the tests of clipboard-apis at the revision 5602b0f210e3. The tests link to their results in the browsers on wpt.fyi. The tentative tests (experimental features) and the reftests are listed separately from the stable tests.

GroupPassingTestsDisabledPass rate
Stable3438089%
Tentative1420070%
Reftests000–
All4858083%

Failure reasons

The tests that do not pass (failing or disabled), by kind of reason. A test with several reasons counts once per kind.

  • TEST BUG: 4
  • NOT IMPLEMENTED: 3
  • TEST RUNNER: 3

Stable tests

TestResultSubtestsKindDescription
async-clipboard-read-unsanitized-null.https.htmlPass1 / 1
async-html-script-removal.https.htmlPass1 / 1
async-navigator-clipboard-basics.https.htmlFail16 / 17TEST BUGthe test expects write() of an image/png representation whose data is a string to reject with a TypeError (Chromium): the string is the data of the representation (https://w3c.github.io/clipboard-apis/#dom-clipboard-write), and it is rejected with a DataError because it is not a PNG image, as async-write-image-read-image.https.html expects for a blob
async-navigator-clipboard-read-resource-load.https.htmlPass1 / 1
async-navigator-clipboard-read-sanitize.https.htmlPass1 / 1
async-navigator-clipboard-write-domstring.https.htmlPass8 / 8
async-promise-write-blobs-read-blobs.https.htmlPass1 / 1
async-write-blobs-read-blobs.https.htmlPass2 / 2
async-write-html-read-html.https.htmlPass1 / 1
async-write-image-read-image.https.htmlPass2 / 2
clipboard-copy-selection-line-break.https.htmlPass32 / 32
clipboard-events-synthetic.htmlPass9 / 9
clipboard-item.https.htmlPass35 / 35
data-transfer-file-list-change-reference-updates.htmlPass1 / 1
dataTransfer-clearData.htmlPass1 / 1
detached-iframe/clipboard-on-detached-iframe.https.htmlPass1 / 1
detached-iframe/paste-on-detaching-iframe.https.htmlPass1 / 1
detached-iframe/read-on-detaching-iframe.https.htmlPass1 / 1
detached-iframe/write-on-detaching-iframe.https.htmlPass1 / 1
detached-iframe/write-read-on-detached-iframe.https.htmlFail0 / 1TEST BUGthe tests expect read(), write(), readText() and writeText() of the clipboard of a detached iframe to return undefined (the Chromium bindings do not run the operations of a destroyed execution context): these operations return a promise (https://w3c.github.io/clipboard-apis/#clipboard-interface), which is rejected with a NotAllowedError because the document is not fully active
detached-iframe/writeText-readText-on-detached-iframe.https.htmlFail0 / 1TEST BUGthe tests expect read(), write(), readText() and writeText() of the clipboard of a detached iframe to return undefined (the Chromium bindings do not run the operations of a destroyed execution context): these operations return a promise (https://w3c.github.io/clipboard-apis/#clipboard-interface), which is rejected with a NotAllowedError because the document is not fully active
drag-multiple-urls.htmlPass1 / 1
events/copy-event.htmlPass1 / 1
idlharness.https.window.jsPass62 / 62
permissions-policy/clipboard-read/clipboard-read-enabled-by-permissions-policy-attribute-cross-origin-tentative.https.sub.htmlPass1 / 1
permissions-policy/clipboard-read/clipboard-read-enabled-by-permissions-policy-attribute-tentative.https.sub.htmlPass1 / 1
permissions-policy/clipboard-read/clipboard-read-enabled-by-permissions-policy-cross-origin-tentative.https.sub.htmlPass1 / 1
permissions-policy/clipboard-write/clipboard-write-enabled-by-permissions-policy-attribute-cross-origin-tentative.https.sub.htmlPass1 / 1
permissions-policy/clipboard-write/clipboard-write-enabled-by-permissions-policy-attribute-tentative.https.sub.htmlPass1 / 1
permissions-policy/clipboard-write/clipboard-write-enabled-by-permissions-policy-cross-origin-tentative.https.sub.htmlPass1 / 1
permissions/readText-denied.https.htmlPass1 / 1
permissions/readText-granted.https.htmlFail0 / 1TEST RUNNERthe clipboard is empty when the test starts, so readText() rejects with NotFoundError (the test assumes the system clipboard holds text)
permissions/writeText-denied.https.htmlPass1 / 1
permissions/writeText-granted.https.htmlPass1 / 1
text-write-read/async-write-read.https.htmlPass5 / 5
text-write-read/async-write-readText.https.htmlPass2 / 2
text-write-read/async-writeText-read.https.htmlPass2 / 2
text-write-read/async-writeText-readText.https.htmlPass2 / 2

Tentative tests

TestResultSubtestsKindDescription
async-clipboard-cached-getType-permission-revocation.tentative.https.htmlPass1 / 1
async-clipboard-cached-getType-reject.tentative.https.htmlPass1 / 1
async-clipboard-stale-getType-reject.tentative.https.htmlPass1 / 1
async-custom-formats-write-fail.tentative.https.htmlPass5 / 5
async-custom-formats-write-read-web-prefix.tentative.https.htmlPass1 / 1
async-custom-formats-write-read-without-web-prefix.tentative.https.htmlPass1 / 1
async-custom-formats-write-read.tentative.https.htmlPass1 / 1
async-navigator-clipboard-change-event.tentative.https.htmlFail5 / 7NOT IMPLEMENTEDthe onclipboardchange event handler attribute of Clipboard (the event is fired to the listeners only)
async-navigator-clipboard-write-multiple.tentative.https.sub.htmlTimeout0 / 4NOT IMPLEMENTEDa new clipboard.write() does not reject the pending one with NotAllowedError (the test waits for the pending promise)
async-svg-read-write.tentative.https.htmlFail0 / 1TEST BUGthe single subtest also expects the inline style that the Chromium read-time sanitizer adds to the <svg> element (color: rgb(0, 0, 0); font-size: medium; ..., the computed style of the copied content), which no specification defines
async-unsanitized-html-formats-write-read.tentative.https.htmlFail0 / 1NOT IMPLEMENTEDinlining the computed style of the elements in the unsanitized text/html read (a Chromium-specific expectation)
async-unsanitized-plaintext-formats-write-read.tentative.https.htmlPass1 / 1
async-unsanitized-standard-html-read-fail.tentative.https.htmlPass4 / 4
downloadurl-list-custom-clipboard-data.tentative.https.htmlPass1 / 1
permissions-policy/clipboard-read/clipboard-read-disabled-by-permissions-policy.tentative.https.sub.htmlPass3 / 3
permissions-policy/clipboard-read/clipboard-read-enabled-by-permissions-policy.tentative.https.sub.htmlFail1 / 2TEST RUNNERthe clipboard is empty so readText() rejects with NotFoundError in the top-level document (the policy allows it)
permissions-policy/clipboard-read/clipboard-read-enabled-on-self-origin-by-permissions-policy.tentative.https.sub.htmlFail2 / 3TEST RUNNERthe clipboard is empty so readText() rejects with NotFoundError in the top-level document (the policy allows it)
permissions-policy/clipboard-write/clipboard-write-disabled-by-permissions-policy.tentative.https.sub.htmlPass3 / 3
permissions-policy/clipboard-write/clipboard-write-enabled-by-permissions-policy.tentative.https.sub.htmlPass2 / 2
permissions-policy/clipboard-write/clipboard-write-enabled-on-self-origin-by-permissions-policy.tentative.https.sub.htmlPass3 / 3