<!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="../../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="../../resources/js-test-post.js"></script>
</body>
</html>
