| <!DOCTYPE html><!-- webkit-test-runner [ enableEditableImages=true enableAttachmentElement=true ] --> |
| <head> |
| <script src="../../resources/ui-helper.js"></script> |
| <script> |
| if (window.testRunner) { |
| testRunner.dumpAsText(); |
| testRunner.waitUntilDone(); |
| } |
| |
| addEventListener("load", async () => { |
| const div = document.getElementById("test"); |
| |
| const selection = window.getSelection(); |
| |
| selection.setPosition(div, 0); |
| testRunner.execCommand("InsertEditableImage"); |
| |
| await UIHelper.drawSquareInEditableImage(); |
| const numberOfStrokesInEditableImageAfterDrawing = (await UIHelper.numberOfStrokesInEditableImage()); |
| const firstImage = document.querySelector("img"); |
| const initialAttachmentID = HTMLAttachmentElement.getAttachmentIdentifier(firstImage); |
| |
| // We need to make sure that the canvas gets a non-zero size before trying to serialize it. |
| await UIHelper.ensurePresentationUpdate(); |
| |
| selection.setBaseAndExtent(div.firstChild, 0, div.firstChild, 1); |
| testRunner.execCommand("Copy"); |
| |
| selection.collapseToEnd(); |
| testRunner.execCommand("Paste"); |
| |
| firstImage.parentElement.removeChild(firstImage); |
| |
| const numberOfStrokesInEditableImageAfterPasting = (await UIHelper.numberOfStrokesInEditableImage()); |
| |
| await UIHelper.drawSquareInEditableImage(); |
| const numberOfStrokesInEditableImageAfterSecondDrawing = (await UIHelper.numberOfStrokesInEditableImage()); |
| const pastedAttachmentID = HTMLAttachmentElement.getAttachmentIdentifier(document.querySelector("img")); |
| |
| const attachmentIDsAreDifferent = (initialAttachmentID != pastedAttachmentID) ? "yes" : "no"; |
| |
| document.getElementById("log").innerHTML = `Had ${numberOfStrokesInEditableImageAfterDrawing} stroke in editable image after drawing.<br/>Had ${numberOfStrokesInEditableImageAfterPasting} stroke in editable image after copying and pasting.<br/>Had ${numberOfStrokesInEditableImageAfterSecondDrawing} strokes in editable image after drawing on pasted image.<br/>Pasted image got a new attachment ID: ${attachmentIDsAreDifferent}.`; |
| testRunner.notifyDone(); |
| }); |
| </script> |
| </head> |
| <body contenteditable><div id="log"><br/></div><div id="test"><br/></div></body> |