33 lines
1.4 KiB
HTML
33 lines
1.4 KiB
HTML
<!DOCTYPE html> <!-- webkit-test-runner [ useFlexibleViewport=true AsyncClipboardAPIEnabled=true ] -->
|
|
<html>
|
|
<meta charset="utf8">
|
|
<head>
|
|
<meta name="viewport" content="width=device-width, initial-scale=1, user-scalable=no">
|
|
<script src="../../resources/js-test.js"></script>
|
|
<script src="../../resources/ui-helper.js"></script>
|
|
<script src="./resources/async-clipboard-helpers.js"></script>
|
|
</head>
|
|
<script>
|
|
jsTestIsAsync = true;
|
|
|
|
async function runTest() {
|
|
description("This test verifies that if platform pasteboard contents are changed before reading from a ClipboardItem, the new contents of the pasteboard should not be exposed to the page and the result of getType() should be rejected. This test requires WebKitTestRunner.");
|
|
|
|
await UIHelper.copyText("Foo");
|
|
items = await navigator.clipboard.read();
|
|
shouldBe("items.length", "1");
|
|
await UIHelper.copyText("Bar");
|
|
try {
|
|
const textBlob = await items[0].getType("text/plain");
|
|
testFailed(`Did not handle exception (instead, got text: "${await loadText(textBlob)}")`);
|
|
} catch (exception) {
|
|
testPassed(`Handled exception: ${exception.name}`);
|
|
}
|
|
finishJSTest();
|
|
}
|
|
|
|
addEventListener("load", runTest);
|
|
</script>
|
|
<body></body>
|
|
</html>
|