blob: ebd6e8bfbc15a1dde7236301072728d00a38bd55 [file] [edit]
<!DOCTYPE html> <!-- webkit-test-runner [ useFlexibleViewport=true editable=true ] -->
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width,initial-scale=1">
<script src="../../resources/js-test.js"></script>
<script src="../../resources/ui-helper.js"></script>
<script>
jsTestIsAsync = true;
window.internals?.settings?.setUseDarkAppearance(true);
addEventListener("load", async () => {
description("This test copies and pastes a deeply nested DOM structure inside a contenteditable container and verifies that the web process does not crash.");
const container = document.getElementById("container");
let currentElement = container;
for (let depth = 0; depth < 500; depth++) {
const div = document.createElement("div");
div.textContent = `Depth ${depth}`;
currentElement.appendChild(div);
currentElement = div;
}
await UIHelper.ensurePresentationUpdate();
getSelection().selectAllChildren(container);
document.execCommand("Cut", true);
getSelection().collapse(container, 0);
document.execCommand("Paste", true);
container.style.display = "none";
testPassed("Did not crash");
finishJSTest();
});
</script>
</head>
<body>
<div id="container" contenteditable></div>
</body>
</html>