<!DOCTYPE html>
<!-- Frame that can be used to test drop of a drag-and-drop operation.
     The drop target (a <div>) fills the frame from (0,0) to (199,199).
-->
<head>
  <meta charset="utf-8">
  <style>
    div {
      position: absolute;
      top: 0px;
      left: 0px;
      width: 160px;
      height: 160px;
      border: 0px;
      margin: 0px;
      padding: 20px;
      text-align: center;
      vertical-align: middle;
    }
  </style>
  <script src="event_monitoring.js"></script>
  <script>
    function dragover_handler(ev) {
      window.reportDragAndDropEvent(ev);

      // This communicates that we support drag & drop.
      // Without this, the "drop" event handler below would not fire.
      ev.preventDefault();
    }

    function drop_handler(ev) {
      window.reportDragAndDropEvent(ev);

      // This communicates that we have handled the drop
      // (i.e. that there is no other, default action to take).
      ev.preventDefault();
    }
  </script>
</head>
<body>
  <div ondragover="dragover_handler(event);"
       ondrop="drop_handler(event);"
       ondragenter="window.reportDragAndDropEvent(event);"
    ><p>Use this frame as a target of a drag-n-drop</p>
  </div>
</body>
