summaryrefslogtreecommitdiffstats
path: root/testing/web-platform/tests/html/editing/dnd/svg
diff options
context:
space:
mode:
Diffstat (limited to 'testing/web-platform/tests/html/editing/dnd/svg')
-rw-r--r--testing/web-platform/tests/html/editing/dnd/svg/001.svg9
-rw-r--r--testing/web-platform/tests/html/editing/dnd/svg/002.svg9
-rw-r--r--testing/web-platform/tests/html/editing/dnd/svg/003.svg13
-rw-r--r--testing/web-platform/tests/html/editing/dnd/svg/004.svg13
-rw-r--r--testing/web-platform/tests/html/editing/dnd/svg/005.svg8
-rw-r--r--testing/web-platform/tests/html/editing/dnd/svg/006.svg9
-rw-r--r--testing/web-platform/tests/html/editing/dnd/svg/007.svg9
-rw-r--r--testing/web-platform/tests/html/editing/dnd/svg/008.svg13
-rw-r--r--testing/web-platform/tests/html/editing/dnd/svg/009.svg13
-rw-r--r--testing/web-platform/tests/html/editing/dnd/svg/010.svg8
-rw-r--r--testing/web-platform/tests/html/editing/dnd/svg/011.svg15
-rw-r--r--testing/web-platform/tests/html/editing/dnd/svg/012.svg15
-rw-r--r--testing/web-platform/tests/html/editing/dnd/svg/013-1.xhtml15
-rw-r--r--testing/web-platform/tests/html/editing/dnd/svg/013.svg11
-rw-r--r--testing/web-platform/tests/html/editing/dnd/svg/014-1.xhtml18
-rw-r--r--testing/web-platform/tests/html/editing/dnd/svg/014.svg10
-rw-r--r--testing/web-platform/tests/html/editing/dnd/svg/015-1.xhtml9
-rw-r--r--testing/web-platform/tests/html/editing/dnd/svg/015.svg10
-rw-r--r--testing/web-platform/tests/html/editing/dnd/svg/016-1.xhtml22
-rw-r--r--testing/web-platform/tests/html/editing/dnd/svg/016.svg10
-rw-r--r--testing/web-platform/tests/html/editing/dnd/svg/017.xhtml14
-rw-r--r--testing/web-platform/tests/html/editing/dnd/svg/018.xhtml14
-rw-r--r--testing/web-platform/tests/html/editing/dnd/svg/019.xhtml19
-rw-r--r--testing/web-platform/tests/html/editing/dnd/svg/020.xhtml27
-rw-r--r--testing/web-platform/tests/html/editing/dnd/svg/021.xhtml26
-rw-r--r--testing/web-platform/tests/html/editing/dnd/svg/022.xhtml26
-rw-r--r--testing/web-platform/tests/html/editing/dnd/svg/023.xhtml26
-rw-r--r--testing/web-platform/tests/html/editing/dnd/svg/024.xhtml22
-rw-r--r--testing/web-platform/tests/html/editing/dnd/svg/025.xhtml22
-rw-r--r--testing/web-platform/tests/html/editing/dnd/svg/026.xhtml22
-rw-r--r--testing/web-platform/tests/html/editing/dnd/svg/027.xhtml20
-rw-r--r--testing/web-platform/tests/html/editing/dnd/svg/028.xhtml20
-rw-r--r--testing/web-platform/tests/html/editing/dnd/svg/029.xhtml21
-rw-r--r--testing/web-platform/tests/html/editing/dnd/svg/030-1.svg5
-rw-r--r--testing/web-platform/tests/html/editing/dnd/svg/030.xhtml32
-rw-r--r--testing/web-platform/tests/html/editing/dnd/svg/031.xhtml32
-rw-r--r--testing/web-platform/tests/html/editing/dnd/svg/032.xhtml21
-rw-r--r--testing/web-platform/tests/html/editing/dnd/svg/033.xhtml21
-rw-r--r--testing/web-platform/tests/html/editing/dnd/svg/034.xhtml21
-rw-r--r--testing/web-platform/tests/html/editing/dnd/svg/035.xhtml21
-rw-r--r--testing/web-platform/tests/html/editing/dnd/svg/036-1.svg4
-rw-r--r--testing/web-platform/tests/html/editing/dnd/svg/036.xhtml11
-rw-r--r--testing/web-platform/tests/html/editing/dnd/svg/037.xhtml11
-rw-r--r--testing/web-platform/tests/html/editing/dnd/svg/038.xhtml11
-rw-r--r--testing/web-platform/tests/html/editing/dnd/svg/039-1.svg4
-rw-r--r--testing/web-platform/tests/html/editing/dnd/svg/039.xhtml11
-rw-r--r--testing/web-platform/tests/html/editing/dnd/svg/040.xhtml11
-rw-r--r--testing/web-platform/tests/html/editing/dnd/svg/041.xhtml11
-rw-r--r--testing/web-platform/tests/html/editing/dnd/svg/042.xhtml21
-rw-r--r--testing/web-platform/tests/html/editing/dnd/svg/043.xhtml21
-rw-r--r--testing/web-platform/tests/html/editing/dnd/svg/044.svg10
-rw-r--r--testing/web-platform/tests/html/editing/dnd/svg/045.svg10
-rw-r--r--testing/web-platform/tests/html/editing/dnd/svg/046.svg14
-rw-r--r--testing/web-platform/tests/html/editing/dnd/svg/047.svg13
-rw-r--r--testing/web-platform/tests/html/editing/dnd/svg/048.svg13
-rw-r--r--testing/web-platform/tests/html/editing/dnd/svg/049.xhtml14
-rw-r--r--testing/web-platform/tests/html/editing/dnd/svg/050.xhtml13
-rw-r--r--testing/web-platform/tests/html/editing/dnd/svg/051.xhtml24
-rw-r--r--testing/web-platform/tests/html/editing/dnd/svg/052.svg28
-rw-r--r--testing/web-platform/tests/html/editing/dnd/svg/053.svg30
-rw-r--r--testing/web-platform/tests/html/editing/dnd/svg/054.svg35
-rw-r--r--testing/web-platform/tests/html/editing/dnd/svg/055.svg30
-rw-r--r--testing/web-platform/tests/html/editing/dnd/svg/056.svg69
-rw-r--r--testing/web-platform/tests/html/editing/dnd/svg/057.svg121
-rw-r--r--testing/web-platform/tests/html/editing/dnd/svg/058.svg36
-rw-r--r--testing/web-platform/tests/html/editing/dnd/svg/059-1.svg21
-rw-r--r--testing/web-platform/tests/html/editing/dnd/svg/059.svg15
-rw-r--r--testing/web-platform/tests/html/editing/dnd/svg/060-1.svg12
-rw-r--r--testing/web-platform/tests/html/editing/dnd/svg/060.svg28
-rw-r--r--testing/web-platform/tests/html/editing/dnd/svg/061.svg27
-rw-r--r--testing/web-platform/tests/html/editing/dnd/svg/062.svg17
-rw-r--r--testing/web-platform/tests/html/editing/dnd/svg/063.svg24
-rw-r--r--testing/web-platform/tests/html/editing/dnd/svg/064.svg26
-rw-r--r--testing/web-platform/tests/html/editing/dnd/svg/065.svg28
-rw-r--r--testing/web-platform/tests/html/editing/dnd/svg/066.svg31
-rw-r--r--testing/web-platform/tests/html/editing/dnd/svg/067.svg35
-rw-r--r--testing/web-platform/tests/html/editing/dnd/svg/helper-drop-selection-here-textArea.svg5
77 files changed, 1516 insertions, 0 deletions
diff --git a/testing/web-platform/tests/html/editing/dnd/svg/001.svg b/testing/web-platform/tests/html/editing/dnd/svg/001.svg
new file mode 100644
index 000000000..055a7b278
--- /dev/null
+++ b/testing/web-platform/tests/html/editing/dnd/svg/001.svg
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="utf-8"?>
+<svg xmlns="http://www.w3.org/2000/svg" version="1.2" width="500px" height="500px" viewBox="0 0 500 500">
+<title>Drag and drop of SVG text selection from text element to textArea</title>
+<text x="10" y="30" font-size="20">Select part of this text and drag selection to</text>
+<text x="10" y="60" font-size="20">the box below. Content of selection should be</text>
+<text x="10" y="90" font-size="20">copies once it's dropped in the box.</text>
+<textArea x="10" y="110" width="480" height="380" font-size="20" editable="simple" pointer-events="boundingBox">Drop selection here</textArea>
+<rect x="10" y="110" width="480" height="380" stroke="black" stroke-width="1" fill="none"/>
+</svg> \ No newline at end of file
diff --git a/testing/web-platform/tests/html/editing/dnd/svg/002.svg b/testing/web-platform/tests/html/editing/dnd/svg/002.svg
new file mode 100644
index 000000000..45ab566e6
--- /dev/null
+++ b/testing/web-platform/tests/html/editing/dnd/svg/002.svg
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="utf-8"?>
+<svg xmlns="http://www.w3.org/2000/svg" version="1.2" width="500px" height="500px" viewBox="0 0 500 500">
+<title>Drag and drop of SVG text selection from editable text element to textArea</title>
+<text x="10" y="30" editable="simple" font-size="20">Select part of this text and drag selection to</text>
+<text x="10" y="60" font-size="20">the box below. Content of selection should be</text>
+<text x="10" y="90" font-size="20">copies once it's dropped in the box.</text>
+<textArea x="10" y="110" width="480" height="380" font-size="20" editable="simple" pointer-events="boundingBox">Drop selection here</textArea>
+<rect x="10" y="110" width="480" height="380" stroke="black" stroke-width="1" fill="none"/>
+</svg> \ No newline at end of file
diff --git a/testing/web-platform/tests/html/editing/dnd/svg/003.svg b/testing/web-platform/tests/html/editing/dnd/svg/003.svg
new file mode 100644
index 000000000..c1f30cfbc
--- /dev/null
+++ b/testing/web-platform/tests/html/editing/dnd/svg/003.svg
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="utf-8"?>
+<svg xmlns="http://www.w3.org/2000/svg" version="1.2" width="500px" height="500px" viewBox="0 0 500 500">
+<title>Drag and drop of SVG text selection from tspan elements to textArea</title>
+<text x="10" y="30" font-size="20">
+ <tspan>Select part</tspan>
+ <tspan>of this text</tspan>
+ <tspan>and drag selection to</tspan>
+</text>
+<text x="10" y="60" font-size="20">the box below. Content of selection should be</text>
+<text x="10" y="90" font-size="20">copies once it's dropped in the box.</text>
+<textArea x="10" y="110" width="480" height="380" font-size="20" editable="simple" pointer-events="boundingBox">Drop selection here</textArea>
+<rect x="10" y="110" width="480" height="380" stroke="black" stroke-width="1" fill="none"/>
+</svg> \ No newline at end of file
diff --git a/testing/web-platform/tests/html/editing/dnd/svg/004.svg b/testing/web-platform/tests/html/editing/dnd/svg/004.svg
new file mode 100644
index 000000000..e3c4828a8
--- /dev/null
+++ b/testing/web-platform/tests/html/editing/dnd/svg/004.svg
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="utf-8"?>
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.2" width="500px" height="500px" viewBox="0 0 500 500">
+<title>Drag and drop of SVG text selection from tref element to textArea</title>
+<defs>
+ <text id="text">Select me</text>
+ </defs>
+<text x="10" y="30" font-size="20" fill="navy"><tref xlink:href="#text"/></text>
+<text x="10" y="60" font-size="20">Select text above and drag selection to</text>
+<text x="10" y="90" font-size="20">the box below. Content of selection should be</text>
+<text x="10" y="120" font-size="20">copies once it's dropped in the box.</text>
+<textArea x="10" y="130" width="480" height="360" font-size="20" editable="simple" pointer-events="boundingBox">Drop selection here</textArea>
+<rect x="10" y="130" width="480" height="360" stroke="black" stroke-width="1" fill="none"/>
+</svg> \ No newline at end of file
diff --git a/testing/web-platform/tests/html/editing/dnd/svg/005.svg b/testing/web-platform/tests/html/editing/dnd/svg/005.svg
new file mode 100644
index 000000000..9bb3bd68b
--- /dev/null
+++ b/testing/web-platform/tests/html/editing/dnd/svg/005.svg
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="utf-8"?>
+<svg xmlns="http://www.w3.org/2000/svg" version="1.2" width="500px" height="500px" viewBox="0 0 500 500">
+<title>Drag and drop of SVG text selection from textArea to textArea</title>
+<textArea x="10" y="10" width="480" height="90" font-size="20">Select part of this text and drag selection to the box below.
+Content of selection should be copied once it's dropped in the box.</textArea>
+<textArea x="10" y="110" width="480" height="380" font-size="20" editable="simple" pointer-events="boundingBox">Drop selection here</textArea>
+<rect x="10" y="110" width="480" height="380" stroke="black" stroke-width="1" fill="none"/>
+</svg> \ No newline at end of file
diff --git a/testing/web-platform/tests/html/editing/dnd/svg/006.svg b/testing/web-platform/tests/html/editing/dnd/svg/006.svg
new file mode 100644
index 000000000..5edeba697
--- /dev/null
+++ b/testing/web-platform/tests/html/editing/dnd/svg/006.svg
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="utf-8"?>
+<svg xmlns="http://www.w3.org/2000/svg" version="1.2" width="500px" height="500px" viewBox="0 0 500 500">
+<title>Drag and drop of SVG text selection from text element to editable text element</title>
+<text x="10" y="30" font-size="20">Select part of this text and drag selection to</text>
+<text x="10" y="60" font-size="20">the box below. Content of selection should be</text>
+<text x="10" y="90" font-size="20">copies once it's dropped in the box.</text>
+<text x="10" y="200" font-size="50" editable="simple">                             </text>
+<rect x="10" y="160" width="480" height="50" stroke="black" stroke-width="1" fill="none"/>
+</svg> \ No newline at end of file
diff --git a/testing/web-platform/tests/html/editing/dnd/svg/007.svg b/testing/web-platform/tests/html/editing/dnd/svg/007.svg
new file mode 100644
index 000000000..7d8bcf8d4
--- /dev/null
+++ b/testing/web-platform/tests/html/editing/dnd/svg/007.svg
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="utf-8"?>
+<svg xmlns="http://www.w3.org/2000/svg" version="1.2" width="500px" height="500px" viewBox="0 0 500 500">
+<title>Drag and drop of SVG text selection between editable text elements</title>
+<text x="10" y="30" font-size="20" editable="simple">Select part of this text and drag selection to</text>
+<text x="10" y="60" font-size="20">the box below. Content of selection should be</text>
+<text x="10" y="90" font-size="20">copies once it's dropped in the box.</text>
+<text x="10" y="200" font-size="50" editable="simple">                             </text>
+<rect x="10" y="160" width="480" height="50" stroke="black" stroke-width="1" fill="none"/>
+</svg> \ No newline at end of file
diff --git a/testing/web-platform/tests/html/editing/dnd/svg/008.svg b/testing/web-platform/tests/html/editing/dnd/svg/008.svg
new file mode 100644
index 000000000..167f73feb
--- /dev/null
+++ b/testing/web-platform/tests/html/editing/dnd/svg/008.svg
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="utf-8"?>
+<svg xmlns="http://www.w3.org/2000/svg" version="1.2" width="500px" height="500px" viewBox="0 0 500 500">
+<title>Drag and drop of SVG text selection from tspan element to editable text element</title>
+<text x="10" y="30" font-size="20">
+ <tspan>Select part</tspan>
+ <tspan>of this text</tspan>
+ <tspan>and drag selection to</tspan>
+</text>
+<text x="10" y="60" font-size="20">the box below. Content of selection should be</text>
+<text x="10" y="90" font-size="20">copies once it's dropped in the box.</text>
+<text x="10" y="200" font-size="50" editable="simple">                             </text>
+<rect x="10" y="160" width="480" height="50" stroke="black" stroke-width="1" fill="none"/>
+</svg> \ No newline at end of file
diff --git a/testing/web-platform/tests/html/editing/dnd/svg/009.svg b/testing/web-platform/tests/html/editing/dnd/svg/009.svg
new file mode 100644
index 000000000..e7bd622a0
--- /dev/null
+++ b/testing/web-platform/tests/html/editing/dnd/svg/009.svg
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="utf-8"?>
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.2" width="500px" height="500px" viewBox="0 0 500 500">
+<title>Drag and drop of SVG text selection from tref element to editable text element</title>
+<defs>
+ <text id="text">Select me</text>
+ </defs>
+<text x="10" y="30" font-size="20" fill="navy"><tref xlink:href="#text"/></text>
+<text x="10" y="60" font-size="20">Select text above and drag selection to</text>
+<text x="10" y="90" font-size="20">the box below. Content of selection should be</text>
+<text x="10" y="120" font-size="20">copies once it's dropped in the box.</text>
+<text x="10" y="200" font-size="50" editable="simple">                             </text>
+<rect x="10" y="160" width="480" height="50" stroke="black" stroke-width="1" fill="none"/>
+</svg> \ No newline at end of file
diff --git a/testing/web-platform/tests/html/editing/dnd/svg/010.svg b/testing/web-platform/tests/html/editing/dnd/svg/010.svg
new file mode 100644
index 000000000..c5cce1867
--- /dev/null
+++ b/testing/web-platform/tests/html/editing/dnd/svg/010.svg
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="utf-8"?>
+<svg xmlns="http://www.w3.org/2000/svg" version="1.2" width="500px" height="500px" viewBox="0 0 500 500">
+<title>Drag and drop of SVG text selection from textArea to editable text element</title>
+<textArea x="10" y="10" width="480" height="90" font-size="20">Select part of this text and drag selection to the box below.
+Content of selection should be copied once it's dropped in the box.</textArea>
+<text x="10" y="200" font-size="50" editable="simple">                             </text>
+<rect x="10" y="160" width="480" height="50" stroke="black" stroke-width="1" fill="none"/>
+</svg> \ No newline at end of file
diff --git a/testing/web-platform/tests/html/editing/dnd/svg/011.svg b/testing/web-platform/tests/html/editing/dnd/svg/011.svg
new file mode 100644
index 000000000..8f07c3c82
--- /dev/null
+++ b/testing/web-platform/tests/html/editing/dnd/svg/011.svg
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="utf-8"?>
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.2" width="500px" height="500px" viewBox="0 0 500 500">
+<title>Drag and drop of SVG text selection from textpath to textArea</title>
+<defs>
+ <path id="path" d="M 10 40 C 10 20 480 20 480 40"/>
+</defs>
+<text fill="navy">
+ <textPath xlink:href="#path">Some selectable text rendered along curved text path</textPath>
+</text>
+<text x="10" y="60" font-size="20">Select part of text above and drag selection to</text>
+<text x="10" y="90" font-size="20">the box below. Content of selection should be</text>
+<text x="10" y="120" font-size="20">copies once it's dropped in the box.</text>
+<textArea x="10" y="130" width="480" height="360" font-size="20" editable="simple" pointer-events="boundingBox">Drop selection here</textArea>
+<rect x="10" y="130" width="480" height="360" stroke="black" stroke-width="1" fill="none"/>
+</svg> \ No newline at end of file
diff --git a/testing/web-platform/tests/html/editing/dnd/svg/012.svg b/testing/web-platform/tests/html/editing/dnd/svg/012.svg
new file mode 100644
index 000000000..18c027655
--- /dev/null
+++ b/testing/web-platform/tests/html/editing/dnd/svg/012.svg
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="utf-8"?>
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.2" width="500px" height="500px" viewBox="0 0 500 500">
+<title>Drag and drop of SVG text selection from editable textpath to textArea</title>
+<defs>
+ <path id="path" d="M 10 40 C 10 20 480 20 480 40"/>
+</defs>
+<text fill="navy" editable="simple">
+ <textPath xlink:href="#path">Some selectable text rendered along curved text path</textPath>
+</text>
+<text x="10" y="60" font-size="20">Select part of text above and drag selection to</text>
+<text x="10" y="90" font-size="20">the box below. Content of selection should be</text>
+<text x="10" y="120" font-size="20">copies once it's dropped in the box.</text>
+<textArea x="10" y="130" width="480" height="360" font-size="20" editable="simple" pointer-events="boundingBox">Drop selection here</textArea>
+<rect x="10" y="130" width="480" height="360" stroke="black" stroke-width="1" fill="none"/>
+</svg> \ No newline at end of file
diff --git a/testing/web-platform/tests/html/editing/dnd/svg/013-1.xhtml b/testing/web-platform/tests/html/editing/dnd/svg/013-1.xhtml
new file mode 100644
index 000000000..a97dce1f2
--- /dev/null
+++ b/testing/web-platform/tests/html/editing/dnd/svg/013-1.xhtml
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="utf-8"?>
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<title>Drag and drop from SVG: helper file</title>
+<style type="text/css">
+textarea
+ {width:400px;
+ height:300px;
+ padding:10px;}
+</style>
+</head>
+<body>
+<p><textarea placeholder="Drop selection here"/></p>
+</body>
+</html> \ No newline at end of file
diff --git a/testing/web-platform/tests/html/editing/dnd/svg/013.svg b/testing/web-platform/tests/html/editing/dnd/svg/013.svg
new file mode 100644
index 000000000..d312135be
--- /dev/null
+++ b/testing/web-platform/tests/html/editing/dnd/svg/013.svg
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="utf-8"?>
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.2" width="500px" height="500px" viewBox="0 0 500 500">
+<title>Drag and drop of SVG text selection from text element to XHTML textarea in foreignObject</title>
+<text x="10" y="30" font-size="20">Select part of this text and drag selection to</text>
+<text x="10" y="60" font-size="20">the box below. Content of selection should be</text>
+<text x="10" y="90" font-size="20">copies once it's dropped in the box.</text>
+<switch>
+ <foreignObject x="10" y="120" width="480" height="380" requiredExtensions="http://www.w3.org/1999/xhtml" xlink:href="013-1.xhtml"/>
+ <text x="10" y="150" font-size="20">Skip the test (foreignObject is not supported).</text>
+</switch>
+</svg> \ No newline at end of file
diff --git a/testing/web-platform/tests/html/editing/dnd/svg/014-1.xhtml b/testing/web-platform/tests/html/editing/dnd/svg/014-1.xhtml
new file mode 100644
index 000000000..674870d05
--- /dev/null
+++ b/testing/web-platform/tests/html/editing/dnd/svg/014-1.xhtml
@@ -0,0 +1,18 @@
+<?xml version="1.0" encoding="utf-8"?>
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<title>Drag and drop from SVG: helper file</title>
+<style type="text/css">
+div[contenteditable]
+ {width:300px;
+ height:100px;
+ margin-top:20px;
+ padding:10px;
+ color:white;
+ background-color:navy;}
+</style>
+</head>
+<body>
+<div contenteditable="true"/>
+</body>
+</html> \ No newline at end of file
diff --git a/testing/web-platform/tests/html/editing/dnd/svg/014.svg b/testing/web-platform/tests/html/editing/dnd/svg/014.svg
new file mode 100644
index 000000000..772a9fdef
--- /dev/null
+++ b/testing/web-platform/tests/html/editing/dnd/svg/014.svg
@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="utf-8"?>
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.2" width="500px" height="500px" viewBox="0 0 500 500">
+<title>Drag and drop of SVG text selection from textArea to contenteditable element in foreignObject</title>
+<textArea x="10" y="10" width="480" height="90" font-size="20">Select part of this text and drag selection to the box below.
+Content of selection should be copied once it's dropped in the box.</textArea>
+<switch>
+ <foreignObject x="10" y="120" width="480" height="380" requiredExtensions="http://www.w3.org/1999/xhtml" xlink:href="014-1.xhtml"/>
+ <text x="10" y="150" font-size="20">Skip the test (foreignObject is not supported).</text>
+</switch>
+</svg> \ No newline at end of file
diff --git a/testing/web-platform/tests/html/editing/dnd/svg/015-1.xhtml b/testing/web-platform/tests/html/editing/dnd/svg/015-1.xhtml
new file mode 100644
index 000000000..f5217a91e
--- /dev/null
+++ b/testing/web-platform/tests/html/editing/dnd/svg/015-1.xhtml
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="utf-8"?>
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<title>Drag and drop from SVG: helper file</title>
+</head>
+<body>
+<input placeholder="Drop selection here"/>
+</body>
+</html> \ No newline at end of file
diff --git a/testing/web-platform/tests/html/editing/dnd/svg/015.svg b/testing/web-platform/tests/html/editing/dnd/svg/015.svg
new file mode 100644
index 000000000..3f97727c5
--- /dev/null
+++ b/testing/web-platform/tests/html/editing/dnd/svg/015.svg
@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="utf-8"?>
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.2" width="500px" height="500px" viewBox="0 0 500 500">
+<title>Drag and drop of SVG text selection from textArea to XHTML input in foreignObject</title>
+<textArea x="10" y="10" width="480" height="90" font-size="20">Select part of this text and drag selection to the box below.
+Content of selection should be copied once it's dropped in the box.</textArea>
+<switch>
+ <foreignObject x="10" y="120" width="480" height="380" requiredExtensions="http://www.w3.org/1999/xhtml" xlink:href="015-1.xhtml"/>
+ <text x="10" y="150" font-size="20">Skip the test (foreignObject is not supported).</text>
+</switch>
+</svg> \ No newline at end of file
diff --git a/testing/web-platform/tests/html/editing/dnd/svg/016-1.xhtml b/testing/web-platform/tests/html/editing/dnd/svg/016-1.xhtml
new file mode 100644
index 000000000..484d4b4eb
--- /dev/null
+++ b/testing/web-platform/tests/html/editing/dnd/svg/016-1.xhtml
@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="utf-8"?>
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<title>Drag and drop from SVG: helper file</title>
+<style type="text/css">
+div[ondragenter]
+ {width:300px;
+ height:100px;
+ margin-top:20px;
+ padding:10px;
+ color:white;
+ background-color:navy;}
+</style>
+</head>
+<body>
+<div
+ ondragenter="event.preventDefault();event.dataTransfer.effectAllowed = 'copy'"
+ ondragover="return false"
+ ondrop="document.querySelector('div').appendChild(document.createTextNode(event.dataTransfer.getData('text/plain')))"
+/>
+</body>
+</html> \ No newline at end of file
diff --git a/testing/web-platform/tests/html/editing/dnd/svg/016.svg b/testing/web-platform/tests/html/editing/dnd/svg/016.svg
new file mode 100644
index 000000000..60d9e40c7
--- /dev/null
+++ b/testing/web-platform/tests/html/editing/dnd/svg/016.svg
@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="utf-8"?>
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.2" width="500px" height="500px" viewBox="0 0 500 500">
+<title>Drag and drop of SVG text selection from textArea to foreignObject</title>
+<textArea x="10" y="10" width="480" height="90" font-size="20">Select part of this text and drag selection to the box below.
+Content of selection should be copied once it's dropped in the box.</textArea>
+<switch>
+ <foreignObject x="10" y="120" width="480" height="380" requiredExtensions="http://www.w3.org/1999/xhtml" xlink:href="016-1.xhtml"/>
+ <text x="10" y="150" font-size="20">Skip the test (foreignObject is not supported).</text>
+</switch>
+</svg> \ No newline at end of file
diff --git a/testing/web-platform/tests/html/editing/dnd/svg/017.xhtml b/testing/web-platform/tests/html/editing/dnd/svg/017.xhtml
new file mode 100644
index 000000000..598a2c6f3
--- /dev/null
+++ b/testing/web-platform/tests/html/editing/dnd/svg/017.xhtml
@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="utf-8"?>
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<title>Dragging selection to SVG textArea</title>
+</head>
+<body onload="window.getSelection().selectAllChildren(document.querySelector('p'))">
+<p>Drag me</p>
+<p>Drag selection above to the box below. Copy of selection should end up in the box once you drop it there.</p>
+<svg xmlns="http://www.w3.org/2000/svg" version="1.2" width="500px" height="300px" viewBox="0 0 500 300">
+<textArea x="10" y="10" width="480" height="280" font-size="20" editable="simple" pointer-events="boundingBox">Drop selection here</textArea>
+<rect x="10" y="10" width="480" height="280" stroke="black" stroke-width="1" fill="none"/>
+</svg>
+</body>
+</html> \ No newline at end of file
diff --git a/testing/web-platform/tests/html/editing/dnd/svg/018.xhtml b/testing/web-platform/tests/html/editing/dnd/svg/018.xhtml
new file mode 100644
index 000000000..03ac442a3
--- /dev/null
+++ b/testing/web-platform/tests/html/editing/dnd/svg/018.xhtml
@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="utf-8"?>
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<title>Dragging selection from XHTML text input to SVG textArea</title>
+</head>
+<body onload="document.querySelector('input').select()">
+<p><input value="Drag me"/></p>
+<p>Drag selection above to the blue box. Copy of selection should end up in the blue box once you drop it there.</p>
+<svg xmlns="http://www.w3.org/2000/svg" version="1.2" width="500px" height="300px" viewBox="0 0 500 300">
+<textArea x="10" y="10" width="480" height="280" font-size="20" editable="simple" pointer-events="boundingBox">Drop selection here</textArea>
+<rect x="10" y="10" width="480" height="280" stroke="black" stroke-width="1" fill="none"/>
+</svg>
+</body>
+</html> \ No newline at end of file
diff --git a/testing/web-platform/tests/html/editing/dnd/svg/019.xhtml b/testing/web-platform/tests/html/editing/dnd/svg/019.xhtml
new file mode 100644
index 000000000..6c16875a1
--- /dev/null
+++ b/testing/web-platform/tests/html/editing/dnd/svg/019.xhtml
@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="utf-8"?>
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<title>Dragging selection from XHTML textarea to SVG textArea</title>
+<style type="text/css">
+textarea
+ {height:1.5em;
+ width:7em;}
+</style>
+</head>
+<body onload="var t = document.querySelector('textarea');t.select();t.setSelectionRange(0,7)">
+<p><textarea>Drag me</textarea></p>
+<p>Drag selection above to the blue box. Copy of selection should end up in the blue box once you drop it there.</p>
+<svg xmlns="http://www.w3.org/2000/svg" version="1.2" width="500px" height="300px" viewBox="0 0 500 300">
+<textArea x="10" y="10" width="480" height="280" font-size="20" editable="simple" pointer-events="boundingBox">Drop selection here</textArea>
+<rect x="10" y="10" width="480" height="280" stroke="black" stroke-width="1" fill="none"/>
+</svg>
+</body>
+</html> \ No newline at end of file
diff --git a/testing/web-platform/tests/html/editing/dnd/svg/020.xhtml b/testing/web-platform/tests/html/editing/dnd/svg/020.xhtml
new file mode 100644
index 000000000..c3c50fd9e
--- /dev/null
+++ b/testing/web-platform/tests/html/editing/dnd/svg/020.xhtml
@@ -0,0 +1,27 @@
+<?xml version="1.0" encoding="utf-8"?>
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<title>Dragging multiline selection from XHTML textarea to SVG textArea</title>
+<style type="text/css">
+textarea
+ {width:300px;
+ height:100px;}
+</style>
+</head>
+<body onload="var t = document.querySelector('textarea');t.select();t.setSelectionRange(25,56)">
+<p>
+<textarea>
+Here is textarea
+with selection that
+spans two lines.
+Drag selected text to the blue box.
+Copy of selection should end up in the blue box once you drop it there.
+</textarea>
+</p>
+<p>Drag selection above to the textarea below. Copy of selection should end up in the textarea once you drop it there.</p>
+<svg xmlns="http://www.w3.org/2000/svg" version="1.2" width="500px" height="300px" viewBox="0 0 500 300">
+<textArea x="10" y="10" width="480" height="280" font-size="20" editable="simple" pointer-events="boundingBox">Drop selection here</textArea>
+<rect x="10" y="10" width="480" height="280" stroke="black" stroke-width="1" fill="none"/>
+</svg>
+</body>
+</html>
diff --git a/testing/web-platform/tests/html/editing/dnd/svg/021.xhtml b/testing/web-platform/tests/html/editing/dnd/svg/021.xhtml
new file mode 100644
index 000000000..3cc07af28
--- /dev/null
+++ b/testing/web-platform/tests/html/editing/dnd/svg/021.xhtml
@@ -0,0 +1,26 @@
+<?xml version="1.0" encoding="utf-8"?>
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<title>Dragging selection from SVG text element to XHTML element</title>
+<style type="text/css">
+div[ondragenter]
+ {width:300px;
+ height:100px;
+ margin-top:20px;
+ padding:10px;
+ color:white;
+ background-color:navy;}
+</style>
+</head>
+<body>
+<svg xmlns="http://www.w3.org/2000/svg" version="1.1" width="200px" height="50px" viewBox="0 0 200 50">
+<text x="10" y="45" font-size="30" fill="navy">Select me</text>
+</svg>
+<p>Select the text above and drag selection to the blue box. Copy of selection should end up in the blue box once you drop it there.</p>
+<div
+ ondragenter="event.preventDefault()"
+ ondragover="return false"
+ ondrop="document.querySelector('div').appendChild(document.createTextNode(event.dataTransfer.getData('text/plain')))"
+/>
+</body>
+</html> \ No newline at end of file
diff --git a/testing/web-platform/tests/html/editing/dnd/svg/022.xhtml b/testing/web-platform/tests/html/editing/dnd/svg/022.xhtml
new file mode 100644
index 000000000..bd619ca00
--- /dev/null
+++ b/testing/web-platform/tests/html/editing/dnd/svg/022.xhtml
@@ -0,0 +1,26 @@
+<?xml version="1.0" encoding="utf-8"?>
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<title>Dragging selection from SVG editable text element to XHTML element</title>
+<style type="text/css">
+div[ondragenter]
+ {width:300px;
+ height:100px;
+ margin-top:20px;
+ padding:10px;
+ color:white;
+ background-color:navy;}
+</style>
+</head>
+<body>
+<svg xmlns="http://www.w3.org/2000/svg" version="1.1" width="200px" height="50px" viewBox="0 0 200 50">
+<text x="10" y="45" font-size="30" fill="navy" editable="simple">Select me</text>
+</svg>
+<p>Select the text above and drag selection to the blue box. Copy of selection should end up in the blue box once you drop it there.</p>
+<div
+ ondragenter="event.preventDefault()"
+ ondragover="return false"
+ ondrop="document.querySelector('div').appendChild(document.createTextNode(event.dataTransfer.getData('text/plain')))"
+/>
+</body>
+</html> \ No newline at end of file
diff --git a/testing/web-platform/tests/html/editing/dnd/svg/023.xhtml b/testing/web-platform/tests/html/editing/dnd/svg/023.xhtml
new file mode 100644
index 000000000..3ada55cef
--- /dev/null
+++ b/testing/web-platform/tests/html/editing/dnd/svg/023.xhtml
@@ -0,0 +1,26 @@
+<?xml version="1.0" encoding="utf-8"?>
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<title>Dragging selection from SVG textArea to XHTML element</title>
+<style type="text/css">
+div[ondragenter]
+ {width:300px;
+ height:100px;
+ margin-top:20px;
+ padding:10px;
+ color:white;
+ background-color:navy;}
+</style>
+</head>
+<body>
+<svg xmlns="http://www.w3.org/2000/svg" version="1.1" width="500px" height="100px" viewBox="0 0 500 100">
+<textArea x="10" y="10" width="480" height="90" font-size="20">Select part of this text and drag selection to the box below.
+Content of selection should be copied once it's dropped in the box.</textArea>
+</svg>
+<div
+ ondragenter="event.preventDefault()"
+ ondragover="return false"
+ ondrop="document.querySelector('div').appendChild(document.createTextNode(event.dataTransfer.getData('text/plain')))"
+/>
+</body>
+</html> \ No newline at end of file
diff --git a/testing/web-platform/tests/html/editing/dnd/svg/024.xhtml b/testing/web-platform/tests/html/editing/dnd/svg/024.xhtml
new file mode 100644
index 000000000..58349cdcf
--- /dev/null
+++ b/testing/web-platform/tests/html/editing/dnd/svg/024.xhtml
@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="utf-8"?>
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<title>Dragging selection from SVG text element to contenteditable element</title>
+<style type="text/css">
+div[contenteditable]
+ {width:300px;
+ height:100px;
+ margin-top:20px;
+ padding:10px;
+ color:white;
+ background-color:navy;}
+</style>
+</head>
+<body>
+<svg xmlns="http://www.w3.org/2000/svg" version="1.1" width="200px" height="50px" viewBox="0 0 200 50">
+<text x="10" y="45" font-size="30" fill="navy">Select me</text>
+</svg>
+<p>Select the text above and drag selection to the blue box. Copy of selection should end up in the blue box once you drop it there.</p>
+<div contenteditable="true"/>
+</body>
+</html> \ No newline at end of file
diff --git a/testing/web-platform/tests/html/editing/dnd/svg/025.xhtml b/testing/web-platform/tests/html/editing/dnd/svg/025.xhtml
new file mode 100644
index 000000000..236e1655e
--- /dev/null
+++ b/testing/web-platform/tests/html/editing/dnd/svg/025.xhtml
@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="utf-8"?>
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<title>Dragging selection from SVG editable text element to contenteditable element</title>
+<style type="text/css">
+div[contenteditable]
+ {width:300px;
+ height:100px;
+ margin-top:20px;
+ padding:10px;
+ color:white;
+ background-color:navy;}
+</style>
+</head>
+<body>
+<svg xmlns="http://www.w3.org/2000/svg" version="1.2" width="200px" height="50px" viewBox="0 0 200 50">
+<text x="10" y="45" font-size="30" fill="navy" editable="simple">Select me</text>
+</svg>
+<p>Select the text above and drag selection to the blue box. Copy of selection should end up in the blue box once you drop it there.</p>
+<div contenteditable="true"/>
+</body>
+</html> \ No newline at end of file
diff --git a/testing/web-platform/tests/html/editing/dnd/svg/026.xhtml b/testing/web-platform/tests/html/editing/dnd/svg/026.xhtml
new file mode 100644
index 000000000..b387f0a00
--- /dev/null
+++ b/testing/web-platform/tests/html/editing/dnd/svg/026.xhtml
@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="utf-8"?>
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<title>Dragging selection from SVG textArea to contenteditable element</title>
+<style type="text/css">
+div[contenteditable]
+ {width:300px;
+ height:100px;
+ margin-top:20px;
+ padding:10px;
+ color:white;
+ background-color:navy;}
+</style>
+</head>
+<body>
+<svg xmlns="http://www.w3.org/2000/svg" version="1.1" width="500px" height="100px" viewBox="0 0 500 100">
+<textArea x="10" y="10" width="480" height="90" font-size="20">Select part of this text and drag selection to the box below.
+Content of selection should be copied once it's dropped in the box.</textArea>
+</svg>
+<div contenteditable="true"/>
+</body>
+</html> \ No newline at end of file
diff --git a/testing/web-platform/tests/html/editing/dnd/svg/027.xhtml b/testing/web-platform/tests/html/editing/dnd/svg/027.xhtml
new file mode 100644
index 000000000..d122bae19
--- /dev/null
+++ b/testing/web-platform/tests/html/editing/dnd/svg/027.xhtml
@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="utf-8"?>
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<title>Dragging selection from SVG text element to XHTML textarea</title>
+<style type="text/css">
+textarea
+ {width:300px;
+ height:100px;
+ margin-top:20px;
+ padding:10px;}
+</style>
+</head>
+<body>
+<svg xmlns="http://www.w3.org/2000/svg" version="1.1" width="200px" height="50px" viewBox="0 0 200 50">
+<text x="10" y="45" font-size="30" fill="navy">Select me</text>
+</svg>
+<p>Select the text above and drag selection to the textarea. Copy of selection should end up in the textarea once you drop it there.</p>
+<p><textarea placeholder="Drop selection here"/></p>
+</body>
+</html> \ No newline at end of file
diff --git a/testing/web-platform/tests/html/editing/dnd/svg/028.xhtml b/testing/web-platform/tests/html/editing/dnd/svg/028.xhtml
new file mode 100644
index 000000000..1d5437117
--- /dev/null
+++ b/testing/web-platform/tests/html/editing/dnd/svg/028.xhtml
@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="utf-8"?>
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<title>Dragging selection from SVG editable text element to XHTML textarea</title>
+<style type="text/css">
+textarea
+ {width:300px;
+ height:100px;
+ margin-top:20px;
+ padding:10px;}
+</style>
+</head>
+<body>
+<svg xmlns="http://www.w3.org/2000/svg" version="1.2" width="200px" height="50px" viewBox="0 0 200 50">
+<text x="10" y="45" font-size="30" fill="navy" editable="simple">Select me</text>
+</svg>
+<p>Select the text above and drag selection to the textarea. Copy of selection should end up in the textarea once you drop it there.</p>
+<p><textarea placeholder="Drop selection here"/></p>
+</body>
+</html> \ No newline at end of file
diff --git a/testing/web-platform/tests/html/editing/dnd/svg/029.xhtml b/testing/web-platform/tests/html/editing/dnd/svg/029.xhtml
new file mode 100644
index 000000000..02e258e85
--- /dev/null
+++ b/testing/web-platform/tests/html/editing/dnd/svg/029.xhtml
@@ -0,0 +1,21 @@
+<?xml version="1.0" encoding="utf-8"?>
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<title>Dragging selection from SVG textArea to XHTML textarea</title>
+<style type="text/css">
+textarea
+ {width:300px;
+ height:100px;
+ margin-top:20px;
+ padding:10px;}
+</style>
+</head>
+<body>
+<svg xmlns="http://www.w3.org/2000/svg" version="1.1" width="500px" height="100px" viewBox="0 0 500 100">
+<textArea x="10" y="10" width="480" height="90" font-size="20">Select part of this text and drag selection to the box below.
+Content of selection should be copied once it's dropped in the box.</textArea>
+</svg>
+<p>Select the text above and drag selection to the textarea. Copy of selection should end up in the textarea once you drop it there.</p>
+<p><textarea placeholder="Drop selection here"/></p>
+</body>
+</html> \ No newline at end of file
diff --git a/testing/web-platform/tests/html/editing/dnd/svg/030-1.svg b/testing/web-platform/tests/html/editing/dnd/svg/030-1.svg
new file mode 100644
index 000000000..62798a7e1
--- /dev/null
+++ b/testing/web-platform/tests/html/editing/dnd/svg/030-1.svg
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="utf-8"?>
+<svg xmlns="http://www.w3.org/2000/svg" version="1.1" width="100px" height="100px" viewBox="0 0 100 100">
+<circle cx="50" cy="50" r="50" fill="green"/>
+</svg>
+
diff --git a/testing/web-platform/tests/html/editing/dnd/svg/030.xhtml b/testing/web-platform/tests/html/editing/dnd/svg/030.xhtml
new file mode 100644
index 000000000..dd6f7fa22
--- /dev/null
+++ b/testing/web-platform/tests/html/editing/dnd/svg/030.xhtml
@@ -0,0 +1,32 @@
+<?xml version="1.0" encoding="utf-8"?>
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<title>SVG image drag and drop</title>
+<style type="text/css">
+div[ondragenter]
+ {width:105px;
+ min-height:105px;
+ text-align:center;
+ margin-top:20px;
+ padding:10px;
+ border:solid thin navy;}
+p:first-child
+ {padding-left:12px;}
+</style>
+<script type="application/ecmascript">
+function addImage(event)
+ {var c = document.createElement('img');
+ c.setAttribute('src',event.dataTransfer.getData('text/uri-list'));
+ document.querySelector('div').appendChild(c);}
+</script>
+</head>
+<body>
+<p><img src="030-1.svg" alt="SVG circle" ondragstart="event.dataTransfer.effectAllowed = 'copy'"/></p>
+<p>Drag circle above to the box below. It should be copied to the box once you drop it there.</p>
+<div
+ ondragenter="event.preventDefault()"
+ ondragover="return false"
+ ondrop="addImage(event)"
+/>
+</body>
+</html> \ No newline at end of file
diff --git a/testing/web-platform/tests/html/editing/dnd/svg/031.xhtml b/testing/web-platform/tests/html/editing/dnd/svg/031.xhtml
new file mode 100644
index 000000000..a21fdc0f6
--- /dev/null
+++ b/testing/web-platform/tests/html/editing/dnd/svg/031.xhtml
@@ -0,0 +1,32 @@
+<?xml version="1.0" encoding="utf-8"?>
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<title>SVG dataURL image drag and drop</title>
+<style type="text/css">
+div[ondragenter]
+ {width:105px;
+ min-height:105px;
+ text-align:center;
+ margin-top:20px;
+ padding:10px;
+ border:solid thin navy;}
+p:first-child
+ {padding-left:12px;}
+</style>
+<script type="application/ecmascript">
+function addImage(event)
+ {var c = document.createElement('img');
+ c.setAttribute('src',event.dataTransfer.getData('text/uri-list'));
+ document.querySelector('div').appendChild(c);}
+</script>
+</head>
+<body>
+<p><img src="data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20version%3D%221.1%22%20width%3D%22100px%22%20height%3D%22100px%22%20viewBox%3D%220%200%20100%20100%22%3E%3Ccircle%20cx%3D%2250%22%20cy%3D%2250%22%20r%3D%2250%22%20fill%3D%22green%22/%3E%3C/svg%3E" alt="SVG circle" ondragstart="event.dataTransfer.effectAllowed = 'copy'"/></p>
+<p>Drag circle above to the box below. It should be copied to the box once you drop it there.</p>
+<div
+ ondragenter="event.preventDefault()"
+ ondragover="return false"
+ ondrop="addImage(event)"
+/>
+</body>
+</html> \ No newline at end of file
diff --git a/testing/web-platform/tests/html/editing/dnd/svg/032.xhtml b/testing/web-platform/tests/html/editing/dnd/svg/032.xhtml
new file mode 100644
index 000000000..bdc6c9904
--- /dev/null
+++ b/testing/web-platform/tests/html/editing/dnd/svg/032.xhtml
@@ -0,0 +1,21 @@
+<?xml version="1.0" encoding="utf-8"?>
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<title>Cross fragment drag and drop of SVG text selection from text element to textArea</title>
+<style type="text/css">
+textarea
+ {width:300px;
+ height:100px;}
+</style>
+</head>
+<body>
+<svg xmlns="http://www.w3.org/2000/svg" version="1.1" width="200px" height="50px" viewBox="0 0 200 50">
+<text x="10" y="45" font-size="30" fill="navy">Select me</text>
+</svg>
+<p>Drag selection above to the textarea below. Copy of selection should end up in the textarea once you drop it there.</p>
+<svg xmlns="http://www.w3.org/2000/svg" version="1.2" width="500px" height="300px" viewBox="0 0 500 300">
+<textArea x="10" y="10" width="480" height="280" font-size="20" editable="simple" pointer-events="boundingBox">Drop selection here</textArea>
+<rect x="10" y="10" width="480" height="280" stroke="black" stroke-width="1" fill="none"/>
+</svg>
+</body>
+</html> \ No newline at end of file
diff --git a/testing/web-platform/tests/html/editing/dnd/svg/033.xhtml b/testing/web-platform/tests/html/editing/dnd/svg/033.xhtml
new file mode 100644
index 000000000..1888875ab
--- /dev/null
+++ b/testing/web-platform/tests/html/editing/dnd/svg/033.xhtml
@@ -0,0 +1,21 @@
+<?xml version="1.0" encoding="utf-8"?>
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<title>Cross fragment drag and drop of SVG text selection from editable text element to textArea</title>
+<style type="text/css">
+textarea
+ {width:300px;
+ height:100px;}
+</style>
+</head>
+<body>
+<svg xmlns="http://www.w3.org/2000/svg" version="1.1" width="200px" height="50px" viewBox="0 0 200 50">
+<text x="10" y="45" font-size="30" fill="navy" editable="simple">Select me</text>
+</svg>
+<p>Drag selection above to the textarea below. Copy of selection should end up in the textarea once you drop it there.</p>
+<svg xmlns="http://www.w3.org/2000/svg" version="1.2" width="500px" height="300px" viewBox="0 0 500 300">
+<textArea x="10" y="10" width="480" height="280" font-size="20" editable="simple" pointer-events="boundingBox">Drop selection here</textArea>
+<rect x="10" y="10" width="480" height="280" stroke="black" stroke-width="1" fill="none"/>
+</svg>
+</body>
+</html> \ No newline at end of file
diff --git a/testing/web-platform/tests/html/editing/dnd/svg/034.xhtml b/testing/web-platform/tests/html/editing/dnd/svg/034.xhtml
new file mode 100644
index 000000000..0e9e4ea44
--- /dev/null
+++ b/testing/web-platform/tests/html/editing/dnd/svg/034.xhtml
@@ -0,0 +1,21 @@
+<?xml version="1.0" encoding="utf-8"?>
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<title>Cross fragment drag and drop of SVG text selection from textArea to editable text element</title>
+<style type="text/css">
+textarea
+ {width:300px;
+ height:100px;}
+</style>
+</head>
+<body>
+<svg xmlns="http://www.w3.org/2000/svg" version="1.1" width="500px" height="100px" viewBox="0 0 500 100">
+<textArea x="10" y="10" width="480" height="90" font-size="20">Select me.</textArea>
+</svg>
+<p>Drag selection above to the textarea below. Copy of selection should end up in the textarea once you drop it there.</p>
+<svg xmlns="http://www.w3.org/2000/svg" version="1.2" width="500px" height="300px" viewBox="0 0 500 300">
+<textArea x="10" y="10" width="480" height="280" font-size="20" editable="simple" pointer-events="boundingBox">Drop selection here</textArea>
+<rect x="10" y="10" width="480" height="280" stroke="black" stroke-width="1" fill="none"/>
+</svg>
+</body>
+</html> \ No newline at end of file
diff --git a/testing/web-platform/tests/html/editing/dnd/svg/035.xhtml b/testing/web-platform/tests/html/editing/dnd/svg/035.xhtml
new file mode 100644
index 000000000..a0dd437bd
--- /dev/null
+++ b/testing/web-platform/tests/html/editing/dnd/svg/035.xhtml
@@ -0,0 +1,21 @@
+<?xml version="1.0" encoding="utf-8"?>
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<title>Cross fragment drag and drop between SVG textAreas</title>
+<style type="text/css">
+textarea
+ {width:300px;
+ height:100px;}
+</style>
+</head>
+<body>
+<svg xmlns="http://www.w3.org/2000/svg" version="1.1" width="500px" height="100px" viewBox="0 0 500 100">
+<textArea x="10" y="10" width="480" height="90" font-size="20">Select me.</textArea>
+</svg>
+<p>Drag selection above to the textarea below. Copy of selection should end up in the textarea once you drop it there.</p>
+<svg xmlns="http://www.w3.org/2000/svg" version="1.1" width="400px" height="50px" viewBox="0 0 400 50">
+<text x="10" y="40" font-size="50" editable="simple">                        </text>
+<rect x="10" y="0" width="380" height="50" stroke="black" stroke-width="1" fill="none"/>
+</svg>
+</body>
+</html> \ No newline at end of file
diff --git a/testing/web-platform/tests/html/editing/dnd/svg/036-1.svg b/testing/web-platform/tests/html/editing/dnd/svg/036-1.svg
new file mode 100644
index 000000000..d16862da6
--- /dev/null
+++ b/testing/web-platform/tests/html/editing/dnd/svg/036-1.svg
@@ -0,0 +1,4 @@
+<?xml version="1.0" encoding="utf-8"?>
+<svg xmlns="http://www.w3.org/2000/svg" version="1.1" width="200px" height="50px" viewBox="0 0 200 50">
+<text x="10" y="45" font-size="30" fill="navy">Select me</text>
+</svg>
diff --git a/testing/web-platform/tests/html/editing/dnd/svg/036.xhtml b/testing/web-platform/tests/html/editing/dnd/svg/036.xhtml
new file mode 100644
index 000000000..cb774b3eb
--- /dev/null
+++ b/testing/web-platform/tests/html/editing/dnd/svg/036.xhtml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="utf-8"?>
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<title>Dragging text selection between different SVG images</title>
+</head>
+<body>
+<p><object type="image/svg+xml" data="036-1.svg">SVG Image</object></p>
+<p>Drag selection above to the box below. Copy of selection should end up in the box once you drop it there.</p>
+<p><object type="image/svg+xml" data="helper-drop-selection-here-textArea.svg">SVG Image</object></p>
+</body>
+</html> \ No newline at end of file
diff --git a/testing/web-platform/tests/html/editing/dnd/svg/037.xhtml b/testing/web-platform/tests/html/editing/dnd/svg/037.xhtml
new file mode 100644
index 000000000..b97f99cc4
--- /dev/null
+++ b/testing/web-platform/tests/html/editing/dnd/svg/037.xhtml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="utf-8"?>
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<title>Dragging text selection from dataURL image to another SVG image</title>
+</head>
+<body>
+<object type="image/svg+xml" data="data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20version%3D%221.1%22%20width%3D%22200px%22%20height%3D%2250px%22%20viewBox%3D%220%200%20200%2050%22%3E%3Ctext%20x%3D%2210%22%20y%3D%2245%22%20font-size%3D%2230%22%20fill%3D%22navy%22%3ESelect%20me%3C/text%3E%3C/svg%3E">SVG Image</object>
+<p>Drag selection above to the box below. Copy of selection should end up in the box once you drop it there.</p>
+<p><object type="image/svg+xml" data="helper-drop-selection-here-textArea.svg">SVG Image</object></p>
+</body>
+</html> \ No newline at end of file
diff --git a/testing/web-platform/tests/html/editing/dnd/svg/038.xhtml b/testing/web-platform/tests/html/editing/dnd/svg/038.xhtml
new file mode 100644
index 000000000..c74b1db9c
--- /dev/null
+++ b/testing/web-platform/tests/html/editing/dnd/svg/038.xhtml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="utf-8"?>
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<title>Dragging text selection between different SVG dataURL images</title>
+</head>
+<body>
+<p><object type="image/svg+xml" data="data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20version%3D%221.1%22%20width%3D%22200px%22%20height%3D%2250px%22%20viewBox%3D%220%200%20200%2050%22%3E%3Ctext%20x%3D%2210%22%20y%3D%2245%22%20font-size%3D%2230%22%20fill%3D%22navy%22%3ESelect%20me%3C/text%3E%3C/svg%3E">SVG Image</object></p>
+<p>Drag selection above to the box below. Copy of selection should end up in the box once you drop it there.</p>
+<p><object type="image/svg+xml" data="data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20version%3D%221.2%22%20width%3D%22500px%22%20height%3D%22300px%22%20viewBox%3D%220%200%20500%20300%22%3E%3CtextArea%20x%3D%2210%22%20y%3D%2210%22%20width%3D%22480%22%20height%3D%22280%22%20font-size%3D%2220%22%20editable%3D%22simple%22%20pointer-events%3D%22boundingBox%22%3EDrop%20selection%20here%3C/textArea%3E%3Crect%20x%3D%2210%22%20y%3D%2210%22%20width%3D%22480%22%20height%3D%22280%22%20stroke%3D%22black%22%20stroke-width%3D%221%22%20fill%3D%22none%22/%3E%3C/svg%3E">SVG Image</object></p>
+</body>
+</html> \ No newline at end of file
diff --git a/testing/web-platform/tests/html/editing/dnd/svg/039-1.svg b/testing/web-platform/tests/html/editing/dnd/svg/039-1.svg
new file mode 100644
index 000000000..7023ddd93
--- /dev/null
+++ b/testing/web-platform/tests/html/editing/dnd/svg/039-1.svg
@@ -0,0 +1,4 @@
+<?xml version="1.0" encoding="utf-8"?>
+<svg xmlns="http://www.w3.org/2000/svg" version="1.1" width="250px" height="50px" viewBox="0 0 250 50">
+<textArea x="10" y="10" width="200" height="50" font-size="20">Select me.</textArea>
+</svg> \ No newline at end of file
diff --git a/testing/web-platform/tests/html/editing/dnd/svg/039.xhtml b/testing/web-platform/tests/html/editing/dnd/svg/039.xhtml
new file mode 100644
index 000000000..77bc7e9c9
--- /dev/null
+++ b/testing/web-platform/tests/html/editing/dnd/svg/039.xhtml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="utf-8"?>
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<title>Dragging textArea selection between different SVG images</title>
+</head>
+<body>
+<p><object type="image/svg+xml" data="039-1.svg">SVG Image</object></p>
+<p>Drag selection above to the box below. Copy of selection should end up in the box once you drop it there.</p>
+<p><object type="image/svg+xml" data="helper-drop-selection-here-textArea.svg">SVG Image</object></p>
+</body>
+</html> \ No newline at end of file
diff --git a/testing/web-platform/tests/html/editing/dnd/svg/040.xhtml b/testing/web-platform/tests/html/editing/dnd/svg/040.xhtml
new file mode 100644
index 000000000..6069563a9
--- /dev/null
+++ b/testing/web-platform/tests/html/editing/dnd/svg/040.xhtml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="utf-8"?>
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<title>Dragging textArea selection from dataURL image to another SVG image</title>
+</head>
+<body>
+<p><object type="image/svg+xml" data="data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20version%3D%221.1%22%20width%3D%22250px%22%20height%3D%2250px%22%20viewBox%3D%220%200%20250%2050%22%3E%3CtextArea%20x%3D%2210%22%20y%3D%2210%22%20width%3D%22200%22%20height%3D%2250%22%20font-size%3D%2220%22%3ESelect%20me.%3C/textArea%3E%3C/svg%3E">SVG Image</object></p>
+<p>Drag selection above to the box below. Copy of selection should end up in the box once you drop it there.</p>
+<p><object type="image/svg+xml" data="helper-drop-selection-here-textArea.svg">SVG Image</object></p>
+</body>
+</html> \ No newline at end of file
diff --git a/testing/web-platform/tests/html/editing/dnd/svg/041.xhtml b/testing/web-platform/tests/html/editing/dnd/svg/041.xhtml
new file mode 100644
index 000000000..326bafe63
--- /dev/null
+++ b/testing/web-platform/tests/html/editing/dnd/svg/041.xhtml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="utf-8"?>
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<title>Dragging textArea selection between different SVG dataURL images</title>
+</head>
+<body>
+<p><object type="image/svg+xml" data="data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20version%3D%221.1%22%20width%3D%22250px%22%20height%3D%2250px%22%20viewBox%3D%220%200%20250%2050%22%3E%3CtextArea%20x%3D%2210%22%20y%3D%2210%22%20width%3D%22200%22%20height%3D%2250%22%20font-size%3D%2220%22%3ESelect%20me.%3C/textArea%3E%3C/svg%3E">SVG Image</object></p>
+<p>Drag selection above to the box below. Copy of selection should end up in the box once you drop it there.</p>
+<p><object type="image/svg+xml" data="data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20version%3D%221.2%22%20width%3D%22500px%22%20height%3D%22300px%22%20viewBox%3D%220%200%20500%20300%22%3E%3CtextArea%20x%3D%2210%22%20y%3D%2210%22%20width%3D%22480%22%20height%3D%22280%22%20font-size%3D%2220%22%20editable%3D%22simple%22%20pointer-events%3D%22boundingBox%22%3EDrop%20selection%20here%3C/textArea%3E%3Crect%20x%3D%2210%22%20y%3D%2210%22%20width%3D%22480%22%20height%3D%22280%22%20stroke%3D%22black%22%20stroke-width%3D%221%22%20fill%3D%22none%22/%3E%3C/svg%3E">SVG Image</object></p>
+</body>
+</html> \ No newline at end of file
diff --git a/testing/web-platform/tests/html/editing/dnd/svg/042.xhtml b/testing/web-platform/tests/html/editing/dnd/svg/042.xhtml
new file mode 100644
index 000000000..25d360fcb
--- /dev/null
+++ b/testing/web-platform/tests/html/editing/dnd/svg/042.xhtml
@@ -0,0 +1,21 @@
+<?xml version="1.0" encoding="utf-8"?>
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<title>Drag and drop from downsized SVG image</title>
+<style type="text/css">
+object
+ {width:100px;
+ height:30px;}
+textarea
+ {width:300px;
+ height:100px;
+ margin-top:20px;
+ padding:10px;}
+</style>
+</head>
+<body>
+<p><object type="image/svg+xml" data="data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20version%3D%221.1%22%20width%3D%22200px%22%20height%3D%2250px%22%20viewBox%3D%220%200%20200%2050%22%3E%3Ctext%20x%3D%2210%22%20y%3D%2245%22%20font-size%3D%2230%22%20fill%3D%22navy%22%3ESelect%20me%3C/text%3E%3C/svg%3E">SVG Image</object></p>
+<p>Select the text above and drag selection to the textarea. Copy of selection should end up in the textarea once you drop it there.</p>
+<p><textarea placeholder="Drop selection here"/></p>
+</body>
+</html> \ No newline at end of file
diff --git a/testing/web-platform/tests/html/editing/dnd/svg/043.xhtml b/testing/web-platform/tests/html/editing/dnd/svg/043.xhtml
new file mode 100644
index 000000000..7144e0f7e
--- /dev/null
+++ b/testing/web-platform/tests/html/editing/dnd/svg/043.xhtml
@@ -0,0 +1,21 @@
+<?xml version="1.0" encoding="utf-8"?>
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<title>Drag and drop from enlarged SVG image</title>
+<style type="text/css">
+object
+ {width:300px;
+ height:75px;}
+textarea
+ {width:300px;
+ height:100px;
+ margin-top:20px;
+ padding:10px;}
+</style>
+</head>
+<body>
+<p><object type="image/svg+xml" data="data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20version%3D%221.1%22%20width%3D%22200px%22%20height%3D%2250px%22%20viewBox%3D%220%200%20200%2050%22%3E%3Ctext%20x%3D%2210%22%20y%3D%2245%22%20font-size%3D%2230%22%20fill%3D%22navy%22%3ESelect%20me%3C/text%3E%3C/svg%3E">SVG Image</object></p>
+<p>Select the text above and drag selection to the textarea. Copy of selection should end up in the textarea once you drop it there.</p>
+<p><textarea placeholder="Drop selection here"/></p>
+</body>
+</html> \ No newline at end of file
diff --git a/testing/web-platform/tests/html/editing/dnd/svg/044.svg b/testing/web-platform/tests/html/editing/dnd/svg/044.svg
new file mode 100644
index 000000000..6dfcb4d66
--- /dev/null
+++ b/testing/web-platform/tests/html/editing/dnd/svg/044.svg
@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="utf-8"?>
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.2" width="500px" height="500px" viewBox="0 0 500 500">
+<title>Drag and drop of RTL SVG text selection from text element to textArea</title>
+<text x="10" y="30" font-size="20" fill="navy">&#x202E;FAIL|SSAP&#x202C;</text>
+<text x="10" y="60" font-size="20">Select text above and drag selection to</text>
+<text x="10" y="90" font-size="20">the box below. Content of selection should be</text>
+<text x="10" y="120" font-size="20">copies once it's dropped in the box.</text>
+<textArea x="10" y="130" width="480" height="360" font-size="20" editable="simple" pointer-events="boundingBox">Drop selection here</textArea>
+<rect x="10" y="130" width="480" height="360" stroke="black" stroke-width="1" fill="none"/>
+</svg> \ No newline at end of file
diff --git a/testing/web-platform/tests/html/editing/dnd/svg/045.svg b/testing/web-platform/tests/html/editing/dnd/svg/045.svg
new file mode 100644
index 000000000..00dee4564
--- /dev/null
+++ b/testing/web-platform/tests/html/editing/dnd/svg/045.svg
@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="utf-8"?>
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.2" width="500px" height="500px" viewBox="0 0 500 500">
+<title>Drag and drop of BiDi SVG text selection from text element to textArea</title>
+<text x="10" y="30" font-size="20" fill="navy">PASS|LIAF &#x202E;FAIL|SSAP&#x202C; PASS|LIAF</text>
+<text x="10" y="60" font-size="20">Select text above and drag selection to</text>
+<text x="10" y="90" font-size="20">the box below. Content of selection should be</text>
+<text x="10" y="120" font-size="20">copies once it's dropped in the box.</text>
+<textArea x="10" y="130" width="480" height="360" font-size="20" editable="simple" pointer-events="boundingBox">Drop selection here</textArea>
+<rect x="10" y="130" width="480" height="360" stroke="black" stroke-width="1" fill="none"/>
+</svg> \ No newline at end of file
diff --git a/testing/web-platform/tests/html/editing/dnd/svg/046.svg b/testing/web-platform/tests/html/editing/dnd/svg/046.svg
new file mode 100644
index 000000000..da9b03718
--- /dev/null
+++ b/testing/web-platform/tests/html/editing/dnd/svg/046.svg
@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="utf-8"?>
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.2" width="500px" height="500px" viewBox="0 0 500 500">
+<title>Drag and drop of BiDi SVG text selection from tspan elements to textArea</title>
+<text x="10" y="30" font-size="20" fill="navy">
+ <tspan>PASS|LIAF</tspan>
+ <tspan>&#x202E;FAIL|SSAP&#x202C;</tspan>
+ <tspan>PASS|LIAF</tspan>
+</text>
+<text x="10" y="60" font-size="20">Select text above and drag selection to</text>
+<text x="10" y="90" font-size="20">the box below. Content of selection should be</text>
+<text x="10" y="120" font-size="20">copies once it's dropped in the box.</text>
+<textArea x="10" y="130" width="480" height="360" font-size="20" editable="simple" pointer-events="boundingBox">Drop selection here</textArea>
+<rect x="10" y="130" width="480" height="360" stroke="black" stroke-width="1" fill="none"/>
+</svg> \ No newline at end of file
diff --git a/testing/web-platform/tests/html/editing/dnd/svg/047.svg b/testing/web-platform/tests/html/editing/dnd/svg/047.svg
new file mode 100644
index 000000000..f8f737c6d
--- /dev/null
+++ b/testing/web-platform/tests/html/editing/dnd/svg/047.svg
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="utf-8"?>
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.2" width="500px" height="500px" viewBox="0 0 500 500">
+<title>Drag and drop of RTL SVG text selection from tref element to textArea</title>
+<defs>
+ <text id="text">&#x202E;FAIL|SSAP&#x202C;</text>
+ </defs>
+<text x="10" y="30" font-size="20" fill="navy"><tref xlink:href="#text"/></text>
+<text x="10" y="60" font-size="20">Select text above and drag selection to</text>
+<text x="10" y="90" font-size="20">the box below. Content of selection should be</text>
+<text x="10" y="120" font-size="20">copies once it's dropped in the box.</text>
+<textArea x="10" y="130" width="480" height="360" font-size="20" editable="simple" pointer-events="boundingBox">Drop selection here</textArea>
+<rect x="10" y="130" width="480" height="360" stroke="black" stroke-width="1" fill="none"/>
+</svg> \ No newline at end of file
diff --git a/testing/web-platform/tests/html/editing/dnd/svg/048.svg b/testing/web-platform/tests/html/editing/dnd/svg/048.svg
new file mode 100644
index 000000000..fb41bc991
--- /dev/null
+++ b/testing/web-platform/tests/html/editing/dnd/svg/048.svg
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="utf-8"?>
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.2" width="500px" height="500px" viewBox="0 0 500 500">
+<title>Drag and drop of BiDi SVG text selection from tref element to textArea</title>
+<defs>
+ <text id="text">PASS|LIAF &#x202E;FAIL|SSAP&#x202C; PASS|LIAF</text>
+ </defs>
+<text x="10" y="30" font-size="20" fill="navy"><tref xlink:href="#text"/></text>
+<text x="10" y="60" font-size="20">Select text above and drag selection to</text>
+<text x="10" y="90" font-size="20">the box below. Content of selection should be</text>
+<text x="10" y="120" font-size="20">copies once it's dropped in the box.</text>
+<textArea x="10" y="130" width="480" height="360" font-size="20" editable="simple" pointer-events="boundingBox">Drop selection here</textArea>
+<rect x="10" y="130" width="480" height="360" stroke="black" stroke-width="1" fill="none"/>
+</svg> \ No newline at end of file
diff --git a/testing/web-platform/tests/html/editing/dnd/svg/049.xhtml b/testing/web-platform/tests/html/editing/dnd/svg/049.xhtml
new file mode 100644
index 000000000..155f75533
--- /dev/null
+++ b/testing/web-platform/tests/html/editing/dnd/svg/049.xhtml
@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="utf-8"?>
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<title>Selecting text in SVG text element inside draggable container</title>
+</head>
+<body>
+<div draggable="true">
+ <svg xmlns="http://www.w3.org/2000/svg" version="1.2" width="200px" height="50px" viewBox="0 0 200 50">
+ <text x="10" y="45" font-size="30" fill="navy" editable="simple">Select me</text>
+ </svg>
+</div>
+<p>You should be able to select text above</p>
+</body>
+</html> \ No newline at end of file
diff --git a/testing/web-platform/tests/html/editing/dnd/svg/050.xhtml b/testing/web-platform/tests/html/editing/dnd/svg/050.xhtml
new file mode 100644
index 000000000..56fef670f
--- /dev/null
+++ b/testing/web-platform/tests/html/editing/dnd/svg/050.xhtml
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="utf-8"?>
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<title>Selecting text in SVG textArea element inside draggable container</title>
+</head>
+<body>
+<div draggable="true">
+ <svg xmlns="http://www.w3.org/2000/svg" version="1.2" width="500px" height="100px" viewBox="0 0 500 100">
+ <textArea x="10" y="10" width="480" height="90" font-size="20" editable="simple">You should be able to select this text</textArea>
+ </svg>
+</div>
+</body>
+</html> \ No newline at end of file
diff --git a/testing/web-platform/tests/html/editing/dnd/svg/051.xhtml b/testing/web-platform/tests/html/editing/dnd/svg/051.xhtml
new file mode 100644
index 000000000..2cb656361
--- /dev/null
+++ b/testing/web-platform/tests/html/editing/dnd/svg/051.xhtml
@@ -0,0 +1,24 @@
+<?xml version="1.0" encoding="utf-8"?>
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<title>Drag and drop of link from SVG fragment to XHTML</title>
+<style type="text/css">
+div
+ {width:300px;
+ height:100px;
+ margin-top:20px;
+ padding:10px;
+ color:white;
+ background-color:navy;}
+</style>
+</head>
+<body>
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" width="200px" height="50px" viewBox="0 0 200 50">
+ <a xlink:href="data:text/plain,PASS">
+ <text x="10" y="45" font-size="30" fill="navy">Drag me</text>
+ </a>
+</svg>
+<p>Drag link to the blue box. You should see word PASS once you drop it there.</p>
+<div dropzone="copy string:text/uri-list" ondrop="document.querySelector('div').appendChild(document.createTextNode(event.dataTransfer.getData('text/uri-list').substring(16)))"/>
+</body>
+</html> \ No newline at end of file
diff --git a/testing/web-platform/tests/html/editing/dnd/svg/052.svg b/testing/web-platform/tests/html/editing/dnd/svg/052.svg
new file mode 100644
index 000000000..f559b234a
--- /dev/null
+++ b/testing/web-platform/tests/html/editing/dnd/svg/052.svg
@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="utf-8"?>
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" width="500px" height="500px" viewBox="0 0 500 500">
+<title>Drag and drop of text link inside SVG</title>
+<a xlink:href="data:text/plain,PASS">
+ <text x="10" y="50" font-size="30" fill="navy">Drag me</text>
+</a>
+<textArea x="10" y="70" width="480" height="170" font-size="30">Drag link above and drop it in the gray box below. You should see word PASS once you drop it.</textArea>
+<rect x="10" y="300" width="480" height="190" fill="gray"/>
+<script type="application/ecmascript">
+var a = document.querySelector('a'), rect = document.querySelector('rect'), text = document.querySelector('textArea');
+a.addEventListener('dragstart',
+function (event)
+ {event.dataTransfer.effectAllowed = 'copy'}
+,false);
+rect.addEventListener('dragenter',
+function (event)
+ {event.preventDefault()}
+,false);
+rect.addEventListener('dragover',
+function (event)
+ {event.preventDefault()}
+,false);
+rect.addEventListener('drop',
+function (event)
+ {text.firstChild.nodeValue = event.dataTransfer.getData('text/uri-list').substring(16,20)}
+,false);
+</script>
+</svg>
diff --git a/testing/web-platform/tests/html/editing/dnd/svg/053.svg b/testing/web-platform/tests/html/editing/dnd/svg/053.svg
new file mode 100644
index 000000000..a116f63a1
--- /dev/null
+++ b/testing/web-platform/tests/html/editing/dnd/svg/053.svg
@@ -0,0 +1,30 @@
+<?xml version="1.0" encoding="utf-8"?>
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" width="500px" height="500px" viewBox="0 0 500 500">
+<title>Drag and drop of circle link inside SVG</title>
+<a xlink:href="data:text/plain,PASS">
+ <circle cx="50" cy="50" r="50" fill="green"/>
+</a>
+<textArea x="10" y="100" width="480" height="200" font-size="30">Drag green circle above and drop it in the gray box below. Gray box should turn green once you drop it.</textArea>
+<rect x="10" y="300" width="480" height="190" fill="gray"/>
+<script type="application/ecmascript">
+var a = document.querySelector('a'), rect = document.querySelector('rect');
+a.addEventListener('dragstart',
+function (event)
+ {event.dataTransfer.effectAllowed = 'copy'}
+,false);
+rect.addEventListener('dragenter',
+function (event)
+ {event.preventDefault()}
+,false);
+rect.addEventListener('dragover',
+function (event)
+ {event.preventDefault()}
+,false);
+rect.addEventListener('drop',
+function (event)
+ {if(event.dataTransfer.getData('text/uri-list').replace(/\r\n$/,'') == 'data:text/plain,PASS')
+ {rect.setAttribute('fill','green');}
+ }
+,false);
+</script>
+</svg>
diff --git a/testing/web-platform/tests/html/editing/dnd/svg/054.svg b/testing/web-platform/tests/html/editing/dnd/svg/054.svg
new file mode 100644
index 000000000..8029734cd
--- /dev/null
+++ b/testing/web-platform/tests/html/editing/dnd/svg/054.svg
@@ -0,0 +1,35 @@
+<?xml version="1.0" encoding="utf-8"?>
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" width="500px" height="500px" viewBox="0 0 500 500">
+<title>Drag and drop of animated circle link inside SVG</title>
+<a xlink:href="data:text/plain,PASS">
+ <circle cx="50" cy="50" r="10" fill="green">
+ <animate attributeName="r" to="50" dur="10s" begin="0s" fill="freeze"/>
+ </circle>
+</a>
+<textArea x="10" y="100" width="480" height="200" font-size="30">
+Drag green circle above and drop it in the gray box below.
+Size of feedback image should match size of circle
+and gray box should turn green.</textArea>
+<rect x="10" y="300" width="480" height="190" fill="gray"/>
+<script type="application/ecmascript">
+var a = document.querySelector('a'), rect = document.querySelector('rect');
+a.addEventListener('dragstart',
+function (event)
+ {event.dataTransfer.effectAllowed = 'copy'}
+,false);
+rect.addEventListener('dragenter',
+function (event)
+ {event.preventDefault()}
+,false);
+rect.addEventListener('dragover',
+function (event)
+ {event.preventDefault()}
+,false);
+rect.addEventListener('drop',
+function (event)
+ {if(event.dataTransfer.getData('text/uri-list').replace(/\r\n$/,'') == 'data:text/plain,PASS')
+ {rect.setAttribute('fill','green');}
+ }
+,false);
+</script>
+</svg>
diff --git a/testing/web-platform/tests/html/editing/dnd/svg/055.svg b/testing/web-platform/tests/html/editing/dnd/svg/055.svg
new file mode 100644
index 000000000..d23ca5f90
--- /dev/null
+++ b/testing/web-platform/tests/html/editing/dnd/svg/055.svg
@@ -0,0 +1,30 @@
+<?xml version="1.0" encoding="utf-8"?>
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" width="500px" height="500px" viewBox="0 0 500 500">
+<title>Selection and drag and drop of link inside SVG</title>
+<a xlink:href="data:text/plain,PASS">
+ <rect x="10" y="10" width="80" height="80" fill="green"/>
+</a>
+<textArea x="10" y="100" width="480" height="200" font-size="30">Select part of this text. Once text is selected drag green square above and drop it in the gray box below. Gray box should turn green.</textArea>
+<rect x="10" y="300" width="480" height="190" fill="gray"/>
+<script type="application/ecmascript">
+var a = document.querySelector('a'), rect = document.querySelector('svg > rect');
+a.addEventListener('dragstart',
+function (event)
+ {event.dataTransfer.effectAllowed = 'copy'}
+,false);
+rect.addEventListener('dragenter',
+function (event)
+ {event.preventDefault()}
+,false);
+rect.addEventListener('dragover',
+function (event)
+ {event.preventDefault()}
+,false);
+rect.addEventListener('drop',
+function (event)
+ {if(event.dataTransfer.getData('text/uri-list').replace(/\r\n$/,'') == 'data:text/plain,PASS')
+ {rect.setAttribute('fill','green');}
+ }
+,false);
+</script>
+</svg>
diff --git a/testing/web-platform/tests/html/editing/dnd/svg/056.svg b/testing/web-platform/tests/html/editing/dnd/svg/056.svg
new file mode 100644
index 000000000..ff2bab82d
--- /dev/null
+++ b/testing/web-platform/tests/html/editing/dnd/svg/056.svg
@@ -0,0 +1,69 @@
+<?xml version="1.0" encoding="utf-8"?>
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" width="500px" height="500px" viewBox="0 0 500 500">
+<title>dataTransfer.setData/getData during SVG link drag and drop</title>
+<a xlink:href="data:text/plain,PASS">
+ <polygon points="0,0 100,0 0,100" fill="green"/>
+</a>
+<textArea x="10" y="100" width="480" height="200" font-size="15">Drag green triangle above and drop it in the gray box below. Gray box should turn green.</textArea>
+<rect x="10" y="300" width="480" height="190" fill="gray"/>
+<script type="application/ecmascript">
+<![CDATA[
+var dataTypes = ['text/uri-list', 'text/plain', 'application/xml', 'application/xhtml+xml', 'application/mathml+xml', 'image/svg+xml', 'text/html', 'text/x-example'],
+data = ['data:text/plain,PASS', 'PASS', '<result>PASS</result>', '<html xmlns="http://www.w3.org/1999/xhtml"><head><title>Data store item</title></head><body><p>PASS</p></body></html>', '<math xmlns="http://www.w3.org/1998/Math/MathML"><mn>1</mn></math>', '<svg xmlns="http://www.w3.org/2000/svg" version="1.1" width="100px" height="50px" viewBox="0 0 100 50"><text x="0" y="40" font-size="40" fill="green">PASS</text></svg>', '<!DOCTYPE html><html><head><title>Data store item</title></head><body><p>PASS</p></body></html>', 'PASS'],
+a = document.querySelector('a'), rect = document.querySelector('rect'), text = document.querySelector('textArea'), result = true;
+a.addEventListener('dragstart',
+ function (event)
+ {event.dataTransfer.effectAllowed = 'copy';
+ for(var i = 0; i != dataTypes.length; i++)
+ {event.dataTransfer.setData(dataTypes[i], data[i]);}
+ if(event.dataTransfer.items.length < dataTypes.length)
+ {say('items.length (dragstart) : FAIL');}
+ },false);
+a.addEventListener('drag',
+ function (event)
+ {for(var i = 0; i != dataTypes.length; i++)
+ {event.dataTransfer.setData(dataTypes[i], 'FAIL');
+ if(event.dataTransfer.getData(dataTypes[i]))
+ {say('getData(' + dataTypes[i] + ') : FAIL (data store should not be readable during drag)')}
+ }
+ if(event.dataTransfer.items.length < dataTypes.length)
+ {say('items.length (dragover) : FAIL')}
+ },false);
+rect.addEventListener('dragenter',
+ function (event)
+ {event.preventDefault();
+ for(var i = 0; i != dataTypes.length; i++)
+ {event.dataTransfer.setData(dataTypes[i], 'FAIL');
+ if(event.dataTransfer.getData(dataTypes[i]))
+ {say('getData(' + dataTypes[i] + ') : FAIL (data store should not be readable during dragenter)')}
+ }
+ if(event.dataTransfer.items.length < dataTypes.length)
+ {say('items.length (dragenter) : FAIL')}
+ },false);
+rect.addEventListener('dragover',
+ function (event)
+ {event.preventDefault();
+ for(var i = 0; i != dataTypes.length; i++)
+ {event.dataTransfer.setData(dataTypes[i], 'FAIL');
+ if(event.dataTransfer.getData(dataTypes[i]))
+ {say('getData(' + dataTypes[i] + ') : FAIL (data store should not be readable during dragover)')}
+ }
+ if(event.dataTransfer.items.length < dataTypes.length)
+ {say('items.length (dragover) : FAIL');}
+ },false);
+rect.addEventListener('drop',
+ function (event)
+ {if(event.dataTransfer.items.length < dataTypes.length)
+ {say('items.length (drop) : FAIL');}
+ for(var i = 0; i != dataTypes.length; i++)
+ {if(event.dataTransfer.getData(dataTypes[i]) != data[i])
+ {say('getData(' + dataTypes[i] + ') : FAIL');}
+ }
+ rect.setAttribute('fill',result?'green':'red');
+ },false);
+function say(it)
+ {text.appendChild(document.createTextNode(it + '.'));
+ result = false;}
+]]>
+</script>
+</svg>
diff --git a/testing/web-platform/tests/html/editing/dnd/svg/057.svg b/testing/web-platform/tests/html/editing/dnd/svg/057.svg
new file mode 100644
index 000000000..709521bea
--- /dev/null
+++ b/testing/web-platform/tests/html/editing/dnd/svg/057.svg
@@ -0,0 +1,121 @@
+<?xml version="1.0" encoding="utf-8"?>
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" width="500px" height="500px" viewBox="0 0 500 500">
+<title>dataTransfer.items during SVG link drag and drop</title>
+<a xlink:href="data:text/plain,PASS">
+ <polygon points="0,0 100,0 100,100" fill="green"/>
+</a>
+<textArea x="10" y="100" width="480" height="200" font-size="15">Drag green triangle above and drop it in the gray box below. Gray box should turn green.</textArea>
+<rect x="10" y="300" width="480" height="190" fill="gray"/>
+<script type="application/ecmascript">
+<![CDATA[
+var dataTypes = ['text/uri-list', 'text/plain', 'application/xml', 'application/xhtml+xml', 'application/mathml+xml', 'image/svg+xml', 'text/html', 'text/x-example'],
+data = ['data:text/plain,PASS', 'PASS', '<result>PASS</result>', '<html xmlns="http://www.w3.org/1999/xhtml"><head><title>Data store item</title></head><body><p>PASS</p></body></html>', '<math xmlns="http://www.w3.org/1998/Math/MathML"><mn>1</mn></math>', '<svg xmlns="http://www.w3.org/2000/svg" version="1.1" width="100px" height="50px" viewBox="0 0 100 50"><text x="0" y="40" font-size="40" fill="green">PASS</text></svg>', '<!DOCTYPE html><html><head><title>Data store item</title></head><body><p>PASS</p></body></html>', 'PASS'],
+a = document.querySelector('a'), rect = document.querySelector('rect'), text = document.querySelector('textArea'), e = 0, result = true;
+a.addEventListener('dragstart',
+ function (event)
+ {event.dataTransfer.effectAllowed = 'copy';
+ for(var i = 0; i != dataTypes.length; i++)
+ {event.dataTransfer.setData(dataTypes[i], data[i]);}
+ for(var i = event.dataTransfer.items.length; i != 0; i--)
+ {if(dataTypes.indexOf(event.dataTransfer.items[i-1].type) == -1)
+ {delete event.dataTransfer.items[i-1]}
+ }
+ if(event.dataTransfer.items.length != dataTypes.length)
+ {say('items.length (ondragstart) : FAIL (items.length should be' + dataTypes.length + ')')}
+ for(var i = 0; i != event.dataTransfer.items.length; i++)
+ {if(event.dataTransfer.items[i].kind != 'string')
+ {say('Item kind (ondragstart): FAIL (items[' + i + '].kind should be string)')}
+ if(event.dataTransfer.items[i].type != dataTypes[i])
+ {say('Item type (ondragstart): FAIL (items[' + i + '].type should be' + dataTypes[i] + ')')}
+ event.dataTransfer.items[i].getAsString(
+ function ()
+ {if(arguments[0] != data[e++])
+ {say('getAsString : FAIL (items[' + i + '].getAsString should pass' + data[e] + ')')}
+ }
+ );
+ }
+ },false);
+a.addEventListener('drag',
+ function (event)
+ {event.dataTransfer.items.clear();
+ if(event.dataTransfer.items.length != dataTypes.length)
+ {say('items.length (ondrag) : FAIL (items.length should be' + dataTypes.length + ')')}
+ for(var i = 0; i != event.dataTransfer.items.length; i++)
+ {if(event.dataTransfer.items[i].kind != 'string')
+ {say('Item kind (ondrag): FAIL (items[' + i + '].kind should be string)')}
+ if(event.dataTransfer.items[i].type != dataTypes[i])
+ {say('Item type (ondrag): FAIL (items[' + i + '].type should be' + dataTypes[i] + ')')}
+ event.dataTransfer.items[i].getAsString(
+ function ()
+ {if(arguments[0])
+ {say('getAsString : FAIL (items[' + i + '].getAsString should not reveal data to drag event handler)')}
+ }
+ );
+ }
+ },false);
+rect.addEventListener('dragenter',
+ function (event)
+ {event.preventDefault();
+ event.dataTransfer.items.clear();
+ if(event.dataTransfer.items.length != dataTypes.length)
+ {say('items.length (ondragenter) : FAIL (items.length should be' + dataTypes.length + ')')}
+ for(var i = 0; i != event.dataTransfer.items.length; i++)
+ {delete event.dataTransfer.items[i];
+ if(event.dataTransfer.items[i].kind != 'string')
+ {say('Item kind (ondragenter): FAIL (items[' + i + '].kind should be string)')}
+ if(event.dataTransfer.items[i].type != dataTypes[i])
+ {say('Item type (ondragenter): FAIL (items[' + i + '].type should be' + dataTypes[i] + ')')}
+ event.dataTransfer.items[i].getAsString(
+ function ()
+ {if(arguments[0])
+ {say('getAsString : FAIL (items[' + i + '].getAsString should not reveal data to drag event handler)')}
+ }
+ );
+ }
+ },false);
+rect.addEventListener('dragover',
+ function (event)
+ {event.preventDefault();
+ event.dataTransfer.items.clear();
+ if(event.dataTransfer.items.length != dataTypes.length)
+ {say('items.length (ondragover) : FAIL (items.length should be' + dataTypes.length + ')')}
+ for(var i = 0; i != event.dataTransfer.items.length; i++)
+ {if(event.dataTransfer.items[i].kind != 'string')
+ {say('Item kind (ondragover): FAIL (items[' + i + '].kind should be string)')}
+ if(event.dataTransfer.items[i].type != dataTypes[i])
+ {say('Item type (ondragover): FAIL (items[' + i + '].type should be' + dataTypes[i] + ')')}
+ event.dataTransfer.items[i].getAsString(
+ function ()
+ {if(arguments[0])
+ {say('getAsString : FAIL (items[' + i + '].getAsString should not reveal data to dragover event handler)')}
+ }
+ );
+ }
+ },false);
+rect.addEventListener('drop',
+ function (event)
+ {e = 0;
+ event.dataTransfer.items.clear();
+ if(event.dataTransfer.items.length != dataTypes.length)
+ {say('items.length (ondrop) : FAIL (items.length should be' + dataTypes.length + ')')}
+ for(var i = 0; i != event.dataTransfer.items.length; i++)
+ {delete event.dataTransfer.items[i];
+ if(event.dataTransfer.items[i].kind != 'string')
+ {say('Item kind (ondrop): FAIL (items[' + i + '].kind should be string)')}
+ if(event.dataTransfer.items[i].type != dataTypes[i])
+ {say('Item type (ondrop): FAIL (items[' + i + '].type should be' + dataTypes[i] + ')')}
+ event.dataTransfer.items[i].getAsString(
+ function ()
+ {if(arguments[0] != data[e++])
+ {say('getAsString : FAIL (items[' + i + '].getAsString should pass' + data[e] + ')')}
+ }
+ );
+ }
+ rect.setAttribute('fill',result?'green':'red');
+ },false);
+function say(it)
+ {text.appendChild(document.createTextNode(it + '.'));
+ result = false;}
+]]>
+</script>
+</svg>
diff --git a/testing/web-platform/tests/html/editing/dnd/svg/058.svg b/testing/web-platform/tests/html/editing/dnd/svg/058.svg
new file mode 100644
index 000000000..f27626f66
--- /dev/null
+++ b/testing/web-platform/tests/html/editing/dnd/svg/058.svg
@@ -0,0 +1,36 @@
+<?xml version="1.0" encoding="utf-8"?>
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" width="500px" height="500px" viewBox="0 0 500 500">
+<title>SVG link drag and drop: allowed effects 'copy','move','link' and 'none'</title>
+<a xlink:href="data:text/plain,1">
+ <circle cx="50" cy="50" r="40" fill="green"/>
+</a>
+<textArea x="10" y="100" width="480" height="200" font-size="30">You should be able to drag green circle and drop it onto any of the boxes below. Choosen box should turn green once circle is dropped on it.</textArea>
+<rect x="10" y="300" width="100" height="100" fill="silver"/>
+<rect x="120" y="300" width="100" height="100" fill="gray"/>
+<rect x="230" y="300" width="100" height="100" fill="gray"/>
+<rect x="340" y="300" width="100" height="100" fill="black"/>
+<script type="application/ecmascript">
+var a = document.querySelector('a'), rect = document.querySelectorAll('rect'),
+effects = ['copy','move','link','all'], e = 0;
+a.addEventListener('dragstart',
+function (event)
+ {event.dataTransfer.effectAllowed = effects[e]}
+,false);
+for(var i = 0; i != rect.length; i++)
+ {rect[i].addEventListener('dragenter',
+ function (event)
+ {event.preventDefault();
+ event.dataTransfer.effectAllowed = effects[e];}
+ ,false);
+ rect[i].addEventListener('dragover',
+ function (event)
+ {event.preventDefault()}
+ ,false);
+ rect[i].addEventListener('drop',
+ function (event)
+ {if(event.dataTransfer.dropEffect == effects[e] &amp;&amp; event.dataTransfer.effectAllowed == effects[e] &amp;&amp; i != 3)
+ {event.target.setAttribute('fill','green');}
+ e = (e+1)%3;}
+ ,false);}
+</script>
+</svg>
diff --git a/testing/web-platform/tests/html/editing/dnd/svg/059-1.svg b/testing/web-platform/tests/html/editing/dnd/svg/059-1.svg
new file mode 100644
index 000000000..634620a2f
--- /dev/null
+++ b/testing/web-platform/tests/html/editing/dnd/svg/059-1.svg
@@ -0,0 +1,21 @@
+<?xml version="1.0" encoding="utf-8"?>
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" width="500px" height="500px" viewBox="0 0 500 500">
+<title>SVG link drag and drop: helper file</title>
+<textArea x="10" y="10" width="480" height="200" font-size="30">Drop circle onto gray box below. Box should turn green once circle is dropped.</textArea>
+<rect x="10" y="220" width="480" height="270" fill="gray"/>
+<script type="application/ecmascript">
+var rect = document.querySelector('rect');
+rect.addEventListener('dragenter',
+function (event)
+ {event.preventDefault();}
+,false);
+rect.addEventListener('dragover',
+function (event)
+ {event.preventDefault();}
+,false);
+rect.addEventListener('drop',
+function (event)
+ {rect.setAttribute('fill',(event.dataTransfer.getData('text/uri-list').replace(/\r\n$/,'') == 'data:text/plain,1')?'green':'red');}
+,false);
+</script>
+</svg>
diff --git a/testing/web-platform/tests/html/editing/dnd/svg/059.svg b/testing/web-platform/tests/html/editing/dnd/svg/059.svg
new file mode 100644
index 000000000..a289804e6
--- /dev/null
+++ b/testing/web-platform/tests/html/editing/dnd/svg/059.svg
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="utf-8"?>
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" width="500px" height="500px" viewBox="0 0 500 500">
+<title>SVG link cross page drag and drop</title>
+<a xlink:href="data:text/plain,1">
+ <circle cx="50" cy="50" r="40" fill="green"/>
+</a>
+<textArea x="10" y="100" width="480" height="200" font-size="30">Drag circle above. You should be redirected to the new page and be able to drop it there.</textArea>
+<script type="application/ecmascript">
+document.querySelector('a').addEventListener('dragstart',
+function (event)
+ {event.dataTransfer.effectAllowed = 'copy';
+ window.location = '059-1.svg'}
+,false);
+</script>
+</svg>
diff --git a/testing/web-platform/tests/html/editing/dnd/svg/060-1.svg b/testing/web-platform/tests/html/editing/dnd/svg/060-1.svg
new file mode 100644
index 000000000..b78e04b21
--- /dev/null
+++ b/testing/web-platform/tests/html/editing/dnd/svg/060-1.svg
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="utf-8"?>
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" width="500px" height="500px" viewBox="0 0 500 500">
+<title>SVG link drag and drop: helper file</title>
+<textArea x="10" y="10" width="480" height="200" font-size="30">Drag circle over arrow below but don't drop it yet. You should be returned back to start page.</textArea>
+<polygon points="10,400 100,300 100,350 480,350 480,450 100,450 100,500 10,400" fill="navy"/>
+<script type="application/ecmascript">
+document.querySelector('polygon').addEventListener('dragenter',
+function (event)
+ {window.location = '060.svg'}
+,false);
+</script>
+</svg>
diff --git a/testing/web-platform/tests/html/editing/dnd/svg/060.svg b/testing/web-platform/tests/html/editing/dnd/svg/060.svg
new file mode 100644
index 000000000..da3efcc49
--- /dev/null
+++ b/testing/web-platform/tests/html/editing/dnd/svg/060.svg
@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="utf-8"?>
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" width="500px" height="500px" viewBox="0 0 500 500">
+<title>SVG link drag and drop and history navigation roundtrip</title>
+<a xlink:href="data:text/plain,1">
+ <circle cx="50" cy="50" r="40" fill="green"/>
+</a>
+<textArea x="10" y="100" width="480" height="200" font-size="30">Drag circle above. You will be redirected to new page. When you return back drop circle on itself. You should see word PASS once you drop it.</textArea>
+<script type="application/ecmascript">
+var a = document.querySelector('a');
+a.addEventListener('dragstart',
+function (event)
+ {event.dataTransfer.effectAllowed = 'copy';
+ window.location = '060-1.svg'}
+,false);
+a.addEventListener('dragenter',
+function (event)
+ {event.preventDefault();}
+,false);
+a.addEventListener('dragover',
+function (event)
+ {event.preventDefault();}
+,false);
+a.addEventListener('drop',
+function (event)
+ {document.querySelector('textArea').firstChild.nodeValue = (event.dataTransfer.getData('text/uri-list').replace(/\r\n$/,'') == 'data:text/plain,1')?'PASS':'FAIL';}
+,false);
+</script>
+</svg>
diff --git a/testing/web-platform/tests/html/editing/dnd/svg/061.svg b/testing/web-platform/tests/html/editing/dnd/svg/061.svg
new file mode 100644
index 000000000..17f873435
--- /dev/null
+++ b/testing/web-platform/tests/html/editing/dnd/svg/061.svg
@@ -0,0 +1,27 @@
+<?xml version="1.0" encoding="utf-8"?>
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" width="500px" height="500px" viewBox="0 0 500 500">
+<title>SVG link drag and drop roundtrip</title>
+<a xlink:href="data:text/plain,1">
+ <circle cx="50" cy="50" r="40" fill="green"/>
+</a>
+<textArea x="10" y="100" width="480" height="200" font-size="30">Drag circle outside browser window and then drag it back and drop on itself. You should see word PASS once you drop it.</textArea>
+<script type="application/ecmascript">
+var a = document.querySelector('a');
+a.addEventListener('dragstart',
+function (event)
+ {event.dataTransfer.effectAllowed = 'copy';}
+,false);
+a.addEventListener('dragenter',
+function (event)
+ {event.preventDefault();}
+,false);
+a.addEventListener('dragover',
+function (event)
+ {event.preventDefault();}
+,false);
+a.addEventListener('drop',
+function (event)
+ {document.querySelector('textArea').firstChild.nodeValue = (event.dataTransfer.getData('text/uri-list').replace(/\r\n$/,'') == 'data:text/plain,1')?'PASS':'FAIL';}
+,false);
+</script>
+</svg>
diff --git a/testing/web-platform/tests/html/editing/dnd/svg/062.svg b/testing/web-platform/tests/html/editing/dnd/svg/062.svg
new file mode 100644
index 000000000..0bc8477e5
--- /dev/null
+++ b/testing/web-platform/tests/html/editing/dnd/svg/062.svg
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="utf-8"?>
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" width="500px" height="500px" viewBox="0 0 500 500">
+<title>Setting drag image during drag and drop of SVG link</title>
+<a xlink:href="data:text/plain,1">
+ <circle cx="60" cy="60" r="50" fill="gray"/>
+</a>
+<textArea x="10" y="200" width="480" height="200" font-size="30">Try to drag circle. Drag feedback should look like green rectangle.</textArea>
+<rect x="300" y="10" width="100" height="100" fill="green"/>
+<script type="application/ecmascript">
+var a = document.querySelector('a'), rect = document.querySelector('rect');
+a.addEventListener('dragstart',
+function (event)
+ {event.dataTransfer.effectAllowed = 'copy';
+ event.dataTransfer.setDragImage(document.querySelector('rect'), 50, 50);}
+,false);
+</script>
+</svg> \ No newline at end of file
diff --git a/testing/web-platform/tests/html/editing/dnd/svg/063.svg b/testing/web-platform/tests/html/editing/dnd/svg/063.svg
new file mode 100644
index 000000000..eda15495f
--- /dev/null
+++ b/testing/web-platform/tests/html/editing/dnd/svg/063.svg
@@ -0,0 +1,24 @@
+<?xml version="1.0" encoding="utf-8"?>
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" width="500px" height="500px" viewBox="0 0 500 500">
+<title>Adding element to datastore while dragging SVG links</title>
+<a xlink:href="data:text/plain,1">
+ <rect x="10" y="10" width="100" height="100" fill="green"/>
+</a>
+<a xlink:href="data:text/plain,2">
+ <rect x="300" y="10" width="100" height="100" fill="teal"/>
+</a>
+<textArea x="10" y="200" width="480" height="200" font-size="30">Try to drag one of boxes above. Drag feedback should include both boxes.</textArea>
+<script type="application/ecmascript">
+var a = document.querySelectorAll('a');
+a[0].addEventListener('dragstart',
+function (event)
+ {event.dataTransfer.effectAllowed = 'copy';
+ event.dataTransfer.addElement(document.querySelectorAll('rect')[1]);}
+,false);
+a[1].addEventListener('dragstart',
+function (event)
+ {event.dataTransfer.effectAllowed = 'copy';
+ event.dataTransfer.addElement(document.querySelectorAll('rect')[0]);}
+,false);
+</script>
+</svg> \ No newline at end of file
diff --git a/testing/web-platform/tests/html/editing/dnd/svg/064.svg b/testing/web-platform/tests/html/editing/dnd/svg/064.svg
new file mode 100644
index 000000000..913732360
--- /dev/null
+++ b/testing/web-platform/tests/html/editing/dnd/svg/064.svg
@@ -0,0 +1,26 @@
+<?xml version="1.0" encoding="utf-8"?>
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" width="500px" height="500px" viewBox="0 0 500 500">
+<title>Drag and drop of overlapping SVG links</title>
+<a xlink:href="data:text/plain,1">
+ <rect x="10" y="10" width="100" height="100" fill="silver"/>
+</a>
+<a xlink:href="data:text/plain,2">
+ <rect x="10" y="10" width="100" height="100" fill="gray"/>
+</a>
+ <rect x="160" y="10" width="100" height="100" fill="green"/>
+ <rect x="310" y="10" width="100" height="100" fill="maroon"/>
+<textArea x="10" y="200" width="480" height="200" font-size="30">Try to drag gray boxe above. Drag feedback should be green, not red.</textArea>
+<script type="application/ecmascript">
+var a = document.querySelectorAll('a');
+a[0].addEventListener('dragstart',
+function (event)
+ {event.dataTransfer.effectAllowed = 'copy';
+ event.dataTransfer.setDragImage(document.querySelectorAll('rect')[3], 50, 50);}
+,false);
+a[1].addEventListener('dragstart',
+function (event)
+ {event.dataTransfer.effectAllowed = 'copy';
+ event.dataTransfer.setDragImage(document.querySelectorAll('rect')[2], 50, 50);}
+,false);
+</script>
+</svg> \ No newline at end of file
diff --git a/testing/web-platform/tests/html/editing/dnd/svg/065.svg b/testing/web-platform/tests/html/editing/dnd/svg/065.svg
new file mode 100644
index 000000000..38cb9560d
--- /dev/null
+++ b/testing/web-platform/tests/html/editing/dnd/svg/065.svg
@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="utf-8"?>
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" width="500px" height="500px" viewBox="0 0 500 500">
+<title>Reload during SVG link drag and drop roundtrip</title>
+<a xlink:href="data:text/plain,1">
+ <circle cx="50" cy="50" r="40" fill="green"/>
+</a>
+<textArea x="10" y="100" width="480" height="200" font-size="30">Drag circle around page and then drag it back and drop on itself. You should see word PASS once you drop it.</textArea>
+<script type="application/ecmascript">
+var a = document.querySelector('a');
+a.addEventListener('dragstart',
+function (event)
+ {event.dataTransfer.effectAllowed = 'copy';
+ window.location.reload()}
+,false);
+a.addEventListener('dragenter',
+function (event)
+ {event.preventDefault();}
+,false);
+a.addEventListener('dragover',
+function (event)
+ {event.preventDefault();}
+,false);
+a.addEventListener('drop',
+function (event)
+ {document.querySelector('textArea').firstChild.nodeValue = (event.dataTransfer.getData('text/uri-list').replace(/\r\n$/,'') == 'data:text/plain,1')?'PASS':'FAIL';}
+,false);
+</script>
+</svg>
diff --git a/testing/web-platform/tests/html/editing/dnd/svg/066.svg b/testing/web-platform/tests/html/editing/dnd/svg/066.svg
new file mode 100644
index 000000000..1020ec82c
--- /dev/null
+++ b/testing/web-platform/tests/html/editing/dnd/svg/066.svg
@@ -0,0 +1,31 @@
+<?xml version="1.0" encoding="utf-8"?>
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" width="500px" height="500px" viewBox="0 0 500 500">
+<title>Removing dragged element during drag and drop of SVG link</title>
+<a xlink:href="data:text/plain,1">
+ <circle cx="50" cy="50" r="50" fill="green"/>
+</a>
+<textArea x="10" y="100" width="480" height="200" font-size="30">Drag green circle above and drop it in the gray box below. Gray box should turn green once you drop it.</textArea>
+<rect x="10" y="300" width="480" height="190" fill="gray"/>
+<script type="application/ecmascript">
+var a = document.querySelector('a'), rect = document.querySelector('rect');
+a.addEventListener('dragstart',
+function (event)
+ {event.dataTransfer.effectAllowed = 'copy';
+ document.documentElement.removeChild(a);}
+,false);
+rect.addEventListener('dragenter',
+function (event)
+ {event.preventDefault()}
+,false);
+rect.addEventListener('dragover',
+function (event)
+ {event.preventDefault()}
+,false);
+rect.addEventListener('drop',
+function (event)
+ {if(event.dataTransfer.getData('text/uri-list').replace(/\r\n$/,'') == 'data:text/plain,1')
+ {rect.setAttribute('fill','green');}
+ }
+,false);
+</script>
+</svg>
diff --git a/testing/web-platform/tests/html/editing/dnd/svg/067.svg b/testing/web-platform/tests/html/editing/dnd/svg/067.svg
new file mode 100644
index 000000000..ba1e5011f
--- /dev/null
+++ b/testing/web-platform/tests/html/editing/dnd/svg/067.svg
@@ -0,0 +1,35 @@
+<?xml version="1.0" encoding="utf-8"?>
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" width="500px" height="500px" viewBox="0 0 500 500">
+<title>Drag and drop of SVG links</title>
+<a xlink:href="data:text/plain,olive">
+ <circle cx="50" cy="50" r="50" fill="olive"/>
+</a>
+<a xlink:href="data:text/plain,green">
+ <circle cx="200" cy="50" r="50" fill="green"/>
+</a>
+<a xlink:href="data:text/plain,teal">
+ <circle cx="350" cy="50" r="50" fill="teal"/>
+</a>
+<textArea x="10" y="120" width="480" height="200" font-size="30">Drag one of green circles above and drop it in the gray box below. Gray box should turn green.</textArea>
+<rect x="10" y="300" width="480" height="190" fill="gray"/>
+<script type="application/ecmascript">
+var a = document.querySelectorAll('a'), rect = document.querySelector('rect');
+for(var i = 0; i != a.length; i++)
+ {a[i].addEventListener('dragstart',
+ function (event)
+ {event.dataTransfer.effectAllowed = 'copy';}
+ ,false);}
+rect.addEventListener('dragenter',
+function (event)
+ {event.preventDefault()}
+,false);
+rect.addEventListener('dragover',
+function (event)
+ {event.preventDefault()}
+,false);
+rect.addEventListener('drop',
+function (event)
+ {rect.setAttribute('fill',event.dataTransfer.getData('text/uri-list').substr(16).replace(/\r\n$/,''));}
+,false);
+</script>
+</svg>
diff --git a/testing/web-platform/tests/html/editing/dnd/svg/helper-drop-selection-here-textArea.svg b/testing/web-platform/tests/html/editing/dnd/svg/helper-drop-selection-here-textArea.svg
new file mode 100644
index 000000000..783c164eb
--- /dev/null
+++ b/testing/web-platform/tests/html/editing/dnd/svg/helper-drop-selection-here-textArea.svg
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="utf-8"?>
+<svg xmlns="http://www.w3.org/2000/svg" version="1.2" width="500px" height="300px" viewBox="0 0 500 300">
+<textArea x="10" y="10" width="480" height="280" font-size="20" editable="simple" pointer-events="boundingBox">Drop selection here</textArea>
+<rect x="10" y="10" width="480" height="280" stroke="black" stroke-width="1" fill="none"/>
+</svg> \ No newline at end of file