chromium/third_party/blink/web_tests/fast/dnd/event-mouse-coordinates-iframe.html

<!doctype html>
<meta charset="utf-8" />
<!-- This test checks whether we compute pointer coordinates correctly for the
     dragstart, dragend, and drop events issued during drag-and-drop operations.
     This test uses iframes, because they are an interesting case when computing
     the clientX, clientY values from screen coordinates. -->
<link rel="stylesheet" href="resources/event-mouse-coordinates.css" />
<script src="../../resources/testharness.js"></script>
<script src="../../resources/testharnessreport.js"></script>
<script src="resources/event-mouse-coordinates.js"></script>

<style>
#iframe1 {
  margin: 0;
  padding: 0;
  border: none;

  position: absolute;
  left: 200px;
  top: 100px;
  width: 600px;
  height: 500px;
}
</style>

<p>
  Please drag the "Drag Me" box into the "Drop Here" box.
</p>

<iframe id="iframe1" data-source="iframe1-srcdoc"></iframe>

<script id="iframe1-srcdoc" language="text/html">
<!doctype html>
<link rel="stylesheet" href="resources/event-mouse-coordinates.css" />
<aside class="dragged box" draggable="true">
  Drag Me
</aside>

<aside class="dropzone box">
  Drop Here
</aside>
</script>

<script>

promise_test((t) => {
  return loadNestedFrames(document).then((frameDocument) => {
    const dragCenter = elementCenter(frameDocument.querySelector('.dragged'));
    const dropCenter = elementCenter(frameDocument.querySelector('.dropzone'));
    return runDragTest(t, {
      domRoot: frameDocument,
      frameOffset: { x: 200, y: 100 },
      start: { client: dragCenter, page: { x: 250, y: 150 }},
      end: { client: dropCenter, page: { x: 450, y: 350 }},
    });
  });
}, 'Dragging and dropping DOM nodes in an iframe');

</script>