<body onload="setup()">
<p>cmd+b and cmd+i should generate a keydown event in contentEditable fields.  Also, calling
preventDefault() in the keydown event should cancel the text styling.</p>

<div contentEditable id="test" style="border: 1px solid; padding: 4px;">
This is some sample text.<br><br><br><br>
</div>
<div>
<input type="checkbox" id="disable"><label for="disable">preventDefault() in keydown</label>
</div>
<div id="log"></div>

<script>
function setup()
{
    var test = document.getElementById("test");
    test.addEventListener("keydown", keydown, false);

    var selection = window.getSelection();
    selection.setPosition(test, 0);
    selection.modify("extend", "forward", "sentence");
    test.focus();
}

function log(msg)
{
    var log = document.getElementById("log");
    log.innerHTML += "<br>" + msg;
}

function keydown(event)
{
    log("keydown");
    if (document.getElementById("disable").checked)
        event.preventDefault();
}
</script>
</body>
