<head>
<script>
function runTest() {
    if (window.testRunner)
        window.testRunner.dumpAsText();
    img = document.getElementById("img");
    s = window.getSelection();
    s.setPosition(img, 0);
    document.execCommand("Delete");
    if (window.testRunner)
        document.body.innerText = document.getElementById("div").innerHTML + "\n\nSelection: [" + s.anchorNode + ", " + s.anchorOffset + "]";
}
</script>    
</head>
<body onLoad="runTest();">
<div>This is a test for <a href="https://bugs.webkit.org/show_bug.cgi?id=25439">https://bugs.webkit.org/show_bug.cgi?id=25439</a>.</div>
<div>This tests placing the caret just before a block image and pressing delete. The image should move up one line.</div>
<div id="div" contentEditable="true"><br><img id="img" style="display:block;" src="../resources/abe.png"></div>
</body>
