<!DOCTYPE html>
<html>
<head>
<style>
progress::-webkit-progress-bar, progress::-webkit-progress-value {
    -webkit-user-modify: read-write;
}

progress {
    -webkit-appearance: none;
}
</style>
</head>
<body>
<script src="../../fast/js/resources/js-test-pre.js"></script>

<p>The inner element of progress should not be deleteable.</p>

<div id="container" contenteditable>
    (before)<progress id="progress" min="0" max="100" value="50"></progress>(after)
</div>

<script>
function focusAndType(id, key)
{
    var target = document.getElementById(id);
    eventSender.mouseMoveTo(target.offsetLeft + 2, target.offsetTop + 2);
    eventSender.mouseDown();
    eventSender.mouseUp();
    eventSender.keyDown(key);
}

var container = document.getElementById("container");
renderTreeBeforeType = internals.elementRenderTreeAsText(document.documentElement);

focusAndType("progress", "X");

renderTreeAfterType = internals.elementRenderTreeAsText(document.documentElement);
shouldBe("renderTreeAfterType", "renderTreeBeforeType");

var successfullyParsed = true;
</script>
<script src="../../fast/js/resources/js-test-post.js"></script>
</body>
</html>
