Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(75)

Unified Diff: LayoutTests/editing/deleting/delete-mixed-editable-content-002.html

Issue 14794012: Make contenteditable="false" element as atomic node for selection motion (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: 2013-05-27T14:00 Created 7 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: LayoutTests/editing/deleting/delete-mixed-editable-content-002.html
diff --git a/LayoutTests/editing/deleting/delete-mixed-editable-content-002.html b/LayoutTests/editing/deleting/delete-mixed-editable-content-002.html
new file mode 100644
index 0000000000000000000000000000000000000000..78728774edb46eefbf6c5dda5e4b8658b4ef1d8e
--- /dev/null
+++ b/LayoutTests/editing/deleting/delete-mixed-editable-content-002.html
@@ -0,0 +1,40 @@
+<script src="../../resources/dump-as-markup.js"></script>
+<link rel="stylesheet" type="text/css" href="../editingStyle.css">
+<body>
+<div id="test" contenteditable=true>
+ <span>Start</span><div contenteditable=false>
+ Start Not Editable
+ <div contenteditable=true>Editable</div>
+ End Not Editable
+ </div><span>End</span>
+</div>
+</body>
+<script>
+Markup.description('Test case for bug http://crbug.com/238000 Forward and backward delete nested content editable');
+function $(id) { return document.getElementById(id); }
+
+function doIt(element, command, index, collapseToStart) {
+ var sel = getSelection();
+ if (index < 0)
+ index = element.children.length + index;
+ var node = element.children[index];
+ var label = document.createTextNode('(' + command + ')');
+ if (collapseToStart)
+ node.insertBefore(label, node.firstChild);
+ else
+ node.appendChild(label);
+ var range = document.createRange();
+ range.selectNode(node);
+ range.collapse(collapseToStart);
+ sel.removeAllRanges();
+ sel.addRange(range);
+ element.focus();
+ document.execCommand(command);
+ Markup.dump(element);
+}
+
+var forBackspace = $('test');
+var forDelete = document.body.appendChild($('test').cloneNode(true));
+doIt(forBackspace, 'delete', -1, true);
+doIt(forDelete, 'forwardDelete', 0, false);
+</script>

Powered by Google App Engine
This is Rietveld 408576698