<html> 
<head> 
<script type="text/javascript"> 
function test() {
    if (window.layoutTestController)
        layoutTestController.dumpAsText();

    var element = document.documentElement;
    var showAlert = function() {
        alert('Click OK button.');
    };
 
    if (element.addEventListener)
        element.addEventListener('dragenter', showAlert, false);
    else
        element.attachEvent('ondragenter', showAlert);
}
</script> 
 
</head>
<body onload="test()">
    <p>Do the following and see if Webkit crashes.</p>
    <ul>
      <li>Drag the image</li> 
      <li>Click the OK button on the alert box</li> 
    </ul>
    <img id="dragimage" src="resources/drag-image.png" width="32px" height="32px"> 
</body>
</html> 
