summaryrefslogtreecommitdiffstats
path: root/testing/web-platform/tests/html/editing/dnd/datastore/015-manual.html
blob: 74fff038d4bd7e73173be9df6f701bbd79149c8c (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
<!doctype html>
<html>
	<head>
		<title>Using 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">
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 () {
			test(function () {
				assert_equals( dataTransfer.getData('text'), '', 'step 1' );
				dataTransfer.setData('text','new thread after dragstart');
				assert_equals( dataTransfer.getData('text'), '', 'step 2' );
			},'dragstart data store should be protected after new thread starts');
		},0);
	};

	fuchsia.ondragenter = fuchsia.ondragover = function (e) {
		e.preventDefault();
	};

	fuchsia.ondrop = function (e) {
		e.preventDefault();
		var dataTransfer = e.dataTransfer;
		setTimeout(function () {
			test(function () {
				assert_equals( dataTransfer.getData('text'), '', 'step 1' );
				dataTransfer.setData('text','new thread after dragstart');
				assert_equals( dataTransfer.getData('text'), '', 'step 2' );
			},'drop data store should be protected after new thread starts');
			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>