mirror of
https://github.com/mozilla/gecko-dev.git
synced 2024-10-20 00:35:44 +00:00
6b8e286ddc
DeleteTextTransaction should have 3 factory methods. One is, simply to create an instance with a pair of offset and length. The others are, to create an instance for deleting a previous or next character at offset. The former was EditorBase::CreateTxnForDeleteText() and the latter was EditorBase::CreateTxnForDeleteCharacter(), but this patch creates DeleteTextTransaction::MaybeCreate() for the former, DeleteTextTransaction::MaybeCreateForPreviousCharacter() and DeleteTextTransaction::MaybeCreateForNextCharacter() for the latter. MozReview-Commit-ID: DFELbmAJDo3 --HG-- extra : rebase_source : 1600984c704b460e1cc09777b81df2906c154cce
37 lines
1.3 KiB
HTML
37 lines
1.3 KiB
HTML
<!doctype html>
|
|
<title>Mozilla Bug 646194</title>
|
|
<link rel=stylesheet href="/tests/SimpleTest/test.css">
|
|
<script src="/tests/SimpleTest/SimpleTest.js"></script>
|
|
<a href="https://bugzilla.mozilla.org/show_bug.cgi?id=646194"
|
|
target="_blank">Mozilla Bug 646194</a>
|
|
<iframe id="i" srcdoc="<div contenteditable=true id=t>test me now</div>"></iframe>
|
|
<script>
|
|
function runTest() {
|
|
var i = document.getElementById("i");
|
|
i.focus();
|
|
var win = i.contentWindow;
|
|
var doc = i.contentDocument;
|
|
var t = doc.getElementById("t");
|
|
t.focus();
|
|
// put the caret at the end
|
|
win.getSelection().collapse(t.firstChild, 11);
|
|
|
|
// Simulate pression Option+Delete on Mac
|
|
// We do things this way because not every platform can invoke this
|
|
// command using the available key bindings.
|
|
SpecialPowers.doCommand(window, "cmd_wordPrevious");
|
|
SpecialPowers.doCommand(window, "cmd_wordPrevious");
|
|
SpecialPowers.doCommand(window, "cmd_deleteWordBackward");
|
|
SpecialPowers.doCommand(window, "cmd_deleteWordBackward");
|
|
|
|
// If we reach here, we haven't crashed. Phew!
|
|
// But let's check the value too, now that we're here.
|
|
is(t.textContent, "me now", "The command has worked correctly");
|
|
|
|
SimpleTest.finish();
|
|
}
|
|
|
|
SimpleTest.waitForExplicitFinish();
|
|
addLoadEvent(runTest);
|
|
</script>
|