forked from mirrors/gecko-dev
Blink is the only engine supporting it, and thus it should not be the WPT requirement. Some tests still need the testing pref, and for now this patch gives the pref for such failing tests without modifying them, for simplicity sake. Modification can happen separately. Differential Revision: https://phabricator.services.mozilla.com/D201999
46 lines
1.7 KiB
HTML
46 lines
1.7 KiB
HTML
<!doctype html>
|
|
<meta charset="utf-8">
|
|
<title>
|
|
Async Clipboard write blobs -> read blobs with promise tests
|
|
</title>
|
|
<link rel="help" href="https://w3c.github.io/clipboard-apis/#async-clipboard-api">
|
|
<body>Body needed for test_driver.click()</body>
|
|
<script src="/resources/testharness.js"></script>
|
|
<script src="/resources/testharnessreport.js"></script>
|
|
<script src="/resources/testdriver.js"></script>
|
|
<script src="/resources/testdriver-vendor.js"></script>
|
|
<script src="resources/user-activation.js"></script>
|
|
|
|
<script>
|
|
async function loadBlob(fileName) {
|
|
const fetched = await fetch(fileName);
|
|
return await fetched.blob();
|
|
}
|
|
|
|
promise_test(async t => {
|
|
const promise1 = new Promise((resolve, reject) => {
|
|
resolve(loadBlob('resources/greenbox.png'));
|
|
});
|
|
await tryGrantReadPermission();
|
|
await tryGrantWritePermission();
|
|
|
|
const blobText = new Blob(['test text'], {type: 'text/plain'});
|
|
|
|
const clipboardItemInput = new ClipboardItem(
|
|
{'text/plain' : blobText, 'image/png' : promise1});
|
|
await waitForUserActivation();
|
|
await navigator.clipboard.write([clipboardItemInput]);
|
|
await waitForUserActivation();
|
|
const clipboardItems = await navigator.clipboard.read();
|
|
|
|
assert_equals(clipboardItems.length, 1);
|
|
const clipboardItem = clipboardItems[0];
|
|
assert_true(clipboardItem instanceof ClipboardItem);
|
|
|
|
assert_equals(clipboardItem.types.length, 2);
|
|
const blobTextOutput = await clipboardItem.getType('text/plain');
|
|
const blobImageOutput = await clipboardItem.getType('image/png');
|
|
assert_equals(blobTextOutput.type, 'text/plain');
|
|
assert_equals(blobImageOutput.type, 'image/png');
|
|
}, 'Verify write and read clipboard (multiple types) with promise to Blobs');
|
|
</script>
|