Bug 439808 - Make sure that deleting a selection works in inline contenteditable elements which have a non-editable parent block; r=roc

--HG--
extra : rebase_source : 74d3df996b904032696000daa532d217140d3b2d
This commit is contained in:
Ehsan Akhgari 2011-06-29 21:01:59 -04:00
Родитель 226efa2aa6
Коммит 60308fbf58
3 изменённых файлов: 42 добавлений и 2 удалений

Просмотреть файл

@ -4934,8 +4934,9 @@ nsHTMLEditRules::CheckForEmptyBlock(nsIDOMNode *aStartNode,
NS_ENSURE_SUCCESS(res, res);
}
}
if (emptyBlock)
nsCOMPtr<nsIContent> emptyContent = do_QueryInterface(emptyBlock);
if (emptyBlock && emptyContent->IsEditable())
{
nsCOMPtr<nsIDOMNode> blockParent;
PRInt32 offset;

Просмотреть файл

@ -52,6 +52,7 @@ _TEST_FILES = \
test_bug372345.html \
test_bug410986.html \
test_bug432225.html \
test_bug439808.html \
test_bug455992.html \
test_bug456244.html \
test_bug478725.html \

Просмотреть файл

@ -0,0 +1,38 @@
<!DOCTYPE HTML>
<html>
<!--
https://bugzilla.mozilla.org/show_bug.cgi?id=439808
-->
<head>
<title>Test for Bug 439808</title>
<script type="application/javascript" src="/MochiKit/packed.js"></script>
<script type="application/javascript" src="/tests/SimpleTest/SimpleTest.js"></script>
<script type="text/javascript" src="/tests/SimpleTest/EventUtils.js"></script>
<link rel="stylesheet" type="text/css" href="/tests/SimpleTest/test.css"/>
</head>
<body>
<a target="_blank" href="https://bugzilla.mozilla.org/show_bug.cgi?id=439808">Mozilla Bug 439808</a>
<p id="display"></p>
<div id="content">
<span><span contenteditable id="e">twest</span></span>
</div>
<pre id="test">
<script type="application/javascript">
/** Test for Bug 439808 **/
SimpleTest.waitForExplicitFinish();
SimpleTest.waitForFocus(function() {
var e = document.getElementById("e");
e.focus();
getSelection().collapse(e.firstChild, 1);
synthesizeKey("VK_DELETE", {});
is(e.textContent, "test", "Delete key worked");
synthesizeKey("VK_BACK_SPACE", {});
is(e.textContent, "est", "Backspace key worked");
SimpleTest.finish();
});
</script>
</pre>
</body>
</html>