<!DOCTYPE html>
<html>
<head>
<style>
input::-webkit-textfield-decoration-container,
input[type="search"]::-webkit-textfield-decoration-container,
input[type="search"]::-webkit-search-cancel-button,
input[type="search"]::-webkit-search-decoration,
input[type="search"]::-webkit-search-results-decoration,
input[type="search"]::-webkit-search-results-button,
::placeholder,
input::placeholder,
isindex::placeholder,
input[type="button"], input[type="submit"], input[type="reset"],
input[type="file"]::-webkit-file-upload-button,
button,
input[type="range"]::-webkit-slider-container,
input[type="range"]::-webkit-media-slider-container,
input[type="range"]::-webkit-slider-runnable-track,
input[type="range"]::-webkit-slider-thumb,
input[type="range"]::-webkit-color-swatch-wrapper,
input[type="range"]::-webkit-color-swatch,
input::-webkit-calendar-picker-indicator {
    -webkit-user-modify: read-write;
}
</style>
</head>
<body>

<p>The inner element of input should not be modifiable.
   Trying to delete the inner element of input should not cause a crash.</p>

<div id="container">
    <input id="search" type="search">
    <input id="file" type="file">
    <input id="range" type="range">
    <input id="color" type="color">
    <input id="number" type="number">
    <input id="placeholder" type="text" placeholder="something">
    <button id="button">something</button>
    <input id="date" type="date">
    <video id="video" controls>
    <audio id="audio" controls>
</div>

<script>
if (window.testRunner)
    testRunner.dumpAsText();
    
function focusAndType(id, key)
{
    if (!window.eventSenver)
        return;

    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");

focusAndType("search", "delete");
focusAndType("file", "delete");
focusAndType("range", "delete");
focusAndType("color", "delete");
focusAndType("number", "delete");
focusAndType("placeholder", "delete");
focusAndType("button", "delete");
focusAndType("date", "delete");
focusAndType("video", "delete");
focusAndType("audio", "delete");

if (window.testRunner)
    container.innerHTML = "PASS";
</script>
</body>
</html>
