summaryrefslogtreecommitdiffstats
path: root/testing/web-platform/tests/html/editing/dnd/platform/plugin
diff options
context:
space:
mode:
Diffstat (limited to 'testing/web-platform/tests/html/editing/dnd/platform/plugin')
-rw-r--r--testing/web-platform/tests/html/editing/dnd/platform/plugin/click-to-activate.js1
-rw-r--r--testing/web-platform/tests/html/editing/dnd/platform/plugin/dragndrop.swfbin0 -> 4139 bytes
-rw-r--r--testing/web-platform/tests/html/editing/dnd/platform/plugin/dragndropleavedeactivate.swfbin0 -> 4243 bytes
-rw-r--r--testing/web-platform/tests/html/editing/dnd/platform/plugin/plugin-dnd-001.html21
-rw-r--r--testing/web-platform/tests/html/editing/dnd/platform/plugin/plugin-dnd-002.html39
-rw-r--r--testing/web-platform/tests/html/editing/dnd/platform/plugin/plugin-dnd-003.html22
-rw-r--r--testing/web-platform/tests/html/editing/dnd/platform/plugin/plugin-dnd-004.html41
-rw-r--r--testing/web-platform/tests/html/editing/dnd/platform/plugin/plugin-dnd-005.html26
-rw-r--r--testing/web-platform/tests/html/editing/dnd/platform/plugin/plugin-dnd-006.html26
-rw-r--r--testing/web-platform/tests/html/editing/dnd/platform/plugin/plugin-dnd-007.html42
-rw-r--r--testing/web-platform/tests/html/editing/dnd/platform/plugin/plugin-dnd-008.html41
-rw-r--r--testing/web-platform/tests/html/editing/dnd/platform/plugin/plugin-dnd-009.html40
-rw-r--r--testing/web-platform/tests/html/editing/dnd/platform/plugin/plugin-dnd-010.html41
-rw-r--r--testing/web-platform/tests/html/editing/dnd/platform/plugin/plugin-dnd-011.html40
-rw-r--r--testing/web-platform/tests/html/editing/dnd/platform/plugin/plugin-dnd-101.html21
-rw-r--r--testing/web-platform/tests/html/editing/dnd/platform/plugin/plugin-dnd-102.html39
-rw-r--r--testing/web-platform/tests/html/editing/dnd/platform/plugin/plugin-dnd-103.html22
-rw-r--r--testing/web-platform/tests/html/editing/dnd/platform/plugin/plugin-dnd-104.html41
-rw-r--r--testing/web-platform/tests/html/editing/dnd/platform/plugin/plugin-dnd-105.html26
-rw-r--r--testing/web-platform/tests/html/editing/dnd/platform/plugin/plugin-dnd-106.html26
-rw-r--r--testing/web-platform/tests/html/editing/dnd/platform/plugin/plugin-dnd-107.html43
-rw-r--r--testing/web-platform/tests/html/editing/dnd/platform/plugin/plugin-dnd-108.html41
-rw-r--r--testing/web-platform/tests/html/editing/dnd/platform/plugin/plugin-dnd-109.html40
-rw-r--r--testing/web-platform/tests/html/editing/dnd/platform/plugin/plugin-dnd-110.html41
-rw-r--r--testing/web-platform/tests/html/editing/dnd/platform/plugin/plugin-dnd-111.html40
-rw-r--r--testing/web-platform/tests/html/editing/dnd/platform/plugin/plugin-dnd-203.html22
-rw-r--r--testing/web-platform/tests/html/editing/dnd/platform/plugin/plugin-dnd-204.html41
-rw-r--r--testing/web-platform/tests/html/editing/dnd/platform/plugin/plugin-dnd-205.html27
-rw-r--r--testing/web-platform/tests/html/editing/dnd/platform/plugin/plugin-dnd-206.html26
-rw-r--r--testing/web-platform/tests/html/editing/dnd/platform/plugin/plugin-dnd-207.html43
-rw-r--r--testing/web-platform/tests/html/editing/dnd/platform/plugin/plugin-dnd-303.html22
-rw-r--r--testing/web-platform/tests/html/editing/dnd/platform/plugin/plugin-dnd-304.html41
-rw-r--r--testing/web-platform/tests/html/editing/dnd/platform/plugin/plugin-dnd-305.html26
-rw-r--r--testing/web-platform/tests/html/editing/dnd/platform/plugin/plugin-dnd-306.html26
-rw-r--r--testing/web-platform/tests/html/editing/dnd/platform/plugin/plugin-dnd-307.html42
-rw-r--r--testing/web-platform/tests/html/editing/dnd/platform/plugin/swfsources/dragndrop.hx133
-rw-r--r--testing/web-platform/tests/html/editing/dnd/platform/plugin/swfsources/dragndrop.hxml1
-rw-r--r--testing/web-platform/tests/html/editing/dnd/platform/plugin/swfsources/mouseup.hx34
-rw-r--r--testing/web-platform/tests/html/editing/dnd/platform/plugin/swfsources/mouseup.hxml1
39 files changed, 1245 insertions, 0 deletions
diff --git a/testing/web-platform/tests/html/editing/dnd/platform/plugin/click-to-activate.js b/testing/web-platform/tests/html/editing/dnd/platform/plugin/click-to-activate.js
new file mode 100644
index 000000000..2ea2f19c2
--- /dev/null
+++ b/testing/web-platform/tests/html/editing/dnd/platform/plugin/click-to-activate.js
@@ -0,0 +1 @@
+document.write(plugincode); \ No newline at end of file
diff --git a/testing/web-platform/tests/html/editing/dnd/platform/plugin/dragndrop.swf b/testing/web-platform/tests/html/editing/dnd/platform/plugin/dragndrop.swf
new file mode 100644
index 000000000..6b49d46c5
--- /dev/null
+++ b/testing/web-platform/tests/html/editing/dnd/platform/plugin/dragndrop.swf
Binary files differ
diff --git a/testing/web-platform/tests/html/editing/dnd/platform/plugin/dragndropleavedeactivate.swf b/testing/web-platform/tests/html/editing/dnd/platform/plugin/dragndropleavedeactivate.swf
new file mode 100644
index 000000000..be486248d
--- /dev/null
+++ b/testing/web-platform/tests/html/editing/dnd/platform/plugin/dragndropleavedeactivate.swf
Binary files differ
diff --git a/testing/web-platform/tests/html/editing/dnd/platform/plugin/plugin-dnd-001.html b/testing/web-platform/tests/html/editing/dnd/platform/plugin/plugin-dnd-001.html
new file mode 100644
index 000000000..62dc5847a
--- /dev/null
+++ b/testing/web-platform/tests/html/editing/dnd/platform/plugin/plugin-dnd-001.html
@@ -0,0 +1,21 @@
+<!DOCTYPE html>
+<html>
+ <head>
+ <title>Drag and drop in Flash</title>
+ <style type="text/css">
+object {
+ width: 400px;
+ height: 400px;
+ border: 5px solid black;
+}
+ </style>
+ </head>
+ <body>
+ <noscript><p>Enable JavaScript and reload</p></noscript>
+ <p>Drag the orange square onto the blue square and release it. The orange square should disappear, and the blue square should turn yellow.</p>
+ <script type="text/javascript">
+var plugincode = '<object data="dragndrop.swf" type="application/x-shockwave-flash">Flash plugin is required for this test.</object>';
+ </script>
+ <script type="text/javascript" src="click-to-activate.js"></script>
+ </body>
+</html> \ No newline at end of file
diff --git a/testing/web-platform/tests/html/editing/dnd/platform/plugin/plugin-dnd-002.html b/testing/web-platform/tests/html/editing/dnd/platform/plugin/plugin-dnd-002.html
new file mode 100644
index 000000000..caa5f1a9d
--- /dev/null
+++ b/testing/web-platform/tests/html/editing/dnd/platform/plugin/plugin-dnd-002.html
@@ -0,0 +1,39 @@
+<!DOCTYPE html>
+<html>
+ <head>
+ <title>Drag and drop alternating between Flash and page</title>
+ <style type="text/css">
+div {
+ width: 100px;
+ height: 100px;
+ background: fuchsia;
+}
+object {
+ width: 400px;
+ height: 400px;
+ border: 5px solid black;
+}
+ </style>
+ <script type="text/javascript">
+window.onload = function () {
+ document.getElementsByTagName('div')[0].ondragstart = function (e) {
+ e.dataTransfer.effectAllowed = 'copy';
+ e.dataTransfer.setData('text','dummy text');
+ };
+};
+ </script>
+ </head>
+ <body>
+ <noscript><p>Enable JavaScript and reload</p></noscript>
+ <ol>
+ <li>Drag the pink square onto the blue square and release it. The drag placeholder should disappear (either when releasing, or when passing the black square), and the mouse cursor should return to normal.</li>
+ <li>Without moving your mouse outside the black square, drag the orange square onto the blue square and release it. The orange square should disappear, and the blue square should turn yellow. Fail if the orange square does not immediately respond to the drag attempt.</li>
+ <li>Drag the pink square onto the yellow square and release it. The drag placeholder should disappear, and the mouse cursor should return to normal. Fail if the pink square does not immediately respond to the drag attempt.</li>
+ </ol>
+ <div draggable="true"></div>
+ <script type="text/javascript">
+var plugincode = '<object data="dragndrop.swf" type="application/x-shockwave-flash">Flash plugin is required for this test.</object>';
+ </script>
+ <script type="text/javascript" src="click-to-activate.js"></script>
+ </body>
+</html> \ No newline at end of file
diff --git a/testing/web-platform/tests/html/editing/dnd/platform/plugin/plugin-dnd-003.html b/testing/web-platform/tests/html/editing/dnd/platform/plugin/plugin-dnd-003.html
new file mode 100644
index 000000000..15c672e62
--- /dev/null
+++ b/testing/web-platform/tests/html/editing/dnd/platform/plugin/plugin-dnd-003.html
@@ -0,0 +1,22 @@
+<!DOCTYPE html>
+<html>
+ <head>
+ <title>Incomplete drag and drop in Flash</title>
+ <style type="text/css">
+object {
+ width: 400px;
+ height: 400px;
+ border: 5px solid black;
+}
+ </style>
+ </head>
+ <body>
+ <noscript><p>Enable JavaScript and reload</p></noscript>
+ <!-- Test is based on expected behaviour where the mouseup is sent to the plugin because a drag was in operation. -->
+ <p>Drag the orange square until the mouse is outside the black square, then release it. Move the mouse over the blue square. Fail if the orange square continues to follow the mouse.</p>
+ <script type="text/javascript">
+var plugincode = '<object data="dragndrop.swf" type="application/x-shockwave-flash">Flash plugin is required for this test.</object>';
+ </script>
+ <script type="text/javascript" src="click-to-activate.js"></script>
+ </body>
+</html> \ No newline at end of file
diff --git a/testing/web-platform/tests/html/editing/dnd/platform/plugin/plugin-dnd-004.html b/testing/web-platform/tests/html/editing/dnd/platform/plugin/plugin-dnd-004.html
new file mode 100644
index 000000000..430eae42b
--- /dev/null
+++ b/testing/web-platform/tests/html/editing/dnd/platform/plugin/plugin-dnd-004.html
@@ -0,0 +1,41 @@
+<!DOCTYPE html>
+<html>
+ <head>
+ <title>Drag and drop alternating between incompleted Flash drag and page</title>
+ <style type="text/css">
+div {
+ width: 100px;
+ height: 100px;
+ background: fuchsia;
+}
+object {
+ width: 400px;
+ height: 400px;
+ border: 5px solid black;
+}
+ </style>
+ <script type="text/javascript">
+window.onload = function () {
+ document.getElementsByTagName('div')[0].ondragstart = function (e) {
+ e.dataTransfer.effectAllowed = 'copy';
+ e.dataTransfer.setData('text','dummy text');
+ };
+};
+ </script>
+ </head>
+ <body>
+ <noscript><p>Enable JavaScript and reload</p></noscript>
+ <ol>
+ <li>Drag the orange square until the mouse is outside the right side of the black square but the edge of the orange square can still be seen, then release it.</li>
+ <li>Without passing over the black square again, move the mouse to the pink square.</li>
+ <li>Drag the pink square onto the blue square and release it. The drag placeholder should disappear (either when releasing, or when passing the black square), and the mouse cursor should return to normal. Fail if the pink square does not immediately respond to the drag attempt.</li>
+ <li>Without passing over the black square again, move the mouse to the orange square. Fail if the orange square moves.</li>
+ <li>Drag the orange square onto the blue square and release it. The orange square should disappear, and the blue square should turn yellow. Fail if the orange square does not immediately respond to the drag attempt.</li>
+ </ol>
+ <div draggable="true"></div>
+ <script type="text/javascript">
+var plugincode = '<object data="dragndrop.swf" type="application/x-shockwave-flash">Flash plugin is required for this test.</object>';
+ </script>
+ <script type="text/javascript" src="click-to-activate.js"></script>
+ </body>
+</html> \ No newline at end of file
diff --git a/testing/web-platform/tests/html/editing/dnd/platform/plugin/plugin-dnd-005.html b/testing/web-platform/tests/html/editing/dnd/platform/plugin/plugin-dnd-005.html
new file mode 100644
index 000000000..cf5343f2a
--- /dev/null
+++ b/testing/web-platform/tests/html/editing/dnd/platform/plugin/plugin-dnd-005.html
@@ -0,0 +1,26 @@
+<!DOCTYPE html>
+<html>
+ <head>
+ <title>Drag and drop in Flash with Alt+Tab</title>
+ <style type="text/css">
+object {
+ width: 400px;
+ height: 400px;
+ border: 5px solid black;
+}
+ </style>
+ </head>
+ <body>
+ <noscript><p>Enable JavaScript and reload</p></noscript>
+ <ol>
+ <li>Ensure at least one other program is running, with its window maximised.</li>
+ <li>Drag the orange square over the blue square.</li>
+ <li>Without releasing the mouse button, use Alt+Tab (or your system's equivalent) to switch to the other program, then back to this one.</li>
+ <li>Move the mouse around inside the black square. The orange square should continue to follow the mouse.</li>
+ </ol>
+ <script type="text/javascript">
+var plugincode = '<object data="dragndrop.swf" type="application/x-shockwave-flash">Flash plugin is required for this test.</object>';
+ </script>
+ <script type="text/javascript" src="click-to-activate.js"></script>
+ </body>
+</html> \ No newline at end of file
diff --git a/testing/web-platform/tests/html/editing/dnd/platform/plugin/plugin-dnd-006.html b/testing/web-platform/tests/html/editing/dnd/platform/plugin/plugin-dnd-006.html
new file mode 100644
index 000000000..b77539fa2
--- /dev/null
+++ b/testing/web-platform/tests/html/editing/dnd/platform/plugin/plugin-dnd-006.html
@@ -0,0 +1,26 @@
+<!DOCTYPE html>
+<html>
+ <head>
+ <title>Drag and drop in Flash with Alt+Tab over page</title>
+ <style type="text/css">
+object {
+ width: 400px;
+ height: 400px;
+ border: 5px solid black;
+}
+ </style>
+ </head>
+ <body>
+ <noscript><p>Enable JavaScript and reload</p></noscript>
+ <ol>
+ <li>Ensure at least one other program is running, with its window maximised.</li>
+ <li>Drag the orange square around until the mouse is outside the black square.</li>
+ <li>Without releasing the mouse button, use Alt+Tab (or your system's equivalent) to switch to the other program, then back to this one.</li>
+ <li>Move the mouse inside the black square. The orange square should continue to follow the mouse.</li>
+ </ol>
+ <script type="text/javascript">
+var plugincode = '<object data="dragndrop.swf" type="application/x-shockwave-flash">Flash plugin is required for this test.</object>';
+ </script>
+ <script type="text/javascript" src="click-to-activate.js"></script>
+ </body>
+</html> \ No newline at end of file
diff --git a/testing/web-platform/tests/html/editing/dnd/platform/plugin/plugin-dnd-007.html b/testing/web-platform/tests/html/editing/dnd/platform/plugin/plugin-dnd-007.html
new file mode 100644
index 000000000..44a69a4ce
--- /dev/null
+++ b/testing/web-platform/tests/html/editing/dnd/platform/plugin/plugin-dnd-007.html
@@ -0,0 +1,42 @@
+<!DOCTYPE html>
+<html>
+ <head>
+ <title>Drag and drop with Alt+Tab over Flash</title>
+ <style type="text/css">
+div {
+ width: 100px;
+ height: 100px;
+ background: fuchsia;
+}
+object {
+ width: 400px;
+ height: 400px;
+ border: 5px solid black;
+}
+ </style>
+ <script type="text/javascript">
+window.onload = function () {
+ document.getElementsByTagName('div')[0].ondragstart = function (e) {
+ e.dataTransfer.effectAllowed = 'copy';
+ e.dataTransfer.setData('text','dummy text');
+ };
+};
+ </script>
+ </head>
+ <body>
+ <noscript><p>Enable JavaScript and reload</p></noscript>
+ <ol>
+ <li>Ensure at least one other program is running, with its window maximised.</li>
+ <li>Drag the pink square over the blue square. The mouse cursor should be the no-drop cursor, or the platform's drop-allowed cursor.</li>
+ <li>Without releasing the mouse button, use Alt+Tab (or your system's equivalent) to switch to the other program, then back to this one.</li>
+ <li>The mouse cursor should be the same cursor as in step 2.</li>
+ <li>Move the mouse outside the black square. The drag placeholder should follow the mouse (reappearing if it disappeared in step 2).</li>
+ <li>Release the drag. The drag placeholder should disappear, and the cursor should revert to the default mouse cursor.</li>
+ </ol>
+ <div draggable="true"></div>
+ <script type="text/javascript">
+var plugincode = '<object data="dragndrop.swf" type="application/x-shockwave-flash">Flash plugin is required for this test.</object>';
+ </script>
+ <script type="text/javascript" src="click-to-activate.js"></script>
+ </body>
+</html> \ No newline at end of file
diff --git a/testing/web-platform/tests/html/editing/dnd/platform/plugin/plugin-dnd-008.html b/testing/web-platform/tests/html/editing/dnd/platform/plugin/plugin-dnd-008.html
new file mode 100644
index 000000000..31d3b8d51
--- /dev/null
+++ b/testing/web-platform/tests/html/editing/dnd/platform/plugin/plugin-dnd-008.html
@@ -0,0 +1,41 @@
+<!DOCTYPE html>
+<html>
+ <head>
+ <title>Drag and drop with right click over Flash</title>
+ <style type="text/css">
+div {
+ width: 100px;
+ height: 100px;
+ background: fuchsia;
+}
+object {
+ width: 400px;
+ height: 400px;
+ border: 5px solid black;
+}
+ </style>
+ <script type="text/javascript">
+window.onload = function () {
+ document.getElementsByTagName('div')[0].ondragstart = function (e) {
+ e.dataTransfer.effectAllowed = 'copy';
+ e.dataTransfer.setData('text','dummy text');
+ };
+};
+ </script>
+ </head>
+ <body>
+ <noscript><p>Enable JavaScript and reload</p></noscript>
+ <ol>
+ <li>Drag the pink square over the blue square.</li>
+ <li>Without releasing the drag, click the right mouse button.</li>
+ <li>If the platform's normal behaviour is to cancel a drag (eg. Windows and Unix+KDE), then the drag should be cancelled; moving the mouse outside the black square should not cause the drag placeholder to continue following the mouse, and the mouse cursor should revert to default.</li>
+ <li>If the platform's normal behaviour is not to cancel a drag (eg. Mac and Unix+Gnome), then the drag should not be cancelled; moving the mouse outside the black square should cause the drag placeholder to continue following the mouse, and the mouse cursor should show as no-drop or drop-allowed.</li>
+ <li>Fail in either case if the drag placeholder gets stuck temporarily or permanently over the blue square. Fail if an inappropriate right click function begins (eg. context menu opens).</li>
+ </ol>
+ <div draggable="true"></div>
+ <script type="text/javascript">
+var plugincode = '<object data="dragndrop.swf" type="application/x-shockwave-flash">Flash plugin is required for this test.</object>';
+ </script>
+ <script type="text/javascript" src="click-to-activate.js"></script>
+ </body>
+</html> \ No newline at end of file
diff --git a/testing/web-platform/tests/html/editing/dnd/platform/plugin/plugin-dnd-009.html b/testing/web-platform/tests/html/editing/dnd/platform/plugin/plugin-dnd-009.html
new file mode 100644
index 000000000..4c9cb2cab
--- /dev/null
+++ b/testing/web-platform/tests/html/editing/dnd/platform/plugin/plugin-dnd-009.html
@@ -0,0 +1,40 @@
+<!DOCTYPE html>
+<html>
+ <head>
+ <title>Drag and drop with right click and release over Flash</title>
+ <style type="text/css">
+div {
+ width: 100px;
+ height: 100px;
+ background: fuchsia;
+}
+object {
+ width: 400px;
+ height: 400px;
+ border: 5px solid black;
+}
+ </style>
+ <script type="text/javascript">
+window.onload = function () {
+ document.getElementsByTagName('div')[0].ondragstart = function (e) {
+ e.dataTransfer.effectAllowed = 'copy';
+ e.dataTransfer.setData('text','dummy text');
+ };
+};
+ </script>
+ </head>
+ <body>
+ <noscript><p>Enable JavaScript and reload</p></noscript>
+ <ol>
+ <li>Drag the pink square over the blue square.</li>
+ <li>Without releasing the drag, click the right mouse button, then release the drag.</li>
+ <li>Fail if the drag placeholder gets stuck over the blue square.</li>
+ <li>Move the mouse outside the black square. The mouse cursor should be the default mouse cursor.</li>
+ </ol>
+ <div draggable="true"></div>
+ <script type="text/javascript">
+var plugincode = '<object data="dragndrop.swf" type="application/x-shockwave-flash">Flash plugin is required for this test.</object>';
+ </script>
+ <script type="text/javascript" src="click-to-activate.js"></script>
+ </body>
+</html> \ No newline at end of file
diff --git a/testing/web-platform/tests/html/editing/dnd/platform/plugin/plugin-dnd-010.html b/testing/web-platform/tests/html/editing/dnd/platform/plugin/plugin-dnd-010.html
new file mode 100644
index 000000000..f1f893393
--- /dev/null
+++ b/testing/web-platform/tests/html/editing/dnd/platform/plugin/plugin-dnd-010.html
@@ -0,0 +1,41 @@
+<!DOCTYPE html>
+<html>
+ <head>
+ <title>Drag and drop with middle click over Flash</title>
+ <style type="text/css">
+div {
+ width: 100px;
+ height: 100px;
+ background: fuchsia;
+}
+object {
+ width: 400px;
+ height: 400px;
+ border: 5px solid black;
+}
+ </style>
+ <script type="text/javascript">
+window.onload = function () {
+ document.getElementsByTagName('div')[0].ondragstart = function (e) {
+ e.dataTransfer.effectAllowed = 'copy';
+ e.dataTransfer.setData('text','dummy text');
+ };
+};
+ </script>
+ </head>
+ <body>
+ <noscript><p>Enable JavaScript and reload</p></noscript>
+ <ol>
+ <li>Drag the pink square over the blue square.</li>
+ <li>Without releasing the drag, click the middle mouse button.</li>
+ <li>If the platform's normal behaviour is to cancel a drag (eg. Windows and Unix+KDE), then the drag should be cancelled; moving the mouse outside the black square should not cause the drag placeholder to continue following the mouse, and the mouse cursor should revert to default.</li>
+ <li>If the platform's normal behaviour is not to cancel a drag (eg. Mac and Unix+Gnome), then the drag should not be cancelled; moving the mouse outside the black square should cause the drag placeholder to continue following the mouse, and the mouse cursor should show as no-drop or drop-allowed.</li>
+ <li>Fail in either case if the drag placeholder gets stuck temporarily or permanently over the blue square. Fail if an inappropriate middle click function begins (eg. paste-and-go).</li>
+ </ol>
+ <div draggable="true"></div>
+ <script type="text/javascript">
+var plugincode = '<object data="dragndrop.swf" type="application/x-shockwave-flash">Flash plugin is required for this test.</object>';
+ </script>
+ <script type="text/javascript" src="click-to-activate.js"></script>
+ </body>
+</html> \ No newline at end of file
diff --git a/testing/web-platform/tests/html/editing/dnd/platform/plugin/plugin-dnd-011.html b/testing/web-platform/tests/html/editing/dnd/platform/plugin/plugin-dnd-011.html
new file mode 100644
index 000000000..8a5753b0c
--- /dev/null
+++ b/testing/web-platform/tests/html/editing/dnd/platform/plugin/plugin-dnd-011.html
@@ -0,0 +1,40 @@
+<!DOCTYPE html>
+<html>
+ <head>
+ <title>Drag and drop with middle click and release over Flash</title>
+ <style type="text/css">
+div {
+ width: 100px;
+ height: 100px;
+ background: fuchsia;
+}
+object {
+ width: 400px;
+ height: 400px;
+ border: 5px solid black;
+}
+ </style>
+ <script type="text/javascript">
+window.onload = function () {
+ document.getElementsByTagName('div')[0].ondragstart = function (e) {
+ e.dataTransfer.effectAllowed = 'copy';
+ e.dataTransfer.setData('text','dummy text');
+ };
+};
+ </script>
+ </head>
+ <body>
+ <noscript><p>Enable JavaScript and reload</p></noscript>
+ <ol>
+ <li>Drag the pink square over the blue square.</li>
+ <li>Without releasing the drag, click the middle mouse button, then release the drag.</li>
+ <li>Fail if the drag placeholder gets stuck over the blue square.</li>
+ <li>Move the mouse outside the black square. The mouse cursor should be the default mouse cursor.</li>
+ </ol>
+ <div draggable="true"></div>
+ <script type="text/javascript">
+var plugincode = '<object data="dragndrop.swf" type="application/x-shockwave-flash">Flash plugin is required for this test.</object>';
+ </script>
+ <script type="text/javascript" src="click-to-activate.js"></script>
+ </body>
+</html> \ No newline at end of file
diff --git a/testing/web-platform/tests/html/editing/dnd/platform/plugin/plugin-dnd-101.html b/testing/web-platform/tests/html/editing/dnd/platform/plugin/plugin-dnd-101.html
new file mode 100644
index 000000000..58d03fde8
--- /dev/null
+++ b/testing/web-platform/tests/html/editing/dnd/platform/plugin/plugin-dnd-101.html
@@ -0,0 +1,21 @@
+<!DOCTYPE html>
+<html>
+ <head>
+ <title>Drag and drop in windowless Flash</title>
+ <style type="text/css">
+object {
+ width: 400px;
+ height: 400px;
+ border: 5px solid black;
+}
+ </style>
+ </head>
+ <body>
+ <noscript><p>Enable JavaScript and reload</p></noscript>
+ <p>Drag the orange square onto the blue square and release it. The orange square should disappear, and the blue square should turn yellow.</p>
+ <script type="text/javascript">
+var plugincode = '<object data="dragndrop.swf" type="application/x-shockwave-flash"><param name="wmode" value="opaque">Flash plugin is required for this test.</object>';
+ </script>
+ <script type="text/javascript" src="click-to-activate.js"></script>
+ </body>
+</html> \ No newline at end of file
diff --git a/testing/web-platform/tests/html/editing/dnd/platform/plugin/plugin-dnd-102.html b/testing/web-platform/tests/html/editing/dnd/platform/plugin/plugin-dnd-102.html
new file mode 100644
index 000000000..428c191fb
--- /dev/null
+++ b/testing/web-platform/tests/html/editing/dnd/platform/plugin/plugin-dnd-102.html
@@ -0,0 +1,39 @@
+<!DOCTYPE html>
+<html>
+ <head>
+ <title>Drag and drop alternating between windowless Flash and page</title>
+ <style type="text/css">
+div {
+ width: 100px;
+ height: 100px;
+ background: fuchsia;
+}
+object {
+ width: 400px;
+ height: 400px;
+ border: 5px solid black;
+}
+ </style>
+ <script type="text/javascript">
+window.onload = function () {
+ document.getElementsByTagName('div')[0].ondragstart = function (e) {
+ e.dataTransfer.effectAllowed = 'copy';
+ e.dataTransfer.setData('text','dummy text');
+ };
+};
+ </script>
+ </head>
+ <body>
+ <noscript><p>Enable JavaScript and reload</p></noscript>
+ <ol>
+ <li>Drag the pink square onto the blue square and release it. The drag placeholder should disappear (either when releasing, or when passing the black square), and the mouse cursor should return to normal.</li>
+ <li>Without moving your mouse outside the black square, drag the orange square onto the blue square and release it. The orange square should disappear, and the blue square should turn yellow. Fail if the orange square does not immediately respond to the drag attempt.</li>
+ <li>Drag the pink square onto the yellow square and release it. The drag placeholder should disappear, and the mouse cursor should return to normal. Fail if the pink square does not immediately respond to the drag attempt.</li>
+ </ol>
+ <div draggable="true"></div>
+ <script type="text/javascript">
+var plugincode = '<object data="dragndrop.swf" type="application/x-shockwave-flash"><param name="wmode" value="opaque">Flash plugin is required for this test.</object>';
+ </script>
+ <script type="text/javascript" src="click-to-activate.js"></script>
+ </body>
+</html> \ No newline at end of file
diff --git a/testing/web-platform/tests/html/editing/dnd/platform/plugin/plugin-dnd-103.html b/testing/web-platform/tests/html/editing/dnd/platform/plugin/plugin-dnd-103.html
new file mode 100644
index 000000000..2ac8f1df6
--- /dev/null
+++ b/testing/web-platform/tests/html/editing/dnd/platform/plugin/plugin-dnd-103.html
@@ -0,0 +1,22 @@
+<!DOCTYPE html>
+<html>
+ <head>
+ <title>Incomplete drag and drop in windowless Flash</title>
+ <style type="text/css">
+object {
+ width: 400px;
+ height: 400px;
+ border: 5px solid black;
+}
+ </style>
+ </head>
+ <body>
+ <noscript><p>Enable JavaScript and reload</p></noscript>
+ <!-- Test is based on expected behaviour of windowless plugin where the mouseup is not sent to the plugin even though a drag was in operation. -->
+ <p>Drag the orange square until the mouse is outside the black square, then release it. Move the mouse over the blue square. Pass if the orange square follows the mouse.</p>
+ <script type="text/javascript">
+var plugincode = '<object data="dragndrop.swf" type="application/x-shockwave-flash"><param name="wmode" value="opaque">Flash plugin is required for this test.</object>';
+ </script>
+ <script type="text/javascript" src="click-to-activate.js"></script>
+ </body>
+</html> \ No newline at end of file
diff --git a/testing/web-platform/tests/html/editing/dnd/platform/plugin/plugin-dnd-104.html b/testing/web-platform/tests/html/editing/dnd/platform/plugin/plugin-dnd-104.html
new file mode 100644
index 000000000..9f4a3ec1c
--- /dev/null
+++ b/testing/web-platform/tests/html/editing/dnd/platform/plugin/plugin-dnd-104.html
@@ -0,0 +1,41 @@
+<!DOCTYPE html>
+<html>
+ <head>
+ <title>Drag and drop alternating between incompleted windowless Flash drag and page</title>
+ <style type="text/css">
+div {
+ width: 100px;
+ height: 100px;
+ background: fuchsia;
+}
+object {
+ width: 400px;
+ height: 400px;
+ border: 5px solid black;
+}
+ </style>
+ <script type="text/javascript">
+window.onload = function () {
+ document.getElementsByTagName('div')[0].ondragstart = function (e) {
+ e.dataTransfer.effectAllowed = 'copy';
+ e.dataTransfer.setData('text','dummy text');
+ };
+};
+ </script>
+ </head>
+ <body>
+ <noscript><p>Enable JavaScript and reload</p></noscript>
+ <ol>
+ <li>Drag the orange square until the mouse is outside the right side of the black square but the edge of the orange square can still be seen, then release it.</li>
+ <li>Without passing over the black square again, move the mouse to the pink square.</li>
+ <li>Drag the pink square onto the white area inside the black square and release it. The drag placeholder should disappear (either when releasing, or when passing the black square), and the mouse cursor should return to normal. The orange square should jump to the mouse position. Fail if the pink square does not immediately respond to the drag attempt.</li>
+ <li>The orange square may optionally continue to follow the mouse.</li>
+ <!-- There are no rules here. Browsers may mask the mouseup event from the plugin (since a dnd operation was in progress), or they may pass the mouseup to the plugin (since the dnd operation has completed). -->
+ </ol>
+ <div draggable="true"></div>
+ <script type="text/javascript">
+var plugincode = '<object data="dragndrop.swf" type="application/x-shockwave-flash"><param name="wmode" value="opaque">Flash plugin is required for this test.</object>';
+ </script>
+ <script type="text/javascript" src="click-to-activate.js"></script>
+ </body>
+</html> \ No newline at end of file
diff --git a/testing/web-platform/tests/html/editing/dnd/platform/plugin/plugin-dnd-105.html b/testing/web-platform/tests/html/editing/dnd/platform/plugin/plugin-dnd-105.html
new file mode 100644
index 000000000..3b072a423
--- /dev/null
+++ b/testing/web-platform/tests/html/editing/dnd/platform/plugin/plugin-dnd-105.html
@@ -0,0 +1,26 @@
+<!DOCTYPE html>
+<html>
+ <head>
+ <title>Drag and drop in windowless Flash with Alt+Tab</title>
+ <style type="text/css">
+object {
+ width: 400px;
+ height: 400px;
+ border: 5px solid black;
+}
+ </style>
+ </head>
+ <body>
+ <noscript><p>Enable JavaScript and reload</p></noscript>
+ <ol>
+ <li>Ensure at least one other program is running, with its window maximised.</li>
+ <li>Drag the orange square over the blue square.</li>
+ <li>Without releasing the mouse button, use Alt+Tab (or your system's equivalent) to switch to the other program, then back to this one.</li>
+ <li>Move the mouse around inside the black square. The orange square should continue to follow the mouse.</li>
+ </ol>
+ <script type="text/javascript">
+var plugincode = '<object data="dragndrop.swf" type="application/x-shockwave-flash"><param name="wmode" value="opaque">Flash plugin is required for this test.</object>';
+ </script>
+ <script type="text/javascript" src="click-to-activate.js"></script>
+ </body>
+</html> \ No newline at end of file
diff --git a/testing/web-platform/tests/html/editing/dnd/platform/plugin/plugin-dnd-106.html b/testing/web-platform/tests/html/editing/dnd/platform/plugin/plugin-dnd-106.html
new file mode 100644
index 000000000..f38fd302f
--- /dev/null
+++ b/testing/web-platform/tests/html/editing/dnd/platform/plugin/plugin-dnd-106.html
@@ -0,0 +1,26 @@
+<!DOCTYPE html>
+<html>
+ <head>
+ <title>Drag and drop in windowless Flash with Alt+Tab over page</title>
+ <style type="text/css">
+object {
+ width: 400px;
+ height: 400px;
+ border: 5px solid black;
+}
+ </style>
+ </head>
+ <body>
+ <noscript><p>Enable JavaScript and reload</p></noscript>
+ <ol>
+ <li>Ensure at least one other program is running, with its window maximised.</li>
+ <li>Drag the orange square around until the mouse is outside the black square.</li>
+ <li>Without releasing the mouse button, use Alt+Tab (or your system's equivalent) to switch to the other program, then back to this one.</li>
+ <li>Move the mouse inside the black square. The orange square should continue to follow the mouse.</li>
+ </ol>
+ <script type="text/javascript">
+var plugincode = '<object data="dragndrop.swf" type="application/x-shockwave-flash"><param name="wmode" value="opaque">Flash plugin is required for this test.</object>';
+ </script>
+ <script type="text/javascript" src="click-to-activate.js"></script>
+ </body>
+</html> \ No newline at end of file
diff --git a/testing/web-platform/tests/html/editing/dnd/platform/plugin/plugin-dnd-107.html b/testing/web-platform/tests/html/editing/dnd/platform/plugin/plugin-dnd-107.html
new file mode 100644
index 000000000..972df6884
--- /dev/null
+++ b/testing/web-platform/tests/html/editing/dnd/platform/plugin/plugin-dnd-107.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<html>
+ <head>
+ <title>Drag and drop with Alt+Tab over windowless Flash</title>
+ <style type="text/css">
+div {
+ width: 100px;
+ height: 100px;
+ background: fuchsia;
+}
+object {
+ width: 400px;
+ height: 400px;
+ border: 5px solid black;
+}
+ </style>
+ <script type="text/javascript">
+window.onload = function () {
+ document.getElementsByTagName('div')[0].ondragstart = function (e) {
+ e.dataTransfer.effectAllowed = 'copy';
+ e.dataTransfer.setData('text','dummy text');
+ };
+};
+ </script>
+ </head>
+ <body>
+ <p><strong>Note:</strong> Mac has no no-drop cursor.</p>
+ <noscript><p>Enable JavaScript and reload</p></noscript>
+ <ol>
+ <li>Ensure at least one other program is running, with its window maximised.</li>
+ <li>Drag the pink square over the blue square. The mouse cursor should be the no-drop cursor, or the platform's drop-allowed cursor.</li>
+ <li>Without releasing the mouse button, use Alt+Tab (or your system's equivalent) to switch to the other program, then back to this one.</li>
+ <li>The mouse cursor should be the same cursor as in step 2.</li>
+ <li>Move the mouse outside the black square. The drag placeholder should follow the mouse (reappearing if it disappeared in step 2).</li>
+ <li>Release the drag. The drag placeholder should disappear, and the cursor should revert to the default mouse cursor.</li>
+ </ol>
+ <div draggable="true"></div>
+ <script type="text/javascript">
+var plugincode = '<object data="dragndrop.swf" type="application/x-shockwave-flash"><param name="wmode" value="opaque">Flash plugin is required for this test.</object>';
+ </script>
+ <script type="text/javascript" src="click-to-activate.js"></script>
+ </body>
+</html> \ No newline at end of file
diff --git a/testing/web-platform/tests/html/editing/dnd/platform/plugin/plugin-dnd-108.html b/testing/web-platform/tests/html/editing/dnd/platform/plugin/plugin-dnd-108.html
new file mode 100644
index 000000000..7a145d060
--- /dev/null
+++ b/testing/web-platform/tests/html/editing/dnd/platform/plugin/plugin-dnd-108.html
@@ -0,0 +1,41 @@
+<!DOCTYPE html>
+<html>
+ <head>
+ <title>Drag and drop with right click over windowless Flash</title>
+ <style type="text/css">
+div {
+ width: 100px;
+ height: 100px;
+ background: fuchsia;
+}
+object {
+ width: 400px;
+ height: 400px;
+ border: 5px solid black;
+}
+ </style>
+ <script type="text/javascript">
+window.onload = function () {
+ document.getElementsByTagName('div')[0].ondragstart = function (e) {
+ e.dataTransfer.effectAllowed = 'copy';
+ e.dataTransfer.setData('text','dummy text');
+ };
+};
+ </script>
+ </head>
+ <body>
+ <noscript><p>Enable JavaScript and reload</p></noscript>
+ <ol>
+ <li>Drag the pink square over the blue square.</li>
+ <li>Without releasing the drag, click the right mouse button.</li>
+ <li>If the platform's normal behaviour is to cancel a drag (eg. Windows and Unix+KDE), then the drag should be cancelled; moving the mouse outside the black square should not cause the drag placeholder to continue following the mouse, and the mouse cursor should revert to default.</li>
+ <li>If the platform's normal behaviour is not to cancel a drag (eg. Mac and Unix+Gnome), then the drag should not be cancelled; moving the mouse outside the black square should cause the drag placeholder to continue following the mouse, and the mouse cursor should show as no-drop or drop-allowed.</li>
+ <li>Fail in either case if the drag placeholder gets stuck temporarily or permanently over the blue square. Fail if an inappropriate right click function begins (eg. context menu opens).</li>
+ </ol>
+ <div draggable="true"></div>
+ <script type="text/javascript">
+var plugincode = '<object data="dragndrop.swf" type="application/x-shockwave-flash"><param name="wmode" value="opaque">Flash plugin is required for this test.</object>';
+ </script>
+ <script type="text/javascript" src="click-to-activate.js"></script>
+ </body>
+</html> \ No newline at end of file
diff --git a/testing/web-platform/tests/html/editing/dnd/platform/plugin/plugin-dnd-109.html b/testing/web-platform/tests/html/editing/dnd/platform/plugin/plugin-dnd-109.html
new file mode 100644
index 000000000..e28e166d5
--- /dev/null
+++ b/testing/web-platform/tests/html/editing/dnd/platform/plugin/plugin-dnd-109.html
@@ -0,0 +1,40 @@
+<!DOCTYPE html>
+<html>
+ <head>
+ <title>Drag and drop with right click and release over windowless Flash</title>
+ <style type="text/css">
+div {
+ width: 100px;
+ height: 100px;
+ background: fuchsia;
+}
+object {
+ width: 400px;
+ height: 400px;
+ border: 5px solid black;
+}
+ </style>
+ <script type="text/javascript">
+window.onload = function () {
+ document.getElementsByTagName('div')[0].ondragstart = function (e) {
+ e.dataTransfer.effectAllowed = 'copy';
+ e.dataTransfer.setData('text','dummy text');
+ };
+};
+ </script>
+ </head>
+ <body>
+ <noscript><p>Enable JavaScript and reload</p></noscript>
+ <ol>
+ <li>Drag the pink square over the blue square.</li>
+ <li>Without releasing the drag, click the right mouse button, then release the drag.</li>
+ <li>Fail if the drag placeholder gets stuck over the blue square.</li>
+ <li>Move the mouse outside the black square. The mouse cursor should be the default mouse cursor.</li>
+ </ol>
+ <div draggable="true"></div>
+ <script type="text/javascript">
+var plugincode = '<object data="dragndrop.swf" type="application/x-shockwave-flash"><param name="wmode" value="opaque">Flash plugin is required for this test.</object>';
+ </script>
+ <script type="text/javascript" src="click-to-activate.js"></script>
+ </body>
+</html> \ No newline at end of file
diff --git a/testing/web-platform/tests/html/editing/dnd/platform/plugin/plugin-dnd-110.html b/testing/web-platform/tests/html/editing/dnd/platform/plugin/plugin-dnd-110.html
new file mode 100644
index 000000000..07e6241cf
--- /dev/null
+++ b/testing/web-platform/tests/html/editing/dnd/platform/plugin/plugin-dnd-110.html
@@ -0,0 +1,41 @@
+<!DOCTYPE html>
+<html>
+ <head>
+ <title>Drag and drop with middle click over windowless Flash</title>
+ <style type="text/css">
+div {
+ width: 100px;
+ height: 100px;
+ background: fuchsia;
+}
+object {
+ width: 400px;
+ height: 400px;
+ border: 5px solid black;
+}
+ </style>
+ <script type="text/javascript">
+window.onload = function () {
+ document.getElementsByTagName('div')[0].ondragstart = function (e) {
+ e.dataTransfer.effectAllowed = 'copy';
+ e.dataTransfer.setData('text','dummy text');
+ };
+};
+ </script>
+ </head>
+ <body>
+ <noscript><p>Enable JavaScript and reload</p></noscript>
+ <ol>
+ <li>Drag the pink square over the blue square.</li>
+ <li>Without releasing the drag, click the middle mouse button.</li>
+ <li>If the platform's normal behaviour is to cancel a drag (eg. Windows and Unix+KDE), then the drag should be cancelled; moving the mouse outside the black square should not cause the drag placeholder to continue following the mouse, and the mouse cursor should revert to default.</li>
+ <li>If the platform's normal behaviour is not to cancel a drag (eg. Mac and Unix+Gnome), then the drag should not be cancelled; moving the mouse outside the black square should cause the drag placeholder to continue following the mouse, and the mouse cursor should show as no-drop or drop-allowed.</li>
+ <li>Fail in either case if the drag placeholder gets stuck temporarily or permanently over the blue square. Fail if an inappropriate middle click function begins (eg. paste-and-go).</li>
+ </ol>
+ <div draggable="true"></div>
+ <script type="text/javascript">
+var plugincode = '<object data="dragndrop.swf" type="application/x-shockwave-flash"><param name="wmode" value="opaque">Flash plugin is required for this test.</object>';
+ </script>
+ <script type="text/javascript" src="click-to-activate.js"></script>
+ </body>
+</html> \ No newline at end of file
diff --git a/testing/web-platform/tests/html/editing/dnd/platform/plugin/plugin-dnd-111.html b/testing/web-platform/tests/html/editing/dnd/platform/plugin/plugin-dnd-111.html
new file mode 100644
index 000000000..587c70f24
--- /dev/null
+++ b/testing/web-platform/tests/html/editing/dnd/platform/plugin/plugin-dnd-111.html
@@ -0,0 +1,40 @@
+<!DOCTYPE html>
+<html>
+ <head>
+ <title>Drag and drop with middle click and release over windowless Flash</title>
+ <style type="text/css">
+div {
+ width: 100px;
+ height: 100px;
+ background: fuchsia;
+}
+object {
+ width: 400px;
+ height: 400px;
+ border: 5px solid black;
+}
+ </style>
+ <script type="text/javascript">
+window.onload = function () {
+ document.getElementsByTagName('div')[0].ondragstart = function (e) {
+ e.dataTransfer.effectAllowed = 'copy';
+ e.dataTransfer.setData('text','dummy text');
+ };
+};
+ </script>
+ </head>
+ <body>
+ <noscript><p>Enable JavaScript and reload</p></noscript>
+ <ol>
+ <li>Drag the pink square over the blue square.</li>
+ <li>Without releasing the drag, click the middle mouse button, then release the drag.</li>
+ <li>Fail if the drag placeholder gets stuck over the blue square.</li>
+ <li>Move the mouse outside the black square. The mouse cursor should be the default mouse cursor.</li>
+ </ol>
+ <div draggable="true"></div>
+ <script type="text/javascript">
+var plugincode = '<object data="dragndrop.swf" type="application/x-shockwave-flash"><param name="wmode" value="opaque">Flash plugin is required for this test.</object>';
+ </script>
+ <script type="text/javascript" src="click-to-activate.js"></script>
+ </body>
+</html> \ No newline at end of file
diff --git a/testing/web-platform/tests/html/editing/dnd/platform/plugin/plugin-dnd-203.html b/testing/web-platform/tests/html/editing/dnd/platform/plugin/plugin-dnd-203.html
new file mode 100644
index 000000000..a4d08ecd4
--- /dev/null
+++ b/testing/web-platform/tests/html/editing/dnd/platform/plugin/plugin-dnd-203.html
@@ -0,0 +1,22 @@
+<!DOCTYPE html>
+<html>
+ <head>
+ <title>Incomplete drag and drop with deactivate in Flash</title>
+ <style type="text/css">
+object {
+ width: 400px;
+ height: 400px;
+ border: 5px solid black;
+}
+ </style>
+ </head>
+ <body>
+ <noscript><p>Enable JavaScript and reload</p></noscript>
+ <!-- Test is based on expected behaviour where the mouseup is sent to the plugin because a drag was in operation. -->
+ <p>Drag the orange square until the mouse is outside the black square, then release it. Move the mouse over the blue square. Fail if the orange square continues to follow the mouse.</p>
+ <script type="text/javascript">
+var plugincode = '<object data="dragndropleavedeactivate.swf" type="application/x-shockwave-flash">Flash plugin is required for this test.</object>';
+ </script>
+ <script type="text/javascript" src="click-to-activate.js"></script>
+ </body>
+</html> \ No newline at end of file
diff --git a/testing/web-platform/tests/html/editing/dnd/platform/plugin/plugin-dnd-204.html b/testing/web-platform/tests/html/editing/dnd/platform/plugin/plugin-dnd-204.html
new file mode 100644
index 000000000..4ba76e652
--- /dev/null
+++ b/testing/web-platform/tests/html/editing/dnd/platform/plugin/plugin-dnd-204.html
@@ -0,0 +1,41 @@
+<!DOCTYPE html>
+<html>
+ <head>
+ <title>Drag and drop with deactivate alternating between incompleted Flash drag and page</title>
+ <style type="text/css">
+div {
+ width: 100px;
+ height: 100px;
+ background: fuchsia;
+}
+object {
+ width: 400px;
+ height: 400px;
+ border: 5px solid black;
+}
+ </style>
+ <script type="text/javascript">
+window.onload = function () {
+ document.getElementsByTagName('div')[0].ondragstart = function (e) {
+ e.dataTransfer.effectAllowed = 'copy';
+ e.dataTransfer.setData('text','dummy text');
+ };
+};
+ </script>
+ </head>
+ <body>
+ <noscript><p>Enable JavaScript and reload</p></noscript>
+ <ol>
+ <li>Drag the orange square until the mouse is outside the right side of the black square but the edge of the orange square can still be seen, then release it.</li>
+ <li>Without passing over the black square again, move the mouse to the pink square.</li>
+ <li>Drag the pink square onto the blue square and release it. The drag placeholder should disappear (either when releasing, or when passing the black square), and the mouse cursor should return to normal. Fail if the pink square does not immediately respond to the drag attempt.</li>
+ <li>Without passing over the black square again, move the mouse to the orange square. Fail if the orange square moves.</li>
+ <li>Drag the orange square onto the blue square and release it. The orange square should disappear, and the blue square should turn yellow. Fail if the orange square does not immediately respond to the drag attempt.</li>
+ </ol>
+ <div draggable="true"></div>
+ <script type="text/javascript">
+var plugincode = '<object data="dragndropleavedeactivate.swf" type="application/x-shockwave-flash">Flash plugin is required for this test.</object>';
+ </script>
+ <script type="text/javascript" src="click-to-activate.js"></script>
+ </body>
+</html> \ No newline at end of file
diff --git a/testing/web-platform/tests/html/editing/dnd/platform/plugin/plugin-dnd-205.html b/testing/web-platform/tests/html/editing/dnd/platform/plugin/plugin-dnd-205.html
new file mode 100644
index 000000000..e49add304
--- /dev/null
+++ b/testing/web-platform/tests/html/editing/dnd/platform/plugin/plugin-dnd-205.html
@@ -0,0 +1,27 @@
+<!DOCTYPE html>
+<html>
+ <head>
+ <title>Drag and drop with deactivate in Flash with Alt+Tab</title>
+ <style type="text/css">
+object {
+ width: 400px;
+ height: 400px;
+ border: 5px solid black;
+}
+ </style>
+ </head>
+ <body>
+ <noscript><p>Enable JavaScript and reload</p></noscript>
+ <ol>
+ <li>Ensure at least one other program is running, with its window maximised.</li>
+ <li>Drag the orange square over the blue square.</li>
+ <li>Without releasing the mouse button, use Alt+Tab (or your system's equivalent) to switch to the other program, then back to this one.</li>
+ <li>Move the mouse around inside the black square. The orange square should not follow the mouse.</li>
+ <li>Release the mouse button over the white area inside the black square. The orange square should disappear, and the blue square should turn yellow.</li>
+ </ol>
+ <script type="text/javascript">
+var plugincode = '<object data="dragndropleavedeactivate.swf" type="application/x-shockwave-flash">Flash plugin is required for this test.</object>';
+ </script>
+ <script type="text/javascript" src="click-to-activate.js"></script>
+ </body>
+</html> \ No newline at end of file
diff --git a/testing/web-platform/tests/html/editing/dnd/platform/plugin/plugin-dnd-206.html b/testing/web-platform/tests/html/editing/dnd/platform/plugin/plugin-dnd-206.html
new file mode 100644
index 000000000..b3bae6e48
--- /dev/null
+++ b/testing/web-platform/tests/html/editing/dnd/platform/plugin/plugin-dnd-206.html
@@ -0,0 +1,26 @@
+<!DOCTYPE html>
+<html>
+ <head>
+ <title>Drag and drop with deactivate in Flash with Alt+Tab over page</title>
+ <style type="text/css">
+object {
+ width: 400px;
+ height: 400px;
+ border: 5px solid black;
+}
+ </style>
+ </head>
+ <body>
+ <noscript><p>Enable JavaScript and reload</p></noscript>
+ <ol>
+ <li>Ensure at least one other program is running, with its window maximised.</li>
+ <li>Drag the orange square around until the mouse is outside the black square.</li>
+ <li>Without releasing the mouse button, use Alt+Tab (or your system's equivalent) to switch to the other program, then back to this one.</li>
+ <li>Move the mouse over the blue square. The orange square should not continue to follow the mouse.</li>
+ </ol>
+ <script type="text/javascript">
+var plugincode = '<object data="dragndropleavedeactivate.swf" type="application/x-shockwave-flash">Flash plugin is required for this test.</object>';
+ </script>
+ <script type="text/javascript" src="click-to-activate.js"></script>
+ </body>
+</html> \ No newline at end of file
diff --git a/testing/web-platform/tests/html/editing/dnd/platform/plugin/plugin-dnd-207.html b/testing/web-platform/tests/html/editing/dnd/platform/plugin/plugin-dnd-207.html
new file mode 100644
index 000000000..bfb4c4d10
--- /dev/null
+++ b/testing/web-platform/tests/html/editing/dnd/platform/plugin/plugin-dnd-207.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<html>
+ <head>
+ <title>Drag and drop with deactivate with Alt+Tab over Flash</title>
+ <style type="text/css">
+div {
+ width: 100px;
+ height: 100px;
+ background: fuchsia;
+}
+object {
+ width: 400px;
+ height: 400px;
+ border: 5px solid black;
+}
+ </style>
+ <script type="text/javascript">
+window.onload = function () {
+ document.getElementsByTagName('div')[0].ondragstart = function (e) {
+ e.dataTransfer.effectAllowed = 'copy';
+ e.dataTransfer.setData('text','dummy text');
+ };
+};
+ </script>
+ </head>
+ <body>
+ <p><strong>Note:</strong> Mac has no no-drop cursor.</p>
+ <noscript><p>Enable JavaScript and reload</p></noscript>
+ <ol>
+ <li>Ensure at least one other program is running, with its window maximised.</li>
+ <li>Drag the pink square over the blue square. The mouse cursor should be the no-drop cursor, or the platform's drop-allowed cursor.</li>
+ <li>Without releasing the mouse button, use Alt+Tab (or your system's equivalent) to switch to the other program, then back to this one.</li>
+ <li>The mouse cursor should be the same cursor as in step 2.</li>
+ <li>Move the mouse outside the black square. The drag placeholder should follow the mouse (reappearing if it disappeared in step 2).</li>
+ <li>Release the drag. The drag placeholder should disappear, and the cursor should revert to the default mouse cursor.</li>
+ </ol>
+ <div draggable="true"></div>
+ <script type="text/javascript">
+var plugincode = '<object data="dragndropleavedeactivate.swf" type="application/x-shockwave-flash">Flash plugin is required for this test.</object>';
+ </script>
+ <script type="text/javascript" src="click-to-activate.js"></script>
+ </body>
+</html> \ No newline at end of file
diff --git a/testing/web-platform/tests/html/editing/dnd/platform/plugin/plugin-dnd-303.html b/testing/web-platform/tests/html/editing/dnd/platform/plugin/plugin-dnd-303.html
new file mode 100644
index 000000000..275e207df
--- /dev/null
+++ b/testing/web-platform/tests/html/editing/dnd/platform/plugin/plugin-dnd-303.html
@@ -0,0 +1,22 @@
+<!DOCTYPE html>
+<html>
+ <head>
+ <title>Incomplete drag and drop with deactivate in windowless Flash</title>
+ <style type="text/css">
+object {
+ width: 400px;
+ height: 400px;
+ border: 5px solid black;
+}
+ </style>
+ </head>
+ <body>
+ <noscript><p>Enable JavaScript and reload</p></noscript>
+ <!-- Test is based on expected behaviour of windowless plugin where the mouseup is not sent to the plugin even though a drag was in operation. -->
+ <p>Drag the orange square until the mouse is outside the black square, then release it. Move the mouse over the blue square. Pass if the orange square follows the mouse.</p>
+ <script type="text/javascript">
+var plugincode = '<object data="dragndropleavedeactivate.swf" type="application/x-shockwave-flash"><param name="wmode" value="opaque">Flash plugin is required for this test.</object>';
+ </script>
+ <script type="text/javascript" src="click-to-activate.js"></script>
+ </body>
+</html> \ No newline at end of file
diff --git a/testing/web-platform/tests/html/editing/dnd/platform/plugin/plugin-dnd-304.html b/testing/web-platform/tests/html/editing/dnd/platform/plugin/plugin-dnd-304.html
new file mode 100644
index 000000000..a68a8c3fa
--- /dev/null
+++ b/testing/web-platform/tests/html/editing/dnd/platform/plugin/plugin-dnd-304.html
@@ -0,0 +1,41 @@
+<!DOCTYPE html>
+<html>
+ <head>
+ <title>Drag and drop with deactivate alternating between incompleted windowless Flash drag and page</title>
+ <style type="text/css">
+div {
+ width: 100px;
+ height: 100px;
+ background: fuchsia;
+}
+object {
+ width: 400px;
+ height: 400px;
+ border: 5px solid black;
+}
+ </style>
+ <script type="text/javascript">
+window.onload = function () {
+ document.getElementsByTagName('div')[0].ondragstart = function (e) {
+ e.dataTransfer.effectAllowed = 'copy';
+ e.dataTransfer.setData('text','dummy text');
+ };
+};
+ </script>
+ </head>
+ <body>
+ <noscript><p>Enable JavaScript and reload</p></noscript>
+ <ol>
+ <li>Drag the orange square until the mouse is outside the right side of the black square but the edge of the orange square can still be seen, then release it.</li>
+ <li>Without passing over the black square again, move the mouse to the pink square.</li>
+ <li>Drag the pink square onto the white area inside the black square and release it. The drag placeholder should disappear (either when releasing, or when passing the black square), and the mouse cursor should return to normal. The orange square should jump to the mouse position. Fail if the pink square does not immediately respond to the drag attempt.</li>
+ <li>The orange square may optionally continue to follow the mouse.</li>
+ <!-- There are no rules here. Browsers may mask the mouseup event from the plugin (since a dnd operation was in progress), or they may pass the mouseup to the plugin (since the dnd operation has completed). -->
+ </ol>
+ <div draggable="true"></div>
+ <script type="text/javascript">
+var plugincode = '<object data="dragndropleavedeactivate.swf" type="application/x-shockwave-flash"><param name="wmode" value="opaque">Flash plugin is required for this test.</object>';
+ </script>
+ <script type="text/javascript" src="click-to-activate.js"></script>
+ </body>
+</html> \ No newline at end of file
diff --git a/testing/web-platform/tests/html/editing/dnd/platform/plugin/plugin-dnd-305.html b/testing/web-platform/tests/html/editing/dnd/platform/plugin/plugin-dnd-305.html
new file mode 100644
index 000000000..3a702789a
--- /dev/null
+++ b/testing/web-platform/tests/html/editing/dnd/platform/plugin/plugin-dnd-305.html
@@ -0,0 +1,26 @@
+<!DOCTYPE html>
+<html>
+ <head>
+ <title>Drag and drop with deactivate in windowless Flash with Alt+Tab</title>
+ <style type="text/css">
+object {
+ width: 400px;
+ height: 400px;
+ border: 5px solid black;
+}
+ </style>
+ </head>
+ <body>
+ <noscript><p>Enable JavaScript and reload</p></noscript>
+ <ol>
+ <li>Ensure at least one other program is running, with its window maximised.</li>
+ <li>Drag the orange square over the blue square.</li>
+ <li>Without releasing the mouse button, use Alt+Tab (or your system's equivalent) to switch to the other program, then back to this one.</li>
+ <li>Move the mouse around inside the black square. The orange square should continue to follow the mouse.</li>
+ </ol>
+ <script type="text/javascript">
+var plugincode = '<object data="dragndropleavedeactivate.swf" type="application/x-shockwave-flash"><param name="wmode" value="opaque">Flash plugin is required for this test.</object>';
+ </script>
+ <script type="text/javascript" src="click-to-activate.js"></script>
+ </body>
+</html> \ No newline at end of file
diff --git a/testing/web-platform/tests/html/editing/dnd/platform/plugin/plugin-dnd-306.html b/testing/web-platform/tests/html/editing/dnd/platform/plugin/plugin-dnd-306.html
new file mode 100644
index 000000000..a8248bd69
--- /dev/null
+++ b/testing/web-platform/tests/html/editing/dnd/platform/plugin/plugin-dnd-306.html
@@ -0,0 +1,26 @@
+<!DOCTYPE html>
+<html>
+ <head>
+ <title>Drag and drop with deactivate in windowless Flash with Alt+Tab over page</title>
+ <style type="text/css">
+object {
+ width: 400px;
+ height: 400px;
+ border: 5px solid black;
+}
+ </style>
+ </head>
+ <body>
+ <noscript><p>Enable JavaScript and reload</p></noscript>
+ <ol>
+ <li>Ensure at least one other program is running, with its window maximised.</li>
+ <li>Drag the orange square around until the mouse is outside the black square.</li>
+ <li>Without releasing the mouse button, use Alt+Tab (or your system's equivalent) to switch to the other program, then back to this one.</li>
+ <li>Move the mouse inside the black square. The orange square should continue to follow the mouse.</li>
+ </ol>
+ <script type="text/javascript">
+var plugincode = '<object data="dragndropleavedeactivate.swf" type="application/x-shockwave-flash"><param name="wmode" value="opaque">Flash plugin is required for this test.</object>';
+ </script>
+ <script type="text/javascript" src="click-to-activate.js"></script>
+ </body>
+</html> \ No newline at end of file
diff --git a/testing/web-platform/tests/html/editing/dnd/platform/plugin/plugin-dnd-307.html b/testing/web-platform/tests/html/editing/dnd/platform/plugin/plugin-dnd-307.html
new file mode 100644
index 000000000..1def298cc
--- /dev/null
+++ b/testing/web-platform/tests/html/editing/dnd/platform/plugin/plugin-dnd-307.html
@@ -0,0 +1,42 @@
+<!DOCTYPE html>
+<html>
+ <head>
+ <title>Drag and drop with deactivate with Alt+Tab over windowless Flash</title>
+ <style type="text/css">
+div {
+ width: 100px;
+ height: 100px;
+ background: fuchsia;
+}
+object {
+ width: 400px;
+ height: 400px;
+ border: 5px solid black;
+}
+ </style>
+ <script type="text/javascript">
+window.onload = function () {
+ document.getElementsByTagName('div')[0].ondragstart = function (e) {
+ e.dataTransfer.effectAllowed = 'copy';
+ e.dataTransfer.setData('text','dummy text');
+ };
+};
+ </script>
+ </head>
+ <body>
+ <noscript><p>Enable JavaScript and reload</p></noscript>
+ <ol>
+ <li>Ensure at least one other program is running, with its window maximised.</li>
+ <li>Drag the pink square over the blue square. The mouse cursor should be the no-drop cursor, or the platform's drop-allowed cursor.</li>
+ <li>Without releasing the mouse button, use Alt+Tab (or your system's equivalent) to switch to the other program, then back to this one.</li>
+ <li>The mouse cursor should be the same cursor as in step 2.</li>
+ <li>Move the mouse outside the black square. The drag placeholder should follow the mouse (reappearing if it disappeared in step 2).</li>
+ <li>Release the drag. The drag placeholder should disappear, and the cursor should revert to the default mouse cursor.</li>
+ </ol>
+ <div draggable="true"></div>
+ <script type="text/javascript">
+var plugincode = '<object data="dragndropleavedeactivate.swf" type="application/x-shockwave-flash"><param name="wmode" value="opaque">Flash plugin is required for this test.</object>';
+ </script>
+ <script type="text/javascript" src="click-to-activate.js"></script>
+ </body>
+</html> \ No newline at end of file
diff --git a/testing/web-platform/tests/html/editing/dnd/platform/plugin/swfsources/dragndrop.hx b/testing/web-platform/tests/html/editing/dnd/platform/plugin/swfsources/dragndrop.hx
new file mode 100644
index 000000000..25fc51ef0
--- /dev/null
+++ b/testing/web-platform/tests/html/editing/dnd/platform/plugin/swfsources/dragndrop.hx
@@ -0,0 +1,133 @@
+import Std;
+import flash.Lib;
+import flash.events.MouseEvent;
+
+class DragNDrop
+{
+ static var s_box_draggable:Box;
+ static var s_box_target:Box;
+ static var s_dragging:Bool = false;
+
+ private static function main()
+ {
+ /* Blue box (target). */
+ s_box_target = new Box(0x0000ff, 100, 100, 150, 150);
+ /* Orange box (draggable). */
+ s_box_draggable = new Box(0xffa500, 25, 25, 50, 50);
+
+ flash.Lib.current.stage.addEventListener(MouseEvent.MOUSE_DOWN, OnMouseDown);
+ flash.Lib.current.stage.addEventListener(MouseEvent.MOUSE_MOVE, OnMouseMove);
+ flash.Lib.current.stage.addEventListener(MouseEvent.MOUSE_UP, OnMouseUp);
+ }
+
+ static function OnMouseDown(event:MouseEvent):Void
+ {
+ if (s_box_draggable.IsHit(event.stageX, event.stageY))
+ s_dragging = true;
+ }
+
+ static function OnMouseUp(event:MouseEvent):Void
+ {
+ s_dragging = false;
+
+ /* Check if passed. */
+ if (s_box_draggable.IsWithin(s_box_target))
+ {
+ s_box_draggable.Hide();
+ s_box_target.SetColor(0xffee00);
+ }
+ }
+
+ static function OnMouseMove(event:MouseEvent):Void
+ {
+ if (s_dragging)
+ {
+ ClearCanvas();
+ s_box_target.Redraw();
+ s_box_draggable.Move(event.stageX, event.stageY);
+ }
+ }
+
+ static function ClearCanvas():Void
+ {
+ var mc:flash.display.MovieClip = flash.Lib.current;
+ mc.graphics.beginFill(0xffffff);
+ mc.graphics.drawRect(0, 0, flash.Lib.current.stage.width, flash.Lib.current.stage.height);
+ mc.graphics.endFill();
+ }
+}
+
+class Box
+{
+ var m_mc:flash.display.MovieClip;
+ var m_color:Int;
+ var m_rel_x:Float;
+ var m_rel_y:Float;
+ var m_x:Float;
+ var m_y:Float;
+ var m_width:Int;
+ var m_height:Int;
+
+ public function new(color:Int, x:Int, y:Int, width:Int, height:Int)
+ {
+ m_mc = flash.Lib.current;
+ m_color = color;
+ m_x = x;
+ m_y = y;
+ m_width = width;
+ m_height = height;
+
+ Redraw();
+ }
+
+ public function IsHit(x:Float, y:Float):Bool
+ {
+ if ((x >= m_x && x <= m_x + m_width) && (y >= m_y && y <= m_y + m_height))
+ {
+ m_rel_x = x - m_x;
+ m_rel_y = y - m_y;
+ return true;
+ }
+
+ return false;
+ }
+
+ public function IsWithin(other:Box):Bool
+ {
+ return m_x >= other.m_x && m_x + m_width <= other.m_x + other.m_width
+ && m_y >= other.m_y && m_y + m_height <= other.m_y + other.m_height;
+ }
+
+ public function Hide():Void
+ {
+ m_width = 0;
+ m_height = 0;
+ }
+
+ public function SetColor(color:Int):Void
+ {
+ m_color = color;
+ Redraw();
+ }
+
+ public function Move(x:Float, y:Float):Void
+ {
+ /* Accounting for click offset. */
+ m_x = x - m_rel_x;
+ m_y = y - m_rel_y;
+ Draw(Std.int(m_x), Std.int(m_y), m_width, m_height);
+ }
+
+ public function Redraw():Void
+ {
+ Draw(Std.int(m_x), Std.int(m_y), m_width, m_height);
+ }
+
+ private function Draw(x:Int, y:Int, width:Int, height:Int)
+ {
+ /* Draw moved rect. */
+ m_mc.graphics.beginFill(m_color);
+ m_mc.graphics.drawRect(x, y, width, height);
+ m_mc.graphics.endFill();
+ }
+}
diff --git a/testing/web-platform/tests/html/editing/dnd/platform/plugin/swfsources/dragndrop.hxml b/testing/web-platform/tests/html/editing/dnd/platform/plugin/swfsources/dragndrop.hxml
new file mode 100644
index 000000000..71f2eb5b9
--- /dev/null
+++ b/testing/web-platform/tests/html/editing/dnd/platform/plugin/swfsources/dragndrop.hxml
@@ -0,0 +1 @@
+-swf dragndrop.swf -swf-version 10 -main DragNDrop -swf-header 300:300:25:FFFFFF \ No newline at end of file
diff --git a/testing/web-platform/tests/html/editing/dnd/platform/plugin/swfsources/mouseup.hx b/testing/web-platform/tests/html/editing/dnd/platform/plugin/swfsources/mouseup.hx
new file mode 100644
index 000000000..13a8757bd
--- /dev/null
+++ b/testing/web-platform/tests/html/editing/dnd/platform/plugin/swfsources/mouseup.hx
@@ -0,0 +1,34 @@
+import flash.Lib;
+import flash.display.Sprite;
+import flash.events.MouseEvent;
+
+class MouseUp extends Sprite
+{
+ var s:Sprite;
+
+ static function main()
+ {
+ new MouseUp();
+ }
+
+ public function new()
+ {
+ super();
+ flash.Lib.current.addChild(this);
+
+ s = new Sprite();
+ s.graphics.beginFill(0xffa500);
+ s.graphics.drawRect(0, 0, stage.stageWidth, stage.stageHeight);
+ s.graphics.endFill();
+ stage.addChild(s);
+
+ stage.addEventListener(MouseEvent.MOUSE_UP, OnMouseUp);
+ }
+
+ function OnMouseUp(event:MouseEvent):Void
+ {
+ s.graphics.beginFill(0xffee00);
+ s.graphics.drawRect(0, 0, stage.stageWidth, stage.stageHeight);
+ s.graphics.endFill();
+ }
+}
diff --git a/testing/web-platform/tests/html/editing/dnd/platform/plugin/swfsources/mouseup.hxml b/testing/web-platform/tests/html/editing/dnd/platform/plugin/swfsources/mouseup.hxml
new file mode 100644
index 000000000..d58859034
--- /dev/null
+++ b/testing/web-platform/tests/html/editing/dnd/platform/plugin/swfsources/mouseup.hxml
@@ -0,0 +1 @@
+-swf mouseup.swf -swf-version 10 -main MouseUp -swf-header 300:300:25:FFFFFF \ No newline at end of file