| <!DOCTYPE html> |
| <html> |
| <body> |
| <script src="../../resources/js-test-pre.js"></script> |
| <div id="container"> |
| <div id="source" contenteditable="true">hello, <b>world</b><br>WebKit</div> |
| <div id="destination" onpaste="check(event)" contenteditable="true"></div> |
| </div> |
| </body> |
| <script> |
| description('Tests that pasting as plain text only exposes "text/html" as well as "text/plain" in the clipboard when custom data support is turned off.'); |
| |
| if (!window.internals || !window.internals.settings) |
| testFailed('This test requires internals.settings'); |
| else { |
| internals.settings.setCustomPasteboardDataEnabled(false); |
| |
| document.getElementById("source").focus(); |
| document.execCommand("SelectAll"); |
| document.execCommand("Copy"); |
| |
| document.getElementById("destination").focus(); |
| document.execCommand("Paste"); |
| document.getElementById('container').remove(); |
| } |
| |
| function check(event) |
| { |
| shouldBeTrue('event.clipboardData.types.includes("text/plain")'); |
| shouldBeTrue('event.clipboardData.types.includes("text/html")'); |
| shouldBeEqualToString('event.clipboardData.getData("text/plain")', 'hello, world\nWebKit'); |
| shouldNotBeEqualToString('event.clipboardData.getData("text/html")', ''); |
| shouldBeTrue('items = Array.from(event.clipboardData.items); items.length >= 2'); |
| shouldBeTrue('items.some((item) => item.type == "text/plain")'); |
| shouldBeTrue('items.some((item) => item.type == "text/html")'); |
| } |
| |
| </script> |
| <script src="../../resources/js-test-post.js"></script> |
| </html> |