diff options
Diffstat (limited to 'testing/web-platform/tests/html/editing/dnd/synthetic/006-manual.html')
-rw-r--r-- | testing/web-platform/tests/html/editing/dnd/synthetic/006-manual.html | 79 |
1 files changed, 79 insertions, 0 deletions
diff --git a/testing/web-platform/tests/html/editing/dnd/synthetic/006-manual.html b/testing/web-platform/tests/html/editing/dnd/synthetic/006-manual.html new file mode 100644 index 0000000000..e7d1677b14 --- /dev/null +++ b/testing/web-platform/tests/html/editing/dnd/synthetic/006-manual.html @@ -0,0 +1,79 @@ +<!doctype html> +<html> + <head> + <title>Synthetic events using real dataTransfer in new thread</title> + <style type="text/css"> +blockquote { height: 100px; width: 100px; background: orange; margin: 0; padding: 0; float: left; } +blockquote + blockquote { background: blue; } +blockquote + blockquote + blockquote { background: fuchsia; } +blockquote + div { clear: left; } + </style> + <script type="text/javascript" src="/resources/testharness.js"></script> + <script type="text/javascript" src="/resources/testharnessreport.js"></script> + <script type="text/javascript"> +setup(function () {},{explicit_done:true,explicit_timeout:true}); +window.onload = function () { + + var orange = document.getElementsByTagName('blockquote')[0], + blue = document.getElementsByTagName('blockquote')[1], + fuchsia = document.getElementsByTagName('blockquote')[2], + evtdone = {}; + + orange.ondragstart = function (e) { + e.dataTransfer.effectAllowed = 'copy'; + e.dataTransfer.setData('text','dragstart real data'); + var dataTransfer = e.dataTransfer; + setTimeout(function () { + var t = async_test('new thread should see data store in protected mode after dragstart'); + blue.ondragstart = function (e) { + t.step(function() { + assert_equals( e.dataTransfer.getData('text'), '', 'step 1' ); + e.dataTransfer.setData('text','new thread after dragstart'); + assert_equals( e.dataTransfer.getData('text'), '', 'step 2' ); + }); + }; + t.step(function() { + var evt = new DragEvent('dragstart', {dataTransfer:dataTransfer}); + blue.dispatchEvent(evt); + }); + t.done(); + },0); + }; + + fuchsia.ondragenter = fuchsia.ondragover = function (e) { + e.preventDefault(); + }; + + fuchsia.ondrop = function (e) { + e.preventDefault(); + var dataTransfer = e.dataTransfer; + setTimeout(function () { + var t = async_test('new thread should see data store in protected mode after drop'); + blue.ondragstart = function (e) { + t.step(function() { + assert_equals( e.dataTransfer.getData('text'), '', 'step 1' ); + e.dataTransfer.setData('text','new thread after dragstart'); + assert_equals( e.dataTransfer.getData('text'), '', 'step 2' ); + }); + }; + t.step(function() { + var evt = new DragEvent('dragstart', {dataTransfer:dataTransfer}); + blue.dispatchEvent(evt); + }); + t.done(); + done(); + },0); + }; + +}; + </script> + </head> + <body> + <p>Drag the orange square over the blue square then the fuchsia square, then release it.</p> + <blockquote draggable="true"></blockquote> + <blockquote></blockquote> + <blockquote></blockquote> + <div id="log"></div> + <noscript><p>Enable JavaScript and reload</p></noscript> + </body> +</html> |